[Mesa-dev] [PATCH] util: Add util_memcpy_cpu_to_le32() v3

Michel Dänzer michel at daenzer.net
Tue Jul 22 02:26:08 PDT 2014


On 19.07.2014 04:55, Tom Stellard wrote:
> v2:
>   - Preserve word boundaries.
> 
> v3:
>   - Use const and restrict.
>   - Fix indentation.
> ---
>  src/gallium/auxiliary/util/u_math.h | 17 +++++++++++++++++
>  1 file changed, 17 insertions(+)
> 
> diff --git a/src/gallium/auxiliary/util/u_math.h b/src/gallium/auxiliary/util/u_math.h
> index b9ed197..f6dcb22 100644
> --- a/src/gallium/auxiliary/util/u_math.h
> +++ b/src/gallium/auxiliary/util/u_math.h
> @@ -812,6 +812,23 @@ util_bswap16(uint16_t n)
>            (n << 8);
>  }
>  
> +static INLINE void*
> +util_memcpy_cpu_to_le32(void * restrict dest, const void * restrict src, size_t n)
> +{
> +#ifdef PIPE_ARCH_BIG_ENDIAN
> +   size_t i, e;
> +   asset(n % 4 == 0);
> +
> +   for (i = 0, e = n / 4; i < e; i++) {
> +      uint32_t * restrict d = (uint32_t* restrict)dest;
> +      const uint32_t * restrict s = (const uint32_t* restrict)src;
> +      d[i] = util_bswap32(s[i]);
> +   }
> +   return dest;
> +#else
> +   return memcpy(dest, src, n);
> +#endif
> +}

Reviewed-by: Michel Dänzer <michel.daenzer at amd.com>


-- 
Earthling Michel Dänzer            |                  http://www.amd.com
Libre software enthusiast          |                Mesa and X developer


More information about the mesa-dev mailing list