test/binding: inherit Queue from Handle
diff --git a/tests/vkrenderframework.cpp b/tests/vkrenderframework.cpp
index 7361e29..fbd5dff 100644
--- a/tests/vkrenderframework.cpp
+++ b/tests/vkrenderframework.cpp
@@ -420,7 +420,7 @@
 void VkDeviceObj::get_device_queue()
 {
     ASSERT_NE(true, graphics_queues().empty());
-    m_queue = graphics_queues()[0]->obj();
+    m_queue = graphics_queues()[0]->handle();
 }
 
 VkDescriptorSetObj::VkDescriptorSetObj(VkDeviceObj *device) :
diff --git a/tests/vktestbinding.cpp b/tests/vktestbinding.cpp
index 230a566..5ce9b63 100644
--- a/tests/vktestbinding.cpp
+++ b/tests/vktestbinding.cpp
@@ -540,7 +540,7 @@
 void Queue::submit(const std::vector<const CmdBuffer *> &cmds, Fence &fence)
 {
     const std::vector<VkCmdBuffer> cmd_objs = make_objects<VkCmdBuffer>(cmds);
-    EXPECT(vkQueueSubmit(obj(), cmd_objs.size(), &cmd_objs[0], fence.obj()) == VK_SUCCESS);
+    EXPECT(vkQueueSubmit(handle(), cmd_objs.size(), &cmd_objs[0], fence.obj()) == VK_SUCCESS);
 }
 
 void Queue::submit(const CmdBuffer &cmd, Fence &fence)
@@ -556,17 +556,17 @@
 
 void Queue::wait()
 {
-    EXPECT(vkQueueWaitIdle(obj()) == VK_SUCCESS);
+    EXPECT(vkQueueWaitIdle(handle()) == VK_SUCCESS);
 }
 
 void Queue::signal_semaphore(Semaphore &sem)
 {
-    EXPECT(vkQueueSignalSemaphore(obj(), sem.obj()) == VK_SUCCESS);
+    EXPECT(vkQueueSignalSemaphore(handle(), sem.obj()) == VK_SUCCESS);
 }
 
 void Queue::wait_semaphore(Semaphore &sem)
 {
-    EXPECT(vkQueueWaitSemaphore(obj(), sem.obj()) == VK_SUCCESS);
+    EXPECT(vkQueueWaitSemaphore(handle(), sem.obj()) == VK_SUCCESS);
 }
 
 GpuMemory::~GpuMemory()
@@ -678,7 +678,7 @@
 void Buffer::bind_memory(VkDeviceSize offset, VkDeviceSize size,
                          const GpuMemory &mem, VkDeviceSize mem_offset)
 {
-    VkQueue queue = dev_->graphics_queues()[0]->obj();
+    VkQueue queue = dev_->graphics_queues()[0]->handle();
     VkSparseMemoryBindInfo bindInfo;
     memset(&bindInfo, 0, sizeof(VkSparseMemoryBindInfo));
     bindInfo.offset    = offset;
@@ -726,7 +726,7 @@
 void Image::bind_memory(const Device &dev, const VkSparseImageMemoryBindInfo &info,
                         const GpuMemory &mem, VkDeviceSize mem_offset)
 {
-    VkQueue queue = dev.graphics_queues()[0]->obj();
+    VkQueue queue = dev.graphics_queues()[0]->handle();
     EXPECT(vkQueueBindSparseImageMemory(queue, obj(), 1, &info) == VK_SUCCESS);
 }
 
diff --git a/tests/vktestbinding.h b/tests/vktestbinding.h
index e0df3fc..1fa3692 100644
--- a/tests/vktestbinding.h
+++ b/tests/vktestbinding.h
@@ -321,20 +321,15 @@
     std::vector<Format> formats_;
 };
 
-class Queue : public DerivedObject<VkQueue, BaseObject, VK_OBJECT_TYPE_QUEUE> {
+class Queue : public internal::Handle<VkQueue> {
 public:
-    explicit Queue(VkQueue queue) : DerivedObject(queue) {}
+    explicit Queue(VkQueue queue) : Handle(queue) {}
 
     // vkQueueSubmit()
     void submit(const std::vector<const CmdBuffer *> &cmds, Fence &fence);
     void submit(const CmdBuffer &cmd, Fence &fence);
     void submit(const CmdBuffer &cmd);
 
-    // vkQueueAddMemReferences()
-    // vkQueueRemoveMemReferences()
-    void add_mem_references(const std::vector<VkDeviceMemory> &mem_refs);
-    void remove_mem_references(const std::vector<VkDeviceMemory> &mem_refs);
-
     // vkQueueWaitIdle()
     void wait();
 
diff --git a/tests/vktestframework.cpp b/tests/vktestframework.cpp
index f2f1d66..6686926 100644
--- a/tests/vktestframework.cpp
+++ b/tests/vktestframework.cpp
@@ -483,7 +483,7 @@
     VkCmdBuffer cmdBufs[1];
     cmdBufs[0] = m_cmdbuf.obj();
 
-    vkQueueSubmit(m_queue.obj(), 1, cmdBufs, NULL);
+    vkQueueSubmit(m_queue.handle(), 1, cmdBufs, NULL);
     m_queue.wait();
 
     VkPresentInfoWSI present = {};
@@ -502,7 +502,7 @@
                          m_display_image->m_title.c_str());
 #endif
 
-    err = m_fpQueuePresentWSI(m_queue.obj(), &present);
+    err = m_fpQueuePresentWSI(m_queue.handle(), &present);
     assert(!err);
 
     m_queue.wait();