summaryrefslogtreecommitdiff
path: root/src/glsl/opt_algebraic.cpp
AgeCommit message (Expand)AuthorFilesLines
2014-06-25glsl: Don't convert reductions of ivec to a dot-productIan Romanick1-1/+3
2014-06-19glsl: Optimize (v.x + v.y) + (v.z + v.w) into dot(v, 1.0).Matt Turner1-0/+46
2014-06-19glsl: Pass in options to do_algebraic().Matt Turner1-3/+8
2014-04-08glsl: Pass ctx->Const.NativeIntegers to do_algebraic.Kenneth Graunke1-3/+5
2014-04-05glsl: Optimize (x + y cmp 0) into (x cmp -y).Matt Turner1-0/+22
2014-03-18glsl: Optimize pow(x, 2) into x * x.Matt Turner1-0/+8
2014-03-02glsl: Fix broken LRP algebraic optimization.Kenneth Graunke1-1/+3
2014-02-28glsl: Optimize lrp(x, 0, a) into x - (x * a).Matt Turner1-0/+2
2014-02-28glsl: Optimize lrp(0, y, a) into y * a.Matt Turner1-0/+2
2014-02-07glsl: Optimize triop_csel with all-true or all-false.Eric Anholt1-0/+7
2014-02-07glsl: Optimize various cases of fma (aka MAD).Eric Anholt1-0/+13
2014-02-07glsl: Optimize lrp(x, x, coefficient) --> x.Eric Anholt1-0/+2
2014-02-07glsl: Optimize pow(x, 1) -> x.Eric Anholt1-0/+4
2014-02-07glsl: Optimize log(exp(x)) and exp(log(x)) into x.Eric Anholt1-0/+36
2014-02-07glsl: Optimize ~~x into x.Eric Anholt1-0/+5
2014-01-21glsl: Optimize open-coded lrp into lrp.Jordan Justen1-0/+52
2014-01-07glsl: Optimize pow(2, x) --> exp2(x).Kenneth Graunke1-0/+11
2014-01-07glsl: Optimize pow(1.0, X) --> 1.0.Kenneth Graunke1-0/+6
2013-11-15glsl: Apply the transformation "1/rsq(x) == sqrt(x)" in opt_algebraic.Eric Anholt1-3/+4
2013-11-15glsl: Apply the transformation "(a ^^ a) -> false" in opt_algebraic.Eric Anholt1-1/+3
2013-11-15glsl: Apply the transformation "(a && a) -> a" in opt_algebraic.Eric Anholt1-1/+3
2013-11-15glsl: Apply the transformation "(a || a) -> a" in opt_algebraic.Eric Anholt1-1/+3
2013-10-28glsl: Drop no-op shifts involving 0.Eric Anholt1-0/+10
2013-10-28glsl: Use ir_builder more in opt_algebraic.Eric Anholt1-30/+10
2013-10-28glsl: Move common code out of opt_algebraic's handle_expression().Eric Anholt1-78/+39
2013-10-25glsl: Optimize (not A) and (not B) into not (A or B).Matt Turner1-0/+9
2013-10-25glsl: Optimize (not A) or (not B) into not (A and B).Matt Turner1-0/+12
2013-10-21glsl: Optimize -(-expr) into expr.Matt Turner1-0/+10
2013-10-21glsl: Optimize abs(-expr) and abs(abs(expr)) into abs(expr).Matt Turner1-0/+18
2013-10-21glsl: Use saved values instead of recomputing them.Matt Turner1-8/+4
2013-10-16glsl: Optimize mul(a, -1) into neg(a).Matt Turner1-0/+23
2013-05-06glsl: Add support for new bit built-ins in ARB_gpu_shader5.Matt Turner1-3/+3
2013-02-28glsl: Optimize ir_triop_lrp(x, y, a) with a = 0.0f or 1.0fMatt Turner1-0/+11
2013-02-28glsl: Convert mix() to use a new ir_triop_lrp opcode.Kenneth Graunke1-3/+3
2012-06-12glsl: Transform dot product by a basis vector into a swizzleMatt Turner1-0/+24
2012-06-12glsl: Check for zero vectors in ir_binop_dotMatt Turner1-0/+7
2012-06-11glsl: Put a bunch of optimization visitors under anonymous namespaces.Eric Anholt1-0/+4
2011-01-31Convert everything from the talloc API to the ralloc API.Kenneth Graunke1-1/+1
2010-11-30glsl: fix matrix type check in ir_algebraicAras Pranckevicius1-2/+2
2010-11-19glsl: Add ir_quadop_vector expressionIan Romanick1-1/+1
2010-11-19glsl: Eliminate assumptions about size of ir_expression::operandsIan Romanick1-0/+1
2010-11-17glsl: Fix Doxygen tag \file in recently renamed filesChad Versace1-1/+1
2010-11-16glsl: Refactor is_vec_{zero,one} to be methods of ir_constantIan Romanick1-68/+4
2010-11-15glsl: Rename various ir_* files to lower_* and opt_*.Kenneth Graunke1-0/+474