summaryrefslogtreecommitdiffstats
path: root/src/glsl/ast_to_hir.cpp
diff options
context:
space:
mode:
authorJordan Justen <[email protected]>2013-03-23 17:16:28 -0700
committerJordan Justen <[email protected]>2013-05-23 09:37:12 -0700
commitcb29a7095f6cf3700eb3d2c575640ea129388782 (patch)
treeca554715b83d69e04c1dd9384b5933cd6fa11c3a /src/glsl/ast_to_hir.cpp
parentc00387497d4a8438f3b71b8a2ad35bafcd1b069c (diff)
glsl ast_to_hir: reject row/column_major for in/out interface blocks
Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
Diffstat (limited to 'src/glsl/ast_to_hir.cpp')
-rw-r--r--src/glsl/ast_to_hir.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp
index 0e2e6527761..b2a18114ac0 100644
--- a/src/glsl/ast_to_hir.cpp
+++ b/src/glsl/ast_to_hir.cpp
@@ -4054,7 +4054,11 @@ ast_process_structure_or_interface_block(exec_list *instructions,
fields[i].name = decl->identifier;
if (qual->flags.q.row_major || qual->flags.q.column_major) {
- if (!field_type->is_matrix() && !field_type->is_record()) {
+ if (!qual->flags.q.uniform) {
+ _mesa_glsl_error(&loc, state,
+ "row_major and column_major can only be "
+ "applied to uniform interface blocks.");
+ } else if (!field_type->is_matrix() && !field_type->is_record()) {
_mesa_glsl_error(&loc, state,
"uniform block layout qualifiers row_major and "
"column_major can only be applied to matrix and "