summaryrefslogtreecommitdiffstats
path: root/src/glsl/opt_algebraic.cpp
Commit message (Expand)AuthorAgeFilesLines
* 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
* 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