--- src/glsl/ast_to_hir.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/glsl/ast_to_hir.cpp b/src/glsl/ast_to_hir.cpp index ab62599..92391a0 100644 --- a/src/glsl/ast_to_hir.cpp +++ b/src/glsl/ast_to_hir.cpp @@ -762,8 +762,15 @@ do_assignment(exec_list *instructions, struct _mesa_glsl_parse_state *state, } ir_variable *lhs_var = lhs->variable_referenced(); - if (lhs_var) + if (lhs_var) { + if (lhs_var->data.image_read_only) { + _mesa_glsl_error(&lhs_loc, state, + "assignment to read-only variable `%s'", + lhs_var->name); + error_emitted = true; + } lhs_var->data.assigned = true; + } if (!error_emitted) { if (non_lvalue_description != NULL) { -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev