From 0c734722a1cc7c2c4ca2621114de2be485b6b6e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sat, 17 Aug 2024 16:41:17 -0400 Subject: [PATCH] radeonsi/gfx11: disable RB+ when blending Reviewed-by: Pierre-Eric Pelloux-Prayer Part-of: --- src/gallium/drivers/radeonsi/si_state.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/gallium/drivers/radeonsi/si_state.c b/src/gallium/drivers/radeonsi/si_state.c index 8121f30fa47..5b086b92d56 100644 --- a/src/gallium/drivers/radeonsi/si_state.c +++ b/src/gallium/drivers/radeonsi/si_state.c @@ -659,7 +659,9 @@ static void *si_create_blend_state_mode(struct pipe_context *ctx, ac_pm4_set_reg(&pm4->base, R_028760_SX_MRT0_BLEND_OPT + i * 4, sx_mrt_blend_opt[i]); /* RB+ doesn't work with dual source blending, logic op, and RESOLVE. */ - if (blend->dual_src_blend || logicop_enable || mode == V_028808_CB_RESOLVE) + if (blend->dual_src_blend || logicop_enable || mode == V_028808_CB_RESOLVE || + /* Disabling RB+ improves blending performance in synthetic tests on GFX11. */ + (sctx->gfx_level == GFX11 && blend->blend_enable_4bit)) color_control |= S_028808_DISABLE_DUAL_QUAD(1); }