[Mesa-dev] [PATCH 1/5] i965/fs: Drop bogus writemasking disable bit from HALT instructions.

Francisco Jerez currojerez at riseup.net
Wed Aug 17 19:47:28 UTC 2016


Jason Ekstrand <jason at jlekstrand.net> writes:

> On Tue, Aug 16, 2016 at 1:54 PM, Francisco Jerez <currojerez at riseup.net>
> wrote:
>
>> This may have been the reason people ran into problems with
>> non-uniform HALT instructions and ended up using the inefficient
>> ANY16H/ANY8H predicates instead of ANY4H or NORMAL in order to prevent
>> non-uniform discard.  The HALT instruction is able to handle
>> non-uniform execution masks just fine.
>>
>
> Do you know why we were setting MASK_DISABLE?  Perhaps we were getting the
> exec size wrong before?

I have no idea, it seems to have been there since discard jumps were
first implemented.  If I had to make a wild guess I'd say that perhaps
the HALT re-convergence sequence at the end of the program wasn't
implemented properly or at all originally, which would normally lead to
a EU hang, the BRW_MASK_DISABLE may have prevented divergence in the
first place which would have prevented the hang causing people to think
it was necessary.

> In any case, if there's no piglig problems with patch 2, then I'll
> believe it works.
>
> Reviewed-by: Jason Ekstrand <jason at jlekstrand.net>
>
Thanks!

>
>> ---
>>  src/mesa/drivers/dri/i965/brw_fs_generator.cpp | 4 ----
>>  1 file changed, 4 deletions(-)
>>
>> diff --git a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
>> b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
>> index 647950f..22190f8 100644
>> --- a/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
>> +++ b/src/mesa/drivers/dri/i965/brw_fs_generator.cpp
>> @@ -1053,11 +1053,7 @@ fs_generator::generate_discard_jump(fs_inst *inst)
>>      * current block (or the program).
>>      */
>>     this->discard_halt_patches.push_tail(new(mem_ctx)
>> ip_record(p->nr_insn));
>> -
>> -   brw_push_insn_state(p);
>> -   brw_set_default_mask_control(p, BRW_MASK_DISABLE);
>>     gen6_HALT(p);
>> -   brw_pop_insn_state(p);
>>  }
>>
>>  void
>> --
>> 2.9.0
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 212 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20160817/9ea8beec/attachment.sig>


More information about the mesa-dev mailing list