[Mesa-dev] [PATCH] st/mesa: in ATI fs don't assume TEMP0=REG0

Miklós Máté mtmkls at gmail.com
Wed Aug 10 18:40:48 UTC 2016


Thanks. I forgot to add that this should also be applied to the 12.0 
stable branch.

MM

On 08/10/2016 03:07 PM, Marek Olšák wrote:
> Pushed, thanks.
>
> Marek
>
> On Mon, Aug 8, 2016 at 12:48 AM, Miklós Máté <mtmkls at gmail.com> wrote:
>> The temporaries are allocated dynamically.
>>
>> Signed-off-by: Miklós Máté <mtmkls at gmail.com>
>> ---
>>   src/mesa/state_tracker/st_atifs_to_tgsi.c | 5 +++--
>>   1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> diff --git a/src/mesa/state_tracker/st_atifs_to_tgsi.c b/src/mesa/state_tracker/st_atifs_to_tgsi.c
>> index 66f442a..ae08796 100644
>> --- a/src/mesa/state_tracker/st_atifs_to_tgsi.c
>> +++ b/src/mesa/state_tracker/st_atifs_to_tgsi.c
>> @@ -691,6 +691,7 @@ transform_inst:
>>         struct tgsi_full_instruction inst;
>>         unsigned i;
>>         int fogc_index = -1;
>> +      int reg0_index = current_inst->Src[0].Register.Index;
>>
>>         /* find FOGC input */
>>         for (i = 0; i < ctx->info.num_inputs; i++) {
>> @@ -804,11 +805,11 @@ transform_inst:
>>         inst.Instruction.Opcode = TGSI_OPCODE_LRP;
>>         inst.Instruction.NumDstRegs = 1;
>>         inst.Dst[0].Register.File  = TGSI_FILE_TEMPORARY;
>> -      inst.Dst[0].Register.Index = 0;
>> +      inst.Dst[0].Register.Index = reg0_index;
>>         inst.Dst[0].Register.WriteMask = TGSI_WRITEMASK_XYZW;
>>         inst.Instruction.NumSrcRegs = 3;
>>         SET_SRC(&inst, 0, TGSI_FILE_TEMPORARY, ctx->fog_factor_temp, X, X, X, Y);
>> -      SET_SRC(&inst, 1, TGSI_FILE_TEMPORARY, 0, X, Y, Z, W);
>> +      SET_SRC(&inst, 1, TGSI_FILE_TEMPORARY, reg0_index, X, Y, Z, W);
>>         SET_SRC(&inst, 2, TGSI_FILE_CONSTANT, MAX_NUM_FRAGMENT_CONSTANTS_ATI + 1, X, Y, Z, W);
>>         tctx->emit_instruction(tctx, &inst);
>>      }
>> --
>> 2.8.1
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev




More information about the mesa-dev mailing list