Dave Airlie wrote:
On Sat, May 1, 2010 at 6:47 PM, Dave Airlie <airl...@gmail.com> wrote:
In looking at adding EXT_texture_swizzle I'm a bit confused about what
exactly should happen with BGRA textures, as on r300 we use the
texture swizzling to do BGRA, so we would have some interaction at
that point.

To make sure we test for this I've made the following enhancments to
the glean test (in piglit tree - but I'll resubmit against glean tree
if correct).

Can someone with a clue make sure this is a sane test, it passes
against swrast..


Hmm on a second look inside mesa, it appears it never stores textures
internally as BGRA, it always does a swizzle translate on the way in,
so this test won't help me there, I'll have to think up something a
bit more intricate to test this stuff.


There's often texture swizzling involved in converting the user-provided image (GL_RGBA vs. GL_BGRA vs. GL_ABGR_EXT, etc) to the actual hardware texture format (MESA_FORMAT_RGBA8888, MESA_FORMAT_ARGB8888_REV, etc).

BTW, people concerned with glTexImage() performance should do some experimentation with different source formats/types to find one that (hopefully) avoids swizzling and can just be memcpy'd.

For swrast, Mesa prefers the MESA_FORMAT_RGBA8888 format for slightly faster software rendering on some paths. If you want to force a different internal format for testing with swrast, just modify the _mesa_choose_tex_format() function in texformat.c. There's similar code for gallium in st_ChooseTextureFormat().

There's a glean test (packedPixels??) that exercises all the different glTexImage() format/type combinations if you're looking for something that will hit different texture formats.

-Brian
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to