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