rsx: Upgrade SPIRV generation to SPIRV 1.5 for vulkan.

This commit is contained in:
kd-11 2026-04-26 20:35:58 +03:00 committed by kd-11
parent 3829802699
commit d1c8073106

View file

@ -135,27 +135,30 @@ namespace spirv
glslang::EShClient client;
glslang::EShTargetClientVersion target_version;
glslang::EShTargetLanguageVersion spirv_version;
EShMessages msg;
if (rules == ::glsl::glsl_rules_vulkan)
{
client = glslang::EShClientVulkan;
target_version = glslang::EShTargetClientVersion::EShTargetVulkan_1_0;
target_version = glslang::EShTargetClientVersion::EShTargetVulkan_1_2;
spirv_version = glslang::EShTargetLanguageVersion::EShTargetSpv_1_5;
msg = static_cast<EShMessages>(EShMsgVulkanRules | EShMsgSpvRules | EShMsgEnhanced);
}
else
{
client = glslang::EShClientOpenGL;
target_version = glslang::EShTargetClientVersion::EShTargetOpenGL_450;
spirv_version = glslang::EShTargetLanguageVersion::EShTargetSpv_1_0;
msg = static_cast<EShMessages>(EShMsgDefault | EShMsgSpvRules | EShMsgEnhanced);
}
glslang::TProgram program;
glslang::TShader shader_object(lang);
shader_object.setEnvInput(glslang::EShSourceGlsl, lang, client, 100);
shader_object.setEnvInput(glslang::EShSourceGlsl, lang, client, 100); // NOTE: 100 here is the spec revision of GL_KHR_vulkan_glsl. There is only one version (100) for the past 10 years.
shader_object.setEnvClient(client, target_version);
shader_object.setEnvTarget(glslang::EshTargetSpv, glslang::EShTargetLanguageVersion::EShTargetSpv_1_0);
shader_object.setEnvTarget(glslang::EshTargetSpv, spirv_version);
bool success = false;
const char* shader_text = shader.data();