mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 02:58:05 +02:00
glsl/linker: Ensure the first stage of an SSO pipeline has input locs assigned
Previously an SSO pipeline containing only a tessellation control shader and a tessellation evaluation shader would not get locations assigned for the TCS inputs. This would lead to assertion failures in some piglit tests, such as arb_program_interface_query-resource-query. That piglit test still fails on some tessellation related subtests. Specifically, these subtests fail: 'GL_PROGRAM_INPUT(tcs) active resources' expected 2 but got 3 'GL_PROGRAM_INPUT(tcs) max length name' expected 12 but got 16 'GL_PROGRAM_INPUT(tcs,tes) active resources' expected 2 but got 3 'GL_PROGRAM_INPUT(tcs,tes) max length name' expected 12 but got 16 'GL_PROGRAM_OUTPUT(tcs) active resources' expected 15 but got 3 'GL_PROGRAM_OUTPUT(tcs) max length name' expected 23 but got 12 Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com> Cc: mesa-stable@lists.freedesktop.org
This commit is contained in:
parent
79bbff9def
commit
7619aed41d
1 changed files with 6 additions and 3 deletions
|
|
@ -4790,7 +4790,7 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
|
|||
*/
|
||||
int next = last;
|
||||
for (int i = next - 1; i >= 0; i--) {
|
||||
if (prog->_LinkedShaders[i] == NULL)
|
||||
if (prog->_LinkedShaders[i] == NULL && i != 0)
|
||||
continue;
|
||||
|
||||
gl_shader *const sh_i = prog->_LinkedShaders[i];
|
||||
|
|
@ -4806,8 +4806,11 @@ link_shaders(struct gl_context *ctx, struct gl_shader_program *prog)
|
|||
tfeedback_decls);
|
||||
|
||||
/* This must be done after all dead varyings are eliminated. */
|
||||
if (!check_against_output_limit(ctx, prog, sh_i))
|
||||
goto done;
|
||||
if (sh_i != NULL) {
|
||||
if (!check_against_output_limit(ctx, prog, sh_i)) {
|
||||
goto done;
|
||||
}
|
||||
}
|
||||
if (!check_against_input_limit(ctx, prog, sh_next))
|
||||
goto done;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue