radeonsi: disable RB+ blend optimizations for dual source blending
This fixes dual source blending on Stoney. The fix was copied from Vulkan. The problem was discovered during internal testing. Cc: 13.0 <mesa-stable@lists.freedesktop.org> Reviewed-by: Nicolai Hähnle <nicolai.haehnle@amd.com>
This commit is contained in:
parent
ff50c44a5f
commit
5e5573b1bf
|
@ -557,6 +557,17 @@ static void *si_create_blend_state_mode(struct pipe_context *ctx,
|
|||
}
|
||||
|
||||
if (sctx->b.family == CHIP_STONEY) {
|
||||
/* Disable RB+ blend optimizations for dual source blending.
|
||||
* Vulkan does this.
|
||||
*/
|
||||
if (blend->dual_src_blend) {
|
||||
for (int i = 0; i < 8; i++) {
|
||||
sx_mrt_blend_opt[i] =
|
||||
S_028760_COLOR_COMB_FCN(V_028760_OPT_COMB_NONE) |
|
||||
S_028760_ALPHA_COMB_FCN(V_028760_OPT_COMB_NONE);
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
si_pm4_set_reg(pm4, R_028760_SX_MRT0_BLEND_OPT + i * 4,
|
||||
sx_mrt_blend_opt[i]);
|
||||
|
|
Loading…
Reference in New Issue