On Sun, May 2, 2010 at 7:30 PM, Jose Fonseca <jfons...@vmware.com> wrote: > I read the extension and it is not crystal clear, but it seems to imply the > swizzles are orthogonal to the format, and applied as the very last step > before being used in a shader. That is, the semantics are the same of adding > a swizzle instruction after a TEX opcode, regardless of the format. At least > this is my interpretation of > > The values of the texture parameters TEXTURE_SWIZZLE_R_EXT, > TEXTURE_SWIZZLE_G_EXT, TEXTURE_SWIZZLE_B_EXT, and > TEXTURE_SWIZZLE_A_EXT, are applied after the swizzling described > in Table 3.20 (p. 186). The swizzle parameter > TEXTURE_SWIZZLE_R_EXT affects the first component of Cs as: > > BGRA extension does not specify additions to the 3.20 table though (it's > against spec 1.1) so this is why the guess work. > > So my expectaction is that swizzling a BGRA with a .rgba swizzle will get > bgra. > > It is also interesting the mention that the swizzle happens after texture > compare mode.
That is my interpretation as well, so in the r300 hw for example we use the texture swizzle to implement bgra vs rgba formats, I'd need to combine that with the incoming GL swizzle from the extension, but I'd really like to have some sort of test case to demonstrate it as I'm really not sure how ugly the combine swizzles function might end up. But it looks as if I need to write a direct to gallium test case to make sure I'm actually using things, mesa seems to block my attempts, though maybe with something like a PBO I can make mesa do it. Dave. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev