main: Add a concept of an array format
authorJason Ekstrand <jason.ekstrand@intel.com>
Sat, 23 Aug 2014 17:45:00 +0000 (10:45 -0700)
committerIago Toral Quiroga <itoral@igalia.com>
Mon, 12 Jan 2015 10:20:28 +0000 (11:20 +0100)
commit3da735cc4c478b0ab2ecc2164899cf9d77dc671a
tree4158684e428ad25b4708a51556d409b2f0b94a02
parent382d097e546cb7568bef4fa552dcd84535271845
main: Add a concept of an array format

An array format is a 32-bit integer format identifier that can represent
any format that can be represented as an array of standard GL datatypes.
Whie the MESA_FORMAT enums provide several of these, they don't account for
all of them.

v2 by Iago Toral Quiroga <itoral@igalia.com>:
 - Implement mesa_array_format as a plain bitfiled uint32_t type instead of
   using a struct inside a union to access the various components packed in
   it. This is necessary to support bigendian properly, as pointed out by
   Ian.
 - Squashed: Make float types normalized

v3 by Iago Toral Quiroga <itoral@igalia.com>:
  - Include compiler.h in formats.h, which is necessary to build in MSVC as
    indicated by Brian Paul.

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
src/mesa/main/format_info.py
src/mesa/main/formats.c
src/mesa/main/formats.h