glsl/linker: skip inactive explicit locations.

This fixes a crash in:
GL45-CTS.explicit_uniform_location.subroutine-loc-negative-link-max-num-of-locations

Reviewed-by: Chris Forbes <chrisforbes@google.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Dave Airlie
2016-05-18 17:06:41 +10:00
parent c714731653
commit 93b3b6af3c

View File

@@ -3088,6 +3088,9 @@ link_calculate_subroutine_compat(struct gl_shader_program *prog)
continue; continue;
for (unsigned j = 0; j < sh->NumSubroutineUniformRemapTable; j++) { for (unsigned j = 0; j < sh->NumSubroutineUniformRemapTable; j++) {
if (sh->SubroutineUniformRemapTable[j] == INACTIVE_UNIFORM_EXPLICIT_LOCATION)
continue;
struct gl_uniform_storage *uni = sh->SubroutineUniformRemapTable[j]; struct gl_uniform_storage *uni = sh->SubroutineUniformRemapTable[j];
if (!uni) if (!uni)