[Mesa-dev] [PATCH 4/9] glsl: Optimize ir_triop_lrp(x, y, a) with a = 0.0f or 1.0f

Matt Turner mattst88 at gmail.com
Thu Feb 28 11:33:46 PST 2013


On Tue, Feb 26, 2013 at 10:31 AM, Ian Romanick <idr at freedesktop.org> wrote:
> On 02/19/2013 05:03 PM, Matt Turner wrote:
>>
>> ---
>>   src/glsl/opt_algebraic.cpp |   16 +++++++++++++---
>>   1 files changed, 13 insertions(+), 3 deletions(-)
>>
>> diff --git a/src/glsl/opt_algebraic.cpp b/src/glsl/opt_algebraic.cpp
>> index 75948db..952941e 100644
>> --- a/src/glsl/opt_algebraic.cpp
>> +++ b/src/glsl/opt_algebraic.cpp
>> @@ -186,12 +186,12 @@
>> ir_algebraic_visitor::swizzle_if_required(ir_expression *expr,
>>   ir_rvalue *
>>   ir_algebraic_visitor::handle_expression(ir_expression *ir)
>>   {
>> -   ir_constant *op_const[2] = {NULL, NULL};
>> -   ir_expression *op_expr[2] = {NULL, NULL};
>> +   ir_constant *op_const[3] = {NULL, NULL, NULL};
>> +   ir_expression *op_expr[3] = {NULL, NULL, NULL};
>>      ir_expression *temp;
>>      unsigned int i;
>>
>> -   assert(ir->get_num_operands() <= 2);
>> +   assert(ir->get_num_operands() <= 3);
>
>
> Doesn't this part of the change have to occur before other patches in this
> series?  What happens if you run piglit on the commit just before this?  I'd
> prefer bisects not hit spurious failures.

Not strictly necessary, I don't think, since all backends are lowering
LRP at this point. I could be wrong about the order of things though.
Anyway still a good idea.


More information about the mesa-dev mailing list