aboutsummaryrefslogtreecommitdiff
path: root/layers/shader_checker.cpp
diff options
context:
space:
mode:
authorMichael Lentine <mlentine@google.com>2015-11-03 16:18:46 -0800
committerCourtney Goeltzenleuchter <courtney@LunarG.com>2015-11-04 11:42:06 -0700
commit7be19c4818d87194be86bfe83bc7b59635df1260 (patch)
tree992c727223f5e302d60d5524c13e853b2cdcf39c /layers/shader_checker.cpp
parenta95e3054a5174c43f48cb440b86f983ee1a4b254 (diff)
downloadusermoji-7be19c4818d87194be86bfe83bc7b59635df1260.tar.xz
Add skip call to the shader checker.
Diffstat (limited to 'layers/shader_checker.cpp')
-rw-r--r--layers/shader_checker.cpp8
1 files changed, 5 insertions, 3 deletions
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) {