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);