mesa: fix incorrect float vs. int values in a few places
authorBrian Paul <brianp@vmware.com>
Thu, 12 Jan 2012 16:51:21 +0000 (09:51 -0700)
committerBrian Paul <brianp@vmware.com>
Thu, 12 Jan 2012 20:02:19 +0000 (13:02 -0700)
In the first case, the newImage[] array contains GLuint values.
In the second case, the parameter type is GLuint, but the maxDepth
value is never used in this case (GL_FLOAT_32_UNSIGNED_INT_24_8_REV).
Pass ~OU just to be safe.

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
src/mesa/main/texstore.c

index 512965fc3aedee719f18d0f666223338453bcd79..a9c64cedee90daa7825f54f54ab975340602c877 100644 (file)
@@ -515,9 +515,9 @@ make_temp_uint_image(struct gl_context *ctx, GLuint dims,
          for (k = 0; k < texComponents; k++) {
             GLint j = map[k];
             if (j == ZERO)
-               newImage[i * texComponents + k] = 0.0F;
+               newImage[i * texComponents + k] = 0;
             else if (j == ONE)
-               newImage[i * texComponents + k] = 1.0F;
+               newImage[i * texComponents + k] = 1;
             else
                newImage[i * texComponents + k] = tempImage[i * logComponents + j];
          }
@@ -4094,7 +4094,7 @@ _mesa_texstore_z32f_x24s8(TEXSTORE_PARAMS)
                _mesa_unpack_depth_span(ctx, srcWidth,
                                        GL_FLOAT_32_UNSIGNED_INT_24_8_REV, /* dst type */
                                        dstRow, /* dst addr */
-                                       1.0f, srcType, src, srcPacking);
+                                       ~0U, srcType, src, srcPacking);
 
             if (srcFormat != GL_DEPTH_COMPONENT)
                _mesa_unpack_stencil_span(ctx, srcWidth,