From 7be19c4818d87194be86bfe83bc7b59635df1260 Mon Sep 17 00:00:00 2001 From: Michael Lentine Date: Tue, 3 Nov 2015 16:18:46 -0800 Subject: Add skip call to the shader checker. --- layers/shader_checker.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'layers/shader_checker.cpp') diff --git a/layers/shader_checker.cpp b/layers/shader_checker.cpp index 715fb115..38e49fdb 100644 --- a/layers/shader_checker.cpp +++ b/layers/shader_checker.cpp @@ -607,14 +607,16 @@ VK_LAYER_EXPORT VkResult VKAPI vkCreateShaderModule( VkShaderModule *pShaderModule) { layer_data *my_data = get_my_data_ptr(get_dispatch_key(device), layer_data_map); - /* Protect the driver from non-SPIRV shaders */ + bool skip_call = false; if (!shader_is_spirv(pCreateInfo)) { - log_msg(my_data->report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_DEVICE, + skip_call |= log_msg(my_data->report_data, VK_DBG_REPORT_ERROR_BIT, VK_OBJECT_TYPE_DEVICE, /* dev */ 0, 0, SHADER_CHECKER_NON_SPIRV_SHADER, "SC", "Shader is not SPIR-V"); - return VK_ERROR_VALIDATION_FAILED; } + if (skip_call) + return VK_ERROR_VALIDATION_FAILED; + VkResult res = my_data->device_dispatch_table->CreateShaderModule(device, pCreateInfo, pAllocator, pShaderModule); if (res == VK_SUCCESS) { -- cgit v1.2.3