The data in u_format.csv was migrated from p_format which was full of
inconsistencies. I've fixed some of these but there are others which I
haven't. Read the "pipe_format lookup table" thread of mesa3d-dev if you
want to know the background.

I'll add more documentation to u_format.h. The gist is source channels
come in a vector ordered from least significant bit -> highest
significant bit. 

Jose

On Mon, 2009-12-21 at 23:40 -0800, Marek Olšák wrote:
> Hi,
> 
> I noticed that gallium/auxiliary/util/u_format.csv contains some weird
> swizzling, for example see this:
> 
> $ grep zyxw u_format.csv
> PIPE_FORMAT_A8R8G8B8_UNORM        , arith , 1, 1, un8 , un8 , un8 ,
> un8 , zyxw, rgb
> PIPE_FORMAT_A1R5G5B5_UNORM        , arith , 1, 1, un5 , un5 , un5 ,
> un1 , zyxw, rgb
> PIPE_FORMAT_A4R4G4B4_UNORM        , arith , 1, 1, un4 , un4 , un4 ,
> un4 , zyxw, rgb
> PIPE_FORMAT_A8B8G8R8_SNORM        , arith , 1, 1, sn8 , sn8 , sn8 ,
> sn8 , zyxw, rgb
> PIPE_FORMAT_B8G8R8A8_SRGB         , arith , 1, 1, u8  , u8  , u8  ,
> u8  , zyxw, srgb
> 
> It's hard to believe that ARGB, ABGR, and BGRA have the same
> swizzling. Let's continue our journey:
> 
> $ grep A8R8G8B8 u_format.csv
> PIPE_FORMAT_A8R8G8B8_UNORM        , arith , 1, 1, un8 , un8 , un8 ,
> un8 , zyxw, rgb
> PIPE_FORMAT_A8R8G8B8_SRGB         , arith , 1, 1, u8  , u8  , u8  ,
> u8  , wxyz, srgb
> 
> Same formats, different swizzling? Also:
> 
> $ grep B8G8R8A8 u_format.csv
> PIPE_FORMAT_B8G8R8A8_UNORM        , arith , 1, 1, un8 , un8 , un8 ,
> un8 , yzwx, rgb
> PIPE_FORMAT_B8G8R8A8_SRGB         , arith , 1, 1, u8  , u8  , u8  ,
> u8  , zyxw, srgb
> 
> Same formats, different swizzling? I don't really get it. And there's
> much more cases like these. Could someone tell me what the intended
> order of channels should be? (or possibly propose a fix) The meaning
> of the whole table is self-contradictory and it's definitely the
> source of some r300g bugs.
> 
> Marek



------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to