summaryrefslogtreecommitdiff
path: root/src/glsl/linker.h
diff options
context:
space:
mode:
authorJordan Justen <jordan.l.justen@intel.com>2013-05-20 23:42:49 -0700
committerJordan Justen <jordan.l.justen@intel.com>2013-05-23 09:37:12 -0700
commit4a0bcd90cff6701aaf08d9bbcf6144b18c2d8284 (patch)
tree99c738535c1bbdfea537cba3c1abbb6e5ec45a65 /src/glsl/linker.h
parentd6863acb9f40fd36eb18e873def31a3b72e0d68a (diff)
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 <jordan.l.justen@intel.com> Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
Diffstat (limited to 'src/glsl/linker.h')
-rw-r--r--src/glsl/linker.h4
1 files changed, 4 insertions, 0 deletions
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.