From 1078a33147374a6ad8a6529c46303533fbf50f2f Mon Sep 17 00:00:00 2001 From: Swung0x48 Date: Mon, 30 Jun 2025 13:02:09 +0800 Subject: [PATCH] [Fix] (MG_Util/GLSLTool): set preamble to fix compilation error with vulkan target --- MG/MG_UTIL/Program/GLSLTool.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/MG/MG_UTIL/Program/GLSLTool.cpp b/MG/MG_UTIL/Program/GLSLTool.cpp index e7b0090c..5505e107 100644 --- a/MG/MG_UTIL/Program/GLSLTool.cpp +++ b/MG/MG_UTIL/Program/GLSLTool.cpp @@ -618,6 +618,10 @@ namespace MG_Util::Program { shader = new TShader(language); const char *src = source.c_str(); shader->setStrings(&src, 1); + if (isVkGLSL) { + shader->setPreamble("#define gl_VertexID gl_VertexIndex\n" + "#define gl_InstanceID gl_InstanceIndex\n"); + } shader->setEnvInput(EShSourceGlsl, language, EShClientVulkan, glslVersion); shader->setEnvClient(EShClientOpenGL, isVkGLSL ? EShTargetVulkan_1_3 : EShTargetOpenGL_450); shader->setEnvTarget(EShTargetSpv, EShTargetSpv_1_6);