test/binding: inherit Semaphore from NonDispHandle
This also assumes VkSemaphore does not require any VkDeviceMemory.
diff --git a/tests/vktestbinding.cpp b/tests/vktestbinding.cpp
index 3300d21..02b3498 100644
--- a/tests/vktestbinding.cpp
+++ b/tests/vktestbinding.cpp
@@ -566,12 +566,12 @@
void Queue::signal_semaphore(Semaphore &sem)
{
- EXPECT(vkQueueSignalSemaphore(handle(), sem.obj()) == VK_SUCCESS);
+ EXPECT(vkQueueSignalSemaphore(handle(), sem.handle()) == VK_SUCCESS);
}
void Queue::wait_semaphore(Semaphore &sem)
{
- EXPECT(vkQueueWaitSemaphore(handle(), sem.obj()) == VK_SUCCESS);
+ EXPECT(vkQueueWaitSemaphore(handle(), sem.handle()) == VK_SUCCESS);
}
DeviceMemory::~DeviceMemory()
@@ -615,10 +615,11 @@
NON_DISPATCHABLE_HANDLE_INIT(vkCreateFence, dev, &info);
}
+NON_DISPATCHABLE_HANDLE_DTOR(Semaphore, vkDestroyObject, VK_OBJECT_TYPE_SEMAPHORE)
+
void Semaphore::init(const Device &dev, const VkSemaphoreCreateInfo &info)
{
- DERIVED_OBJECT_TYPE_INIT(vkCreateSemaphore, dev, VK_OBJECT_TYPE_SEMAPHORE, &info);
- alloc_memory();
+ NON_DISPATCHABLE_HANDLE_INIT(vkCreateSemaphore, dev, &info);
}
void Event::init(const Device &dev, const VkEventCreateInfo &info)
diff --git a/tests/vktestbinding.h b/tests/vktestbinding.h
index ba8fab8..26432a3 100644
--- a/tests/vktestbinding.h
+++ b/tests/vktestbinding.h
@@ -371,8 +371,10 @@
static VkFenceCreateInfo create_info();
};
-class Semaphore : public DerivedObject<VkSemaphore, Object, VK_OBJECT_TYPE_SEMAPHORE> {
+class Semaphore : public internal::NonDispHandle<VkSemaphore> {
public:
+ ~Semaphore();
+
// vkCreateSemaphore()
void init(const Device &dev, const VkSemaphoreCreateInfo &info);