diff options
author | Eric Anholt <[email protected]> | 2010-08-04 16:07:41 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2010-08-04 16:25:56 -0700 |
commit | 6ecf62f673bf90d0969f8db032781b49a988975a (patch) | |
tree | 23f9647493f1e849a75932e97dfbc15b48c28963 | |
parent | 3d23f0a90c982ad43a6f18ef69a23b2fcdb1d1d2 (diff) |
glsl2: Return a real progress value from constant folding.
-rw-r--r-- | src/glsl/ir_constant_folding.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/glsl/ir_constant_folding.cpp b/src/glsl/ir_constant_folding.cpp index 492036e9a6b..a6d82e33ec4 100644 --- a/src/glsl/ir_constant_folding.cpp +++ b/src/glsl/ir_constant_folding.cpp @@ -39,7 +39,7 @@ class ir_constant_folding_visitor : public ir_visitor { public: ir_constant_folding_visitor() { - /* empty */ + this->progress = false; } virtual ~ir_constant_folding_visitor() @@ -75,6 +75,8 @@ public: /*@}*/ void fold_constant(ir_rvalue **rvalue); + + bool progress; }; void @@ -86,6 +88,7 @@ ir_constant_folding_visitor::fold_constant(ir_rvalue **rvalue) ir_constant *constant = (*rvalue)->constant_expression_value(); if (constant) { *rvalue = constant; + this->progress = true; } else { (*rvalue)->accept(this); } @@ -178,6 +181,7 @@ ir_constant_folding_visitor::visit(ir_assignment *ir) else ir->remove(); } + this->progress = true; } } @@ -240,6 +244,5 @@ do_constant_folding(exec_list *instructions) visit_exec_list(instructions, &constant_folding); - /* FINISHME: Return real progress. */ - return false; + return constant_folding.progress; } |