Brian Paul wrote:
> Keith Whitwell wrote:
>> Michel Dänzer wrote:
>>
>>> On Thu, 2006-09-21 at 16:29 +0100, Keith Whitwell wrote:> > OK, that's 
>>> kooky.  I guess I haven't got a handle on the problem yet for > bigEndian, 
>>> it may be that there's another conversion needed on the back end.
>>> It could also be that there's now a mismatch between this code and 
>>> thedriver...
>>
>> There should be no net change as a result of this work, so there 
>> shouldn't be any need to change the driver.   That's how it's worked on 
>> littleEndian, anyway.
>>
>> I found one obvious bug which I'll commit, but I'm thinking I'll have to 
>> disable this path on bigEndian until someone can explain to me:
>>
>> 1) How bigEndian affects how we interpret source data relative to its 
>> format and type.
> 
> Tables 3.9-3.11 of the GL spec show how the components in a packed 
> type are layed out.  That should be unambiguous.
> 
> 
>> 2) How bigEndian affects how we layout hardware texture formats.
>>
>> It doesn't help that the mesa texture format structs don't really 
>> specify the format -- they give a few details but they don't tie the 
>> structure down so it means you have to peer into the implementations of 
>> the fetch and store functions, or guess from the name to figure out what 
>> it really means.
> 
> The comments/table in texformat.h shows how components are layed out 
> assuming that texels are treated as words (i.e. a 32-bit texel has 4 
> components).  Do we need more than that?
> 
> 
>> Hence you end up with things like "rgb" and "rgb888" having apparently 
>> different component ordering, for instance.
> 
> In that particular case, 'rgb888' always has 8-bit components packed 
> in a particular order while the 'rgb' format may have 8, 16 or 32-bit 
> components depending on how Mesa's compiled.  Furthermore, the 
> non-packed formats like MESA_TEXFORMAT_RGB and 
> MESA_TEXFORMAT_LUMINANCE_ALPHA are never treated as packed types but 
> as arrays of components.

Yes, I guess that's what confused me.  I sounded like I was having a 
strop, but basically I can't visualize what should be happening 
differently on a bigEndian machine without access to one to try stuff 
and see, so for now I'm going to have to punt on those architectures.

Ketih


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Mesa3d-dev mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to