diff options
| author | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-06-13 21:22:12 -0600 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-06-18 10:22:56 -0600 |
| commit | af4e8327f8319ab97bfbe71c907eaabd329704bc (patch) | |
| tree | dbf963e17167e74ec1da8c1e28fa3bc3a30dfd9e /layers | |
| parent | 03b7c7b58b4c6d3be53804e68eb94dcbcbef4a75 (diff) | |
| download | usermoji-af4e8327f8319ab97bfbe71c907eaabd329704bc.tar.xz | |
layers: Use static dispatch table maps
Changes to use dispatch table access functions.
Diffstat (limited to 'layers')
| -rw-r--r-- | layers/basic.cpp | 8 | ||||
| -rw-r--r-- | layers/param_checker.cpp | 10 | ||||
| -rw-r--r-- | layers/shader_checker.cpp | 12 |
3 files changed, 15 insertions, 15 deletions
diff --git a/layers/basic.cpp b/layers/basic.cpp index 81cdaa8b..d6ea963a 100644 --- a/layers/basic.cpp +++ b/layers/basic.cpp @@ -118,18 +118,18 @@ VK_LAYER_EXPORT VkResult VKAPI vkCreateDevice(VkPhysicalDevice gpu, const VkDevi /* hook DestroyDevice 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; } /* 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; } diff --git a/layers/param_checker.cpp b/layers/param_checker.cpp index c1a6fef5..0b13b65c 100644 --- a/layers/param_checker.cpp +++ b/layers/param_checker.cpp @@ -146,9 +146,9 @@ VK_LAYER_EXPORT VkResult VKAPI vkCreateInstance(const VkInstanceCreateInfo* pCre 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; } @@ -267,8 +267,9 @@ VK_LAYER_EXPORT VkResult VKAPI vkCreateDevice(VkPhysicalDevice gpu, const VkDevi VK_LAYER_EXPORT VkResult VKAPI vkDestroyDevice(VkDevice device) { VkLayerDispatchTable *pDisp = *(VkLayerDispatchTable **) device; + dispatch_key key = get_dispatch_key(device); VkResult result = device_dispatch_table(device)->DestroyDevice(device); - tableMap.erase(pDisp); + destroy_device_dispatch_table(key); tableDebugMarkerMap.erase(pDisp); deviceExtMap.erase(pDisp); return result; @@ -1878,8 +1879,7 @@ VK_LAYER_EXPORT VkResult VKAPI vkDbgDestroyMsgCallback( VkInstance instance, VkDbgMsgCallback msgCallback) { - VkLayerInstanceDispatchTable *pDisp = *(VkLayerInstanceDispatchTable **) instance; - VkLayerInstanceDispatchTable *pTable = tableInstanceMap[pDisp]; + VkLayerInstanceDispatchTable *pTable = instance_dispatch_table(instance); return layer_destroy_msg_callback(instance, pTable, msgCallback); } 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); } |
