tom fogal schrieb:
> Christoph Bumiller <[email protected]> writes:
>   
>> Hi. Now that there's util_bitcount in u_math, I'd like to have a
>> bswap helper as well,
>> I need to swap the stipple pattern on nv50. Any objections ?
>>     
> [snip]
>   
>>  src/gallium/auxiliary/util/u_math.h |   17 +++++++++++++++++
>>  1 files changed, 17 insertions(+), 0 deletions(-)
>>     
> [snip]
>   
>> + * Reverse byte order of a 32 bit word.
>> + */
>> +static INLINE uint32_t
>> +util_bswap32(uint32_t n)
>> +{
>> +#if defined(PIPE_CC_GCC)
>> +   return __builtin_bswap32(n);
>> +#else
>> +   return (n >> 24) |
>> +          ((n >> 8) & 0x0000ff00) |
>> +          ((n << 8) & 0x00ff0000) |
>> +          (n << 24);
>>     
>
> Is there a reason you can't just use CPU_TO_LE32 from
> src/mesa/main/compiler.h?
>
> Of course, 1) that's only if you need your data in little endian
> format, and 2) it's based on a compile-time test, w/ a big warning
> about that at the definition.  So you might prefer to avoid using it
>   
My application for the bswap32 doesn't really have to do with endianness,
the polygon stipple pattern just happens to have a width of 32 bits, and for
reasons unknown to me that *bitmap* is unconditionally shuffled "to handle
endian differences" in mesa/main/image.c, and I need to undo that for the
hardware.

So I admit this util function might not see much use, and I could just
inline it
in this case (as is done in _mesa_unpack_polygon_stipple) if you prefer, but
it (looks) nicer with util_bswap32 in my opinion.
> directly.  If nothing else though, it'd be good if bswap32 was defined
> once and utilized in both places.
>
> -tom
>   
Both places ? What do you mean exactly ?

Thanks for the replies, Christoph

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to