formats.h revision bb5ace68ce9e8bd171a39162ed6bd93632bd6619
199ac02bb701c1e30b20f2174aac25ffbe487c0afreed@google.com/* 2a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary * Mesa 3-D graphics library 399ac02bb701c1e30b20f2174aac25ffbe487c0afreed@google.com * Version: 7.7 499ac02bb701c1e30b20f2174aac25ffbe487c0afreed@google.com * 599ac02bb701c1e30b20f2174aac25ffbe487c0afreed@google.com * Copyright (C) 1999-2008 Brian Paul All Rights Reserved. 699ac02bb701c1e30b20f2174aac25ffbe487c0afreed@google.com * Copyright (c) 2008-2009 VMware, Inc. 799ac02bb701c1e30b20f2174aac25ffbe487c0afreed@google.com * 899ac02bb701c1e30b20f2174aac25ffbe487c0afreed@google.com * Permission is hereby granted, free of charge, to any person obtaining a 9a1f1ee98a1f6d0770f6243270ca2f0e6c92efabahalcanary * copy of this software and associated documentation files (the "Software"), 105867736b08d3689356b49f505bcf748c2194a0bcreed * to deal in the Software without restriction, including without limitation 11a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary * the rights to use, copy, modify, merge, publish, distribute, sublicense, 122f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary * and/or sell copies of the Software, and to permit persons to whom the 13a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary * Software is furnished to do so, subject to the following conditions: 14f12a1673f024d30d30f06b9f88b5cc072b8a2d1ehalcanary * 15a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary * The above copyright notice and this permission notice shall be included 1634422610ac22adceeabb66023120f27b96cae953halcanary * in all copies or substantial portions of the Software. 17a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary * 18f12a1673f024d30d30f06b9f88b5cc072b8a2d1ehalcanary * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 19f12a1673f024d30d30f06b9f88b5cc072b8a2d1ehalcanary * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 20a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 21a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary * BRIAN PAUL BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 22a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 23a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary */ 25a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary 26a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary/* 27a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary * Authors: 28a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary * Brian Paul 2937c46cad21632cfc1411b08d73af37a1fffe2944halcanary */ 3037c46cad21632cfc1411b08d73af37a1fffe2944halcanary 31a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary 32a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary#ifndef FORMATS_H 33f12a1673f024d30d30f06b9f88b5cc072b8a2d1ehalcanary#define FORMATS_H 3434422610ac22adceeabb66023120f27b96cae953halcanary 3534422610ac22adceeabb66023120f27b96cae953halcanary 36a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary#include <GL/gl.h> 3734422610ac22adceeabb66023120f27b96cae953halcanary 3834422610ac22adceeabb66023120f27b96cae953halcanary 39a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary 4072266fd1fe9bfe078239a9d9e85f479faee30281halcanary/** 41f12a1673f024d30d30f06b9f88b5cc072b8a2d1ehalcanary * Mesa texture/renderbuffer image formats. 4234422610ac22adceeabb66023120f27b96cae953halcanary */ 4334422610ac22adceeabb66023120f27b96cae953halcanarytypedef enum 4434422610ac22adceeabb66023120f27b96cae953halcanary{ 4534422610ac22adceeabb66023120f27b96cae953halcanary MESA_FORMAT_NONE = 0, 46a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary 4737c46cad21632cfc1411b08d73af37a1fffe2944halcanary /** 48a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary * \name Basic hardware formats 49a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary */ 50a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary /*@{*/ 51a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary /* msb <------ TEXEL BITS -----------> lsb */ 52a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary /* ---- ---- ---- ---- ---- ---- ---- ---- */ 532f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGBA8888, /* RRRR RRRR GGGG GGGG BBBB BBBB AAAA AAAA */ 542f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGBA8888_REV, /* AAAA AAAA BBBB BBBB GGGG GGGG RRRR RRRR */ 5537c46cad21632cfc1411b08d73af37a1fffe2944halcanary MESA_FORMAT_ARGB8888, /* AAAA AAAA RRRR RRRR GGGG GGGG BBBB BBBB */ 5637c46cad21632cfc1411b08d73af37a1fffe2944halcanary MESA_FORMAT_ARGB8888_REV, /* BBBB BBBB GGGG GGGG RRRR RRRR AAAA AAAA */ 57a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_XRGB8888, /* xxxx xxxx RRRR RRRR GGGG GGGG BBBB BBBB */ 58a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_XRGB8888_REV, /* BBBB BBBB GGGG GGGG RRRR RRRR xxxx xxxx */ 592f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGB888, /* RRRR RRRR GGGG GGGG BBBB BBBB */ 602f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_BGR888, /* BBBB BBBB GGGG GGGG RRRR RRRR */ 61a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_RGB565, /* RRRR RGGG GGGB BBBB */ 62a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_RGB565_REV, /* GGGB BBBB RRRR RGGG */ 63a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_ARGB4444, /* AAAA RRRR GGGG BBBB */ 64a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_ARGB4444_REV, /* GGGG BBBB AAAA RRRR */ 65a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_RGBA5551, /* RRRR RGGG GGBB BBBA */ 66a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_ARGB1555, /* ARRR RRGG GGGB BBBB */ 67a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_ARGB1555_REV, /* GGGB BBBB ARRR RRGG */ 6837c46cad21632cfc1411b08d73af37a1fffe2944halcanary MESA_FORMAT_AL44, /* AAAA LLLL */ 69a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_AL88, /* AAAA AAAA LLLL LLLL */ 70a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_AL88_REV, /* LLLL LLLL AAAA AAAA */ 71a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_AL1616, /* AAAA AAAA AAAA AAAA LLLL LLLL LLLL LLLL */ 72a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_AL1616_REV, /* LLLL LLLL LLLL LLLL AAAA AAAA AAAA AAAA */ 73a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_RGB332, /* RRRG GGBB */ 7472266fd1fe9bfe078239a9d9e85f479faee30281halcanary MESA_FORMAT_A8, /* AAAA AAAA */ 7572266fd1fe9bfe078239a9d9e85f479faee30281halcanary MESA_FORMAT_A16, /* AAAA AAAA AAAA AAAA */ 76385fe4d4b62d7d1dd76116dd570df3290a2f487bhalcanary MESA_FORMAT_L8, /* LLLL LLLL */ 7772266fd1fe9bfe078239a9d9e85f479faee30281halcanary MESA_FORMAT_L16, /* LLLL LLLL LLLL LLLL */ 7872266fd1fe9bfe078239a9d9e85f479faee30281halcanary MESA_FORMAT_I8, /* IIII IIII */ 792f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_CI8, /* CCCC CCCC */ 80385fe4d4b62d7d1dd76116dd570df3290a2f487bhalcanary MESA_FORMAT_YCBCR, /* YYYY YYYY UorV UorV */ 8172266fd1fe9bfe078239a9d9e85f479faee30281halcanary MESA_FORMAT_YCBCR_REV, /* UorV UorV YYYY YYYY */ 8272266fd1fe9bfe078239a9d9e85f479faee30281halcanary MESA_FORMAT_R8, /* RRRR RRRR */ 83ef6c50a80f77e6da84e198a34755dd42b1b0cf1ewangxianzhu MESA_FORMAT_RG88, /* RRRR RRRR GGGG GGGG */ 84ef6c50a80f77e6da84e198a34755dd42b1b0cf1ewangxianzhu MESA_FORMAT_RG88_REV, /* GGGG GGGG RRRR RRRR */ 85ef6c50a80f77e6da84e198a34755dd42b1b0cf1ewangxianzhu MESA_FORMAT_R16, /* RRRR RRRR RRRR RRRR */ 86ef6c50a80f77e6da84e198a34755dd42b1b0cf1ewangxianzhu MESA_FORMAT_RG1616, /* RRRR RRRR RRRR RRRR GGGG GGGG GGGG GGGG */ 872f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RG1616_REV, /* GGGG GGGG GGGG GGGG RRRR RRRR RRRR RRRR */ 8872266fd1fe9bfe078239a9d9e85f479faee30281halcanary MESA_FORMAT_ARGB2101010, /* AARR RRRR RRRR GGGG GGGG GGBB BBBB BBBB */ 892f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_Z24_S8, /* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ SSSS SSSS */ 902f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_S8_Z24, /* SSSS SSSS ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ */ 912f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_Z16, /* ZZZZ ZZZZ ZZZZ ZZZZ */ 922f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_X8_Z24, /* xxxx xxxx ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ */ 932f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_Z24_X8, /* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ xxxx xxxx */ 942f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_Z32, /* ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ ZZZZ */ 952f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_S8, /* SSSS SSSS */ 962f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /*@}*/ 972f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary 982f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /** 992f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary * \name 8-bit/channel sRGB formats 1002f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary */ 1012f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /*@{*/ 1022f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_SRGB8, 1032f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_SRGBA8, 1042f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_SARGB8, 1052f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_SL8, 1062f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_SLA8, 1072f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_SRGB_DXT1, 1082f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_SRGBA_DXT1, 1092f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_SRGBA_DXT3, 1102f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_SRGBA_DXT5, 1112f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /*@}*/ 1122f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary 1132f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /** 1142f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary * \name Compressed texture formats. 1152f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary */ 1162f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /*@{*/ 1172f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGB_FXT1, 1182f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGBA_FXT1, 1192f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGB_DXT1, 1202f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGBA_DXT1, 1212f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGBA_DXT3, 1222f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGBA_DXT5, 1232f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /*@}*/ 12472266fd1fe9bfe078239a9d9e85f479faee30281halcanary 1252f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /** 1262f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary * \name Floating point texture formats. 1272f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary */ 1282f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /*@{*/ 1292f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGBA_FLOAT32, 13072266fd1fe9bfe078239a9d9e85f479faee30281halcanary MESA_FORMAT_RGBA_FLOAT16, 13172266fd1fe9bfe078239a9d9e85f479faee30281halcanary MESA_FORMAT_RGB_FLOAT32, 1322f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGB_FLOAT16, 1332f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_ALPHA_FLOAT32, 1342f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_ALPHA_FLOAT16, 1352f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_LUMINANCE_FLOAT32, 1362f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_LUMINANCE_FLOAT16, 1372f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_LUMINANCE_ALPHA_FLOAT32, 1382f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_LUMINANCE_ALPHA_FLOAT16, 1392f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_INTENSITY_FLOAT32, 1402f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_INTENSITY_FLOAT16, 1412f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /*@}*/ 1422f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary 1432f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /** 1442f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary * \name Non-normalized signed integer formats. 1452f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary * XXX Note: these are just stand-ins for some better hardware 1462f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary * formats TBD such as BGRA or ARGB. 1472f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary */ 1482f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGBA_INT8, 1492f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGBA_INT16, 1502f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGBA_INT32, 1512f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary 1522f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /** 15372266fd1fe9bfe078239a9d9e85f479faee30281halcanary * \name Non-normalized unsigned integer formats. 15472266fd1fe9bfe078239a9d9e85f479faee30281halcanary */ 15572266fd1fe9bfe078239a9d9e85f479faee30281halcanary MESA_FORMAT_RGBA_UINT8, 1562f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGBA_UINT16, 1572f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_RGBA_UINT32, 1582f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary 1592f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /* msb <------ TEXEL BITS -----------> lsb */ 1602f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /* ---- ---- ---- ---- ---- ---- ---- ---- */ 1612f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /** 1622f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary * \name Signed fixed point texture formats. 1632f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary */ 1642f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /*@{*/ 1652f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_DUDV8, /* DUDU DUDU DVDV DVDV */ 1662f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_SIGNED_R8, /* RRRR RRRR */ 1672f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_SIGNED_RG88, /* RRRR RRRR GGGG GGGG */ 1682f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary MESA_FORMAT_SIGNED_RGBX8888, /* RRRR RRRR GGGG GGGG BBBB BBBB xxxx xxxx */ 169a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_SIGNED_RGBA8888, /* RRRR RRRR GGGG GGGG BBBB BBBB AAAA AAAA */ 17034422610ac22adceeabb66023120f27b96cae953halcanary MESA_FORMAT_SIGNED_RGBA8888_REV,/*AAAA AAAA BBBB BBBB GGGG GGGG RRRR RRRR */ 171a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_SIGNED_R_16, /* ushort[0]=R */ 172a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_SIGNED_RG_16, /* ushort[0]=R, ushort[1]=G */ 173a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_SIGNED_RGB_16, /* ushort[0]=R, ushort[1]=G, ushort[2]=B */ 174a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_SIGNED_RGBA_16, /* ... */ 175a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_RGBA_16, /* ... */ 1762f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary /*@}*/ 177385fe4d4b62d7d1dd76116dd570df3290a2f487bhalcanary 178a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary MESA_FORMAT_COUNT 179a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary} gl_format; 180a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary 181a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary 182a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanaryextern const char * 1832f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary_mesa_get_format_name(gl_format format); 1842f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanary 185a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanaryextern GLuint 186a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary_mesa_get_format_bytes(gl_format format); 187a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary 188385fe4d4b62d7d1dd76116dd570df3290a2f487bhalcanaryextern GLint 189a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary_mesa_get_format_bits(gl_format format, GLenum pname); 19034422610ac22adceeabb66023120f27b96cae953halcanary 19134422610ac22adceeabb66023120f27b96cae953halcanaryextern GLenum 19234422610ac22adceeabb66023120f27b96cae953halcanary_mesa_get_format_datatype(gl_format format); 19334422610ac22adceeabb66023120f27b96cae953halcanary 19434422610ac22adceeabb66023120f27b96cae953halcanaryextern GLenum 19534422610ac22adceeabb66023120f27b96cae953halcanary_mesa_get_format_base_format(gl_format format); 19634422610ac22adceeabb66023120f27b96cae953halcanary 19734422610ac22adceeabb66023120f27b96cae953halcanaryextern void 19834422610ac22adceeabb66023120f27b96cae953halcanary_mesa_get_format_block_size(gl_format format, GLuint *bw, GLuint *bh); 19934422610ac22adceeabb66023120f27b96cae953halcanary 20034422610ac22adceeabb66023120f27b96cae953halcanaryextern GLboolean 20134422610ac22adceeabb66023120f27b96cae953halcanary_mesa_is_format_compressed(gl_format format); 20234422610ac22adceeabb66023120f27b96cae953halcanary 20334422610ac22adceeabb66023120f27b96cae953halcanaryextern GLboolean 20434422610ac22adceeabb66023120f27b96cae953halcanary_mesa_is_format_packed_depth_stencil(gl_format format); 20534422610ac22adceeabb66023120f27b96cae953halcanary 20634422610ac22adceeabb66023120f27b96cae953halcanaryextern GLboolean 20734422610ac22adceeabb66023120f27b96cae953halcanary_mesa_is_format_integer_color(gl_format format); 20834422610ac22adceeabb66023120f27b96cae953halcanary 20934422610ac22adceeabb66023120f27b96cae953halcanaryextern GLenum 21034422610ac22adceeabb66023120f27b96cae953halcanary_mesa_get_format_color_encoding(gl_format format); 21134422610ac22adceeabb66023120f27b96cae953halcanary 21234422610ac22adceeabb66023120f27b96cae953halcanaryextern GLuint 21334422610ac22adceeabb66023120f27b96cae953halcanary_mesa_format_image_size(gl_format format, GLsizei width, 21434422610ac22adceeabb66023120f27b96cae953halcanary GLsizei height, GLsizei depth); 21534422610ac22adceeabb66023120f27b96cae953halcanary 21634422610ac22adceeabb66023120f27b96cae953halcanaryextern uint64_t 21734422610ac22adceeabb66023120f27b96cae953halcanary_mesa_format_image_size64(gl_format format, GLsizei width, 21834422610ac22adceeabb66023120f27b96cae953halcanary GLsizei height, GLsizei depth); 219a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary 2202f7ebcb424cd1d1acf07478157f86b0a3eafd712halcanaryextern GLint 22172266fd1fe9bfe078239a9d9e85f479faee30281halcanary_mesa_format_row_stride(gl_format format, GLsizei width); 222a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary 22372266fd1fe9bfe078239a9d9e85f479faee30281halcanaryextern void 22472266fd1fe9bfe078239a9d9e85f479faee30281halcanary_mesa_format_to_type_and_comps(gl_format format, 22572266fd1fe9bfe078239a9d9e85f479faee30281halcanary GLenum *datatype, GLuint *comps); 226a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary 227a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanaryextern void 22837c46cad21632cfc1411b08d73af37a1fffe2944halcanary_mesa_test_formats(void); 22937c46cad21632cfc1411b08d73af37a1fffe2944halcanary 230a43b41538ad6af0f2b7742b4ade8265d344b9d64halcanary#endif /* FORMATS_H */ 23137c46cad21632cfc1411b08d73af37a1fffe2944halcanary