[Mesa-dev] [Bug 84566] Unify the format conversion code

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Oct 15 09:32:41 PDT 2014


--- Comment #20 from Jason Ekstrand <jason at jlekstrand.net> ---
(In reply to Iago Toral from comment #18)
> (In reply to Jason Ekstrand from comment #17)
> > (In reply to Iago Toral from comment #16)
> > > We also need new mesa_format enums and pack/unpack functions for byte
> > > swapped variants of non-array types.
> > 
> > Why?  Is this for the byte_swapped flag on GL upload/downloads?  If that's
> > the only reason, then I'd rather not bother adding mesa types.  We can
> > easily do a byte swap with _mesa_swizzle_and_convert.  While it's a little
> > bit of a performance hit, people shouldn't be using that attribute anyway.
> I think that won't help in this case. We can only use
> _mesa_swizzle_and_convert for array types, but as I say, this involves
> non-array types like GL_UNSIGNED_INT_10_10_10_2. The master converter will
> not use _mesa_swizzle_and_convert with these, it goes through things like
> _mesa_unpack_rgba_row and _mesa_pack_float_rgba_row for example (which rely
> on auto-generated pack/unpack functions). Do you think we should try expand
> these to consider byte-swapping?

My inclination on byte-swapping it to keep it out of the master conversion
function.  It's really an oddity of the old GL api and not a core format
conversion thing.  No sanely written app should use byte swapping, so I'm not
too worried about making it fast.  My inclination there is to keep going
byteswapping and the other format conversion ops in TexImage, GetTexImag,
ReadPixels, and DrawPixels.  They can call _mesa_swizzle_and_convert to do the
byteswap operation befor calling into the actual format conversion function.

The downside here is that there are a few cases where we can do better. 
However, that's pretty much limited to GL_UNSIGNED_INT_8_8_8_8[_REV] and I
don't think it's worth the effort.

You are receiving this mail because:
You are the QA Contact for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20141015/94fd9ca5/attachment.html>

More information about the mesa-dev mailing list