layers: provide correct spirv environment
spirv-tools now supports the Vulkan 1.1 environment qualifier. This
updates PreCallValidateCreateShaderModule() to send the appropriate
spirv environment version based on the Vulkan API version.
Change-Id: Iad897ca8da7a50d45f588d227299e91c76f36f19
diff --git a/layers/shader_validation.cpp b/layers/shader_validation.cpp
index 0b6495c..68c2129 100644
--- a/layers/shader_validation.cpp
+++ b/layers/shader_validation.cpp
@@ -1714,7 +1714,11 @@
}
// Use SPIRV-Tools validator to try and catch any issues with the module itself
- spv_context ctx = spvContextCreate(SPV_ENV_VULKAN_1_0);
+ spv_target_env spirv_environment = SPV_ENV_VULKAN_1_0;
+ if (GetApiVersion(dev_data) >= VK_API_VERSION_1_1) {
+ spirv_environment = SPV_ENV_VULKAN_1_1;
+ }
+ spv_context ctx = spvContextCreate(spirv_environment);
spv_const_binary_t binary{pCreateInfo->pCode, pCreateInfo->codeSize / sizeof(uint32_t)};
spv_diagnostic diag = nullptr;