mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 03:48:06 +02:00
r300g: if no colorbuffers are set, disable blending and set the color mask to 0
This seems to be the only way to disable the first colorbuffer.
This commit is contained in:
parent
cf85bf9cd0
commit
a6d701d1c6
2 changed files with 11 additions and 3 deletions
|
|
@ -41,9 +41,16 @@ void r300_emit_blend_state(struct r300_context* r300,
|
|||
CS_LOCALS(r300);
|
||||
BEGIN_CS(8);
|
||||
OUT_CS_REG_SEQ(R300_RB3D_CBLEND, 3);
|
||||
OUT_CS(blend->blend_control);
|
||||
OUT_CS(blend->alpha_blend_control);
|
||||
OUT_CS(blend->color_channel_mask);
|
||||
if (r300->framebuffer_state.nr_cbufs) {
|
||||
OUT_CS(blend->blend_control);
|
||||
OUT_CS(blend->alpha_blend_control);
|
||||
OUT_CS(blend->color_channel_mask);
|
||||
} else {
|
||||
OUT_CS(0);
|
||||
OUT_CS(0);
|
||||
OUT_CS(0);
|
||||
/* XXX also disable fastfill here once it's supported */
|
||||
}
|
||||
OUT_CS_REG(R300_RB3D_ROPCNTL, blend->rop);
|
||||
OUT_CS_REG(R300_RB3D_DITHER_CTL, blend->dither);
|
||||
END_CS;
|
||||
|
|
|
|||
|
|
@ -339,6 +339,7 @@ static void
|
|||
r300->dirty_state |= R300_NEW_SCISSOR;
|
||||
}
|
||||
r300->dirty_state |= R300_NEW_FRAMEBUFFERS;
|
||||
r300->dirty_state |= R300_NEW_BLEND;
|
||||
}
|
||||
|
||||
/* Create fragment shader state. */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue