Module: Mesa
Branch: main
Commit: c1ef6037fd29dd3f75caa3f5031db03fd08e0e0f
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=c1ef6037fd29dd3f75caa3f5031db03fd08e0e0f

Author: Daniel Schürmann <dan...@schuermann.dev>
Date:   Mon Dec 11 12:06:04 2023 +0100

nir/gather_info: fix enumeration of wide subgroup intrinsics

nir_intrinsic_ballot_* are no subgroup operations.
nir_intrinsic_rotate was missing.
nir_intrinsic_mbcnt_amd is not a subgroup operation.
nir_intrinsic_writelane_amd only affects a single invocation.

Reviewed-by: Georg Lehmann <dadschoo...@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18249>

---

 src/compiler/nir/nir_gather_info.c | 9 +--------
 1 file changed, 1 insertion(+), 8 deletions(-)

diff --git a/src/compiler/nir/nir_gather_info.c 
b/src/compiler/nir/nir_gather_info.c
index 58d3cda4270..7796891e216 100644
--- a/src/compiler/nir/nir_gather_info.c
+++ b/src/compiler/nir/nir_gather_info.c
@@ -750,12 +750,6 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, 
nir_shader *shader,
    case nir_intrinsic_vote_feq:
    case nir_intrinsic_vote_ieq:
    case nir_intrinsic_ballot:
-   case nir_intrinsic_ballot_bit_count_exclusive:
-   case nir_intrinsic_ballot_bit_count_inclusive:
-   case nir_intrinsic_ballot_bitfield_extract:
-   case nir_intrinsic_ballot_bit_count_reduce:
-   case nir_intrinsic_ballot_find_lsb:
-   case nir_intrinsic_ballot_find_msb:
    case nir_intrinsic_first_invocation:
    case nir_intrinsic_last_invocation:
    case nir_intrinsic_read_invocation:
@@ -768,9 +762,8 @@ gather_intrinsic_info(nir_intrinsic_instr *instr, 
nir_shader *shader,
    case nir_intrinsic_shuffle_xor:
    case nir_intrinsic_shuffle_up:
    case nir_intrinsic_shuffle_down:
+   case nir_intrinsic_rotate:
    case nir_intrinsic_masked_swizzle_amd:
-   case nir_intrinsic_mbcnt_amd:
-   case nir_intrinsic_write_invocation_amd:
       shader->info.uses_wide_subgroup_intrinsics = true;
 
       if (shader->info.stage == MESA_SHADER_FRAGMENT &&

Reply via email to