[Mesa-dev] [PATCH 02/23] swrast: remove MAX_WIDTH arrays in s_depth.c

Brian Paul brian.e.paul at gmail.com
Mon Feb 20 12:14:50 PST 2012


From: Brian Paul <brianp at vmware.com>

---
 src/mesa/swrast/s_depth.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/src/mesa/swrast/s_depth.c b/src/mesa/swrast/s_depth.c
index c903882..26126a9 100644
--- a/src/mesa/swrast/s_depth.c
+++ b/src/mesa/swrast/s_depth.c
@@ -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;
 }
 
-- 
1.7.3.4



More information about the mesa-dev mailing list