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:

committed by
Corbin Simpson

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. */
|
||||
|
Reference in New Issue
Block a user