Daniel Stone <[email protected]> (31/12/2010): > v2: Took Keith's advice and changed memcpy to memmove, as well as the DMX > glxproxy equivalent; turns out every single user was doing overlapping > memcpys. -daniels
yeah, nasty… > diff --git a/glx/unpack.h b/glx/unpack.h > index a4e6d7e..738e79d 100644 > --- a/glx/unpack.h > +++ b/glx/unpack.h > @@ -47,7 +47,7 @@ > ** Fetch a double from potentially unaligned memory. > */ > #ifdef __GLX_ALIGN64 > -#define __GLX_MEM_COPY(dst,src,n) if (src != NULL && dst != NULL) > memcpy(dst,src,n) > +#define __GLX_MEM_COPY(dst,src,n) memmove(dst,src,n) > #define __GLX_GET_DOUBLE(dst,src) __GLX_MEM_COPY(&dst,src,8) > #else > #define __GLX_GET_DOUBLE(dst,src) (dst) = *((GLdouble*)(src)) > diff --git a/hw/dmx/glxProxy/unpack.h b/hw/dmx/glxProxy/unpack.h > index f34b6fd..f4a9572 100644 > --- a/hw/dmx/glxProxy/unpack.h > +++ b/hw/dmx/glxProxy/unpack.h > @@ -43,7 +43,7 @@ > ** Fetch a double from potentially unaligned memory. > */ > #ifdef __GLX_ALIGN64 > -#define __GLX_MEM_COPY(dst,src,n) memcpy(dst,src,n) > +#define __GLX_MEM_COPY(dst,src,n) memmove(dst,src,n) > #define __GLX_GET_DOUBLE(dst,src) __GLX_MEM_COPY(&dst,src,8) > #else > #define __GLX_GET_DOUBLE(dst,src) (dst) = *((GLdouble*)(src)) Reviewed-by: Cyril Brulebois <[email protected]> KiBi.
signature.asc
Description: Digital signature
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
