[Mesa-dev] [PATCH 0/2] nir: Move the si vote lowering to common code

Bas Nieuwenhuizen bas at basnieuwenhuizen.nl
Tue Mar 13 18:39:18 UTC 2018


Thanks a lot!

Reviewed-by: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>

for the series.

On Sat, Mar 10, 2018 at 7:42 PM, Jason Ekstrand <jason at jlekstrand.net> wrote:
> On Sat, Mar 10, 2018 at 10:18 AM, Jason Ekstrand <jason at jlekstrand.net>
> wrote:
>>
>> This tiny series moves the pass that Bas wrote for lowering vote
>> instructions to ballots into common code.  As you can see from the
>> diffstat
>> below, it cuts the size of the pass in half by removing boilerplate.  The
>> new version (in nir_lower_subgroups) also contains two bugfixes:
>>
>>  1) The old pass wasn't actually inserting the RFI instruction
>>
>>  2) The old pass wouldn't handle NaN correctly in feq because it switched
>>     to effectively using ineg(fne(a, b)) which is not the same as feq(a,
>> b)
>>     when NaN is present.
>>
>> This has not been tested at all beyond compile-testing (and I didn't even
>> compile-test radv).
>
>
> I hacked up anv to use it and ran the subgroups tests from the 1.1 CTS.
> This pointed out some bugs which I've now fixed and I sent a v2 which works
> at least for anv.
>
>>
>> Cc: Bas Nieuwenhuizen <bas at basnieuwenhuizen.nl>
>> Cc: Timothy Arceri <tarceri at itsqueeze.com>
>>
>> Jason Ekstrand (2):
>>   nir/subgroups: Add lowering for vote_ieq/vote_feq to a ballot
>>   ac/nir: Use lower_vote_eq_to_ballot instead of ac_nir_lower_subgroups
>>
>>  src/amd/Makefile.sources                     |  1 -
>>  src/amd/common/ac_lower_subgroups.c          | 92
>> ----------------------------
>>  src/amd/common/ac_nir_to_llvm.c              |  3 -
>>  src/amd/common/ac_nir_to_llvm.h              |  2 -
>>  src/amd/common/meson.build                   |  1 -
>>  src/compiler/nir/nir.h                       |  1 +
>>  src/compiler/nir/nir_lower_subgroups.c       | 48 +++++++++++++++
>>  src/gallium/drivers/radeonsi/si_shader_nir.c |  1 +
>>  8 files changed, 50 insertions(+), 99 deletions(-)
>>  delete mode 100644 src/amd/common/ac_lower_subgroups.c
>>
>> --
>> 2.5.0.400.gff86faf
>>
>


More information about the mesa-dev mailing list