<br><br><div class="gmail_quote">On Mon, Mar 11, 2013 at 9:56 AM, Jose Fonseca <span dir="ltr"><<a href="mailto:jfonseca@vmware.com" target="_blank">jfonseca@vmware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm surprised this is is faster.<br>
<br>
In particular, for big things we'll be touching memory twice.<br>
<br>
Did you measure the speed up?<br>
<br>
Jose<br></blockquote><div><br></div><div>I'm sorry to be dull, but is there a SSE2 implementation of this somewhere for x86 / x64 CPUs?</div><div><br></div><div>Patrick</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br>
----- Original Message -----<br>
> ---<br>
>  src/mesa/main/readpix.c | 5 +++--<br>
>  1 file changed, 3 insertions(+), 2 deletions(-)<br>
><br>
> diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c<br>
> index 349b0bc..0f5c84c 100644<br>
> --- a/src/mesa/main/readpix.c<br>
> +++ b/src/mesa/main/readpix.c<br>
> @@ -285,11 +285,12 @@ fast_read_rgba_pixels_memcpy( struct gl_context *ctx,<br>
>        }<br>
>     } else if (copy_xrgb) {<br>
>        /* convert xrgb -> argb */<br>
> +      int alphaOffset = texelBytes - 1;<br>
>        for (j = 0; j < height; j++) {<br>
> -         GLuint *dst4 = (GLuint *) dst, *map4 = (GLuint *) map;<br>
> +         memcpy(dst, map, width * texelBytes);<br>
>           int i;<br>
>           for (i = 0; i < width; i++) {<br>
> -            dst4[i] = map4[i] | 0xff000000;  /* set A=0xff */<br>
> +            dst[i * texelBytes + alphaOffset] = 0xff;  /* set A=0xff */<br>
>           }<br>
>           dst += dstStride;<br>
>           map += stride;<br>
> --<br>
> 1.8.1.5<br>
><br>
> _______________________________________________<br>
> mesa-dev mailing list<br>
> <a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
><br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</blockquote></div><br>