r300g: if no DS buffer is set, disable reading from and writing to it
It fixes another "Bad CS" issue.
This commit is contained in:
parent
26f67a272b
commit
1a4f242be6
|
@ -121,8 +121,15 @@ void r300_emit_dsa_state(struct r300_context* r300,
|
|||
}*/
|
||||
|
||||
OUT_CS_REG_SEQ(R300_ZB_CNTL, 3);
|
||||
OUT_CS(dsa->z_buffer_control);
|
||||
OUT_CS(dsa->z_stencil_control);
|
||||
|
||||
if (r300->framebuffer_state.zsbuf) {
|
||||
OUT_CS(dsa->z_buffer_control);
|
||||
OUT_CS(dsa->z_stencil_control);
|
||||
} else {
|
||||
OUT_CS(0);
|
||||
OUT_CS(0);
|
||||
}
|
||||
|
||||
OUT_CS(dsa->stencil_ref_mask);
|
||||
OUT_CS_REG(R300_ZB_ZTOP, r300->ztop_state.z_buffer_top);
|
||||
|
||||
|
|
|
@ -522,6 +522,7 @@ static void
|
|||
}
|
||||
r300->dirty_state |= R300_NEW_FRAMEBUFFERS;
|
||||
r300->dirty_state |= R300_NEW_BLEND;
|
||||
r300->dirty_state |= R300_NEW_DSA;
|
||||
}
|
||||
|
||||
/* Create fragment shader state. */
|
||||
|
|
Loading…
Reference in New Issue