On Mon, Mar 11, 2013 at 3:56 PM, Jose Fonseca <jfons...@vmware.com> wrote: > I'm surprised this is is faster. > > In particular, for big things we'll be touching memory twice. > > Did you measure the speed up?
I tested it with the previous patch, with GL_UNSIGNED_BYTE, and on that case it was faster, but since that patch was incorrect (I did not take endianness into account) this patch can also probably be discarded. > > Jose > > ----- Original Message ----- >> --- >> src/mesa/main/readpix.c | 5 +++-- >> 1 file changed, 3 insertions(+), 2 deletions(-) >> >> diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c >> index 349b0bc..0f5c84c 100644 >> --- a/src/mesa/main/readpix.c >> +++ b/src/mesa/main/readpix.c >> @@ -285,11 +285,12 @@ fast_read_rgba_pixels_memcpy( struct gl_context *ctx, >> } >> } else if (copy_xrgb) { >> /* convert xrgb -> argb */ >> + int alphaOffset = texelBytes - 1; >> for (j = 0; j < height; j++) { >> - GLuint *dst4 = (GLuint *) dst, *map4 = (GLuint *) map; >> + memcpy(dst, map, width * texelBytes); >> int i; >> for (i = 0; i < width; i++) { >> - dst4[i] = map4[i] | 0xff000000; /* set A=0xff */ >> + dst[i * texelBytes + alphaOffset] = 0xff; /* set A=0xff */ >> } >> dst += dstStride; >> map += stride; >> -- >> 1.8.1.5 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev >> _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev