swrast: remove MAX_WIDTH arrays in s_depth.c
authorBrian Paul <brianp@vmware.com>
Mon, 20 Feb 2012 03:08:52 +0000 (20:08 -0700)
committerBrian Paul <brianp@vmware.com>
Fri, 24 Feb 2012 15:03:03 +0000 (08:03 -0700)
src/mesa/swrast/s_depth.c

index c903882..26126a9 100644 (file)
@@ -419,9 +419,15 @@ _swrast_depth_bounds_test( struct gl_context *ctx, SWspan *span )
    const GLuint count = span->end;
    GLuint i;
    GLboolean anyPass = GL_FALSE;
-   GLuint zBufferTemp[MAX_WIDTH];
+   GLuint *zBufferTemp;
    const GLuint *zBufferVals;
 
+   zBufferTemp = (GLuint *) malloc(count * sizeof(GLuint));
+   if (!zBufferTemp) {
+      /* don't generate a stream of OUT_OF_MEMORY errors here */
+      return GL_FALSE;
+   }
+
    if (span->arrayMask & SPAN_XY)
       zStart = NULL;
    else
@@ -453,6 +459,8 @@ _swrast_depth_bounds_test( struct gl_context *ctx, SWspan *span )
       }
    }
 
+   free(zBufferTemp);
+
    return anyPass;
 }