On Mon, Jul 11, 2016 at 7:31 PM, Ilia Mirkin <imir...@alum.mit.edu> wrote:
> On Mon, Jul 11, 2016 at 1:28 PM, Marek Olšák <mar...@gmail.com> wrote:
>> From: Marek Olšák <marek.ol...@amd.com>
>>
>> This bug is uncovered by glsl/lower_if_to_cond_assign.
>> I don't know if it can be reproduced in any other way.
>>
>> Cc: <mesa-sta...@lists.freedesktop.org>
>> ---
>>  src/mesa/state_tracker/st_glsl_to_tgsi.cpp | 12 +++++++-----
>>  1 file changed, 7 insertions(+), 5 deletions(-)
>>
>> diff --git a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp 
>> b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> index 76656f5..0b7feb7 100644
>> --- a/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> +++ b/src/mesa/state_tracker/st_glsl_to_tgsi.cpp
>> @@ -1958,12 +1958,14 @@ 
>> glsl_to_tgsi_visitor::visit_expression(ir_expression* ir, st_src_reg *op)
>>           emit_asm(ir, TGSI_OPCODE_TRUNC, result_dst, op[0]);
>>        break;
>>     case ir_unop_bitcast_f2i:
>> -      result_src = op[0];
>> -      result_src.type = GLSL_TYPE_INT;
>> -      break;
>>     case ir_unop_bitcast_f2u:
>> -      result_src = op[0];
>> -      result_src.type = GLSL_TYPE_UINT;
>> +      /* Make sure we don't propagate the negate modifier to integer 
>> opcodes. */
>> +      if (op[0].negate)
>
> Or abs or saturate, presumably?

glsl_to_tgsi doesn't use ureg_abs.

saturate is a dst modifier and this patch operates on src operands.

Marek
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to