OSDN Git Service

glsl: Short-circuit lower_if_to_cond_assign when MaxIfDepth is UINT_MAX.
authorKenneth Graunke <kenneth@whitecape.org>
Tue, 18 Oct 2011 22:04:37 +0000 (15:04 -0700)
committerKenneth Graunke <kenneth@whitecape.org>
Fri, 21 Oct 2011 08:11:20 +0000 (01:11 -0700)
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>
src/glsl/lower_if_to_cond_assign.cpp

index 7b89a15..2c5d561 100644 (file)
@@ -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);