glave: Enable it, and get it building again after rename changes
diff --git a/tools/glave/scripts/vk_generate.py b/tools/glave/scripts/vk_generate.py
index 7a6b469..b1525bf 100755
--- a/tools/glave/scripts/vk_generate.py
+++ b/tools/glave/scripts/vk_generate.py
@@ -1221,7 +1221,8 @@
         for ty in vulkan.object_type_list:
             if ty in vulkan.object_parent_list:
                 continue
-            mem_var = ty.replace('VK_', '').lower()
+            if (ty.startswith('Vk')):
+                mem_var = ty.replace('Vk', '').lower()
             mem_var_list = mem_var.split('_')
             mem_var = 'm_%s%ss' % (mem_var_list[0], "".join([m.title() for m in mem_var_list[1:]]))
             obj_map_dict[mem_var] = ty
@@ -1366,8 +1367,8 @@
                 rc_body.append(self._rm_from_map_decl(obj_map_dict[var], var))
                 rc_body.append('    VkGpuMemory remap(const VkGpuMemory& value)')
                 rc_body.append('    {')
-                rc_body.append('        std::map<VkGpuMemory, gpuMemObj>::const_iterator q = m_gpuMemorys.find(value);')
-                rc_body.append('        return (q == m_gpuMemorys.end()) ? VK_NULL_HANDLE : q->second.replayGpuMem;')
+                rc_body.append('        std::map<VkGpuMemory, gpuMemObj>::const_iterator q = m_gpumemorys.find(value);')
+                rc_body.append('        return (q == m_gpumemorys.end()) ? VK_NULL_HANDLE : q->second.replayGpuMem;')
                 rc_body.append('    }\n')
             else:
                 rc_body.append(self._map_decl(obj_map_dict[var], obj_map_dict[var], var))
@@ -1401,7 +1402,7 @@
         rc_body.append('    }')
         rc_body.append('    VkBaseObject remap(const VkBaseObject& object)\n    {')
         rc_body.append('        VkBaseObject obj;')
-        base_obj_remap_types = ['VK_DEVICE', 'VK_QUEUE', 'VkGpuMemory', 'VkObject']
+        base_obj_remap_types = ['VkDevice', 'VkQueue', 'VkGpuMemory', 'VkObject']
         for t in base_obj_remap_types:
             rc_body.append('        if ((obj = remap(static_cast <%s> (object))) != VK_NULL_HANDLE)' % t)
             rc_body.append('            return obj;')
@@ -1662,15 +1663,15 @@
                                 'WsiX11AssociateConnection', 'WsiX11GetMSC', 'WsiX11CreatePresentableImage', 'WsiX11QueuePresent']
         # multi-gpu Open funcs w/ list of local params to create
         custom_open_params = {'OpenSharedMemory': (-1,),
-                              'OpenSharedQueueSemaphore': (-1,),
+                              'OpenSharedSemaphore': (-1,),
                               'OpenPeerMemory': (-1,),
                               'OpenPeerImage': (-1, -2,)}
         # Functions that create views are unique from other create functions
         create_view_list = ['CreateBufferView', 'CreateImageView', 'CreateColorAttachmentView', 'CreateDepthStencilView', 'CreateComputePipeline']
         # Functions to treat as "Create' that don't have 'Create' in the name
-        special_create_list = ['LoadPipeline', 'AllocMemory', 'GetDeviceQueue', 'PinSystemMemory', 'AllocDescriptorSets']
+        special_create_list = ['LoadPipeline', 'LoadPipelineDerivative', 'AllocMemory', 'GetDeviceQueue', 'PinSystemMemory', 'AllocDescriptorSets']
         # A couple funcs use do while loops
-        do_while_dict = {'GetFenceStatus': 'replayResult != pPacket->result  && pPacket->result == VK_SUCCESS', 'GetEventStatus': '(pPacket->result == VkEvent_SET || pPacket->result == VkEvent_RESET) && replayResult != pPacket->result'}
+        do_while_dict = {'GetFenceStatus': 'replayResult != pPacket->result  && pPacket->result == VK_SUCCESS', 'GetEventStatus': '(pPacket->result == VK_EVENT_SET || pPacket->result == VK_EVENT_RESET) && replayResult != pPacket->result'}
         rbody = []
         rbody.append('glv_replay::GLV_REPLAY_RESULT vkReplay::replay(glv_trace_packet_header *packet)')
         rbody.append('{')
@@ -1698,7 +1699,7 @@
                 rbody.append(custom_body_dict[proto.name]())
             else:
                 if proto.name in custom_open_params:
-                    rbody.append('            VK_DEVICE handle;')
+                    rbody.append('            VkDevice handle;')
                     for pidx in custom_open_params[proto.name]:
                         rbody.append('            %s local_%s;' % (proto.params[pidx].ty.replace('const ', '').strip('*'), proto.params[pidx].name))
                     rbody.append('            handle = m_objMapper.remap(pPacket->device);')
@@ -1716,19 +1717,25 @@
                     rbody.append('            %s local_%s;' % (proto.params[-1].ty.strip('*').replace('const ', ''), proto.params[-1].name))
                     if 'AllocDescriptorSets' == proto.name:
                         rbody.append('            %s local_%s[100];' % (proto.params[-2].ty.strip('*').replace('const ', ''), proto.params[-2].name))
-                        rbody.append('            VK_DESCRIPTOR_SET_LAYOUT localDescSets[100];')
+                        rbody.append('            VkDescriptorSetLayout localDescSets[100];')
                         rbody.append('            assert(pPacket->count <= 100);')
                         rbody.append('            for (uint32_t i = 0; i < pPacket->count; i++)')
                         rbody.append('            {')
                         rbody.append('                localDescSets[i] = m_objMapper.remap(pPacket->%s[i]);' % (proto.params[-3].name))
                         rbody.append('            }')
                 elif proto.name == 'ClearDescriptorSets':
-                    rbody.append('            VK_DESCRIPTOR_SET localDescSets[100];')
+                    rbody.append('            VkDescriptorSet localDescSets[100];')
                     rbody.append('            assert(pPacket->count <= 100);')
                     rbody.append('            for (uint32_t i = 0; i < pPacket->count; i++)')
                     rbody.append('            {')
                     rbody.append('                localDescSets[i] = m_objMapper.remap(pPacket->%s[i]);' % (proto.params[-1].name))
                     rbody.append('            }')
+                elif proto.name == 'ResetFences':
+                    rbody.append('            VkFence* fences = GLV_NEW_ARRAY(VkFence, pPacket->fenceCount);')
+                    rbody.append('            for (uint32_t i = 0; i < pPacket->fenceCount; i++)')
+                    rbody.append('            {')
+                    rbody.append('                fences[i] = m_objMapper.remap(pPacket->%s[i]);' % (proto.params[-1].name))
+                    rbody.append('            }')
                 elif proto.name in do_while_dict:
                     rbody.append('            do {')
                 elif proto.name == 'EnumerateLayers':
@@ -1737,7 +1744,7 @@
                     rbody.append('            for (unsigned int i = 0; i < pPacket->maxLayerCount; i++)')
                     rbody.append('                bufptr[i] = GLV_NEW_ARRAY(char, pPacket->maxStringSize);')
                 elif proto.name == 'DestroyInstance':
-                    rbody.append('            vkDbgUnregisterMsgCallback(g_fpDbgMsgCallback);')
+                    rbody.append('            vkDbgUnregisterMsgCallback(m_objMapper.remap(pPacket->instance), g_fpDbgMsgCallback);')
                 rr_string = '            '
                 if ret_value:
                     rr_string = '            replayResult = '
@@ -1774,7 +1781,13 @@
                     rr_string = rr_string.replace('pPacket->pDescriptorSets', 'localDescSets')
                 elif proto.name == 'AllocDescriptorSets':
                     rr_string = rr_string.replace('pPacket->pSetLayouts', 'localDescSets')
+                elif proto.name == 'ResetFences':
+                    rr_string = rr_string.replace('m_objMapper.remap(*pPacket->pFences)', 'fences')
+
+                # insert the real_*(..) call
                 rbody.append(rr_string)
+
+                # handle return values or anything that needs to happen after the real_*(..) call
                 if 'DestroyDevice' in proto.name:
                     rbody.append('            if (replayResult == VK_SUCCESS)')
                     rbody.append('            {')
@@ -1798,6 +1811,8 @@
                     rbody.append('                    m_objMapper.add_to_map(&pPacket->%s[i], &local_%s[i]);' % (proto.params[-2].name, proto.params[-2].name))
                     rbody.append('                }')
                     rbody.append('            }')
+                elif proto.name == 'ResetFences':
+                    rbody.append('            GLV_DELETE(fences);')
                 elif create_func: # save handle mapping if create successful
                     rbody.append('            if (replayResult == VK_SUCCESS)')
                     rbody.append('            {')