mesa/subroutines: count number subroutines properly.
The code was implementing the ACTIVE_SUBROUTINE_UNIFORMS incorrectly, using the number of types not the number of uniforms. This is different than the locations as the locations may be sparsly allocated. This fixes: GL43-CTS.shader_subroutine.four_subroutines_with_two_uniforms Reviewed-by: Chris Forbes <chrisforbes@google.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -3096,6 +3096,7 @@ link_calculate_subroutine_compat(struct gl_shader_program *prog)
|
||||
if (!uni)
|
||||
continue;
|
||||
|
||||
sh->NumSubroutineUniforms++;
|
||||
count = 0;
|
||||
if (sh->NumSubroutineFunctions == 0) {
|
||||
linker_error(prog, "subroutine uniform %s defined but no valid functions found\n", uni->type->name);
|
||||
|
Reference in New Issue
Block a user