summaryrefslogtreecommitdiffstats
path: root/src/glsl/opt_algebraic.cpp
Commit message (Expand)AuthorAgeFilesLines
* glsl: Make sure not to dereference NULLNeil Roberts2015-07-061-1/+1
* glsl: Add missing check for whether an expression is an add operationNeil Roberts2015-07-061-1/+1
* glsl: Transform pow(x, 4) into (x*x)*(x*x).Matt Turner2015-04-241-0/+20
* glsl: Make sure not to dereference NULL.Matt Turner2015-04-011-0/+2
* glsl: Reassociate multiplication of mat*mat*vec.Matt Turner2015-03-311-0/+14
* glsl: Recognize sat(add(b2f(a), b2f(b))) as a logical OR.Matt Turner2015-03-241-0/+12
* glsl: Recognize mul(b2f(a), b2f(b)) as a logical AND.Matt Turner2015-03-241-0/+4
* glsl: optimize (0 cmp x + y) into (-x cmp y).Samuel Iglesias Gonsalvez2015-03-131-3/+12
* glsl: silence uninitialized var warning on MinGWBrian Paul2015-02-271-0/+1
* glsl: Rewrite and fix min/max to saturate optimization.Matt Turner2015-02-251-29/+46
* glsl: Add support doubles in optimization passesDave Airlie2015-02-191-4/+22
* glsl: Optimize (f2i(trunc x)) into (f2i x).Matt Turner2015-02-111-0/+9
* glsl: Optimize round-half-up pattern.Matt Turner2015-02-111-0/+33
* glsl: Optimize 1/exp(x) into exp(-x).Matt Turner2015-02-101-0/+6
* glsl: Don't optimize min/max into saturate when EmitNoSat is setAbdiel Janulgue2014-12-081-1/+1
* glsl: Optimize scalar all_equal/any_nequal into equal/nequal.Matt Turner2014-12-051-0/+10
* glsl: Remove now useless dot optimization on basis vectMatt Turner2014-11-031-23/+0
* glsl: Emit mul instead of dot if only one component left.Matt Turner2014-11-031-1/+4
* glsl: Drop constant 0.0 components from dot products.Matt Turner2014-10-291-0/+27
* glsl: Recognize open-coded pow(x, y).Matt Turner2014-09-271-0/+14
* glsl: Optimize clamp(x, b, 1.0), where b > 0.0 as max(saturate(x),b)Abdiel Janulgue2014-08-311-0/+23
* 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