mesa/format_utils: Add a general format conversion function
authorJason Ekstrand <jason.ekstrand@intel.com>
Fri, 11 Jul 2014 15:41:49 +0000 (08:41 -0700)
committerJason Ekstrand <jason.ekstrand@intel.com>
Tue, 5 Aug 2014 17:56:16 +0000 (10:56 -0700)
commitd55f77b503ab7b59ecdd8f31c4f7dc498710e75b
tree88f3461e990201b51f8226a40bbc7e870abf8e14
parent452d64986bd510753d13b56b33951f1b4348e3a9
mesa/format_utils: Add a general format conversion function

Most format conversion operations required by GL can be performed by
converting one channel at a time, shuffling the channels around, and
optionally filling missing channels with zeros and ones.  This adds a
function to do just that in a general, yet efficient, way.

v2:
 * Add better comments including full docs for functions
 * Don't use __typeof__
 * Use inline helpers instead of writing out conversions by hand,
 * Force full loop unrolling for better performance

v3: Add another set of parens around the MAX_INT macro

Signed-off-by: Jason Ekstrand <jason.ekstrand@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
src/mesa/Makefile.sources
src/mesa/main/format_utils.c [new file with mode: 0644]
src/mesa/main/format_utils.h [new file with mode: 0644]