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 855f27f175698c4b53a4df734da18ba6a03fb775..bb45e2530db6d8ff5a79481c0b0d135dc1da7a06 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;