glsl: Optimize clamp(x, b, 1.0), where b > 0.0 as max(saturate(x),b)
authorAbdiel Janulgue <abdiel.janulgue@linux.intel.com>
Tue, 8 Jul 2014 11:12:50 +0000 (14:12 +0300)
committerAbdiel Janulgue <abdiel.janulgue@linux.intel.com>
Sun, 31 Aug 2014 18:04:08 +0000 (21:04 +0300)
commit0e2ba3ee827f77af0b1f322d95c650f6f7f4da88
tree67aa3010ed58583f981dfa9ab712b57cb9e4aac3
parentd92394c5d88c77f7ff9676b6ade935f922e377a4
glsl: Optimize clamp(x, b, 1.0), where b > 0.0 as max(saturate(x),b)

v2: - Output max(saturate(x),b) instead of saturate(max(x,b))
    - Make sure we do component-wise comparison for vectors (Ian Romanick)
v3: - Add missing condition where the outer constant value is > 0.0 and
      inner constant is 1.0.
    - Fix comments to show that the optimization is a commutative operation
      (Matt Turner)

Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Signed-off-by: Abdiel Janulgue <abdiel.janulgue@linux.intel.com>
src/glsl/opt_algebraic.cpp