GPU: Fix Potential Error in Builtin Resolution. #105127

Merged

View File

@ -529,6 +529,9 @@ GLShaderInterface::GLShaderInterface(GLuint program, const shader::ShaderCreateI
} }
} }
this->sort_inputs();
/* Resolving builtins must happen after the inputs have been sorted. */
/* Builtin Uniforms */ /* Builtin Uniforms */
for (int32_t u_int = 0; u_int < GPU_NUM_UNIFORMS; u_int++) { for (int32_t u_int = 0; u_int < GPU_NUM_UNIFORMS; u_int++) {
GPUUniformBuiltin u = static_cast<GPUUniformBuiltin>(u_int); GPUUniformBuiltin u = static_cast<GPUUniformBuiltin>(u_int);
@ -543,8 +546,6 @@ GLShaderInterface::GLShaderInterface(GLuint program, const shader::ShaderCreateI
builtin_blocks_[u] = (block != nullptr) ? block->binding : -1; builtin_blocks_[u] = (block != nullptr) ? block->binding : -1;
} }
this->sort_inputs();
// this->debug_print(); // this->debug_print();
glUseProgram(last_program); glUseProgram(last_program);