misc: Loader and Layers move device chain activation to CreateDevice
diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp
index 8de9239..b1b2cf8 100644
--- a/layers/shader_checker.cpp
+++ b/layers/shader_checker.cpp
@@ -185,19 +185,6 @@
return pTable;
}
-VK_LAYER_EXPORT VkResult VKAPI vkCreateDevice(VkPhysicalDevice gpu, const VkDeviceCreateInfo* pCreateInfo, VkDevice* pDevice)
-{
- VkLayerDispatchTable* pTable = tableMap[gpu];
- VkResult result = pTable->CreateDevice(gpu, pCreateInfo, pDevice);
-
- loader_platform_thread_once(&g_initOnce, initLayer);
- // create a mapping for the device object into the dispatch table
- tableMap.emplace(*pDevice, pTable);
- pCurObj = (VkBaseLayerObject *) *pDevice;
- return result;
-}
-
-
VK_LAYER_EXPORT VkResult VKAPI vkEnumerateLayers(VkPhysicalDevice physicalDevice, size_t maxStringSize, size_t* pLayerCount, char* const* pOutLayers, void* pReserved)
{
if (pLayerCount == NULL || pOutLayers == NULL || pOutLayers[0] == NULL || pOutLayers[1] == NULL || pReserved == NULL)
@@ -978,7 +965,7 @@
g_debugAction = VK_DBG_LAYER_ACTION_CALLBACK;
}
// NOT CORRECT WITH MULTIPLE DEVICES OR INSTANCES, BUT THIS IS ALL GOING AWAY SOON ANYWAY
- VkLayerDispatchTable *pTable = tableMap[pCurObj];
+ VkLayerInstanceDispatchTable *pTable = tableInstanceMap[pCurObj];
VkResult result = pTable->DbgRegisterMsgCallback(instance, pfnMsgCallback, pUserData);
return result;
}
@@ -1009,7 +996,7 @@
}
}
// NOT CORRECT WITH MULTIPLE DEVICES OR INSTANCES, BUT THIS IS ALL GOING AWAY SOON ANYWAY
- VkLayerDispatchTable *pTable = tableMap[pCurObj];
+ VkLayerInstanceDispatchTable *pTable = tableInstanceMap[pCurObj];
VkResult result = pTable->DbgUnregisterMsgCallback(instance, pfnMsgCallback);
return result;
}
@@ -1031,7 +1018,6 @@
ADD_HOOK(vkGetProcAddr);
ADD_HOOK(vkEnumerateLayers);
ADD_HOOK(vkGetGlobalExtensionInfo);
- ADD_HOOK(vkCreateDevice);
ADD_HOOK(vkCreateShader);
ADD_HOOK(vkCreateGraphicsPipeline);
ADD_HOOK(vkCreateGraphicsPipelineDerivative);
@@ -1061,7 +1047,6 @@
ADD_HOOK(vkGetInstanceProcAddr);
ADD_HOOK(vkEnumerateLayers);
ADD_HOOK(vkGetGlobalExtensionInfo);
- ADD_HOOK(vkCreateDevice);
VkBaseLayerObject* instw = (VkBaseLayerObject *) inst;
if (instw->pGPA == NULL)