[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