OSDN Git Service

mesa: remove incorrect (float) cast in mipmap do_row()
authorBrian Paul <brianp@vmware.com>
Thu, 12 Jan 2012 16:55:40 +0000 (09:55 -0700)
committerBrian Paul <brianp@vmware.com>
Fri, 13 Jan 2012 17:15:07 +0000 (10:15 -0700)
The array holds GLuint values so remove the float cast.
Note, however, that to compute the average of four GLuints we really
want to do (a+b+c+d)/4 but that could overflow.  This change doesn't
address that for now.

NOTE: This is a candidate for the 8.0 branch.

Reviewed-by: José Fonseca <jfonseca@vmware.com>
(cherry picked from commit 003dd8adf39c964d8c7beb86955a61ceb3706ebc)

src/mesa/main/mipmap.c

index 867506c..03ce536 100644 (file)
@@ -476,7 +476,7 @@ do_row(GLenum datatype, GLuint comps, GLint srcWidth,
       GLuint *dst = (GLuint *) dstRow;
       for (i = j = 0, k = k0; i < (GLuint) dstWidth;
            i++, j += colStride, k += colStride) {
-         dst[i] = (GLfloat)(rowA[j] / 4 + rowA[k] / 4 + rowB[j] / 4 + rowB[k] / 4);
+         dst[i] = rowA[j] / 4 + rowA[k] / 4 + rowB[j] / 4 + rowB[k] / 4;
       }
    }