radv: tidy up radv_emit_db_shader_control()

To separate packet construction and emission.

Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34357>
This commit is contained in:
Samuel Pitoiset 2025-04-03 09:46:10 +02:00 committed by Marge Bot
parent 4bc6335e3c
commit 9dec80d8cf

View file

@ -10785,18 +10785,18 @@ radv_emit_db_shader_control(struct radv_cmd_buffer *cmd_buffer)
}
}
/* Use the alpha value from MRTZ.a for alpha-to-coverage when alpha-to-one is also enabled.
* GFX11+ selects MRTZ.a by default if present.
*/
db_shader_control |= S_02880C_COVERAGE_TO_MASK_ENABLE(
pdev->info.gfx_level < GFX11 && d->vk.ms.alpha_to_coverage_enable && d->vk.ms.alpha_to_one_enable);
radeon_begin(cmd_buffer->cs);
if (pdev->info.gfx_level >= GFX12) {
radeon_opt_set_context_reg(cmd_buffer, R_02806C_DB_SHADER_CONTROL, RADV_TRACKED_DB_SHADER_CONTROL,
db_shader_control);
} else {
/* Use the alpha value from MRTZ.a for alpha-to-coverage when alpha-to-one is also enabled.
* GFX11+ selects MRTZ.a by default if present.
*/
db_shader_control |= S_02880C_COVERAGE_TO_MASK_ENABLE(
pdev->info.gfx_level < GFX11 && d->vk.ms.alpha_to_coverage_enable && d->vk.ms.alpha_to_one_enable);
radeon_opt_set_context_reg(cmd_buffer, R_02880C_DB_SHADER_CONTROL, RADV_TRACKED_DB_SHADER_CONTROL,
db_shader_control);