test/binding: inherit QueryPool from NonDispHandle
This also assumes VkQueryPool does not require any VkDeviceMemory.
diff --git a/tests/vktestbinding.cpp b/tests/vktestbinding.cpp
index 856beba..32a8e44 100644
--- a/tests/vktestbinding.cpp
+++ b/tests/vktestbinding.cpp
@@ -639,16 +639,17 @@
EXPECT(vkResetEvent(device(), handle()) == VK_SUCCESS);
}
+NON_DISPATCHABLE_HANDLE_DTOR(QueryPool, vkDestroyObject, VK_OBJECT_TYPE_QUERY_POOL)
+
void QueryPool::init(const Device &dev, const VkQueryPoolCreateInfo &info)
{
- DERIVED_OBJECT_TYPE_INIT(vkCreateQueryPool, dev, VK_OBJECT_TYPE_QUERY_POOL, &info);
- alloc_memory();
+ NON_DISPATCHABLE_HANDLE_INIT(vkCreateQueryPool, dev, &info);
}
VkResult QueryPool::results(uint32_t start, uint32_t count, size_t size, void *data)
{
size_t tmp = size;
- VkResult err = vkGetQueryPoolResults(dev_->handle(), obj(), start, count, &tmp, data, 0);
+ VkResult err = vkGetQueryPoolResults(device(), handle(), start, count, &tmp, data, 0);
if (err == VK_SUCCESS) {
if (!EXPECT(tmp == size))
memset(data, 0, size);
diff --git a/tests/vktestbinding.h b/tests/vktestbinding.h
index 7c9d233..25268fb 100644
--- a/tests/vktestbinding.h
+++ b/tests/vktestbinding.h
@@ -398,8 +398,10 @@
static VkEventCreateInfo create_info(VkFlags flags);
};
-class QueryPool : public DerivedObject<VkQueryPool, Object, VK_OBJECT_TYPE_QUERY_POOL> {
+class QueryPool : public internal::NonDispHandle<VkQueryPool> {
public:
+ ~QueryPool();
+
// vkCreateQueryPool()
void init(const Device &dev, const VkQueryPoolCreateInfo &info);