radv: enable lowering of subgroup shuffle in NIR on GFX11+
authorSamuel Pitoiset <samuel.pitoiset@gmail.com>
Thu, 10 Nov 2022 06:56:16 +0000 (06:56 +0000)
committerEric Engestrom <eric@engestrom.ch>
Thu, 17 Nov 2022 14:05:03 +0000 (14:05 +0000)
VGPR allocation changed on GFX11 and this might have changed how
shared VGPRs work, so it's probably more secure to lower in NIR.

Cc: 22.3 mesa-stable
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Timur Kristóf <timur.kristof@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19679>
(cherry picked from commit d255bc8f05dd5f85f7154b0a3d7aaf381b47c199)

.pick_status.json
src/amd/vulkan/radv_shader.c

index 44bb0d2..e86f91e 100644 (file)
         "description": "radv: enable lowering of subgroup shuffle in NIR on GFX11+",
         "nominated": true,
         "nomination_type": 0,
-        "resolution": 0,
+        "resolution": 1,
         "main_sha": null,
         "because_sha": null
     },
index 04e3714..8a144d3 100644 (file)
@@ -1023,6 +1023,8 @@ radv_shader_spirv_to_nir(struct radv_device *device, const struct radv_pipeline_
                .lower_subgroup_masks = 1,
                .lower_relative_shuffle = 1,
                .lower_shuffle_to_32bit = 1,
+               /* TODO: Verify shared VGPRs on GFX11. */
+               .lower_shuffle = device->physical_device->rad_info.gfx_level >= GFX11,
                .lower_vote_eq = 1,
                .lower_quad_broadcast_dynamic = 1,
                .lower_quad_broadcast_dynamic_to_const = gfx7minus,