aboutsummaryrefslogtreecommitdiff
path: root/layers/shader_checker.cpp
diff options
context:
space:
mode:
authorChris Forbes <chrisf@ijw.co.nz>2015-04-08 10:15:35 +1200
committerChris Forbes <chrisf@ijw.co.nz>2015-04-17 10:13:58 +1200
commitfa4790071ffdd6e787f0d4d4fff85f9482c4e362 (patch)
tree704f44923503579549cbf17947f001b3437afd98 /layers/shader_checker.cpp
parent964c587aec1e2dc21a6ef823c194a0d29988a4a1 (diff)
downloadusermoji-fa4790071ffdd6e787f0d4d4fff85f9482c4e362.tar.xz
shader_checker: add hook for xglCreateGraphicsPipeline
Diffstat (limited to 'layers/shader_checker.cpp')
-rw-r--r--layers/shader_checker.cpp16
1 files changed, 16 insertions, 0 deletions
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)