summaryrefslogtreecommitdiff
path: root/src/glsl/lower_if_to_cond_assign.cpp
diff options
context:
space:
mode:
authorKenneth Graunke <kenneth@whitecape.org>2011-10-18 15:04:37 -0700
committerKenneth Graunke <kenneth@whitecape.org>2011-10-21 01:11:20 -0700
commit1595c79d9c60d8cc03763e64285b691d6748be95 (patch)
tree38f50deefc28e8471463b4a8846b16867054b2fe /src/glsl/lower_if_to_cond_assign.cpp
parent01f9fdc4acd28cc4630a3c71f2d007373f4d979c (diff)
glsl: Short-circuit lower_if_to_cond_assign when MaxIfDepth is UINT_MAX.
Setting MaxIfDepth to UINT_MAX effectively means "don't lower anything." Explicitly checking for this common case allows us to avoid walking the IR, computing nesting levels, and so on. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Bryan Cain <bryancain3@gmail.com>
Diffstat (limited to 'src/glsl/lower_if_to_cond_assign.cpp')
-rw-r--r--src/glsl/lower_if_to_cond_assign.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/glsl/lower_if_to_cond_assign.cpp b/src/glsl/lower_if_to_cond_assign.cpp
index 7b89a1539ce..2c5d5612d0d 100644
--- a/src/glsl/lower_if_to_cond_assign.cpp
+++ b/src/glsl/lower_if_to_cond_assign.cpp
@@ -79,6 +79,9 @@ public:
bool
lower_if_to_cond_assign(exec_list *instructions, unsigned max_depth)
{
+ if (max_depth == UINT_MAX)
+ return false;
+
ir_if_to_cond_assign_visitor v(max_depth);
visit_list_elements(&v, instructions);