ast_function: Set constant_value on return value temporaries in 1.20+.
authorKenneth Graunke <kenneth@whitecape.org>
Fri, 23 Jul 2010 01:29:29 +0000 (18:29 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Wed, 28 Jul 2010 22:46:26 +0000 (15:46 -0700)
src/glsl/ast_function.cpp

index 855f27f..bb45e25 100644 (file)
@@ -122,6 +122,8 @@ process_call(exec_list *instructions, ir_function *f,
         deref = new(ctx) ir_dereference_variable(var);
         ir_assignment *assign = new(ctx) ir_assignment(deref, call, NULL);
         instructions->push_tail(assign);
+        if (state->language_version >= 120)
+           var->constant_value = call->constant_expression_value();
 
         deref = new(ctx) ir_dereference_variable(var);
         return deref;