From 4a0bcd90cff6701aaf08d9bbcf6144b18c2d8284 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Mon, 20 May 2013 23:42:49 -0700 Subject: glsl linker: compare interface blocks during intrastage linking Verify that interface blocks match when combining compilation units at the same stage. (For example, when merging all vertex shaders.) Fixes piglit glsl-1.50 test: * linker/interface-blocks-multiple-vs-member-count-mismatch.shader_test v5 (Ken): Rename to link_interface_blocks.cpp and drop the separate .h file for consistency with other linker code. Remove "ok" variable. Fold cross_validate_interface_blocks into its caller. Signed-off-by: Jordan Justen Signed-off-by: Kenneth Graunke --- src/glsl/linker.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/glsl/linker.h') diff --git a/src/glsl/linker.h b/src/glsl/linker.h index f1ce50ace58..936a1433359 100644 --- a/src/glsl/linker.h +++ b/src/glsl/linker.h @@ -60,6 +60,10 @@ link_uniform_blocks(void *mem_ctx, unsigned num_shaders, struct gl_uniform_block **blocks_ret); +bool +validate_intrastage_interface_blocks(const gl_shader **shader_list, + unsigned num_shaders); + /** * Class for processing all of the leaf fields of a variable that corresponds * to a program resource. -- cgit v1.2.3