glsl/linker: call link_uniform blocks on linked shader.
authorDave Airlie <airlied@redhat.com>
Fri, 27 May 2016 03:21:57 +0000 (13:21 +1000)
committerDave Airlie <airlied@redhat.com>
Fri, 27 May 2016 19:35:53 +0000 (05:35 +1000)
The old code called this on the prelinked shader list,
but at this point we have the linked shader, so we should
call the interface on that alone.

This fixes a regression in:
dEQP-GLES31.functional.ssbo.layout.random.all_per_block_buffers.13
introduced in
5b2675093e863a52b610f112884ae12d42513770
glsl: handle implicit sized arrays in ssbo

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=96228
Reviewed-by: Timothy Arceri <timothy.arceri@collabora.com>
Reported-by: Mark James
Signed-off-by: Dave Airlie <airlied@redhat.com>
src/compiler/glsl/linker.cpp

index 1d5552915cadb65c43caff6d6301a29028002fd2..e712ee3873b65cee3e8bb7fc646c86e17e489a32 100644 (file)
@@ -2318,7 +2318,7 @@ link_intrastage_shaders(void *mem_ctx,
    v.fixup_unnamed_interface_types();
 
    /* Link up uniform blocks defined within this stage. */
-   link_uniform_blocks(mem_ctx, ctx, prog, shader_list, num_shaders,
+   link_uniform_blocks(mem_ctx, ctx, prog, &linked, 1,
                        &ubo_blocks, &num_ubo_blocks, &ssbo_blocks,
                        &num_ssbo_blocks);