softpipe: Skip depth testing for PIPE_S8_UNORM.
authorJosé Fonseca <jfonseca@vmware.com>
Tue, 19 Jan 2010 03:33:13 +0000 (19:33 -0800)
committerJosé Fonseca <jfonseca@vmware.com>
Tue, 19 Jan 2010 04:34:19 +0000 (20:34 -0800)
src/gallium/drivers/softpipe/sp_quad_depth_test.c

index 0ca86c4e1cbb1a2e93e82c70132df62443a565d5..03f569d466089e43424a26380cbbc3f6c6ec000a 100644 (file)
@@ -667,6 +667,7 @@ depth_test_quads_fallback(struct quad_stage *qs,
    }
 
    if (qs->softpipe->framebuffer.zsbuf && 
+       pf_get_component_bits(qs->softpipe->framebuffer.zsbuf->format, PIPE_FORMAT_COMP_Z) &&
        (qs->softpipe->depth_stencil->depth.enabled ||
         qs->softpipe->depth_stencil->stencil[0].enabled)) {
 
@@ -885,6 +886,7 @@ choose_depth_test(struct quad_stage *qs,
    boolean alpha = qs->softpipe->depth_stencil->alpha.enabled;
 
    boolean depth = (qs->softpipe->framebuffer.zsbuf && 
+                    pf_get_component_bits(qs->softpipe->framebuffer.zsbuf->format, PIPE_FORMAT_COMP_Z) &&
                     qs->softpipe->depth_stencil->depth.enabled);
 
    unsigned depthfunc = qs->softpipe->depth_stencil->depth.func;
@@ -895,7 +897,6 @@ choose_depth_test(struct quad_stage *qs,
 
    boolean occlusion = qs->softpipe->active_query_count;
 
-
    if (!alpha &&
        !depth &&
        !stencil) {