diff --git a/source/blender/gpu/opengl/gl_shader.cc b/source/blender/gpu/opengl/gl_shader.cc index 6f39d69e6ff..79182ea05e6 100644 --- a/source/blender/gpu/opengl/gl_shader.cc +++ b/source/blender/gpu/opengl/gl_shader.cc @@ -416,7 +416,9 @@ std::string GLShader::resources_declare(const ShaderCreateInfo &info) const ss << ";\n"; } for (const ShaderCreateInfo::PushConst &uniform : info.push_constants_) { - ss << "#define " << uniform.name << " (" << uniform.name << ")\n"; + /* T95278: Double macro to avoid some compilers think it is recusive. */ + ss << "#define " << uniform.name << "_ " << uniform.name << "\n"; + ss << "#define " << uniform.name << " (" << uniform.name << _ ")\n"; } ss << "\n"; return ss.str();