glsl: Don't mark assignment temporaries as read-only
authorIan Romanick <ian.d.romanick@intel.com>
Fri, 23 Dec 2011 18:59:38 +0000 (10:59 -0800)
committerIan Romanick <ian.d.romanick@intel.com>
Fri, 6 Jan 2012 22:32:50 +0000 (14:32 -0800)
The various l-value errors this was designed to catch are now caught
by other means.  Marking the temporaries as read-only now just
prevents sensible error messages from being generated.  It's

0:0(0): error: function parameter 'out p' references the read-only variable '_post_incdec_tmp'

versus

0:13(5): error: function parameter 'out p' references a post-decrement operation

Signed-off-by: Ian Romanick <ian.d.romanick@intel.com>
Reviewed-by: Paul Berry <stereotype441@gmail.com>
src/glsl/ast_to_hir.cpp

index cb2ef429f703b9ac71cfc7d5fa65578bb9ec3061..1aebca40facf35a115c8fc06b5a6b340d78e0495 100644 (file)
@@ -775,11 +775,6 @@ get_lvalue_copy(exec_list *instructions, ir_rvalue *lvalue)
    instructions->push_tail(new(ctx) ir_assignment(new(ctx) ir_dereference_variable(var),
                                                  lvalue, NULL));
 
-   /* Once we've created this temporary, mark it read only so it's no
-    * longer considered an lvalue.
-    */
-   var->read_only = true;
-
    return new(ctx) ir_dereference_variable(var);
 }