[Mesa-dev] [PATCH 1/3] glsl: Optimize lrp(0, y, a) into y * a.

Ian Romanick idr at freedesktop.org
Mon Feb 24 15:12:46 PST 2014


Series is

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>

Though we'll eventually want to generalize patch 3.

On 02/24/2014 03:00 PM, Matt Turner wrote:
> Helps two programs in shader-db:
>
> instructions in affected programs:     254 -> 234 (-7.87%)
> ---
>   src/glsl/opt_algebraic.cpp | 2 ++
>   1 file changed, 2 insertions(+)
>
> diff --git a/src/glsl/opt_algebraic.cpp b/src/glsl/opt_algebraic.cpp
> index 1b4d319..28f95a4 100644
> --- a/src/glsl/opt_algebraic.cpp
> +++ b/src/glsl/opt_algebraic.cpp
> @@ -568,6 +568,8 @@ ir_algebraic_visitor::handle_expression(ir_expression *ir)
>            return ir->operands[1];
>         } else if (ir->operands[0]->equals(ir->operands[1])) {
>            return ir->operands[0];
> +      } else if (is_vec_zero(op_const[0])) {
> +         return mul(ir->operands[1], ir->operands[2]);
>         }
>         break;
>
>



More information about the mesa-dev mailing list