swrast: don't try to do depth testing if there's no depth buffer
authorBrian Paul <brianp@vmware.com>
Thu, 11 Aug 2011 14:52:41 +0000 (08:52 -0600)
committerBrian Paul <brianp@vmware.com>
Thu, 11 Aug 2011 14:53:17 +0000 (08:53 -0600)
Fixes piglit hiz-depth-stencil-test-fbo-d0-s8 crash.
See http://bugs.freedesktop.org/show_bug.cgi?id=37907

NOTE: This is a candidate for the 7.11 branch.

src/mesa/swrast/s_stencil.c

index 5bec71c057ba02384f2f53275e7db3805b66b431..fa5093a34072e53814132f58e3d195d469c6dbf2 100644 (file)
@@ -462,7 +462,8 @@ stencil_and_ztest_span(struct gl_context *ctx, SWspan *span, GLuint face)
     * Some fragments passed the stencil test, apply depth test to them
     * and apply Zpass and Zfail stencil ops.
     */
-   if (ctx->Depth.Test == GL_FALSE) {
+   if (ctx->Depth.Test == GL_FALSE ||
+       ctx->DrawBuffer->_DepthBuffer == NULL) {
       /*
        * No depth buffer, just apply zpass stencil function to active pixels.
        */