From 49d1eae7c14f19cdd32a689e6180d5182ddde51c Mon Sep 17 00:00:00 2001 From: Samuel Pitoiset Date: Tue, 29 Nov 2022 08:59:23 +0100 Subject: [PATCH] radv: set missing SPI_SHADER_PGM_xxx registers on GFX11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Found by inspection. Cc: 22.3 mesa-stable Signed-off-by: Samuel Pitoiset Reviewed-by: Timur Kristóf Reviewed-by: Bas Nieuwenhuizen Part-of: (cherry picked from commit 62715a6d039a7f2499ceca78476ebd42a5a03068) --- .pick_status.json | 2 +- src/amd/vulkan/si_cmd_buffer.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index 08cf1f74bd6..ecd2299677c 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -148,7 +148,7 @@ "description": "radv: set missing SPI_SHADER_PGM_xxx registers on GFX11", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null }, diff --git a/src/amd/vulkan/si_cmd_buffer.c b/src/amd/vulkan/si_cmd_buffer.c index 2589c83df3b..047e814452e 100644 --- a/src/amd/vulkan/si_cmd_buffer.c +++ b/src/amd/vulkan/si_cmd_buffer.c @@ -352,12 +352,15 @@ si_emit_graphics(struct radv_device *device, struct radeon_cmdbuf *cs) if (physical_device->rad_info.gfx_level >= GFX10 && physical_device->rad_info.gfx_level < GFX11) { /* Logical CUs 16 - 31 */ - ac_set_reg_cu_en(cs, R_00B404_SPI_SHADER_PGM_RSRC4_HS, S_00B404_CU_EN(0xffff), - C_00B404_CU_EN, 16, &physical_device->rad_info, - (void*)gfx10_set_sh_reg_idx3); ac_set_reg_cu_en(cs, R_00B104_SPI_SHADER_PGM_RSRC4_VS, S_00B104_CU_EN(0xffff), C_00B104_CU_EN, 16, &physical_device->rad_info, (void*)gfx10_set_sh_reg_idx3); + } + + if (physical_device->rad_info.gfx_level >= GFX10) { + ac_set_reg_cu_en(cs, R_00B404_SPI_SHADER_PGM_RSRC4_HS, S_00B404_CU_EN(0xffff), + C_00B404_CU_EN, 16, &physical_device->rad_info, + (void*)gfx10_set_sh_reg_idx3); ac_set_reg_cu_en(cs, R_00B004_SPI_SHADER_PGM_RSRC4_PS, S_00B004_CU_EN(cu_mask_ps >> 16), C_00B004_CU_EN, 16, &physical_device->rad_info, (void*)gfx10_set_sh_reg_idx3);