tdfxDDWriteDepthPixels can be called with mask == NULL.
authorIan Romanick <idr@us.ibm.com>
Mon, 13 Nov 2006 22:51:11 +0000 (22:51 +0000)
committerIan Romanick <idr@us.ibm.com>
Mon, 13 Nov 2006 22:51:11 +0000 (22:51 +0000)
Via depth_test_pixels (swrast/s_depth.c), tdfxDDWriteDepthPixels can
be called with mask == NULL.  Test for this condition in the places
where mask might be dereference.  This matches the behavior of several
other functions in this file with a 'const GLubyte mask[]' parameter.

src/mesa/drivers/dri/tdfx/tdfx_span.c

index ce895f8254281161ef87604510e23deb228977d1..ee5eb459bee8c72effcf78124e709a30635aedca 100644 (file)
@@ -976,7 +976,7 @@ tdfxDDWriteDepthPixels(GLcontext * ctx, struct gl_renderbuffer *rb,
         GetFbParams(fxMesa, &info, &backBufferInfo,
                     &ReadParams, sizeof(GLushort));
         for (i = 0; i < n; i++) {
-           if (mask[i] && visible_pixel(fxMesa, x[i], y[i])) {
+           if ((!mask || mask[i]) && visible_pixel(fxMesa, x[i], y[i])) {
               xpos = x[i] + fxMesa->x_offset;
               ypos = bottom - y[i];
               d16 = depth[i];
@@ -1000,7 +1000,7 @@ tdfxDDWriteDepthPixels(GLcontext * ctx, struct gl_renderbuffer *rb,
         GetFbParams(fxMesa, &info, &backBufferInfo,
                     &ReadParams, sizeof(GLuint));
         for (i = 0; i < n; i++) {
-           if (mask[i]) {
+           if (!mask || mask[i]) {
               if (visible_pixel(fxMesa, x[i], y[i])) {
                  xpos = x[i] + fxMesa->x_offset;
                  ypos = bottom - y[i];