[Mesa-dev] [PATCH 3/3] gk1100/ir: add missing src predicate emission for BAR.RED

Samuel Pitoiset samuel.pitoiset at gmail.com
Sun Feb 28 21:53:26 UTC 2016



On 02/28/2016 10:50 PM, Ilia Mirkin wrote:
> On Sun, Feb 28, 2016 at 4:30 PM, Samuel Pitoiset
> <samuel.pitoiset at gmail.com> wrote:
>> Signed-off-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
>> ---
>>   src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp | 6 ++++++
>>   1 file changed, 6 insertions(+)
>>
>> diff --git a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
>> index ff56987..07e4f4d 100644
>> --- a/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
>> +++ b/src/gallium/drivers/nouveau/codegen/nv50_ir_emit_gk110.cpp
>> @@ -1300,6 +1300,12 @@ CodeEmitterGK110::emitBAR(const Instruction *i)
>>         code[1] |= imm->reg.data.u32 >> 9;
>>         code[1] |= 0x4000;
>>      }
>> +
>> +   if (i->srcExists(2) && (i->predSrc != 2)) {
>> +      srcId(i->src(2), 32 + 10);
>> +      if (i->src(2).mod == Modifier(NV50_IR_MOD_NOT))
>> +         code[1] |= 1 << 13;
>> +   }
>
> You probably want the PT to be emitted when it doesn't exist though
> right? Should there be a
>
> } else {
>    code[1] |= 0x7 << 10;
> }
>
> perhaps?

Yeah, I forgot that one...
>
>>   }
>>
>>   void CodeEmitterGK110::emitMEMBAR(const Instruction *i)
>> --
>> 2.7.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