You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
generates this validation error when running vkCreateShaderModule:
{ Validation } Validation Error: [ VUID-RuntimeSpirv-LocalSizeId-06434 ] | MessageID = 0xf95e08b7 | vkCreateShaderModule(): SPIR-V OpExecutionMode LocalSizeId is used but maintenance4 feature was not enabled. The Vulkan spec states: If Execution Mode LocalSizeId is used, maintenance4 must be enabled
This does not happen if I change the target spir-v version to shaderc_spirv_version_1_5.
This does not happen if I compile it directly with glslc.exe -c TestShader.comp.
Tested on Vulkan version 1.3 with Vulkan SDK version 1.3.280.0 and whatever shaderc version is included there.
The text was updated successfully, but these errors were encountered:
Wlammm
changed the title
Compute shaders compiling to version spir-v version 1.6 generates Vulkan validation error due to OpExecutionMode
Compute shaders compiling to spir-v version 1.6 generates Vulkan validation error due to OpExecutionMode
May 1, 2024
Compiling this shader (TestShader.comp):
#version 450
layout (local_size_x = 256) in;
void main() {
// Compute shader code
}
using this code:
shaderc::Compiler compiler;
shaderc::CompileOptions options;
options.SetTargetEnvironment(shaderc_target_env_vulkan, shaderc_env_version_vulkan_1_3);
options.SetWarningsAsErrors();
options.SetGenerateDebugInfo();
options.SetTargetSpirv(shaderc_spirv_version_1_6);
options.SetOptimizationLevel(shaderc_optimization_level_performance);
shaderc::SpvCompilationResult result = compiler.CompileGlslToSpv(shaderSource, shaderc_compute_shader, inputFileName, options);
generates this validation error when running vkCreateShaderModule:
{ Validation } Validation Error: [ VUID-RuntimeSpirv-LocalSizeId-06434 ] | MessageID = 0xf95e08b7 | vkCreateShaderModule(): SPIR-V OpExecutionMode LocalSizeId is used but maintenance4 feature was not enabled. The Vulkan spec states: If Execution Mode LocalSizeId is used, maintenance4 must be enabled
This does not happen if I change the target spir-v version to shaderc_spirv_version_1_5.
This does not happen if I compile it directly with
glslc.exe -c TestShader.comp
.Tested on Vulkan version 1.3 with Vulkan SDK version 1.3.280.0 and whatever shaderc version is included there.
The text was updated successfully, but these errors were encountered: