From af4e8327f8319ab97bfbe71c907eaabd329704bc Mon Sep 17 00:00:00 2001 From: Courtney Goeltzenleuchter Date: Sat, 13 Jun 2015 21:22:12 -0600 Subject: layers: Use static dispatch table maps Changes to use dispatch table access functions. --- layers/shader_checker.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'layers/shader_checker.cpp') diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp index 57aab4f0..c3323d7d 100644 --- a/layers/shader_checker.cpp +++ b/layers/shader_checker.cpp @@ -887,9 +887,9 @@ vkCreateGraphicsPipelineDerivative(VkDevice device, /* hook DextroyDevice to remove tableMap entry */ VK_LAYER_EXPORT VkResult VKAPI vkDestroyDevice(VkDevice device) { - VkLayerDispatchTable *pDisp = *(VkLayerDispatchTable **) device; + dispatch_key key = get_dispatch_key(device); VkResult res = device_dispatch_table(device)->DestroyDevice(device); - tableMap.erase(pDisp); + destroy_device_dispatch_table(key); return res; } @@ -921,9 +921,9 @@ VkResult VKAPI vkCreateInstance( /* hook DestroyInstance to remove tableInstanceMap entry */ VK_LAYER_EXPORT VkResult VKAPI vkDestroyInstance(VkInstance instance) { - VkLayerInstanceDispatchTable *pDisp = *(VkLayerInstanceDispatchTable **) instance; + dispatch_key key = get_dispatch_key(instance); VkResult res = instance_dispatch_table(instance)->DestroyInstance(instance); - tableInstanceMap.erase(pDisp); + destroy_instance_dispatch_table(key); return res; } @@ -934,7 +934,7 @@ VK_LAYER_EXPORT VkResult VKAPI vkDbgCreateMsgCallback( void* pUserData, VkDbgMsgCallback* pMsgCallback) { - VkLayerInstanceDispatchTable *pTable = tableInstanceMap[(VkBaseLayerObject *)instance]; + VkLayerInstanceDispatchTable *pTable = instance_dispatch_table(instance); return layer_create_msg_callback(instance, pTable, msgFlags, pfnMsgCallback, pUserData, pMsgCallback); } @@ -942,7 +942,7 @@ VK_LAYER_EXPORT VkResult VKAPI vkDbgDestroyMsgCallback( VkInstance instance, VkDbgMsgCallback msgCallback) { - VkLayerInstanceDispatchTable *pTable = tableInstanceMap[(VkBaseLayerObject *)instance]; + VkLayerInstanceDispatchTable *pTable = instance_dispatch_table(instance); return layer_destroy_msg_callback(instance, pTable, msgCallback); } -- cgit v1.2.3