radv: only emit CB_COLOR0_DCC_CONTROL on GFX8

This register doesn't exist on GFX6-7 (no DCC at all).

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29545>
This commit is contained in:
Samuel Pitoiset
2024-06-05 09:41:18 +02:00
parent 07b0096011
commit 57d0d63d01

View File

@@ -3969,14 +3969,18 @@ radv_emit_fb_color_state(struct radv_cmd_buffer *cmd_buffer, int index, struct r
radeon_set_context_reg(cmd_buffer->cs, R_0287A0_CB_MRT0_EPITCH + index * 4, cb->ac.cb_mrt_epitch);
} else {
radeon_set_context_reg_seq(cmd_buffer->cs, R_028C60_CB_COLOR0_BASE + index * 0x3c, 11);
radeon_set_context_reg_seq(cmd_buffer->cs, R_028C60_CB_COLOR0_BASE + index * 0x3c, 6);
radeon_emit(cmd_buffer->cs, cb->ac.cb_color_base);
radeon_emit(cmd_buffer->cs, cb->ac.cb_color_pitch);
radeon_emit(cmd_buffer->cs, cb->ac.cb_color_slice);
radeon_emit(cmd_buffer->cs, cb->ac.cb_color_view);
radeon_emit(cmd_buffer->cs, cb_color_info);
radeon_emit(cmd_buffer->cs, cb->ac.cb_color_attrib);
radeon_emit(cmd_buffer->cs, cb->ac.cb_dcc_control);
if (pdev->info.gfx_level == GFX8)
radeon_set_context_reg(cmd_buffer->cs, R_028C78_CB_COLOR0_DCC_CONTROL + index * 0x3c, cb->ac.cb_dcc_control);
radeon_set_context_reg_seq(cmd_buffer->cs, R_028C7C_CB_COLOR0_CMASK + index * 0x3c, 4);
radeon_emit(cmd_buffer->cs, cb->ac.cb_color_cmask);
radeon_emit(cmd_buffer->cs, cb->ac.cb_color_cmask_slice);
radeon_emit(cmd_buffer->cs, cb->ac.cb_color_fmask);