aboutsummaryrefslogtreecommitdiffstats
path: root/src/glsl/link_interface_blocks.cpp
diff options
context:
space:
mode:
authorPaul Berry <[email protected]>2013-07-27 14:58:43 -0700
committerPaul Berry <[email protected]>2013-07-30 10:10:26 -0700
commit659ec1c958b59b77b5334d1121722ea0c80dddf8 (patch)
treec8b7fa1e656c7402e0069ead94d3c4f61999b9ef /src/glsl/link_interface_blocks.cpp
parent4682b9b7bfffff0caa7bd0f6af3ae820a1df08af (diff)
glsl: Add error message for intrastage interface block mismatch.
Previously we failed to link (which is correct), but we did not output an error message, which could have been confusing for users. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glsl/link_interface_blocks.cpp')
-rw-r--r--src/glsl/link_interface_blocks.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/glsl/link_interface_blocks.cpp b/src/glsl/link_interface_blocks.cpp
index b91860d0394..4f67291d85f 100644
--- a/src/glsl/link_interface_blocks.cpp
+++ b/src/glsl/link_interface_blocks.cpp
@@ -32,7 +32,8 @@
#include "main/macros.h"
bool
-validate_intrastage_interface_blocks(const gl_shader **shader_list,
+validate_intrastage_interface_blocks(struct gl_shader_program *prog,
+ const gl_shader **shader_list,
unsigned num_shaders)
{
glsl_symbol_table interfaces;
@@ -62,6 +63,8 @@ validate_intrastage_interface_blocks(const gl_shader **shader_list,
interfaces.add_interface(iface_type->name, iface_type,
(enum ir_variable_mode) var->mode);
} else if (old_iface_type != iface_type) {
+ linker_error(prog, "definitions of interface block `%s' do not"
+ " match\n", iface_type->name);
return false;
}
}