From cb29a7095f6cf3700eb3d2c575640ea129388782 Mon Sep 17 00:00:00 2001 From: Jordan Justen Date: Sat, 23 Mar 2013 17:16:28 -0700 Subject: [PATCH] glsl ast_to_hir: reject row/column_major for in/out interface blocks Signed-off-by: Jordan Justen Reviewed-by: Kenneth Graunke --- src/glsl/ast_to_hir.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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 " -- 2.30.2