radeonsi/gfx11: disable RB+ when blending

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31168>
This commit is contained in:
Marek Olšák 2024-08-17 16:41:17 -04:00
parent 3de719045a
commit 0c734722a1

View file

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