From d7bc370b9e94b5bd466ac87cad1d49fffee2c549 Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Mon, 6 Jan 2025 13:57:09 -0800 Subject: [PATCH] radv: configure the VRS surface swizzle mode on GFX12 GFX11 allowed only one swizzle mode for the VRS image but GFX12 allows all 2D non-linear swizzle modes and PC_SC_VRS_INFO needs to be configured. Signed-off-by: Samuel Pitoiset Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index ae8a78aa43c..46ecd27a0f3 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -4616,6 +4616,11 @@ radv_emit_framebuffer_state(struct radv_cmd_buffer *cmd_buffer) xmax = vrs_iview->vk.extent.width - 1; ymax = vrs_iview->vk.extent.height - 1; + + if (pdev->info.gfx_level >= GFX12) { + radeon_set_context_reg(cmd_buffer->cs, R_0283E0_PA_SC_VRS_INFO, + S_0283E0_RATE_SW_MODE(vrs_image->planes[0].surface.u.gfx9.swizzle_mode)); + } } radeon_set_context_reg_seq(cmd_buffer->cs, R_0283F0_PA_SC_VRS_RATE_BASE, 3);