summaryrefslogtreecommitdiffstats
path: root/src/glsl/loop_unroll.cpp
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2014-04-08 15:33:27 -0700
committerKenneth Graunke <[email protected]>2014-04-11 17:41:41 -0700
commit2231db559819d62303660dbe551cbcd6c9610793 (patch)
tree19895c57bff82c2312509adf5a2783c207f31f2b /src/glsl/loop_unroll.cpp
parent8268a2f34783076043418a1043fde4572ea8b7b5 (diff)
glsl: Rename loop_unroll_count::fail to "nested_loop."
The "fail" flag is set if loop_unroll_count encounters a nested loop; calling the flag "nested_loop" is a bit clearer. The original reasoning was that count is inaccurate (too small) if there are nested loops, as we don't do any sort of analysis on the inner loop. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
Diffstat (limited to 'src/glsl/loop_unroll.cpp')
-rw-r--r--src/glsl/loop_unroll.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/glsl/loop_unroll.cpp b/src/glsl/loop_unroll.cpp
index 11680b31209..1ce4d5820e5 100644
--- a/src/glsl/loop_unroll.cpp
+++ b/src/glsl/loop_unroll.cpp
@@ -63,12 +63,13 @@ is_break(ir_instruction *ir)
class loop_unroll_count : public ir_hierarchical_visitor {
public:
int nodes;
- bool fail;
+ /* If there are nested loops, the node count will be inaccurate. */
+ bool nested_loop;
loop_unroll_count(exec_list *list)
{
nodes = 0;
- fail = false;
+ nested_loop = false;
run(list);
}
@@ -87,7 +88,7 @@ public:
virtual ir_visitor_status visit_enter(ir_loop *)
{
- fail = true;
+ nested_loop = true;
return visit_continue;
}
};
@@ -258,7 +259,7 @@ loop_unroll_visitor::visit_leave(ir_loop *ir)
*/
loop_unroll_count count(&ir->body_instructions);
- if (count.fail || count.nodes * iterations > max_iterations * 5)
+ if (count.nested_loop || count.nodes * iterations > max_iterations * 5)
return visit_continue;
/* Note: the limiting terminator contributes 1 to ls->num_loop_jumps.