diff --git a/src/amd/common/ac_descriptors.c b/src/amd/common/ac_descriptors.c index 2b53b05215a..41a78daa241 100644 --- a/src/amd/common/ac_descriptors.c +++ b/src/amd/common/ac_descriptors.c @@ -1142,8 +1142,10 @@ ac_set_mutable_cb_surface_fields(const struct radeon_info *info, const struct ac cb->cb_color_base |= tile_swizzle; } - if (info->gfx_level >= GFX12) + if (info->gfx_level >= GFX12) { + cb->cb_color_attrib3 |= S_028C7C_COLOR_SW_MODE(surf->u.gfx9.swizzle_mode); return; + } /* Set up DCC. */ if (state->dcc_enabled) { diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 26d76fbfe3b..76f10387966 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -3377,9 +3377,7 @@ static void gfx12_emit_framebuffer_state(struct si_context *sctx, unsigned index gfx12_set_context_reg(R_028C6C_CB_COLOR0_ATTRIB + i * 0x24, cb_surf.cb_color_attrib); gfx12_set_context_reg(R_028C70_CB_COLOR0_FDCC_CONTROL + i * 0x24, cb_surf.cb_dcc_control); gfx12_set_context_reg(R_028C78_CB_COLOR0_ATTRIB2 + i * 0x24, cb_surf.cb_color_attrib2); - gfx12_set_context_reg(R_028C7C_CB_COLOR0_ATTRIB3 + i * 0x24, - cb_surf.cb_color_attrib3 | - S_028C7C_COLOR_SW_MODE(tex->surface.u.gfx9.swizzle_mode)); + gfx12_set_context_reg(R_028C7C_CB_COLOR0_ATTRIB3 + i * 0x24, cb_surf.cb_color_attrib3); gfx12_set_context_reg(R_028E40_CB_COLOR0_BASE_EXT + i * 4, cb_surf.cb_color_base >> 32); gfx12_set_context_reg(R_028EC0_CB_COLOR0_INFO + i * 4, cb_surf.cb_color_info); }