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
