softpipe: make z/s test always pass if no zsbuf, instead of crashing
D3D10 specifies this.
This commit is contained in:
parent
6d0b695fa7
commit
2e7d1c2c86
|
@ -695,8 +695,9 @@ depth_test_quads_fallback(struct quad_stage *qs,
|
|||
nr = alpha_test_quads(qs, quads, nr);
|
||||
}
|
||||
|
||||
if (qs->softpipe->depth_stencil->depth.enabled ||
|
||||
qs->softpipe->depth_stencil->stencil[0].enabled) {
|
||||
if (qs->softpipe->framebuffer.zsbuf &&
|
||||
(qs->softpipe->depth_stencil->depth.enabled ||
|
||||
qs->softpipe->depth_stencil->stencil[0].enabled)) {
|
||||
|
||||
data.ps = qs->softpipe->framebuffer.zsbuf;
|
||||
data.format = data.ps->format;
|
||||
|
@ -805,6 +806,9 @@ choose_depth_test(struct quad_stage *qs,
|
|||
|
||||
boolean occlusion = qs->softpipe->active_query_count;
|
||||
|
||||
if(!qs->softpipe->framebuffer.zsbuf)
|
||||
depth = depthwrite = stencil = FALSE;
|
||||
|
||||
/* default */
|
||||
qs->run = depth_test_quads_fallback;
|
||||
|
||||
|
|
Loading…
Reference in New Issue