<div dir="ltr">Would this be conformant to GLSL spec if X had a runtime value of 0? Seems unsafe to replace X / X with 1 without a runtime test...maybe GLSL spec allows such optimizations.</div><div class="gmail_extra"><br>
<br><div class="gmail_quote">On Thu, Aug 7, 2014 at 3:51 PM,  <span dir="ltr"><<a href="mailto:thomashelland90@gmail.com" target="_blank">thomashelland90@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
From: Thomas Helland <<a href="mailto:thomashelland90@gmail.com">thomashelland90@gmail.com</a>><br>
<br>
Shows no changes for shader-db.<br>
<br>
Signed-off-by: Thomas Helland <thomashelland90 at <a href="http://gmail.com" target="_blank">gmail.com</a>><br>
---<br>
 src/glsl/opt_algebraic.cpp | 2 ++<br>
 1 file changed, 2 insertions(+)<br>
<br>
diff --git a/src/glsl/opt_algebraic.cpp b/src/glsl/opt_algebraic.cpp<br>
index 21bf332..a49752d 100644<br>
--- a/src/glsl/opt_algebraic.cpp<br>
+++ b/src/glsl/opt_algebraic.cpp<br>
@@ -513,6 +513,8 @@ ir_algebraic_visitor::handle_expression(ir_expression *ir)<br>
       }<br>
       if (is_vec_one(op_const[1]))<br>
         return ir->operands[0];<br>
+      if(ir->operands[0]->equals(ir->operands[1]))<br>
+         return new(mem_ctx) ir_constant(1.0f, 1);<br>
       break;<br>
<br>
    case ir_binop_dot:<br>
<span class="HOEnZb"><font color="#888888">--<br>
2.0.3<br>
<br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</font></span></blockquote></div><br></div>