Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. ###########################################################################
  2. #
  3. # Copyright 2009-2010 VMware, Inc.
  4. # Copyright 2014 Intel Corporation
  5. # All Rights Reserved.
  6. #
  7. # Permission is hereby granted, free of charge, to any person obtaining a
  8. # copy of this software and associated documentation files (the
  9. # "Software"), to deal in the Software without restriction, including
  10. # without limitation the rights to use, copy, modify, merge, publish,
  11. # distribute, sub license, and/or sell copies of the Software, and to
  12. # permit persons to whom the Software is furnished to do so, subject to
  13. # the following conditions:
  14. #
  15. # The above copyright notice and this permission notice (including the
  16. # next paragraph) shall be included in all copies or substantial portions
  17. # of the Software.
  18. #
  19. # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  20. # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
  21. # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
  22. # IN NO EVENT SHALL THE AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR
  23. # ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
  24. # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
  25. # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  26. #
  27. ###########################################################################
  28.  
  29. # This CSV file has the input data for gen_format.h and gen_format.c
  30. #
  31. # Each format entry contains:
  32. # - name, per enum mesa_format
  33. # - layout
  34. # - pixel block's width
  35. # - pixel block's height
  36. # - channel encoding (only meaningful for array or packed layout), containing for each
  37. #   channel the following information:
  38. #   - type, one of
  39. #     - 'x': void
  40. #     - 'u': unsigned
  41. #     - 's': signed
  42. #     - 'h': fixed
  43. #     - 'f': FLOAT
  44. #   - optionally followed by 'n' if it is normalized
  45. #   - number of bits
  46. # - channel swizzle
  47. # - color space: rgb, srgb, yub, sz
  48.  
  49. # None
  50. # Described as regular uint_8 bytes, i.e. MESA_FORMAT_R8_USCALED
  51. MESA_FORMAT_NONE                          , other , 1, 1, x8  ,     ,     ,     , 0001, rgb
  52.  
  53. # Packed unorm formats
  54. MESA_FORMAT_A8B8G8R8_UNORM                , packed, 1, 1, un8 , un8 , un8 , un8 , wzyx, rgb
  55. MESA_FORMAT_X8B8G8R8_UNORM                , packed, 1, 1, x8  , un8 , un8 , un8 , wzy1, rgb
  56. MESA_FORMAT_R8G8B8A8_UNORM                , packed, 1, 1, un8 , un8 , un8 , un8 , xyzw, rgb
  57. MESA_FORMAT_R8G8B8X8_UNORM                , packed, 1, 1, un8 , un8 , un8 , x8  , xyz1, rgb
  58. MESA_FORMAT_B8G8R8A8_UNORM                , packed, 1, 1, un8 , un8 , un8 , un8 , zyxw, rgb
  59. MESA_FORMAT_B8G8R8X8_UNORM                , packed, 1, 1, un8 , un8 , un8 , x8  , zyx1, rgb
  60. MESA_FORMAT_A8R8G8B8_UNORM                , packed, 1, 1, un8 , un8 , un8 , un8 , yzwx, rgb
  61. MESA_FORMAT_X8R8G8B8_UNORM                , packed, 1, 1, x8  , un8 , un8 , un8 , yzw1, rgb
  62. MESA_FORMAT_L16A16_UNORM                  , packed, 1, 1, un16, un16,     ,     , xxxy, rgb
  63. MESA_FORMAT_A16L16_UNORM                  , packed, 1, 1, un16, un16,     ,     , yyyx, rgb
  64. MESA_FORMAT_B5G6R5_UNORM                  , packed, 1, 1, un5 , un6 , un5 ,     , zyx1, rgb
  65. MESA_FORMAT_R5G6B5_UNORM                  , packed, 1, 1, un5 , un6 , un5 ,     , xyz1, rgb
  66. MESA_FORMAT_B4G4R4A4_UNORM                , packed, 1, 1, un4 , un4 , un4 , un4 , zyxw, rgb
  67. MESA_FORMAT_B4G4R4X4_UNORM                , packed, 1, 1, un4 , un4 , un4 , x4  , zyx1, rgb
  68. MESA_FORMAT_A4R4G4B4_UNORM                , packed, 1, 1, un4 , un4 , un4 , un4 , yzwx, rgb
  69. MESA_FORMAT_A1B5G5R5_UNORM                , packed, 1, 1, un1 , un5 , un5 , un5 , wzyx, rgb
  70. MESA_FORMAT_B5G5R5A1_UNORM                , packed, 1, 1, un5 , un5 , un5 , un1 , zyxw, rgb
  71. MESA_FORMAT_B5G5R5X1_UNORM                , packed, 1, 1, un5 , un5 , un5 , x1  , zyx1, rgb
  72. MESA_FORMAT_A1R5G5B5_UNORM                , packed, 1, 1, un1 , un5 , un5 , un5 , yzwx, rgb
  73. MESA_FORMAT_L8A8_UNORM                    , packed, 1, 1, un8 , un8 ,     ,     , xxxy, rgb
  74. MESA_FORMAT_A8L8_UNORM                    , packed, 1, 1, un8 , un8 ,     ,     , yyyx, rgb
  75. MESA_FORMAT_R8G8_UNORM                    , packed, 1, 1, un8 , un8 ,     ,     , xy01, rgb
  76. MESA_FORMAT_G8R8_UNORM                    , packed, 1, 1, un8 , un8 ,     ,     , yx01, rgb
  77. MESA_FORMAT_L4A4_UNORM                    , packed, 1, 1, un4 , un4 ,     ,     , xxxy, rgb
  78.  
  79. MESA_FORMAT_B2G3R3_UNORM                  , packed, 1, 1, un2 , un3 , un3 ,     , zyx1, rgb
  80. MESA_FORMAT_R16G16_UNORM                  , packed, 1, 1, un16, un16,     ,     , xy01, rgb
  81. MESA_FORMAT_G16R16_UNORM                  , packed, 1, 1, un16, un16,     ,     , yx01, rgb
  82. MESA_FORMAT_B10G10R10A2_UNORM             , packed, 1, 1, un10, un10, un10, un2 , zyxw, rgb
  83. MESA_FORMAT_B10G10R10X2_UNORM             , packed, 1, 1, un10, un10, un10, x2  , zyx1, rgb
  84. MESA_FORMAT_R10G10B10A2_UNORM             , packed, 1, 1, un10, un10, un10, un2 , xyzw, rgb
  85. MESA_FORMAT_R10G10B10X2_UNORM             , packed, 1, 1, un10, un10, un10, x2  , xyz1, rgb
  86.  
  87. MESA_FORMAT_S8_UINT_Z24_UNORM             , packed, 1, 1, un24, u8  ,     ,     , xy__, zs
  88. MESA_FORMAT_X8_UINT_Z24_UNORM             , packed, 1, 1, un24, x8  ,     ,     , x___, zs
  89. MESA_FORMAT_Z24_UNORM_S8_UINT             , packed, 1, 1, u8  , un24,     ,     , yx__, zs
  90. MESA_FORMAT_Z24_UNORM_X8_UINT             , packed, 1, 1, x8  , un24,     ,     , y___, zs
  91.  
  92. MESA_FORMAT_R3G3B2_UNORM                  , packed, 1, 1, un3 , un3 , un2 ,     , xyz1, rgb
  93. MESA_FORMAT_A4B4G4R4_UNORM                , packed, 1, 1, un4 , un4 , un4 , un4 , wzyx, rgb
  94. MESA_FORMAT_R4G4B4A4_UNORM                , packed, 1, 1, un4 , un4 , un4 , un4 , xyzw, rgb
  95. MESA_FORMAT_R5G5B5A1_UNORM                , packed, 1, 1, un5 , un5 , un5 , un1 , xyzw, rgb
  96. MESA_FORMAT_A2B10G10R10_UNORM             , packed, 1, 1, un2 , un10, un10, un10, wzyx, rgb
  97. MESA_FORMAT_A2R10G10B10_UNORM             , packed, 1, 1, un2 , un10, un10, un10, yzwx, rgb
  98.  
  99. MESA_FORMAT_YCBCR                         , other , 1, 1, x16 ,     ,     ,     , xyzw, yuv
  100. MESA_FORMAT_YCBCR_REV                     , other , 1, 1, x16 ,     ,     ,     , xyzw, yuv
  101.  
  102. # Array normalized formats
  103. MESA_FORMAT_A_UNORM8                      , array , 1, 1, un8 ,     ,     ,     , 000x, rgb
  104. MESA_FORMAT_A_UNORM16                     , array , 1, 1, un16,     ,     ,     , 000x, rgb
  105. MESA_FORMAT_L_UNORM8                      , array , 1, 1, un8 ,     ,     ,     , xxx1, rgb
  106. MESA_FORMAT_L_UNORM16                     , array , 1, 1, un16,     ,     ,     , xxx1, rgb
  107. MESA_FORMAT_I_UNORM8                      , array , 1, 1, un8 ,     ,     ,     , xxxx, rgb
  108. MESA_FORMAT_I_UNORM16                     , array , 1, 1, un16,     ,     ,     , xxxx, rgb
  109. MESA_FORMAT_R_UNORM8                      , array , 1, 1, un8 ,     ,     ,     , x001, rgb
  110. MESA_FORMAT_R_UNORM16                     , array , 1, 1, un16,     ,     ,     , x001, rgb
  111. MESA_FORMAT_BGR_UNORM8                    , array , 1, 1, un8 , un8 , un8 ,     , zyx1, rgb
  112. MESA_FORMAT_RGB_UNORM8                    , array , 1, 1, un8 , un8 , un8 ,     , xyz1, rgb
  113. MESA_FORMAT_RGBA_UNORM16                  , array , 1, 1, un16, un16, un16, un16, xyzw, rgb
  114. MESA_FORMAT_RGBX_UNORM16                  , array , 1, 1, un16, un16, un16, x16 , xyz1, rgb
  115.  
  116. MESA_FORMAT_Z_UNORM16                     , array , 1, 1, un16,     ,     ,     , x___, zs
  117. MESA_FORMAT_Z_UNORM32                     , array , 1, 1, un32,     ,     ,     , x___, zs
  118. MESA_FORMAT_S_UINT8                       , array , 1, 1, u8  ,     ,     ,     , _x__, zs
  119.  
  120. # Packed signed formats
  121. MESA_FORMAT_A8B8G8R8_SNORM                , packed, 1, 1, sn8 , sn8 , sn8 , sn8 , wzyx, rgb
  122. MESA_FORMAT_X8B8G8R8_SNORM                , packed, 1, 1, x8  , sn8 , sn8 , sn8 , wzy1, rgb
  123. MESA_FORMAT_R8G8B8A8_SNORM                , packed, 1, 1, sn8 , sn8 , sn8 , sn8 , xyzw, rgb
  124. MESA_FORMAT_R8G8B8X8_SNORM                , packed, 1, 1, sn8 , sn8 , sn8 , x8  , xyz1, rgb
  125. MESA_FORMAT_R16G16_SNORM                  , packed, 1, 1, sn16, sn16,     ,     , xy01, rgb
  126. MESA_FORMAT_G16R16_SNORM                  , packed, 1, 1, sn16, sn16,     ,     , yx01, rgb
  127. MESA_FORMAT_R8G8_SNORM                    , packed, 1, 1, sn8 , sn8 ,     ,     , xy01, rgb
  128. MESA_FORMAT_G8R8_SNORM                    , packed, 1, 1, sn8 , sn8 ,     ,     , yx01, rgb
  129. MESA_FORMAT_L8A8_SNORM                    , packed, 1, 1, sn8 , sn8 ,     ,     , xxxy, rgb
  130. MESA_FORMAT_A8L8_SNORM                    , packed, 1, 1, sn8 , sn8 ,     ,     , yyyx, rgb
  131.  
  132. # Array signed/normalized formats
  133. MESA_FORMAT_A_SNORM8                      , array , 1, 1, sn8 ,     ,     ,     , 000x, rgb
  134. MESA_FORMAT_A_SNORM16                     , array , 1, 1, sn16,     ,     ,     , 000x, rgb
  135. MESA_FORMAT_L_SNORM8                      , array , 1, 1, sn8 ,     ,     ,     , xxx1, rgb
  136. MESA_FORMAT_L_SNORM16                     , array , 1, 1, sn16,     ,     ,     , xxx1, rgb
  137. MESA_FORMAT_I_SNORM8                      , array , 1, 1, sn8 ,     ,     ,     , xxxx, rgb
  138. MESA_FORMAT_I_SNORM16                     , array , 1, 1, sn16,     ,     ,     , xxxx, rgb
  139. MESA_FORMAT_R_SNORM8                      , array , 1, 1, sn8 ,     ,     ,     , x001, rgb
  140. MESA_FORMAT_R_SNORM16                     , array , 1, 1, sn16,     ,     ,     , x001, rgb
  141. MESA_FORMAT_LA_SNORM16                    , array , 1, 1, sn16, sn16,     ,     , xxxy, rgb
  142. MESA_FORMAT_RGB_SNORM16                   , array , 1, 1, sn16, sn16, sn16,     , xyz1, rgb
  143. MESA_FORMAT_RGBA_SNORM16                  , array , 1, 1, sn16, sn16, sn16, sn16, xyzw, rgb
  144. MESA_FORMAT_RGBX_SNORM16                  , array , 1, 1, sn16, sn16, sn16, x16 , xyz1, rgb
  145.  
  146. # Packed sRGB formats
  147. MESA_FORMAT_A8B8G8R8_SRGB                 , packed, 1, 1, un8 , un8 , un8 , un8 , wzyx, srgb
  148. MESA_FORMAT_B8G8R8A8_SRGB                 , packed, 1, 1, un8 , un8 , un8 , un8 , zyxw, srgb
  149. MESA_FORMAT_A8R8G8B8_SRGB                 , packed, 1, 1, un8 , un8 , un8 , un8 , yzwx, srgb
  150. MESA_FORMAT_B8G8R8X8_SRGB                 , packed, 1, 1, un8 , un8 , un8 , x8  , zyx1, srgb
  151. MESA_FORMAT_X8R8G8B8_SRGB                 , packed, 1, 1, x8  , un8 , un8 , un8 , yzw1, srgb
  152. MESA_FORMAT_R8G8B8A8_SRGB                 , packed, 1, 1, un8 , un8 , un8 , un8 , xyzw, srgb
  153. MESA_FORMAT_R8G8B8X8_SRGB                 , packed, 1, 1, un8 , un8 , un8 , x8  , xyz1, srgb
  154. MESA_FORMAT_X8B8G8R8_SRGB                 , packed, 1, 1, x8  , un8 , un8 , un8 , wzy1, srgb
  155. MESA_FORMAT_L8A8_SRGB                     , packed, 1, 1, un8 , un8 ,     ,     , xxxy, srgb
  156. MESA_FORMAT_A8L8_SRGB                     , packed, 1, 1, un8 , un8 ,     ,     , yyyx, srgb
  157.  
  158. # Array sRGB formats
  159. MESA_FORMAT_L_SRGB8                       , array , 1, 1, un8 ,     ,     ,     , xxx1, srgb
  160. MESA_FORMAT_BGR_SRGB8                     , array , 1, 1, un8 , un8 , un8 ,     , zyx1, srgb
  161.  
  162. # Packed float formats
  163. MESA_FORMAT_R9G9B9E5_FLOAT                , other , 1, 1, f9  , f9  , f9  , x5  , xyz1, rgb
  164. MESA_FORMAT_R11G11B10_FLOAT               , packed, 1, 1, f11 , f11 , f10 ,     , xyz1, rgb
  165. MESA_FORMAT_Z32_FLOAT_S8X24_UINT          , packed, 1, 1, u8  , x24 , f32 ,     , zx__, zs
  166.  
  167. # Array float formats
  168. MESA_FORMAT_A_FLOAT16                     , array , 1, 1, f16 ,     ,     ,     , 000x, rgb
  169. MESA_FORMAT_A_FLOAT32                     , array , 1, 1, f32 ,     ,     ,     , 000x, rgb
  170. MESA_FORMAT_L_FLOAT16                     , array , 1, 1, f16 ,     ,     ,     , xxx1, rgb
  171. MESA_FORMAT_L_FLOAT32                     , array , 1, 1, f32 ,     ,     ,     , xxx1, rgb
  172. MESA_FORMAT_LA_FLOAT16                    , array , 1, 1, f16 , f16 ,     ,     , xxxy, rgb
  173. MESA_FORMAT_LA_FLOAT32                    , array , 1, 1, f32 , f32 ,     ,     , xxxy, rgb
  174. MESA_FORMAT_I_FLOAT16                     , array , 1, 1, f16 ,     ,     ,     , xxxx, rgb
  175. MESA_FORMAT_I_FLOAT32                     , array , 1, 1, f32 ,     ,     ,     , xxxx, rgb
  176. MESA_FORMAT_R_FLOAT16                     , array , 1, 1, f16 ,     ,     ,     , x001, rgb
  177. MESA_FORMAT_R_FLOAT32                     , array , 1, 1, f32 ,     ,     ,     , x001, rgb
  178. MESA_FORMAT_RG_FLOAT16                    , array , 1, 1, f16 , f16 ,     ,     , xy01, rgb
  179. MESA_FORMAT_RG_FLOAT32                    , array , 1, 1, f32 , f32 ,     ,     , xy01, rgb
  180. MESA_FORMAT_RGB_FLOAT16                   , array , 1, 1, f16 , f16 , f16 ,     , xyz1, rgb
  181. MESA_FORMAT_RGB_FLOAT32                   , array , 1, 1, f32 , f32 , f32 ,     , xyz1, rgb
  182. MESA_FORMAT_RGBA_FLOAT16                  , array , 1, 1, f16 , f16 , f16 , f16 , xyzw, rgb
  183. MESA_FORMAT_RGBA_FLOAT32                  , array , 1, 1, f32 , f32 , f32 , f32 , xyzw, rgb
  184. MESA_FORMAT_RGBX_FLOAT16                  , array , 1, 1, f16 , f16 , f16 , x16 , xyz1, rgb
  185. MESA_FORMAT_RGBX_FLOAT32                  , array , 1, 1, f32 , f32 , f32 , x32 , xyz1, rgb
  186. MESA_FORMAT_Z_FLOAT32                     , array , 1, 1, f32 ,     ,     ,     , x___, zs
  187.  
  188. # Packed signed/unsigned non-normalized integer formats
  189. MESA_FORMAT_B10G10R10A2_UINT              , packed, 1, 1, u10 , u10 , u10 , u2  , zyxw, rgb
  190. MESA_FORMAT_R10G10B10A2_UINT              , packed, 1, 1, u10 , u10 , u10 , u2  , xyzw, rgb
  191. MESA_FORMAT_A2B10G10R10_UINT              , packed, 1, 1, u2  , u10 , u10 , u10 , wzyx, rgb
  192. MESA_FORMAT_A2R10G10B10_UINT              , packed, 1, 1, u2  , u10 , u10 , u10 , yzwx, rgb
  193.  
  194. # Array signed/unsigned non-normalized integer formats
  195. MESA_FORMAT_A_UINT8                       , array , 1, 1, u8  ,     ,     ,     , 000x, rgb
  196. MESA_FORMAT_A_UINT16                      , array , 1, 1, u16 ,     ,     ,     , 000x, rgb
  197. MESA_FORMAT_A_UINT32                      , array , 1, 1, u32 ,     ,     ,     , 000x, rgb
  198. MESA_FORMAT_A_SINT8                       , array , 1, 1, s8  ,     ,     ,     , 000x, rgb
  199. MESA_FORMAT_A_SINT16                      , array , 1, 1, s16 ,     ,     ,     , 000x, rgb
  200. MESA_FORMAT_A_SINT32                      , array , 1, 1, s32 ,     ,     ,     , 000x, rgb
  201.  
  202. MESA_FORMAT_I_UINT8                       , array , 1, 1, u8  ,     ,     ,     , xxxx, rgb
  203. MESA_FORMAT_I_UINT16                      , array , 1, 1, u16 ,     ,     ,     , xxxx, rgb
  204. MESA_FORMAT_I_UINT32                      , array , 1, 1, u32 ,     ,     ,     , xxxx, rgb
  205. MESA_FORMAT_I_SINT8                       , array , 1, 1, s8  ,     ,     ,     , xxxx, rgb
  206. MESA_FORMAT_I_SINT16                      , array , 1, 1, s16 ,     ,     ,     , xxxx, rgb
  207. MESA_FORMAT_I_SINT32                      , array , 1, 1, s32 ,     ,     ,     , xxxx, rgb
  208.  
  209. MESA_FORMAT_L_UINT8                       , array , 1, 1, u8  ,     ,     ,     , xxx1, rgb
  210. MESA_FORMAT_L_UINT16                      , array , 1, 1, u16 ,     ,     ,     , xxx1, rgb
  211. MESA_FORMAT_L_UINT32                      , array , 1, 1, u32 ,     ,     ,     , xxx1, rgb
  212. MESA_FORMAT_L_SINT8                       , array , 1, 1, s8  ,     ,     ,     , xxx1, rgb
  213. MESA_FORMAT_L_SINT16                      , array , 1, 1, s16 ,     ,     ,     , xxx1, rgb
  214. MESA_FORMAT_L_SINT32                      , array , 1, 1, s32 ,     ,     ,     , xxx1, rgb
  215.  
  216. MESA_FORMAT_LA_UINT8                      , array , 1, 1, u8  , u8  ,     ,     , xxxy, rgb
  217. MESA_FORMAT_LA_UINT16                     , array , 1, 1, u16 , u16 ,     ,     , xxxy, rgb
  218. MESA_FORMAT_LA_UINT32                     , array , 1, 1, u32 , u32 ,     ,     , xxxy, rgb
  219. MESA_FORMAT_LA_SINT8                      , array , 1, 1, s8  , s8  ,     ,     , xxxy, rgb
  220. MESA_FORMAT_LA_SINT16                     , array , 1, 1, s16 , s16 ,     ,     , xxxy, rgb
  221. MESA_FORMAT_LA_SINT32                     , array , 1, 1, s32 , s32 ,     ,     , xxxy, rgb
  222.  
  223. MESA_FORMAT_R_UINT8                       , array , 1, 1, u8  ,     ,     ,     , x001, rgb
  224. MESA_FORMAT_R_UINT16                      , array , 1, 1, u16 ,     ,     ,     , x001, rgb
  225. MESA_FORMAT_R_UINT32                      , array , 1, 1, u32 ,     ,     ,     , x001, rgb
  226. MESA_FORMAT_R_SINT8                       , array , 1, 1, s8  ,     ,     ,     , x001, rgb
  227. MESA_FORMAT_R_SINT16                      , array , 1, 1, s16 ,     ,     ,     , x001, rgb
  228. MESA_FORMAT_R_SINT32                      , array , 1, 1, s32 ,     ,     ,     , x001, rgb
  229.  
  230. MESA_FORMAT_RG_UINT8                      , array , 1, 1, u8  , u8  ,     ,     , xy01, rgb
  231. MESA_FORMAT_RG_UINT16                     , array , 1, 1, u16 , u16 ,     ,     , xy01, rgb
  232. MESA_FORMAT_RG_UINT32                     , array , 1, 1, u32 , u32 ,     ,     , xy01, rgb
  233. MESA_FORMAT_RG_SINT8                      , array , 1, 1, s8  , s8  ,     ,     , xy01, rgb
  234. MESA_FORMAT_RG_SINT16                     , array , 1, 1, s16 , s16 ,     ,     , xy01, rgb
  235. MESA_FORMAT_RG_SINT32                     , array , 1, 1, s32 , s32 ,     ,     , xy01, rgb
  236.  
  237. MESA_FORMAT_RGB_UINT8                     , array , 1, 1, u8  , u8  , u8  ,     , xyz1, rgb
  238. MESA_FORMAT_RGB_UINT16                    , array , 1, 1, u16 , u16 , u16 ,     , xyz1, rgb
  239. MESA_FORMAT_RGB_UINT32                    , array , 1, 1, u32 , u32 , u32 ,     , xyz1, rgb
  240. MESA_FORMAT_RGB_SINT8                     , array , 1, 1, s8  , s8  , s8  ,     , xyz1, rgb
  241. MESA_FORMAT_RGB_SINT16                    , array , 1, 1, s16 , s16 , s16 ,     , xyz1, rgb
  242. MESA_FORMAT_RGB_SINT32                    , array , 1, 1, s32 , s32 , s32 ,     , xyz1, rgb
  243.  
  244. MESA_FORMAT_RGBA_UINT8                    , array , 1, 1, u8  , u8  , u8  , u8  , xyzw, rgb
  245. MESA_FORMAT_RGBA_UINT16                   , array , 1, 1, u16 , u16 , u16 , u16 , xyzw, rgb
  246. MESA_FORMAT_RGBA_UINT32                   , array , 1, 1, u32 , u32 , u32 , u32 , xyzw, rgb
  247. MESA_FORMAT_RGBA_SINT8                    , array , 1, 1, s8  , s8  , s8  , s8  , xyzw, rgb
  248. MESA_FORMAT_RGBA_SINT16                   , array , 1, 1, s16 , s16 , s16 , s16 , xyzw, rgb
  249. MESA_FORMAT_RGBA_SINT32                   , array , 1, 1, s32 , s32 , s32 , s32 , xyzw, rgb
  250.  
  251. MESA_FORMAT_RGBX_UINT8                    , array , 1, 1, u8  , u8  , u8  , x8  , xyz1, rgb
  252. MESA_FORMAT_RGBX_UINT16                   , array , 1, 1, u16 , u16 , u16 , x16 , xyz1, rgb
  253. MESA_FORMAT_RGBX_UINT32                   , array , 1, 1, u32 , u32 , u32 , x32 , xyz1, rgb
  254. MESA_FORMAT_RGBX_SINT8                    , array , 1, 1, s8  , s8  , s8  , x8  , xyz1, rgb
  255. MESA_FORMAT_RGBX_SINT16                   , array , 1, 1, s16 , s16 , s16 , x16 , xyz1, rgb
  256. MESA_FORMAT_RGBX_SINT32                   , array , 1, 1, s32 , s32 , s32 , x32 , xyz1, rgb
  257.  
  258. # DTX compressed formats
  259. MESA_FORMAT_RGB_DXT1                      , s3tc  , 4, 4, x64 ,     ,     ,     , xyz1, rgb
  260. MESA_FORMAT_RGBA_DXT1                     , s3tc  , 4, 4, x64 ,     ,     ,     , xyzw, rgb
  261. MESA_FORMAT_RGBA_DXT3                     , s3tc  , 4, 4, x128,     ,     ,     , xyzw, rgb
  262. MESA_FORMAT_RGBA_DXT5                     , s3tc  , 4, 4, x128,     ,     ,     , xyzw, rgb
  263.  
  264. # DTX sRGB compressed formats
  265. MESA_FORMAT_SRGB_DXT1                     , s3tc  , 4, 4, x64 ,     ,     ,     , xyz1, srgb
  266. MESA_FORMAT_SRGBA_DXT1                    , s3tc  , 4, 4, x64 ,     ,     ,     , xyzw, srgb
  267. MESA_FORMAT_SRGBA_DXT3                    , s3tc  , 4, 4, x128,     ,     ,     , xyzw, srgb
  268. MESA_FORMAT_SRGBA_DXT5                    , s3tc  , 4, 4, x128,     ,     ,     , xyzw, srgb
  269.  
  270. # FXT1 compressed formats
  271. MESA_FORMAT_RGB_FXT1                      , fxt1  , 8, 4, x128,     ,     ,     , xyz1, rgb
  272. MESA_FORMAT_RGBA_FXT1                     , fxt1  , 8, 4, x128,     ,     ,     , xyzw, rgb
  273.  
  274. # RGTC compressed formats
  275. MESA_FORMAT_R_RGTC1_UNORM                 , rgtc  , 4, 4, x64 ,     ,     ,     , x001, rgb
  276. MESA_FORMAT_R_RGTC1_SNORM                 , rgtc  , 4, 4, x64 ,     ,     ,     , x001, rgb
  277. MESA_FORMAT_RG_RGTC2_UNORM                , rgtc  , 4, 4, x128,     ,     ,     , xy01, rgb
  278. MESA_FORMAT_RG_RGTC2_SNORM                , rgtc  , 4, 4, x128,     ,     ,     , xy01, rgb
  279.  
  280. # LATC1/2 compressed formats
  281. MESA_FORMAT_L_LATC1_UNORM                 , rgtc  , 4, 4, x64 ,     ,     ,     , xxx1, rgb
  282. MESA_FORMAT_L_LATC1_SNORM                 , rgtc  , 4, 4, x64 ,     ,     ,     , xxx1, rgb
  283. MESA_FORMAT_LA_LATC2_UNORM                , rgtc  , 4, 4, x128,     ,     ,     , xxxy, rgb
  284. MESA_FORMAT_LA_LATC2_SNORM                , rgtc  , 4, 4, x128,     ,     ,     , xxxy, rgb
  285.  
  286. # ETC1/2 compressed formats
  287. MESA_FORMAT_ETC1_RGB8                     , etc1  , 4, 4, x64 ,     ,     ,     , xyz1, rgb
  288. MESA_FORMAT_ETC2_RGB8                     , etc2  , 4, 4, x64 ,     ,     ,     , xyz1, rgb
  289. MESA_FORMAT_ETC2_SRGB8                    , etc2  , 4, 4, x64 ,     ,     ,     , xyz1, srgb
  290. MESA_FORMAT_ETC2_RGBA8_EAC                , etc2  , 4, 4, x128,     ,     ,     , xyzw, rgb
  291. MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC         , etc2  , 4, 4, x128,     ,     ,     , xyzw, srgb
  292. MESA_FORMAT_ETC2_R11_EAC                  , etc2  , 4, 4, x64 ,     ,     ,     , x001, rgb
  293. MESA_FORMAT_ETC2_RG11_EAC                 , etc2  , 4, 4, x128,     ,     ,     , xy01, rgb
  294. MESA_FORMAT_ETC2_SIGNED_R11_EAC           , etc2  , 4, 4, x64 ,     ,     ,     , x001, rgb
  295. MESA_FORMAT_ETC2_SIGNED_RG11_EAC          , etc2  , 4, 4, x128,     ,     ,     , xy01, rgb
  296. MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1 , etc2  , 4, 4, x64 ,     ,     ,     , xyzw, rgb
  297. MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1, etc2  , 4, 4, x64 ,     ,     ,     , xyzw, srgb
  298.  
  299. # BPTC compressed formats
  300. MESA_FORMAT_BPTC_RGBA_UNORM               , bptc  , 4, 4, x128,     ,     ,     , xyzw, rgb
  301. MESA_FORMAT_BPTC_SRGB_ALPHA_UNORM         , bptc  , 4, 4, x128,     ,     ,     , xyzw, srgb
  302. MESA_FORMAT_BPTC_RGB_SIGNED_FLOAT         , bptc  , 4, 4, x128,     ,     ,     , xyz1, rgb
  303. MESA_FORMAT_BPTC_RGB_UNSIGNED_FLOAT       , bptc  , 4, 4, x128,     ,     ,     , xyz1, rgb
  304.