glsl: Optimize clamp(x, 0.0, b), where b < 1.0 as min(saturate(x),b)
authorAbdiel Janulgue <abdiel.janulgue@linux.intel.com>
Fri, 20 Jun 2014 05:17:20 +0000 (22:17 -0700)
committerAbdiel Janulgue <abdiel.janulgue@linux.intel.com>
Sun, 31 Aug 2014 18:04:08 +0000 (21:04 +0300)
commitd92394c5d88c77f7ff9676b6ade935f922e377a4
treeff462002c5d04a365c19a0693fbed8fb1d946fc5
parent8f890b119eaff88a7fad64abbf183cbcc22edc7a
glsl: Optimize clamp(x, 0.0, b), where b < 1.0 as min(saturate(x),b)

v2: - Output min(saturate(x),b) instead of saturate(min(x,b)) suggested by Ilia Mirkin
    - Make sure we do component-wise comparison for vectors (Ian Romanick)
v3: - Add missing condition where the outer constant value is zero and
      inner constant is < 1
    - Fix comments to reflect we are doing 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