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)
committerSamuel Pitoiset <samuel.pitoiset@gmail.com>
Mon, 14 Nov 2022 07:26:37 +0000 (08:26 +0100)
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>

src/amd/vulkan/radv_shader.c

index 6f7b628..59be0a8 100644 (file)
@@ -1034,6 +1034,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,