From fa4790071ffdd6e787f0d4d4fff85f9482c4e362 Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Wed, 8 Apr 2015 10:15:35 +1200 Subject: shader_checker: add hook for xglCreateGraphicsPipeline --- layers/shader_checker.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'layers') diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp index 56752d76..ff8e27c5 100644 --- a/layers/shader_checker.cpp +++ b/layers/shader_checker.cpp @@ -250,6 +250,21 @@ VK_LAYER_EXPORT VkResult VKAPI vkCreateShader(VkDevice device, const VkShaderCre } +VK_LAYER_EXPORT VkResult VKAPI vkCreateGraphicsPipeline(VkDevice device, + const VkGraphicsPipelineCreateInfo *pCreateInfo, + VkPipeline *pPipeline) +{ + /* TODO: run cross-stage validation */ + /* - Validate vertex fetch -> VS interface */ + /* - Validate FS output -> CB */ + /* - Support GS, TCS, TES stages */ + + VkLayerDispatchTable *pTable = tableMap[(VkBaseLayerObject *)device]; + VkResult res = pTable->CreateGraphicsPipeline(device, pCreateInfo, pPipeline); + return res; +} + + VK_LAYER_EXPORT void * VKAPI vkGetProcAddr(VkPhysicalGpu gpu, const char* pName) { if (gpu == NULL) @@ -265,6 +280,7 @@ VK_LAYER_EXPORT void * VKAPI vkGetProcAddr(VkPhysicalGpu gpu, const char* pName) ADD_HOOK(vkEnumerateLayers); ADD_HOOK(vkCreateDevice); ADD_HOOK(vkCreateShader); + ADD_HOOK(vkCreateGraphicsPipeline); VkBaseLayerObject* gpuw = (VkBaseLayerObject *) gpu; if (gpuw->pGPA == NULL) -- cgit v1.2.3