summaryrefslogtreecommitdiffstats
path: root/src/glsl/opt_algebraic.cpp
Commit message (Expand)AuthorAgeFilesLines
* glsl: Optimize clamp(x, 0.0, b), where b < 1.0 as min(saturate(x),b)Abdiel Janulgue2014-08-311-0/+39
* glsl: Optimize clamp(x, 0, 1) as saturate(x)Abdiel Janulgue2014-08-311-0/+36
* glsl: Don't convert reductions of ivec to a dot-productIan Romanick2014-06-251-1/+3
* glsl: Optimize (v.x + v.y) + (v.z + v.w) into dot(v, 1.0).Matt Turner2014-06-191-0/+46
* glsl: Pass in options to do_algebraic().Matt Turner2014-06-191-3/+8
* glsl: Pass ctx->Const.NativeIntegers to do_algebraic.Kenneth Graunke2014-04-081-3/+5
* glsl: Optimize (x + y cmp 0) into (x cmp -y).Matt Turner2014-04-051-0/+22
* glsl: Optimize pow(x, 2) into x * x.Matt Turner2014-03-181-0/+8
* glsl: Fix broken LRP algebraic optimization.Kenneth Graunke2014-03-021-1/+3
* glsl: Optimize lrp(x, 0, a) into x - (x * a).Matt Turner2014-02-281-0/+2
* glsl: Optimize lrp(0, y, a) into y * a.Matt Turner2014-02-281-0/+2
* glsl: Optimize triop_csel with all-true or all-false.Eric Anholt2014-02-071-0/+7
* glsl: Optimize various cases of fma (aka MAD).Eric Anholt2014-02-071-0/+13
* glsl: Optimize lrp(x, x, coefficient) --> x.Eric Anholt2014-02-071-0/+2
* glsl: Optimize pow(x, 1) -> x.Eric Anholt2014-02-071-0/+4
* glsl: Optimize log(exp(x)) and exp(log(x)) into x.Eric Anholt2014-02-071-0/+36
* glsl: Optimize ~~x into x.Eric Anholt2014-02-071-0/+5
* glsl: Optimize open-coded lrp into lrp.Jordan Justen2014-01-211-0/+52
* glsl: Optimize pow(2, x) --> exp2(x).Kenneth Graunke2014-01-071-0/+11
* glsl: Optimize pow(1.0, X) --> 1.0.Kenneth Graunke2014-01-071-0/+6
* glsl: Apply the transformation "1/rsq(x) == sqrt(x)" in opt_algebraic.Eric Anholt2013-11-151-3/+4
* glsl: Apply the transformation "(a ^^ a) -> false" in opt_algebraic.Eric Anholt2013-11-151-1/+3
* glsl: Apply the transformation "(a && a) -> a" in opt_algebraic.Eric Anholt2013-11-151-1/+3
* glsl: Apply the transformation "(a || a) -> a" in opt_algebraic.Eric Anholt2013-11-151-1/+3
* glsl: Drop no-op shifts involving 0.Eric Anholt2013-10-281-0/+10
* glsl: Use ir_builder more in opt_algebraic.Eric Anholt2013-10-281-30/+10
* glsl: Move common code out of opt_algebraic's handle_expression().Eric Anholt2013-10-281-78/+39
* glsl: Optimize (not A) and (not B) into not (A or B).Matt Turner2013-10-251-0/+9
* glsl: Optimize (not A) or (not B) into not (A and B).Matt Turner2013-10-251-0/+12
* glsl: Optimize -(-expr) into expr.Matt Turner2013-10-211-0/+10
* glsl: Optimize abs(-expr) and abs(abs(expr)) into abs(expr).Matt Turner2013-10-211-0/+18
* glsl: Use saved values instead of recomputing them.Matt Turner2013-10-211-8/+4
* glsl: Optimize mul(a, -1) into neg(a).Matt Turner2013-10-161-0/+23
* glsl: Add support for new bit built-ins in ARB_gpu_shader5.Matt Turner2013-05-061-3/+3
* glsl: Optimize ir_triop_lrp(x, y, a) with a = 0.0f or 1.0fMatt Turner2013-02-281-0/+11
* glsl: Convert mix() to use a new ir_triop_lrp opcode.Kenneth Graunke2013-02-281-3/+3
* glsl: Transform dot product by a basis vector into a swizzleMatt Turner2012-06-121-0/+24
* glsl: Check for zero vectors in ir_binop_dotMatt Turner2012-06-121-0/+7
* glsl: Put a bunch of optimization visitors under anonymous namespaces.Eric Anholt2012-06-111-0/+4
* Convert everything from the talloc API to the ralloc API.Kenneth Graunke2011-01-311-1/+1
* glsl: fix matrix type check in ir_algebraicAras Pranckevicius2010-11-301-2/+2
* glsl: Add ir_quadop_vector expressionIan Romanick2010-11-191-1/+1
* glsl: Eliminate assumptions about size of ir_expression::operandsIan Romanick2010-11-191-0/+1
* glsl: Fix Doxygen tag \file in recently renamed filesChad Versace2010-11-171-1/+1
* glsl: Refactor is_vec_{zero,one} to be methods of ir_constantIan Romanick2010-11-161-68/+4
* glsl: Rename various ir_* files to lower_* and opt_*.Kenneth Graunke2010-11-151-0/+474