Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1.  
  2. /*
  3.  * Mesa 3-D graphics library
  4.  *
  5.  * Copyright (c) 2014 Intel Corporation
  6.  *
  7.  * Permission is hereby granted, free of charge, to any person obtaining a
  8.  * copy of this software and associated documentation files (the "Software"),
  9.  * to deal in the Software without restriction, including without limitation
  10.  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
  11.  * and/or sell copies of the Software, and to permit persons to whom the
  12.  * Software is furnished to do so, subject to the following conditions:
  13.  *
  14.  * The above copyright notice and this permission notice shall be included
  15.  * in all copies or substantial portions of the Software.
  16.  *
  17.  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
  18.  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  19.  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
  20.  * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
  21.  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
  22.  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
  23.  * OTHER DEALINGS IN THE SOFTWARE.
  24.  */
  25.  
  26.  /*
  27.   * This file is AUTOGENERATED by format_info.py.  Do not edit it
  28.   * manually or commit it into version control.
  29.   */
  30.  
  31. static struct gl_format_info format_info[MESA_FORMAT_COUNT] =
  32. {
  33.  
  34.    {
  35.       MESA_FORMAT_NONE,
  36.       "MESA_FORMAT_NONE",
  37.       MESA_FORMAT_LAYOUT_OTHER,
  38.       GL_NONE,
  39.       GL_NONE,
  40.       0, 0, 0, 0,
  41.       0, 0, 0, 0,
  42.       1, 1, 1,
  43.       { 4, 4, 4, 5 },
  44.       0,
  45.    },
  46.    {
  47.       MESA_FORMAT_A8B8G8R8_UNORM,
  48.       "MESA_FORMAT_A8B8G8R8_UNORM",
  49.       MESA_FORMAT_LAYOUT_PACKED,
  50.       GL_RGBA,
  51.       GL_UNSIGNED_NORMALIZED,
  52.       8, 8, 8, 8,
  53.       0, 0, 0, 0,
  54.       1, 1, 4,
  55.       { 3, 2, 1, 0 },
  56.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 3, 2, 1, 0),
  57.    },
  58.    {
  59.       MESA_FORMAT_X8B8G8R8_UNORM,
  60.       "MESA_FORMAT_X8B8G8R8_UNORM",
  61.       MESA_FORMAT_LAYOUT_PACKED,
  62.       GL_RGB,
  63.       GL_UNSIGNED_NORMALIZED,
  64.       8, 8, 8, 0,
  65.       0, 0, 0, 0,
  66.       1, 1, 4,
  67.       { 3, 2, 1, 5 },
  68.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 3, 2, 1, 5),
  69.    },
  70.    {
  71.       MESA_FORMAT_R8G8B8A8_UNORM,
  72.       "MESA_FORMAT_R8G8B8A8_UNORM",
  73.       MESA_FORMAT_LAYOUT_PACKED,
  74.       GL_RGBA,
  75.       GL_UNSIGNED_NORMALIZED,
  76.       8, 8, 8, 8,
  77.       0, 0, 0, 0,
  78.       1, 1, 4,
  79.       { 0, 1, 2, 3 },
  80.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 0, 1, 2, 3),
  81.    },
  82.    {
  83.       MESA_FORMAT_R8G8B8X8_UNORM,
  84.       "MESA_FORMAT_R8G8B8X8_UNORM",
  85.       MESA_FORMAT_LAYOUT_PACKED,
  86.       GL_RGB,
  87.       GL_UNSIGNED_NORMALIZED,
  88.       8, 8, 8, 0,
  89.       0, 0, 0, 0,
  90.       1, 1, 4,
  91.       { 0, 1, 2, 5 },
  92.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 0, 1, 2, 5),
  93.    },
  94.    {
  95.       MESA_FORMAT_B8G8R8A8_UNORM,
  96.       "MESA_FORMAT_B8G8R8A8_UNORM",
  97.       MESA_FORMAT_LAYOUT_PACKED,
  98.       GL_RGBA,
  99.       GL_UNSIGNED_NORMALIZED,
  100.       8, 8, 8, 8,
  101.       0, 0, 0, 0,
  102.       1, 1, 4,
  103.       { 2, 1, 0, 3 },
  104.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 2, 1, 0, 3),
  105.    },
  106.    {
  107.       MESA_FORMAT_B8G8R8X8_UNORM,
  108.       "MESA_FORMAT_B8G8R8X8_UNORM",
  109.       MESA_FORMAT_LAYOUT_PACKED,
  110.       GL_RGB,
  111.       GL_UNSIGNED_NORMALIZED,
  112.       8, 8, 8, 0,
  113.       0, 0, 0, 0,
  114.       1, 1, 4,
  115.       { 2, 1, 0, 5 },
  116.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 2, 1, 0, 5),
  117.    },
  118.    {
  119.       MESA_FORMAT_A8R8G8B8_UNORM,
  120.       "MESA_FORMAT_A8R8G8B8_UNORM",
  121.       MESA_FORMAT_LAYOUT_PACKED,
  122.       GL_RGBA,
  123.       GL_UNSIGNED_NORMALIZED,
  124.       8, 8, 8, 8,
  125.       0, 0, 0, 0,
  126.       1, 1, 4,
  127.       { 1, 2, 3, 0 },
  128.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 1, 2, 3, 0),
  129.    },
  130.    {
  131.       MESA_FORMAT_X8R8G8B8_UNORM,
  132.       "MESA_FORMAT_X8R8G8B8_UNORM",
  133.       MESA_FORMAT_LAYOUT_PACKED,
  134.       GL_RGB,
  135.       GL_UNSIGNED_NORMALIZED,
  136.       8, 8, 8, 0,
  137.       0, 0, 0, 0,
  138.       1, 1, 4,
  139.       { 1, 2, 3, 5 },
  140.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 1, 2, 3, 5),
  141.    },
  142.    {
  143.       MESA_FORMAT_L16A16_UNORM,
  144.       "MESA_FORMAT_L16A16_UNORM",
  145.       MESA_FORMAT_LAYOUT_PACKED,
  146.       GL_LUMINANCE_ALPHA,
  147.       GL_UNSIGNED_NORMALIZED,
  148.       0, 0, 0, 16,
  149.       16, 0, 0, 0,
  150.       1, 1, 4,
  151.       { 0, 0, 0, 1 },
  152.       MESA_ARRAY_FORMAT(2, 0, 0, 1, 2, 0, 0, 0, 1),
  153.    },
  154.    {
  155.       MESA_FORMAT_A16L16_UNORM,
  156.       "MESA_FORMAT_A16L16_UNORM",
  157.       MESA_FORMAT_LAYOUT_PACKED,
  158.       GL_LUMINANCE_ALPHA,
  159.       GL_UNSIGNED_NORMALIZED,
  160.       0, 0, 0, 16,
  161.       16, 0, 0, 0,
  162.       1, 1, 4,
  163.       { 1, 1, 1, 0 },
  164.       MESA_ARRAY_FORMAT(2, 0, 0, 1, 2, 1, 1, 1, 0),
  165.    },
  166.    {
  167.       MESA_FORMAT_B5G6R5_UNORM,
  168.       "MESA_FORMAT_B5G6R5_UNORM",
  169.       MESA_FORMAT_LAYOUT_PACKED,
  170.       GL_RGB,
  171.       GL_UNSIGNED_NORMALIZED,
  172.       5, 6, 5, 0,
  173.       0, 0, 0, 0,
  174.       1, 1, 2,
  175.       { 2, 1, 0, 5 },
  176.       0,
  177.    },
  178.    {
  179.       MESA_FORMAT_R5G6B5_UNORM,
  180.       "MESA_FORMAT_R5G6B5_UNORM",
  181.       MESA_FORMAT_LAYOUT_PACKED,
  182.       GL_RGB,
  183.       GL_UNSIGNED_NORMALIZED,
  184.       5, 6, 5, 0,
  185.       0, 0, 0, 0,
  186.       1, 1, 2,
  187.       { 0, 1, 2, 5 },
  188.       0,
  189.    },
  190.    {
  191.       MESA_FORMAT_B4G4R4A4_UNORM,
  192.       "MESA_FORMAT_B4G4R4A4_UNORM",
  193.       MESA_FORMAT_LAYOUT_PACKED,
  194.       GL_RGBA,
  195.       GL_UNSIGNED_NORMALIZED,
  196.       4, 4, 4, 4,
  197.       0, 0, 0, 0,
  198.       1, 1, 2,
  199.       { 2, 1, 0, 3 },
  200.       0,
  201.    },
  202.    {
  203.       MESA_FORMAT_B4G4R4X4_UNORM,
  204.       "MESA_FORMAT_B4G4R4X4_UNORM",
  205.       MESA_FORMAT_LAYOUT_PACKED,
  206.       GL_RGB,
  207.       GL_UNSIGNED_NORMALIZED,
  208.       4, 4, 4, 0,
  209.       0, 0, 0, 0,
  210.       1, 1, 2,
  211.       { 2, 1, 0, 5 },
  212.       0,
  213.    },
  214.    {
  215.       MESA_FORMAT_A4R4G4B4_UNORM,
  216.       "MESA_FORMAT_A4R4G4B4_UNORM",
  217.       MESA_FORMAT_LAYOUT_PACKED,
  218.       GL_RGBA,
  219.       GL_UNSIGNED_NORMALIZED,
  220.       4, 4, 4, 4,
  221.       0, 0, 0, 0,
  222.       1, 1, 2,
  223.       { 1, 2, 3, 0 },
  224.       0,
  225.    },
  226.    {
  227.       MESA_FORMAT_A1B5G5R5_UNORM,
  228.       "MESA_FORMAT_A1B5G5R5_UNORM",
  229.       MESA_FORMAT_LAYOUT_PACKED,
  230.       GL_RGBA,
  231.       GL_UNSIGNED_NORMALIZED,
  232.       5, 5, 5, 1,
  233.       0, 0, 0, 0,
  234.       1, 1, 2,
  235.       { 3, 2, 1, 0 },
  236.       0,
  237.    },
  238.    {
  239.       MESA_FORMAT_B5G5R5A1_UNORM,
  240.       "MESA_FORMAT_B5G5R5A1_UNORM",
  241.       MESA_FORMAT_LAYOUT_PACKED,
  242.       GL_RGBA,
  243.       GL_UNSIGNED_NORMALIZED,
  244.       5, 5, 5, 1,
  245.       0, 0, 0, 0,
  246.       1, 1, 2,
  247.       { 2, 1, 0, 3 },
  248.       0,
  249.    },
  250.    {
  251.       MESA_FORMAT_B5G5R5X1_UNORM,
  252.       "MESA_FORMAT_B5G5R5X1_UNORM",
  253.       MESA_FORMAT_LAYOUT_PACKED,
  254.       GL_RGB,
  255.       GL_UNSIGNED_NORMALIZED,
  256.       5, 5, 5, 0,
  257.       0, 0, 0, 0,
  258.       1, 1, 2,
  259.       { 2, 1, 0, 5 },
  260.       0,
  261.    },
  262.    {
  263.       MESA_FORMAT_A1R5G5B5_UNORM,
  264.       "MESA_FORMAT_A1R5G5B5_UNORM",
  265.       MESA_FORMAT_LAYOUT_PACKED,
  266.       GL_RGBA,
  267.       GL_UNSIGNED_NORMALIZED,
  268.       5, 5, 5, 1,
  269.       0, 0, 0, 0,
  270.       1, 1, 2,
  271.       { 1, 2, 3, 0 },
  272.       0,
  273.    },
  274.    {
  275.       MESA_FORMAT_L8A8_UNORM,
  276.       "MESA_FORMAT_L8A8_UNORM",
  277.       MESA_FORMAT_LAYOUT_PACKED,
  278.       GL_LUMINANCE_ALPHA,
  279.       GL_UNSIGNED_NORMALIZED,
  280.       0, 0, 0, 8,
  281.       8, 0, 0, 0,
  282.       1, 1, 2,
  283.       { 0, 0, 0, 1 },
  284.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 2, 0, 0, 0, 1),
  285.    },
  286.    {
  287.       MESA_FORMAT_A8L8_UNORM,
  288.       "MESA_FORMAT_A8L8_UNORM",
  289.       MESA_FORMAT_LAYOUT_PACKED,
  290.       GL_LUMINANCE_ALPHA,
  291.       GL_UNSIGNED_NORMALIZED,
  292.       0, 0, 0, 8,
  293.       8, 0, 0, 0,
  294.       1, 1, 2,
  295.       { 1, 1, 1, 0 },
  296.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 2, 1, 1, 1, 0),
  297.    },
  298.    {
  299.       MESA_FORMAT_R8G8_UNORM,
  300.       "MESA_FORMAT_R8G8_UNORM",
  301.       MESA_FORMAT_LAYOUT_PACKED,
  302.       GL_RG,
  303.       GL_UNSIGNED_NORMALIZED,
  304.       8, 8, 0, 0,
  305.       0, 0, 0, 0,
  306.       1, 1, 2,
  307.       { 0, 1, 4, 5 },
  308.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 2, 0, 1, 4, 5),
  309.    },
  310.    {
  311.       MESA_FORMAT_G8R8_UNORM,
  312.       "MESA_FORMAT_G8R8_UNORM",
  313.       MESA_FORMAT_LAYOUT_PACKED,
  314.       GL_RG,
  315.       GL_UNSIGNED_NORMALIZED,
  316.       8, 8, 0, 0,
  317.       0, 0, 0, 0,
  318.       1, 1, 2,
  319.       { 1, 0, 4, 5 },
  320.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 2, 1, 0, 4, 5),
  321.    },
  322.    {
  323.       MESA_FORMAT_L4A4_UNORM,
  324.       "MESA_FORMAT_L4A4_UNORM",
  325.       MESA_FORMAT_LAYOUT_PACKED,
  326.       GL_LUMINANCE_ALPHA,
  327.       GL_UNSIGNED_NORMALIZED,
  328.       0, 0, 0, 4,
  329.       4, 0, 0, 0,
  330.       1, 1, 1,
  331.       { 0, 0, 0, 1 },
  332.       0,
  333.    },
  334.    {
  335.       MESA_FORMAT_B2G3R3_UNORM,
  336.       "MESA_FORMAT_B2G3R3_UNORM",
  337.       MESA_FORMAT_LAYOUT_PACKED,
  338.       GL_RGB,
  339.       GL_UNSIGNED_NORMALIZED,
  340.       3, 3, 2, 0,
  341.       0, 0, 0, 0,
  342.       1, 1, 1,
  343.       { 2, 1, 0, 5 },
  344.       0,
  345.    },
  346.    {
  347.       MESA_FORMAT_R16G16_UNORM,
  348.       "MESA_FORMAT_R16G16_UNORM",
  349.       MESA_FORMAT_LAYOUT_PACKED,
  350.       GL_RG,
  351.       GL_UNSIGNED_NORMALIZED,
  352.       16, 16, 0, 0,
  353.       0, 0, 0, 0,
  354.       1, 1, 4,
  355.       { 0, 1, 4, 5 },
  356.       MESA_ARRAY_FORMAT(2, 0, 0, 1, 2, 0, 1, 4, 5),
  357.    },
  358.    {
  359.       MESA_FORMAT_G16R16_UNORM,
  360.       "MESA_FORMAT_G16R16_UNORM",
  361.       MESA_FORMAT_LAYOUT_PACKED,
  362.       GL_RG,
  363.       GL_UNSIGNED_NORMALIZED,
  364.       16, 16, 0, 0,
  365.       0, 0, 0, 0,
  366.       1, 1, 4,
  367.       { 1, 0, 4, 5 },
  368.       MESA_ARRAY_FORMAT(2, 0, 0, 1, 2, 1, 0, 4, 5),
  369.    },
  370.    {
  371.       MESA_FORMAT_B10G10R10A2_UNORM,
  372.       "MESA_FORMAT_B10G10R10A2_UNORM",
  373.       MESA_FORMAT_LAYOUT_PACKED,
  374.       GL_RGBA,
  375.       GL_UNSIGNED_NORMALIZED,
  376.       10, 10, 10, 2,
  377.       0, 0, 0, 0,
  378.       1, 1, 4,
  379.       { 2, 1, 0, 3 },
  380.       0,
  381.    },
  382.    {
  383.       MESA_FORMAT_B10G10R10X2_UNORM,
  384.       "MESA_FORMAT_B10G10R10X2_UNORM",
  385.       MESA_FORMAT_LAYOUT_PACKED,
  386.       GL_RGB,
  387.       GL_UNSIGNED_NORMALIZED,
  388.       10, 10, 10, 0,
  389.       0, 0, 0, 0,
  390.       1, 1, 4,
  391.       { 2, 1, 0, 5 },
  392.       0,
  393.    },
  394.    {
  395.       MESA_FORMAT_R10G10B10A2_UNORM,
  396.       "MESA_FORMAT_R10G10B10A2_UNORM",
  397.       MESA_FORMAT_LAYOUT_PACKED,
  398.       GL_RGBA,
  399.       GL_UNSIGNED_NORMALIZED,
  400.       10, 10, 10, 2,
  401.       0, 0, 0, 0,
  402.       1, 1, 4,
  403.       { 0, 1, 2, 3 },
  404.       0,
  405.    },
  406.    {
  407.       MESA_FORMAT_R10G10B10X2_UNORM,
  408.       "MESA_FORMAT_R10G10B10X2_UNORM",
  409.       MESA_FORMAT_LAYOUT_PACKED,
  410.       GL_RGB,
  411.       GL_UNSIGNED_NORMALIZED,
  412.       10, 10, 10, 0,
  413.       0, 0, 0, 0,
  414.       1, 1, 4,
  415.       { 0, 1, 2, 5 },
  416.       0,
  417.    },
  418.    {
  419.       MESA_FORMAT_S8_UINT_Z24_UNORM,
  420.       "MESA_FORMAT_S8_UINT_Z24_UNORM",
  421.       MESA_FORMAT_LAYOUT_PACKED,
  422.       GL_DEPTH_STENCIL,
  423.       GL_UNSIGNED_NORMALIZED,
  424.       0, 0, 0, 0,
  425.       0, 0, 24, 8,
  426.       1, 1, 4,
  427.       { 0, 1, 6, 6 },
  428.       0,
  429.    },
  430.    {
  431.       MESA_FORMAT_X8_UINT_Z24_UNORM,
  432.       "MESA_FORMAT_X8_UINT_Z24_UNORM",
  433.       MESA_FORMAT_LAYOUT_PACKED,
  434.       GL_DEPTH_COMPONENT,
  435.       GL_UNSIGNED_NORMALIZED,
  436.       0, 0, 0, 0,
  437.       0, 0, 24, 0,
  438.       1, 1, 4,
  439.       { 0, 6, 6, 6 },
  440.       MESA_ARRAY_FORMAT(3, 0, 0, 1, 2, 0, 6, 6, 6),
  441.    },
  442.    {
  443.       MESA_FORMAT_Z24_UNORM_S8_UINT,
  444.       "MESA_FORMAT_Z24_UNORM_S8_UINT",
  445.       MESA_FORMAT_LAYOUT_PACKED,
  446.       GL_DEPTH_STENCIL,
  447.       GL_UNSIGNED_NORMALIZED,
  448.       0, 0, 0, 0,
  449.       0, 0, 24, 8,
  450.       1, 1, 4,
  451.       { 1, 0, 6, 6 },
  452.       0,
  453.    },
  454.    {
  455.       MESA_FORMAT_Z24_UNORM_X8_UINT,
  456.       "MESA_FORMAT_Z24_UNORM_X8_UINT",
  457.       MESA_FORMAT_LAYOUT_PACKED,
  458.       GL_DEPTH_COMPONENT,
  459.       GL_UNSIGNED_NORMALIZED,
  460.       0, 0, 0, 0,
  461.       0, 0, 24, 0,
  462.       1, 1, 4,
  463.       { 1, 6, 6, 6 },
  464.       MESA_ARRAY_FORMAT(3, 0, 0, 1, 2, 1, 6, 6, 6),
  465.    },
  466.    {
  467.       MESA_FORMAT_R3G3B2_UNORM,
  468.       "MESA_FORMAT_R3G3B2_UNORM",
  469.       MESA_FORMAT_LAYOUT_PACKED,
  470.       GL_RGB,
  471.       GL_UNSIGNED_NORMALIZED,
  472.       3, 3, 2, 0,
  473.       0, 0, 0, 0,
  474.       1, 1, 1,
  475.       { 0, 1, 2, 5 },
  476.       0,
  477.    },
  478.    {
  479.       MESA_FORMAT_A4B4G4R4_UNORM,
  480.       "MESA_FORMAT_A4B4G4R4_UNORM",
  481.       MESA_FORMAT_LAYOUT_PACKED,
  482.       GL_RGBA,
  483.       GL_UNSIGNED_NORMALIZED,
  484.       4, 4, 4, 4,
  485.       0, 0, 0, 0,
  486.       1, 1, 2,
  487.       { 3, 2, 1, 0 },
  488.       0,
  489.    },
  490.    {
  491.       MESA_FORMAT_R4G4B4A4_UNORM,
  492.       "MESA_FORMAT_R4G4B4A4_UNORM",
  493.       MESA_FORMAT_LAYOUT_PACKED,
  494.       GL_RGBA,
  495.       GL_UNSIGNED_NORMALIZED,
  496.       4, 4, 4, 4,
  497.       0, 0, 0, 0,
  498.       1, 1, 2,
  499.       { 0, 1, 2, 3 },
  500.       0,
  501.    },
  502.    {
  503.       MESA_FORMAT_R5G5B5A1_UNORM,
  504.       "MESA_FORMAT_R5G5B5A1_UNORM",
  505.       MESA_FORMAT_LAYOUT_PACKED,
  506.       GL_RGBA,
  507.       GL_UNSIGNED_NORMALIZED,
  508.       5, 5, 5, 1,
  509.       0, 0, 0, 0,
  510.       1, 1, 2,
  511.       { 0, 1, 2, 3 },
  512.       0,
  513.    },
  514.    {
  515.       MESA_FORMAT_A2B10G10R10_UNORM,
  516.       "MESA_FORMAT_A2B10G10R10_UNORM",
  517.       MESA_FORMAT_LAYOUT_PACKED,
  518.       GL_RGBA,
  519.       GL_UNSIGNED_NORMALIZED,
  520.       10, 10, 10, 2,
  521.       0, 0, 0, 0,
  522.       1, 1, 4,
  523.       { 3, 2, 1, 0 },
  524.       0,
  525.    },
  526.    {
  527.       MESA_FORMAT_A2R10G10B10_UNORM,
  528.       "MESA_FORMAT_A2R10G10B10_UNORM",
  529.       MESA_FORMAT_LAYOUT_PACKED,
  530.       GL_RGBA,
  531.       GL_UNSIGNED_NORMALIZED,
  532.       10, 10, 10, 2,
  533.       0, 0, 0, 0,
  534.       1, 1, 4,
  535.       { 1, 2, 3, 0 },
  536.       0,
  537.    },
  538.    {
  539.       MESA_FORMAT_YCBCR,
  540.       "MESA_FORMAT_YCBCR",
  541.       MESA_FORMAT_LAYOUT_OTHER,
  542.       GL_YCBCR_MESA,
  543.       GL_UNSIGNED_NORMALIZED,
  544.       0, 0, 0, 0,
  545.       0, 0, 0, 0,
  546.       1, 1, 2,
  547.       { 0, 1, 2, 3 },
  548.       0,
  549.    },
  550.    {
  551.       MESA_FORMAT_YCBCR_REV,
  552.       "MESA_FORMAT_YCBCR_REV",
  553.       MESA_FORMAT_LAYOUT_OTHER,
  554.       GL_YCBCR_MESA,
  555.       GL_UNSIGNED_NORMALIZED,
  556.       0, 0, 0, 0,
  557.       0, 0, 0, 0,
  558.       1, 1, 2,
  559.       { 0, 1, 2, 3 },
  560.       0,
  561.    },
  562.    {
  563.       MESA_FORMAT_A_UNORM8,
  564.       "MESA_FORMAT_A_UNORM8",
  565.       MESA_FORMAT_LAYOUT_ARRAY,
  566.       GL_ALPHA,
  567.       GL_UNSIGNED_NORMALIZED,
  568.       0, 0, 0, 8,
  569.       0, 0, 0, 0,
  570.       1, 1, 1,
  571.       { 4, 4, 4, 0 },
  572.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 1, 4, 4, 4, 0),
  573.    },
  574.    {
  575.       MESA_FORMAT_A_UNORM16,
  576.       "MESA_FORMAT_A_UNORM16",
  577.       MESA_FORMAT_LAYOUT_ARRAY,
  578.       GL_ALPHA,
  579.       GL_UNSIGNED_NORMALIZED,
  580.       0, 0, 0, 16,
  581.       0, 0, 0, 0,
  582.       1, 1, 2,
  583.       { 4, 4, 4, 0 },
  584.       MESA_ARRAY_FORMAT(2, 0, 0, 1, 1, 4, 4, 4, 0),
  585.    },
  586.    {
  587.       MESA_FORMAT_L_UNORM8,
  588.       "MESA_FORMAT_L_UNORM8",
  589.       MESA_FORMAT_LAYOUT_ARRAY,
  590.       GL_LUMINANCE,
  591.       GL_UNSIGNED_NORMALIZED,
  592.       0, 0, 0, 0,
  593.       8, 0, 0, 0,
  594.       1, 1, 1,
  595.       { 0, 0, 0, 5 },
  596.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 1, 0, 0, 0, 5),
  597.    },
  598.    {
  599.       MESA_FORMAT_L_UNORM16,
  600.       "MESA_FORMAT_L_UNORM16",
  601.       MESA_FORMAT_LAYOUT_ARRAY,
  602.       GL_LUMINANCE,
  603.       GL_UNSIGNED_NORMALIZED,
  604.       0, 0, 0, 0,
  605.       16, 0, 0, 0,
  606.       1, 1, 2,
  607.       { 0, 0, 0, 5 },
  608.       MESA_ARRAY_FORMAT(2, 0, 0, 1, 1, 0, 0, 0, 5),
  609.    },
  610.    {
  611.       MESA_FORMAT_I_UNORM8,
  612.       "MESA_FORMAT_I_UNORM8",
  613.       MESA_FORMAT_LAYOUT_ARRAY,
  614.       GL_INTENSITY,
  615.       GL_UNSIGNED_NORMALIZED,
  616.       0, 0, 0, 0,
  617.       0, 8, 0, 0,
  618.       1, 1, 1,
  619.       { 0, 0, 0, 0 },
  620.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 1, 0, 0, 0, 0),
  621.    },
  622.    {
  623.       MESA_FORMAT_I_UNORM16,
  624.       "MESA_FORMAT_I_UNORM16",
  625.       MESA_FORMAT_LAYOUT_ARRAY,
  626.       GL_INTENSITY,
  627.       GL_UNSIGNED_NORMALIZED,
  628.       0, 0, 0, 0,
  629.       0, 16, 0, 0,
  630.       1, 1, 2,
  631.       { 0, 0, 0, 0 },
  632.       MESA_ARRAY_FORMAT(2, 0, 0, 1, 1, 0, 0, 0, 0),
  633.    },
  634.    {
  635.       MESA_FORMAT_R_UNORM8,
  636.       "MESA_FORMAT_R_UNORM8",
  637.       MESA_FORMAT_LAYOUT_ARRAY,
  638.       GL_RED,
  639.       GL_UNSIGNED_NORMALIZED,
  640.       8, 0, 0, 0,
  641.       0, 0, 0, 0,
  642.       1, 1, 1,
  643.       { 0, 4, 4, 5 },
  644.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 1, 0, 4, 4, 5),
  645.    },
  646.    {
  647.       MESA_FORMAT_R_UNORM16,
  648.       "MESA_FORMAT_R_UNORM16",
  649.       MESA_FORMAT_LAYOUT_ARRAY,
  650.       GL_RED,
  651.       GL_UNSIGNED_NORMALIZED,
  652.       16, 0, 0, 0,
  653.       0, 0, 0, 0,
  654.       1, 1, 2,
  655.       { 0, 4, 4, 5 },
  656.       MESA_ARRAY_FORMAT(2, 0, 0, 1, 1, 0, 4, 4, 5),
  657.    },
  658.    {
  659.       MESA_FORMAT_BGR_UNORM8,
  660.       "MESA_FORMAT_BGR_UNORM8",
  661.       MESA_FORMAT_LAYOUT_ARRAY,
  662.       GL_RGB,
  663.       GL_UNSIGNED_NORMALIZED,
  664.       8, 8, 8, 0,
  665.       0, 0, 0, 0,
  666.       1, 1, 3,
  667.       { 2, 1, 0, 5 },
  668.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 3, 2, 1, 0, 5),
  669.    },
  670.    {
  671.       MESA_FORMAT_RGB_UNORM8,
  672.       "MESA_FORMAT_RGB_UNORM8",
  673.       MESA_FORMAT_LAYOUT_ARRAY,
  674.       GL_RGB,
  675.       GL_UNSIGNED_NORMALIZED,
  676.       8, 8, 8, 0,
  677.       0, 0, 0, 0,
  678.       1, 1, 3,
  679.       { 0, 1, 2, 5 },
  680.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 3, 0, 1, 2, 5),
  681.    },
  682.    {
  683.       MESA_FORMAT_RGBA_UNORM16,
  684.       "MESA_FORMAT_RGBA_UNORM16",
  685.       MESA_FORMAT_LAYOUT_ARRAY,
  686.       GL_RGBA,
  687.       GL_UNSIGNED_NORMALIZED,
  688.       16, 16, 16, 16,
  689.       0, 0, 0, 0,
  690.       1, 1, 8,
  691.       { 0, 1, 2, 3 },
  692.       MESA_ARRAY_FORMAT(2, 0, 0, 1, 4, 0, 1, 2, 3),
  693.    },
  694.    {
  695.       MESA_FORMAT_RGBX_UNORM16,
  696.       "MESA_FORMAT_RGBX_UNORM16",
  697.       MESA_FORMAT_LAYOUT_ARRAY,
  698.       GL_RGB,
  699.       GL_UNSIGNED_NORMALIZED,
  700.       16, 16, 16, 0,
  701.       0, 0, 0, 0,
  702.       1, 1, 8,
  703.       { 0, 1, 2, 5 },
  704.       MESA_ARRAY_FORMAT(2, 0, 0, 1, 4, 0, 1, 2, 5),
  705.    },
  706.    {
  707.       MESA_FORMAT_Z_UNORM16,
  708.       "MESA_FORMAT_Z_UNORM16",
  709.       MESA_FORMAT_LAYOUT_ARRAY,
  710.       GL_DEPTH_COMPONENT,
  711.       GL_UNSIGNED_NORMALIZED,
  712.       0, 0, 0, 0,
  713.       0, 0, 16, 0,
  714.       1, 1, 2,
  715.       { 0, 6, 6, 6 },
  716.       MESA_ARRAY_FORMAT(2, 0, 0, 1, 1, 0, 6, 6, 6),
  717.    },
  718.    {
  719.       MESA_FORMAT_Z_UNORM32,
  720.       "MESA_FORMAT_Z_UNORM32",
  721.       MESA_FORMAT_LAYOUT_ARRAY,
  722.       GL_DEPTH_COMPONENT,
  723.       GL_UNSIGNED_NORMALIZED,
  724.       0, 0, 0, 0,
  725.       0, 0, 32, 0,
  726.       1, 1, 4,
  727.       { 0, 6, 6, 6 },
  728.       MESA_ARRAY_FORMAT(4, 0, 0, 1, 1, 0, 6, 6, 6),
  729.    },
  730.    {
  731.       MESA_FORMAT_S_UINT8,
  732.       "MESA_FORMAT_S_UINT8",
  733.       MESA_FORMAT_LAYOUT_ARRAY,
  734.       GL_STENCIL_INDEX,
  735.       GL_UNSIGNED_INT,
  736.       0, 0, 0, 0,
  737.       0, 0, 0, 8,
  738.       1, 1, 1,
  739.       { 6, 0, 6, 6 },
  740.       MESA_ARRAY_FORMAT(1, 0, 0, 0, 1, 6, 0, 6, 6),
  741.    },
  742.    {
  743.       MESA_FORMAT_A8B8G8R8_SNORM,
  744.       "MESA_FORMAT_A8B8G8R8_SNORM",
  745.       MESA_FORMAT_LAYOUT_PACKED,
  746.       GL_RGBA,
  747.       GL_SIGNED_NORMALIZED,
  748.       8, 8, 8, 8,
  749.       0, 0, 0, 0,
  750.       1, 1, 4,
  751.       { 3, 2, 1, 0 },
  752.       MESA_ARRAY_FORMAT(1, 1, 0, 1, 4, 3, 2, 1, 0),
  753.    },
  754.    {
  755.       MESA_FORMAT_X8B8G8R8_SNORM,
  756.       "MESA_FORMAT_X8B8G8R8_SNORM",
  757.       MESA_FORMAT_LAYOUT_PACKED,
  758.       GL_RGB,
  759.       GL_SIGNED_NORMALIZED,
  760.       8, 8, 8, 0,
  761.       0, 0, 0, 0,
  762.       1, 1, 4,
  763.       { 3, 2, 1, 5 },
  764.       MESA_ARRAY_FORMAT(1, 1, 0, 1, 4, 3, 2, 1, 5),
  765.    },
  766.    {
  767.       MESA_FORMAT_R8G8B8A8_SNORM,
  768.       "MESA_FORMAT_R8G8B8A8_SNORM",
  769.       MESA_FORMAT_LAYOUT_PACKED,
  770.       GL_RGBA,
  771.       GL_SIGNED_NORMALIZED,
  772.       8, 8, 8, 8,
  773.       0, 0, 0, 0,
  774.       1, 1, 4,
  775.       { 0, 1, 2, 3 },
  776.       MESA_ARRAY_FORMAT(1, 1, 0, 1, 4, 0, 1, 2, 3),
  777.    },
  778.    {
  779.       MESA_FORMAT_R8G8B8X8_SNORM,
  780.       "MESA_FORMAT_R8G8B8X8_SNORM",
  781.       MESA_FORMAT_LAYOUT_PACKED,
  782.       GL_RGB,
  783.       GL_SIGNED_NORMALIZED,
  784.       8, 8, 8, 0,
  785.       0, 0, 0, 0,
  786.       1, 1, 4,
  787.       { 0, 1, 2, 5 },
  788.       MESA_ARRAY_FORMAT(1, 1, 0, 1, 4, 0, 1, 2, 5),
  789.    },
  790.    {
  791.       MESA_FORMAT_R16G16_SNORM,
  792.       "MESA_FORMAT_R16G16_SNORM",
  793.       MESA_FORMAT_LAYOUT_PACKED,
  794.       GL_RG,
  795.       GL_SIGNED_NORMALIZED,
  796.       16, 16, 0, 0,
  797.       0, 0, 0, 0,
  798.       1, 1, 4,
  799.       { 0, 1, 4, 5 },
  800.       MESA_ARRAY_FORMAT(2, 1, 0, 1, 2, 0, 1, 4, 5),
  801.    },
  802.    {
  803.       MESA_FORMAT_G16R16_SNORM,
  804.       "MESA_FORMAT_G16R16_SNORM",
  805.       MESA_FORMAT_LAYOUT_PACKED,
  806.       GL_RG,
  807.       GL_SIGNED_NORMALIZED,
  808.       16, 16, 0, 0,
  809.       0, 0, 0, 0,
  810.       1, 1, 4,
  811.       { 1, 0, 4, 5 },
  812.       MESA_ARRAY_FORMAT(2, 1, 0, 1, 2, 1, 0, 4, 5),
  813.    },
  814.    {
  815.       MESA_FORMAT_R8G8_SNORM,
  816.       "MESA_FORMAT_R8G8_SNORM",
  817.       MESA_FORMAT_LAYOUT_PACKED,
  818.       GL_RG,
  819.       GL_SIGNED_NORMALIZED,
  820.       8, 8, 0, 0,
  821.       0, 0, 0, 0,
  822.       1, 1, 2,
  823.       { 0, 1, 4, 5 },
  824.       MESA_ARRAY_FORMAT(1, 1, 0, 1, 2, 0, 1, 4, 5),
  825.    },
  826.    {
  827.       MESA_FORMAT_G8R8_SNORM,
  828.       "MESA_FORMAT_G8R8_SNORM",
  829.       MESA_FORMAT_LAYOUT_PACKED,
  830.       GL_RG,
  831.       GL_SIGNED_NORMALIZED,
  832.       8, 8, 0, 0,
  833.       0, 0, 0, 0,
  834.       1, 1, 2,
  835.       { 1, 0, 4, 5 },
  836.       MESA_ARRAY_FORMAT(1, 1, 0, 1, 2, 1, 0, 4, 5),
  837.    },
  838.    {
  839.       MESA_FORMAT_L8A8_SNORM,
  840.       "MESA_FORMAT_L8A8_SNORM",
  841.       MESA_FORMAT_LAYOUT_PACKED,
  842.       GL_LUMINANCE_ALPHA,
  843.       GL_SIGNED_NORMALIZED,
  844.       0, 0, 0, 8,
  845.       8, 0, 0, 0,
  846.       1, 1, 2,
  847.       { 0, 0, 0, 1 },
  848.       MESA_ARRAY_FORMAT(1, 1, 0, 1, 2, 0, 0, 0, 1),
  849.    },
  850.    {
  851.       MESA_FORMAT_A8L8_SNORM,
  852.       "MESA_FORMAT_A8L8_SNORM",
  853.       MESA_FORMAT_LAYOUT_PACKED,
  854.       GL_LUMINANCE_ALPHA,
  855.       GL_SIGNED_NORMALIZED,
  856.       0, 0, 0, 8,
  857.       8, 0, 0, 0,
  858.       1, 1, 2,
  859.       { 1, 1, 1, 0 },
  860.       MESA_ARRAY_FORMAT(1, 1, 0, 1, 2, 1, 1, 1, 0),
  861.    },
  862.    {
  863.       MESA_FORMAT_A_SNORM8,
  864.       "MESA_FORMAT_A_SNORM8",
  865.       MESA_FORMAT_LAYOUT_ARRAY,
  866.       GL_ALPHA,
  867.       GL_SIGNED_NORMALIZED,
  868.       0, 0, 0, 8,
  869.       0, 0, 0, 0,
  870.       1, 1, 1,
  871.       { 4, 4, 4, 0 },
  872.       MESA_ARRAY_FORMAT(1, 1, 0, 1, 1, 4, 4, 4, 0),
  873.    },
  874.    {
  875.       MESA_FORMAT_A_SNORM16,
  876.       "MESA_FORMAT_A_SNORM16",
  877.       MESA_FORMAT_LAYOUT_ARRAY,
  878.       GL_ALPHA,
  879.       GL_SIGNED_NORMALIZED,
  880.       0, 0, 0, 16,
  881.       0, 0, 0, 0,
  882.       1, 1, 2,
  883.       { 4, 4, 4, 0 },
  884.       MESA_ARRAY_FORMAT(2, 1, 0, 1, 1, 4, 4, 4, 0),
  885.    },
  886.    {
  887.       MESA_FORMAT_L_SNORM8,
  888.       "MESA_FORMAT_L_SNORM8",
  889.       MESA_FORMAT_LAYOUT_ARRAY,
  890.       GL_LUMINANCE,
  891.       GL_SIGNED_NORMALIZED,
  892.       0, 0, 0, 0,
  893.       8, 0, 0, 0,
  894.       1, 1, 1,
  895.       { 0, 0, 0, 5 },
  896.       MESA_ARRAY_FORMAT(1, 1, 0, 1, 1, 0, 0, 0, 5),
  897.    },
  898.    {
  899.       MESA_FORMAT_L_SNORM16,
  900.       "MESA_FORMAT_L_SNORM16",
  901.       MESA_FORMAT_LAYOUT_ARRAY,
  902.       GL_LUMINANCE,
  903.       GL_SIGNED_NORMALIZED,
  904.       0, 0, 0, 0,
  905.       16, 0, 0, 0,
  906.       1, 1, 2,
  907.       { 0, 0, 0, 5 },
  908.       MESA_ARRAY_FORMAT(2, 1, 0, 1, 1, 0, 0, 0, 5),
  909.    },
  910.    {
  911.       MESA_FORMAT_I_SNORM8,
  912.       "MESA_FORMAT_I_SNORM8",
  913.       MESA_FORMAT_LAYOUT_ARRAY,
  914.       GL_INTENSITY,
  915.       GL_SIGNED_NORMALIZED,
  916.       0, 0, 0, 0,
  917.       0, 8, 0, 0,
  918.       1, 1, 1,
  919.       { 0, 0, 0, 0 },
  920.       MESA_ARRAY_FORMAT(1, 1, 0, 1, 1, 0, 0, 0, 0),
  921.    },
  922.    {
  923.       MESA_FORMAT_I_SNORM16,
  924.       "MESA_FORMAT_I_SNORM16",
  925.       MESA_FORMAT_LAYOUT_ARRAY,
  926.       GL_INTENSITY,
  927.       GL_SIGNED_NORMALIZED,
  928.       0, 0, 0, 0,
  929.       0, 16, 0, 0,
  930.       1, 1, 2,
  931.       { 0, 0, 0, 0 },
  932.       MESA_ARRAY_FORMAT(2, 1, 0, 1, 1, 0, 0, 0, 0),
  933.    },
  934.    {
  935.       MESA_FORMAT_R_SNORM8,
  936.       "MESA_FORMAT_R_SNORM8",
  937.       MESA_FORMAT_LAYOUT_ARRAY,
  938.       GL_RED,
  939.       GL_SIGNED_NORMALIZED,
  940.       8, 0, 0, 0,
  941.       0, 0, 0, 0,
  942.       1, 1, 1,
  943.       { 0, 4, 4, 5 },
  944.       MESA_ARRAY_FORMAT(1, 1, 0, 1, 1, 0, 4, 4, 5),
  945.    },
  946.    {
  947.       MESA_FORMAT_R_SNORM16,
  948.       "MESA_FORMAT_R_SNORM16",
  949.       MESA_FORMAT_LAYOUT_ARRAY,
  950.       GL_RED,
  951.       GL_SIGNED_NORMALIZED,
  952.       16, 0, 0, 0,
  953.       0, 0, 0, 0,
  954.       1, 1, 2,
  955.       { 0, 4, 4, 5 },
  956.       MESA_ARRAY_FORMAT(2, 1, 0, 1, 1, 0, 4, 4, 5),
  957.    },
  958.    {
  959.       MESA_FORMAT_LA_SNORM16,
  960.       "MESA_FORMAT_LA_SNORM16",
  961.       MESA_FORMAT_LAYOUT_ARRAY,
  962.       GL_LUMINANCE_ALPHA,
  963.       GL_SIGNED_NORMALIZED,
  964.       0, 0, 0, 16,
  965.       16, 0, 0, 0,
  966.       1, 1, 4,
  967.       { 0, 0, 0, 1 },
  968.       MESA_ARRAY_FORMAT(2, 1, 0, 1, 2, 0, 0, 0, 1),
  969.    },
  970.    {
  971.       MESA_FORMAT_RGB_SNORM16,
  972.       "MESA_FORMAT_RGB_SNORM16",
  973.       MESA_FORMAT_LAYOUT_ARRAY,
  974.       GL_RGB,
  975.       GL_SIGNED_NORMALIZED,
  976.       16, 16, 16, 0,
  977.       0, 0, 0, 0,
  978.       1, 1, 6,
  979.       { 0, 1, 2, 5 },
  980.       MESA_ARRAY_FORMAT(2, 1, 0, 1, 3, 0, 1, 2, 5),
  981.    },
  982.    {
  983.       MESA_FORMAT_RGBA_SNORM16,
  984.       "MESA_FORMAT_RGBA_SNORM16",
  985.       MESA_FORMAT_LAYOUT_ARRAY,
  986.       GL_RGBA,
  987.       GL_SIGNED_NORMALIZED,
  988.       16, 16, 16, 16,
  989.       0, 0, 0, 0,
  990.       1, 1, 8,
  991.       { 0, 1, 2, 3 },
  992.       MESA_ARRAY_FORMAT(2, 1, 0, 1, 4, 0, 1, 2, 3),
  993.    },
  994.    {
  995.       MESA_FORMAT_RGBX_SNORM16,
  996.       "MESA_FORMAT_RGBX_SNORM16",
  997.       MESA_FORMAT_LAYOUT_ARRAY,
  998.       GL_RGB,
  999.       GL_SIGNED_NORMALIZED,
  1000.       16, 16, 16, 0,
  1001.       0, 0, 0, 0,
  1002.       1, 1, 8,
  1003.       { 0, 1, 2, 5 },
  1004.       MESA_ARRAY_FORMAT(2, 1, 0, 1, 4, 0, 1, 2, 5),
  1005.    },
  1006.    {
  1007.       MESA_FORMAT_A8B8G8R8_SRGB,
  1008.       "MESA_FORMAT_A8B8G8R8_SRGB",
  1009.       MESA_FORMAT_LAYOUT_PACKED,
  1010.       GL_RGBA,
  1011.       GL_UNSIGNED_NORMALIZED,
  1012.       8, 8, 8, 8,
  1013.       0, 0, 0, 0,
  1014.       1, 1, 4,
  1015.       { 3, 2, 1, 0 },
  1016.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 3, 2, 1, 0),
  1017.    },
  1018.    {
  1019.       MESA_FORMAT_B8G8R8A8_SRGB,
  1020.       "MESA_FORMAT_B8G8R8A8_SRGB",
  1021.       MESA_FORMAT_LAYOUT_PACKED,
  1022.       GL_RGBA,
  1023.       GL_UNSIGNED_NORMALIZED,
  1024.       8, 8, 8, 8,
  1025.       0, 0, 0, 0,
  1026.       1, 1, 4,
  1027.       { 2, 1, 0, 3 },
  1028.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 2, 1, 0, 3),
  1029.    },
  1030.    {
  1031.       MESA_FORMAT_A8R8G8B8_SRGB,
  1032.       "MESA_FORMAT_A8R8G8B8_SRGB",
  1033.       MESA_FORMAT_LAYOUT_PACKED,
  1034.       GL_RGBA,
  1035.       GL_UNSIGNED_NORMALIZED,
  1036.       8, 8, 8, 8,
  1037.       0, 0, 0, 0,
  1038.       1, 1, 4,
  1039.       { 1, 2, 3, 0 },
  1040.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 1, 2, 3, 0),
  1041.    },
  1042.    {
  1043.       MESA_FORMAT_B8G8R8X8_SRGB,
  1044.       "MESA_FORMAT_B8G8R8X8_SRGB",
  1045.       MESA_FORMAT_LAYOUT_PACKED,
  1046.       GL_RGB,
  1047.       GL_UNSIGNED_NORMALIZED,
  1048.       8, 8, 8, 0,
  1049.       0, 0, 0, 0,
  1050.       1, 1, 4,
  1051.       { 2, 1, 0, 5 },
  1052.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 2, 1, 0, 5),
  1053.    },
  1054.    {
  1055.       MESA_FORMAT_X8R8G8B8_SRGB,
  1056.       "MESA_FORMAT_X8R8G8B8_SRGB",
  1057.       MESA_FORMAT_LAYOUT_PACKED,
  1058.       GL_RGB,
  1059.       GL_UNSIGNED_NORMALIZED,
  1060.       8, 8, 8, 0,
  1061.       0, 0, 0, 0,
  1062.       1, 1, 4,
  1063.       { 1, 2, 3, 5 },
  1064.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 1, 2, 3, 5),
  1065.    },
  1066.    {
  1067.       MESA_FORMAT_R8G8B8A8_SRGB,
  1068.       "MESA_FORMAT_R8G8B8A8_SRGB",
  1069.       MESA_FORMAT_LAYOUT_PACKED,
  1070.       GL_RGBA,
  1071.       GL_UNSIGNED_NORMALIZED,
  1072.       8, 8, 8, 8,
  1073.       0, 0, 0, 0,
  1074.       1, 1, 4,
  1075.       { 0, 1, 2, 3 },
  1076.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 0, 1, 2, 3),
  1077.    },
  1078.    {
  1079.       MESA_FORMAT_R8G8B8X8_SRGB,
  1080.       "MESA_FORMAT_R8G8B8X8_SRGB",
  1081.       MESA_FORMAT_LAYOUT_PACKED,
  1082.       GL_RGB,
  1083.       GL_UNSIGNED_NORMALIZED,
  1084.       8, 8, 8, 0,
  1085.       0, 0, 0, 0,
  1086.       1, 1, 4,
  1087.       { 0, 1, 2, 5 },
  1088.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 0, 1, 2, 5),
  1089.    },
  1090.    {
  1091.       MESA_FORMAT_X8B8G8R8_SRGB,
  1092.       "MESA_FORMAT_X8B8G8R8_SRGB",
  1093.       MESA_FORMAT_LAYOUT_PACKED,
  1094.       GL_RGB,
  1095.       GL_UNSIGNED_NORMALIZED,
  1096.       8, 8, 8, 0,
  1097.       0, 0, 0, 0,
  1098.       1, 1, 4,
  1099.       { 3, 2, 1, 5 },
  1100.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 4, 3, 2, 1, 5),
  1101.    },
  1102.    {
  1103.       MESA_FORMAT_L8A8_SRGB,
  1104.       "MESA_FORMAT_L8A8_SRGB",
  1105.       MESA_FORMAT_LAYOUT_PACKED,
  1106.       GL_LUMINANCE_ALPHA,
  1107.       GL_UNSIGNED_NORMALIZED,
  1108.       0, 0, 0, 8,
  1109.       8, 0, 0, 0,
  1110.       1, 1, 2,
  1111.       { 0, 0, 0, 1 },
  1112.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 2, 0, 0, 0, 1),
  1113.    },
  1114.    {
  1115.       MESA_FORMAT_A8L8_SRGB,
  1116.       "MESA_FORMAT_A8L8_SRGB",
  1117.       MESA_FORMAT_LAYOUT_PACKED,
  1118.       GL_LUMINANCE_ALPHA,
  1119.       GL_UNSIGNED_NORMALIZED,
  1120.       0, 0, 0, 8,
  1121.       8, 0, 0, 0,
  1122.       1, 1, 2,
  1123.       { 1, 1, 1, 0 },
  1124.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 2, 1, 1, 1, 0),
  1125.    },
  1126.    {
  1127.       MESA_FORMAT_L_SRGB8,
  1128.       "MESA_FORMAT_L_SRGB8",
  1129.       MESA_FORMAT_LAYOUT_ARRAY,
  1130.       GL_LUMINANCE,
  1131.       GL_UNSIGNED_NORMALIZED,
  1132.       0, 0, 0, 0,
  1133.       8, 0, 0, 0,
  1134.       1, 1, 1,
  1135.       { 0, 0, 0, 5 },
  1136.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 1, 0, 0, 0, 5),
  1137.    },
  1138.    {
  1139.       MESA_FORMAT_BGR_SRGB8,
  1140.       "MESA_FORMAT_BGR_SRGB8",
  1141.       MESA_FORMAT_LAYOUT_ARRAY,
  1142.       GL_RGB,
  1143.       GL_UNSIGNED_NORMALIZED,
  1144.       8, 8, 8, 0,
  1145.       0, 0, 0, 0,
  1146.       1, 1, 3,
  1147.       { 2, 1, 0, 5 },
  1148.       MESA_ARRAY_FORMAT(1, 0, 0, 1, 3, 2, 1, 0, 5),
  1149.    },
  1150.    {
  1151.       MESA_FORMAT_R9G9B9E5_FLOAT,
  1152.       "MESA_FORMAT_R9G9B9E5_FLOAT",
  1153.       MESA_FORMAT_LAYOUT_OTHER,
  1154.       GL_RGB,
  1155.       GL_FLOAT,
  1156.       9, 9, 9, 0,
  1157.       0, 0, 0, 0,
  1158.       1, 1, 4,
  1159.       { 0, 1, 2, 5 },
  1160.       0,
  1161.    },
  1162.    {
  1163.       MESA_FORMAT_R11G11B10_FLOAT,
  1164.       "MESA_FORMAT_R11G11B10_FLOAT",
  1165.       MESA_FORMAT_LAYOUT_PACKED,
  1166.       GL_RGB,
  1167.       GL_FLOAT,
  1168.       11, 11, 10, 0,
  1169.       0, 0, 0, 0,
  1170.       1, 1, 4,
  1171.       { 0, 1, 2, 5 },
  1172.       0,
  1173.    },
  1174.    {
  1175.       MESA_FORMAT_Z32_FLOAT_S8X24_UINT,
  1176.       "MESA_FORMAT_Z32_FLOAT_S8X24_UINT",
  1177.       MESA_FORMAT_LAYOUT_PACKED,
  1178.       GL_DEPTH_STENCIL,
  1179.       GL_FLOAT,
  1180.       0, 0, 0, 0,
  1181.       0, 0, 32, 8,
  1182.       1, 1, 8,
  1183.       { 2, 0, 6, 6 },
  1184.       0,
  1185.    },
  1186.    {
  1187.       MESA_FORMAT_A_FLOAT16,
  1188.       "MESA_FORMAT_A_FLOAT16",
  1189.       MESA_FORMAT_LAYOUT_ARRAY,
  1190.       GL_ALPHA,
  1191.       GL_FLOAT,
  1192.       0, 0, 0, 16,
  1193.       0, 0, 0, 0,
  1194.       1, 1, 2,
  1195.       { 4, 4, 4, 0 },
  1196.       MESA_ARRAY_FORMAT(2, 1, 1, 1, 1, 4, 4, 4, 0),
  1197.    },
  1198.    {
  1199.       MESA_FORMAT_A_FLOAT32,
  1200.       "MESA_FORMAT_A_FLOAT32",
  1201.       MESA_FORMAT_LAYOUT_ARRAY,
  1202.       GL_ALPHA,
  1203.       GL_FLOAT,
  1204.       0, 0, 0, 32,
  1205.       0, 0, 0, 0,
  1206.       1, 1, 4,
  1207.       { 4, 4, 4, 0 },
  1208.       MESA_ARRAY_FORMAT(4, 1, 1, 1, 1, 4, 4, 4, 0),
  1209.    },
  1210.    {
  1211.       MESA_FORMAT_L_FLOAT16,
  1212.       "MESA_FORMAT_L_FLOAT16",
  1213.       MESA_FORMAT_LAYOUT_ARRAY,
  1214.       GL_LUMINANCE,
  1215.       GL_FLOAT,
  1216.       0, 0, 0, 0,
  1217.       16, 0, 0, 0,
  1218.       1, 1, 2,
  1219.       { 0, 0, 0, 5 },
  1220.       MESA_ARRAY_FORMAT(2, 1, 1, 1, 1, 0, 0, 0, 5),
  1221.    },
  1222.    {
  1223.       MESA_FORMAT_L_FLOAT32,
  1224.       "MESA_FORMAT_L_FLOAT32",
  1225.       MESA_FORMAT_LAYOUT_ARRAY,
  1226.       GL_LUMINANCE,
  1227.       GL_FLOAT,
  1228.       0, 0, 0, 0,
  1229.       32, 0, 0, 0,
  1230.       1, 1, 4,
  1231.       { 0, 0, 0, 5 },
  1232.       MESA_ARRAY_FORMAT(4, 1, 1, 1, 1, 0, 0, 0, 5),
  1233.    },
  1234.    {
  1235.       MESA_FORMAT_LA_FLOAT16,
  1236.       "MESA_FORMAT_LA_FLOAT16",
  1237.       MESA_FORMAT_LAYOUT_ARRAY,
  1238.       GL_LUMINANCE_ALPHA,
  1239.       GL_FLOAT,
  1240.       0, 0, 0, 16,
  1241.       16, 0, 0, 0,
  1242.       1, 1, 4,
  1243.       { 0, 0, 0, 1 },
  1244.       MESA_ARRAY_FORMAT(2, 1, 1, 1, 2, 0, 0, 0, 1),
  1245.    },
  1246.    {
  1247.       MESA_FORMAT_LA_FLOAT32,
  1248.       "MESA_FORMAT_LA_FLOAT32",
  1249.       MESA_FORMAT_LAYOUT_ARRAY,
  1250.       GL_LUMINANCE_ALPHA,
  1251.       GL_FLOAT,
  1252.       0, 0, 0, 32,
  1253.       32, 0, 0, 0,
  1254.       1, 1, 8,
  1255.       { 0, 0, 0, 1 },
  1256.       MESA_ARRAY_FORMAT(4, 1, 1, 1, 2, 0, 0, 0, 1),
  1257.    },
  1258.    {
  1259.       MESA_FORMAT_I_FLOAT16,
  1260.       "MESA_FORMAT_I_FLOAT16",
  1261.       MESA_FORMAT_LAYOUT_ARRAY,
  1262.       GL_INTENSITY,
  1263.       GL_FLOAT,
  1264.       0, 0, 0, 0,
  1265.       0, 16, 0, 0,
  1266.       1, 1, 2,
  1267.       { 0, 0, 0, 0 },
  1268.       MESA_ARRAY_FORMAT(2, 1, 1, 1, 1, 0, 0, 0, 0),
  1269.    },
  1270.    {
  1271.       MESA_FORMAT_I_FLOAT32,
  1272.       "MESA_FORMAT_I_FLOAT32",
  1273.       MESA_FORMAT_LAYOUT_ARRAY,
  1274.       GL_INTENSITY,
  1275.       GL_FLOAT,
  1276.       0, 0, 0, 0,
  1277.       0, 32, 0, 0,
  1278.       1, 1, 4,
  1279.       { 0, 0, 0, 0 },
  1280.       MESA_ARRAY_FORMAT(4, 1, 1, 1, 1, 0, 0, 0, 0),
  1281.    },
  1282.    {
  1283.       MESA_FORMAT_R_FLOAT16,
  1284.       "MESA_FORMAT_R_FLOAT16",
  1285.       MESA_FORMAT_LAYOUT_ARRAY,
  1286.       GL_RED,
  1287.       GL_FLOAT,
  1288.       16, 0, 0, 0,
  1289.       0, 0, 0, 0,
  1290.       1, 1, 2,
  1291.       { 0, 4, 4, 5 },
  1292.       MESA_ARRAY_FORMAT(2, 1, 1, 1, 1, 0, 4, 4, 5),
  1293.    },
  1294.    {
  1295.       MESA_FORMAT_R_FLOAT32,
  1296.       "MESA_FORMAT_R_FLOAT32",
  1297.       MESA_FORMAT_LAYOUT_ARRAY,
  1298.       GL_RED,
  1299.       GL_FLOAT,
  1300.       32, 0, 0, 0,
  1301.       0, 0, 0, 0,
  1302.       1, 1, 4,
  1303.       { 0, 4, 4, 5 },
  1304.       MESA_ARRAY_FORMAT(4, 1, 1, 1, 1, 0, 4, 4, 5),
  1305.    },
  1306.    {
  1307.       MESA_FORMAT_RG_FLOAT16,
  1308.       "MESA_FORMAT_RG_FLOAT16",
  1309.       MESA_FORMAT_LAYOUT_ARRAY,
  1310.       GL_RG,
  1311.       GL_FLOAT,
  1312.       16, 16, 0, 0,
  1313.       0, 0, 0, 0,
  1314.       1, 1, 4,
  1315.       { 0, 1, 4, 5 },
  1316.       MESA_ARRAY_FORMAT(2, 1, 1, 1, 2, 0, 1, 4, 5),
  1317.    },
  1318.    {
  1319.       MESA_FORMAT_RG_FLOAT32,
  1320.       "MESA_FORMAT_RG_FLOAT32",
  1321.       MESA_FORMAT_LAYOUT_ARRAY,
  1322.       GL_RG,
  1323.       GL_FLOAT,
  1324.       32, 32, 0, 0,
  1325.       0, 0, 0, 0,
  1326.       1, 1, 8,
  1327.       { 0, 1, 4, 5 },
  1328.       MESA_ARRAY_FORMAT(4, 1, 1, 1, 2, 0, 1, 4, 5),
  1329.    },
  1330.    {
  1331.       MESA_FORMAT_RGB_FLOAT16,
  1332.       "MESA_FORMAT_RGB_FLOAT16",
  1333.       MESA_FORMAT_LAYOUT_ARRAY,
  1334.       GL_RGB,
  1335.       GL_FLOAT,
  1336.       16, 16, 16, 0,
  1337.       0, 0, 0, 0,
  1338.       1, 1, 6,
  1339.       { 0, 1, 2, 5 },
  1340.       MESA_ARRAY_FORMAT(2, 1, 1, 1, 3, 0, 1, 2, 5),
  1341.    },
  1342.    {
  1343.       MESA_FORMAT_RGB_FLOAT32,
  1344.       "MESA_FORMAT_RGB_FLOAT32",
  1345.       MESA_FORMAT_LAYOUT_ARRAY,
  1346.       GL_RGB,
  1347.       GL_FLOAT,
  1348.       32, 32, 32, 0,
  1349.       0, 0, 0, 0,
  1350.       1, 1, 12,
  1351.       { 0, 1, 2, 5 },
  1352.       MESA_ARRAY_FORMAT(4, 1, 1, 1, 3, 0, 1, 2, 5),
  1353.    },
  1354.    {
  1355.       MESA_FORMAT_RGBA_FLOAT16,
  1356.       "MESA_FORMAT_RGBA_FLOAT16",
  1357.       MESA_FORMAT_LAYOUT_ARRAY,
  1358.       GL_RGBA,
  1359.       GL_FLOAT,
  1360.       16, 16, 16, 16,
  1361.       0, 0, 0, 0,
  1362.       1, 1, 8,
  1363.       { 0, 1, 2, 3 },
  1364.       MESA_ARRAY_FORMAT(2, 1, 1, 1, 4, 0, 1, 2, 3),
  1365.    },
  1366.    {
  1367.       MESA_FORMAT_RGBA_FLOAT32,
  1368.       "MESA_FORMAT_RGBA_FLOAT32",
  1369.       MESA_FORMAT_LAYOUT_ARRAY,
  1370.       GL_RGBA,
  1371.       GL_FLOAT,
  1372.       32, 32, 32, 32,
  1373.       0, 0, 0, 0,
  1374.       1, 1, 16,
  1375.       { 0, 1, 2, 3 },
  1376.       MESA_ARRAY_FORMAT(4, 1, 1, 1, 4, 0, 1, 2, 3),
  1377.    },
  1378.    {
  1379.       MESA_FORMAT_RGBX_FLOAT16,
  1380.       "MESA_FORMAT_RGBX_FLOAT16",
  1381.       MESA_FORMAT_LAYOUT_ARRAY,
  1382.       GL_RGB,
  1383.       GL_FLOAT,
  1384.       16, 16, 16, 0,
  1385.       0, 0, 0, 0,
  1386.       1, 1, 8,
  1387.       { 0, 1, 2, 5 },
  1388.       MESA_ARRAY_FORMAT(2, 1, 1, 1, 4, 0, 1, 2, 5),
  1389.    },
  1390.    {
  1391.       MESA_FORMAT_RGBX_FLOAT32,
  1392.       "MESA_FORMAT_RGBX_FLOAT32",
  1393.       MESA_FORMAT_LAYOUT_ARRAY,
  1394.       GL_RGB,
  1395.       GL_FLOAT,
  1396.       32, 32, 32, 0,
  1397.       0, 0, 0, 0,
  1398.       1, 1, 16,
  1399.       { 0, 1, 2, 5 },
  1400.       MESA_ARRAY_FORMAT(4, 1, 1, 1, 4, 0, 1, 2, 5),
  1401.    },
  1402.    {
  1403.       MESA_FORMAT_Z_FLOAT32,
  1404.       "MESA_FORMAT_Z_FLOAT32",
  1405.       MESA_FORMAT_LAYOUT_ARRAY,
  1406.       GL_DEPTH_COMPONENT,
  1407.       GL_FLOAT,
  1408.       0, 0, 0, 0,
  1409.       0, 0, 32, 0,
  1410.       1, 1, 4,
  1411.       { 0, 6, 6, 6 },
  1412.       MESA_ARRAY_FORMAT(4, 1, 1, 1, 1, 0, 6, 6, 6),
  1413.    },
  1414.    {
  1415.       MESA_FORMAT_B10G10R10A2_UINT,
  1416.       "MESA_FORMAT_B10G10R10A2_UINT",
  1417.       MESA_FORMAT_LAYOUT_PACKED,
  1418.       GL_RGBA,
  1419.       GL_UNSIGNED_INT,
  1420.       10, 10, 10, 2,
  1421.       0, 0, 0, 0,
  1422.       1, 1, 4,
  1423.       { 2, 1, 0, 3 },
  1424.       0,
  1425.    },
  1426.    {
  1427.       MESA_FORMAT_R10G10B10A2_UINT,
  1428.       "MESA_FORMAT_R10G10B10A2_UINT",
  1429.       MESA_FORMAT_LAYOUT_PACKED,
  1430.       GL_RGBA,
  1431.       GL_UNSIGNED_INT,
  1432.       10, 10, 10, 2,
  1433.       0, 0, 0, 0,
  1434.       1, 1, 4,
  1435.       { 0, 1, 2, 3 },
  1436.       0,
  1437.    },
  1438.    {
  1439.       MESA_FORMAT_A2B10G10R10_UINT,
  1440.       "MESA_FORMAT_A2B10G10R10_UINT",
  1441.       MESA_FORMAT_LAYOUT_PACKED,
  1442.       GL_RGBA,
  1443.       GL_UNSIGNED_INT,
  1444.       10, 10, 10, 2,
  1445.       0, 0, 0, 0,
  1446.       1, 1, 4,
  1447.       { 3, 2, 1, 0 },
  1448.       0,
  1449.    },
  1450.    {
  1451.       MESA_FORMAT_A2R10G10B10_UINT,
  1452.       "MESA_FORMAT_A2R10G10B10_UINT",
  1453.       MESA_FORMAT_LAYOUT_PACKED,
  1454.       GL_RGBA,
  1455.       GL_UNSIGNED_INT,
  1456.       10, 10, 10, 2,
  1457.       0, 0, 0, 0,
  1458.       1, 1, 4,
  1459.       { 1, 2, 3, 0 },
  1460.       0,
  1461.    },
  1462.    {
  1463.       MESA_FORMAT_A_UINT8,
  1464.       "MESA_FORMAT_A_UINT8",
  1465.       MESA_FORMAT_LAYOUT_ARRAY,
  1466.       GL_ALPHA,
  1467.       GL_UNSIGNED_INT,
  1468.       0, 0, 0, 8,
  1469.       0, 0, 0, 0,
  1470.       1, 1, 1,
  1471.       { 4, 4, 4, 0 },
  1472.       MESA_ARRAY_FORMAT(1, 0, 0, 0, 1, 4, 4, 4, 0),
  1473.    },
  1474.    {
  1475.       MESA_FORMAT_A_UINT16,
  1476.       "MESA_FORMAT_A_UINT16",
  1477.       MESA_FORMAT_LAYOUT_ARRAY,
  1478.       GL_ALPHA,
  1479.       GL_UNSIGNED_INT,
  1480.       0, 0, 0, 16,
  1481.       0, 0, 0, 0,
  1482.       1, 1, 2,
  1483.       { 4, 4, 4, 0 },
  1484.       MESA_ARRAY_FORMAT(2, 0, 0, 0, 1, 4, 4, 4, 0),
  1485.    },
  1486.    {
  1487.       MESA_FORMAT_A_UINT32,
  1488.       "MESA_FORMAT_A_UINT32",
  1489.       MESA_FORMAT_LAYOUT_ARRAY,
  1490.       GL_ALPHA,
  1491.       GL_UNSIGNED_INT,
  1492.       0, 0, 0, 32,
  1493.       0, 0, 0, 0,
  1494.       1, 1, 4,
  1495.       { 4, 4, 4, 0 },
  1496.       MESA_ARRAY_FORMAT(4, 0, 0, 0, 1, 4, 4, 4, 0),
  1497.    },
  1498.    {
  1499.       MESA_FORMAT_A_SINT8,
  1500.       "MESA_FORMAT_A_SINT8",
  1501.       MESA_FORMAT_LAYOUT_ARRAY,
  1502.       GL_ALPHA,
  1503.       GL_INT,
  1504.       0, 0, 0, 8,
  1505.       0, 0, 0, 0,
  1506.       1, 1, 1,
  1507.       { 4, 4, 4, 0 },
  1508.       MESA_ARRAY_FORMAT(1, 1, 0, 0, 1, 4, 4, 4, 0),
  1509.    },
  1510.    {
  1511.       MESA_FORMAT_A_SINT16,
  1512.       "MESA_FORMAT_A_SINT16",
  1513.       MESA_FORMAT_LAYOUT_ARRAY,
  1514.       GL_ALPHA,
  1515.       GL_INT,
  1516.       0, 0, 0, 16,
  1517.       0, 0, 0, 0,
  1518.       1, 1, 2,
  1519.       { 4, 4, 4, 0 },
  1520.       MESA_ARRAY_FORMAT(2, 1, 0, 0, 1, 4, 4, 4, 0),
  1521.    },
  1522.    {
  1523.       MESA_FORMAT_A_SINT32,
  1524.       "MESA_FORMAT_A_SINT32",
  1525.       MESA_FORMAT_LAYOUT_ARRAY,
  1526.       GL_ALPHA,
  1527.       GL_INT,
  1528.       0, 0, 0, 32,
  1529.       0, 0, 0, 0,
  1530.       1, 1, 4,
  1531.       { 4, 4, 4, 0 },
  1532.       MESA_ARRAY_FORMAT(4, 1, 0, 0, 1, 4, 4, 4, 0),
  1533.    },
  1534.    {
  1535.       MESA_FORMAT_I_UINT8,
  1536.       "MESA_FORMAT_I_UINT8",
  1537.       MESA_FORMAT_LAYOUT_ARRAY,
  1538.       GL_INTENSITY,
  1539.       GL_UNSIGNED_INT,
  1540.       0, 0, 0, 0,
  1541.       0, 8, 0, 0,
  1542.       1, 1, 1,
  1543.       { 0, 0, 0, 0 },
  1544.       MESA_ARRAY_FORMAT(1, 0, 0, 0, 1, 0, 0, 0, 0),
  1545.    },
  1546.    {
  1547.       MESA_FORMAT_I_UINT16,
  1548.       "MESA_FORMAT_I_UINT16",
  1549.       MESA_FORMAT_LAYOUT_ARRAY,
  1550.       GL_INTENSITY,
  1551.       GL_UNSIGNED_INT,
  1552.       0, 0, 0, 0,
  1553.       0, 16, 0, 0,
  1554.       1, 1, 2,
  1555.       { 0, 0, 0, 0 },
  1556.       MESA_ARRAY_FORMAT(2, 0, 0, 0, 1, 0, 0, 0, 0),
  1557.    },
  1558.    {
  1559.       MESA_FORMAT_I_UINT32,
  1560.       "MESA_FORMAT_I_UINT32",
  1561.       MESA_FORMAT_LAYOUT_ARRAY,
  1562.       GL_INTENSITY,
  1563.       GL_UNSIGNED_INT,
  1564.       0, 0, 0, 0,
  1565.       0, 32, 0, 0,
  1566.       1, 1, 4,
  1567.       { 0, 0, 0, 0 },
  1568.       MESA_ARRAY_FORMAT(4, 0, 0, 0, 1, 0, 0, 0, 0),
  1569.    },
  1570.    {
  1571.       MESA_FORMAT_I_SINT8,
  1572.       "MESA_FORMAT_I_SINT8",
  1573.       MESA_FORMAT_LAYOUT_ARRAY,
  1574.       GL_INTENSITY,
  1575.       GL_INT,
  1576.       0, 0, 0, 0,
  1577.       0, 8, 0, 0,
  1578.       1, 1, 1,
  1579.       { 0, 0, 0, 0 },
  1580.       MESA_ARRAY_FORMAT(1, 1, 0, 0, 1, 0, 0, 0, 0),
  1581.    },
  1582.    {
  1583.       MESA_FORMAT_I_SINT16,
  1584.       "MESA_FORMAT_I_SINT16",
  1585.       MESA_FORMAT_LAYOUT_ARRAY,
  1586.       GL_INTENSITY,
  1587.       GL_INT,
  1588.       0, 0, 0, 0,
  1589.       0, 16, 0, 0,
  1590.       1, 1, 2,
  1591.       { 0, 0, 0, 0 },
  1592.       MESA_ARRAY_FORMAT(2, 1, 0, 0, 1, 0, 0, 0, 0),
  1593.    },
  1594.    {
  1595.       MESA_FORMAT_I_SINT32,
  1596.       "MESA_FORMAT_I_SINT32",
  1597.       MESA_FORMAT_LAYOUT_ARRAY,
  1598.       GL_INTENSITY,
  1599.       GL_INT,
  1600.       0, 0, 0, 0,
  1601.       0, 32, 0, 0,
  1602.       1, 1, 4,
  1603.       { 0, 0, 0, 0 },
  1604.       MESA_ARRAY_FORMAT(4, 1, 0, 0, 1, 0, 0, 0, 0),
  1605.    },
  1606.    {
  1607.       MESA_FORMAT_L_UINT8,
  1608.       "MESA_FORMAT_L_UINT8",
  1609.       MESA_FORMAT_LAYOUT_ARRAY,
  1610.       GL_LUMINANCE,
  1611.       GL_UNSIGNED_INT,
  1612.       0, 0, 0, 0,
  1613.       8, 0, 0, 0,
  1614.       1, 1, 1,
  1615.       { 0, 0, 0, 5 },
  1616.       MESA_ARRAY_FORMAT(1, 0, 0, 0, 1, 0, 0, 0, 5),
  1617.    },
  1618.    {
  1619.       MESA_FORMAT_L_UINT16,
  1620.       "MESA_FORMAT_L_UINT16",
  1621.       MESA_FORMAT_LAYOUT_ARRAY,
  1622.       GL_LUMINANCE,
  1623.       GL_UNSIGNED_INT,
  1624.       0, 0, 0, 0,
  1625.       16, 0, 0, 0,
  1626.       1, 1, 2,
  1627.       { 0, 0, 0, 5 },
  1628.       MESA_ARRAY_FORMAT(2, 0, 0, 0, 1, 0, 0, 0, 5),
  1629.    },
  1630.    {
  1631.       MESA_FORMAT_L_UINT32,
  1632.       "MESA_FORMAT_L_UINT32",
  1633.       MESA_FORMAT_LAYOUT_ARRAY,
  1634.       GL_LUMINANCE,
  1635.       GL_UNSIGNED_INT,
  1636.       0, 0, 0, 0,
  1637.       32, 0, 0, 0,
  1638.       1, 1, 4,
  1639.       { 0, 0, 0, 5 },
  1640.       MESA_ARRAY_FORMAT(4, 0, 0, 0, 1, 0, 0, 0, 5),
  1641.    },
  1642.    {
  1643.       MESA_FORMAT_L_SINT8,
  1644.       "MESA_FORMAT_L_SINT8",
  1645.       MESA_FORMAT_LAYOUT_ARRAY,
  1646.       GL_LUMINANCE,
  1647.       GL_INT,
  1648.       0, 0, 0, 0,
  1649.       8, 0, 0, 0,
  1650.       1, 1, 1,
  1651.       { 0, 0, 0, 5 },
  1652.       MESA_ARRAY_FORMAT(1, 1, 0, 0, 1, 0, 0, 0, 5),
  1653.    },
  1654.    {
  1655.       MESA_FORMAT_L_SINT16,
  1656.       "MESA_FORMAT_L_SINT16",
  1657.       MESA_FORMAT_LAYOUT_ARRAY,
  1658.       GL_LUMINANCE,
  1659.       GL_INT,
  1660.       0, 0, 0, 0,
  1661.       16, 0, 0, 0,
  1662.       1, 1, 2,
  1663.       { 0, 0, 0, 5 },
  1664.       MESA_ARRAY_FORMAT(2, 1, 0, 0, 1, 0, 0, 0, 5),
  1665.    },
  1666.    {
  1667.       MESA_FORMAT_L_SINT32,
  1668.       "MESA_FORMAT_L_SINT32",
  1669.       MESA_FORMAT_LAYOUT_ARRAY,
  1670.       GL_LUMINANCE,
  1671.       GL_INT,
  1672.       0, 0, 0, 0,
  1673.       32, 0, 0, 0,
  1674.       1, 1, 4,
  1675.       { 0, 0, 0, 5 },
  1676.       MESA_ARRAY_FORMAT(4, 1, 0, 0, 1, 0, 0, 0, 5),
  1677.    },
  1678.    {
  1679.       MESA_FORMAT_LA_UINT8,
  1680.       "MESA_FORMAT_LA_UINT8",
  1681.       MESA_FORMAT_LAYOUT_ARRAY,
  1682.       GL_LUMINANCE_ALPHA,
  1683.       GL_UNSIGNED_INT,
  1684.       0, 0, 0, 8,
  1685.       8, 0, 0, 0,
  1686.       1, 1, 2,
  1687.       { 0, 0, 0, 1 },
  1688.       MESA_ARRAY_FORMAT(1, 0, 0, 0, 2, 0, 0, 0, 1),
  1689.    },
  1690.    {
  1691.       MESA_FORMAT_LA_UINT16,
  1692.       "MESA_FORMAT_LA_UINT16",
  1693.       MESA_FORMAT_LAYOUT_ARRAY,
  1694.       GL_LUMINANCE_ALPHA,
  1695.       GL_UNSIGNED_INT,
  1696.       0, 0, 0, 16,
  1697.       16, 0, 0, 0,
  1698.       1, 1, 4,
  1699.       { 0, 0, 0, 1 },
  1700.       MESA_ARRAY_FORMAT(2, 0, 0, 0, 2, 0, 0, 0, 1),
  1701.    },
  1702.    {
  1703.       MESA_FORMAT_LA_UINT32,
  1704.       "MESA_FORMAT_LA_UINT32",
  1705.       MESA_FORMAT_LAYOUT_ARRAY,
  1706.       GL_LUMINANCE_ALPHA,
  1707.       GL_UNSIGNED_INT,
  1708.       0, 0, 0, 32,
  1709.       32, 0, 0, 0,
  1710.       1, 1, 8,
  1711.       { 0, 0, 0, 1 },
  1712.       MESA_ARRAY_FORMAT(4, 0, 0, 0, 2, 0, 0, 0, 1),
  1713.    },
  1714.    {
  1715.       MESA_FORMAT_LA_SINT8,
  1716.       "MESA_FORMAT_LA_SINT8",
  1717.       MESA_FORMAT_LAYOUT_ARRAY,
  1718.       GL_LUMINANCE_ALPHA,
  1719.       GL_INT,
  1720.       0, 0, 0, 8,
  1721.       8, 0, 0, 0,
  1722.       1, 1, 2,
  1723.       { 0, 0, 0, 1 },
  1724.       MESA_ARRAY_FORMAT(1, 1, 0, 0, 2, 0, 0, 0, 1),
  1725.    },
  1726.    {
  1727.       MESA_FORMAT_LA_SINT16,
  1728.       "MESA_FORMAT_LA_SINT16",
  1729.       MESA_FORMAT_LAYOUT_ARRAY,
  1730.       GL_LUMINANCE_ALPHA,
  1731.       GL_INT,
  1732.       0, 0, 0, 16,
  1733.       16, 0, 0, 0,
  1734.       1, 1, 4,
  1735.       { 0, 0, 0, 1 },
  1736.       MESA_ARRAY_FORMAT(2, 1, 0, 0, 2, 0, 0, 0, 1),
  1737.    },
  1738.    {
  1739.       MESA_FORMAT_LA_SINT32,
  1740.       "MESA_FORMAT_LA_SINT32",
  1741.       MESA_FORMAT_LAYOUT_ARRAY,
  1742.       GL_LUMINANCE_ALPHA,
  1743.       GL_INT,
  1744.       0, 0, 0, 32,
  1745.       32, 0, 0, 0,
  1746.       1, 1, 8,
  1747.       { 0, 0, 0, 1 },
  1748.       MESA_ARRAY_FORMAT(4, 1, 0, 0, 2, 0, 0, 0, 1),
  1749.    },
  1750.    {
  1751.       MESA_FORMAT_R_UINT8,
  1752.       "MESA_FORMAT_R_UINT8",
  1753.       MESA_FORMAT_LAYOUT_ARRAY,
  1754.       GL_RED,
  1755.       GL_UNSIGNED_INT,
  1756.       8, 0, 0, 0,
  1757.       0, 0, 0, 0,
  1758.       1, 1, 1,
  1759.       { 0, 4, 4, 5 },
  1760.       MESA_ARRAY_FORMAT(1, 0, 0, 0, 1, 0, 4, 4, 5),
  1761.    },
  1762.    {
  1763.       MESA_FORMAT_R_UINT16,
  1764.       "MESA_FORMAT_R_UINT16",
  1765.       MESA_FORMAT_LAYOUT_ARRAY,
  1766.       GL_RED,
  1767.       GL_UNSIGNED_INT,
  1768.       16, 0, 0, 0,
  1769.       0, 0, 0, 0,
  1770.       1, 1, 2,
  1771.       { 0, 4, 4, 5 },
  1772.       MESA_ARRAY_FORMAT(2, 0, 0, 0, 1, 0, 4, 4, 5),
  1773.    },
  1774.    {
  1775.       MESA_FORMAT_R_UINT32,
  1776.       "MESA_FORMAT_R_UINT32",
  1777.       MESA_FORMAT_LAYOUT_ARRAY,
  1778.       GL_RED,
  1779.       GL_UNSIGNED_INT,
  1780.       32, 0, 0, 0,
  1781.       0, 0, 0, 0,
  1782.       1, 1, 4,
  1783.       { 0, 4, 4, 5 },
  1784.       MESA_ARRAY_FORMAT(4, 0, 0, 0, 1, 0, 4, 4, 5),
  1785.    },
  1786.    {
  1787.       MESA_FORMAT_R_SINT8,
  1788.       "MESA_FORMAT_R_SINT8",
  1789.       MESA_FORMAT_LAYOUT_ARRAY,
  1790.       GL_RED,
  1791.       GL_INT,
  1792.       8, 0, 0, 0,
  1793.       0, 0, 0, 0,
  1794.       1, 1, 1,
  1795.       { 0, 4, 4, 5 },
  1796.       MESA_ARRAY_FORMAT(1, 1, 0, 0, 1, 0, 4, 4, 5),
  1797.    },
  1798.    {
  1799.       MESA_FORMAT_R_SINT16,
  1800.       "MESA_FORMAT_R_SINT16",
  1801.       MESA_FORMAT_LAYOUT_ARRAY,
  1802.       GL_RED,
  1803.       GL_INT,
  1804.       16, 0, 0, 0,
  1805.       0, 0, 0, 0,
  1806.       1, 1, 2,
  1807.       { 0, 4, 4, 5 },
  1808.       MESA_ARRAY_FORMAT(2, 1, 0, 0, 1, 0, 4, 4, 5),
  1809.    },
  1810.    {
  1811.       MESA_FORMAT_R_SINT32,
  1812.       "MESA_FORMAT_R_SINT32",
  1813.       MESA_FORMAT_LAYOUT_ARRAY,
  1814.       GL_RED,
  1815.       GL_INT,
  1816.       32, 0, 0, 0,
  1817.       0, 0, 0, 0,
  1818.       1, 1, 4,
  1819.       { 0, 4, 4, 5 },
  1820.       MESA_ARRAY_FORMAT(4, 1, 0, 0, 1, 0, 4, 4, 5),
  1821.    },
  1822.    {
  1823.       MESA_FORMAT_RG_UINT8,
  1824.       "MESA_FORMAT_RG_UINT8",
  1825.       MESA_FORMAT_LAYOUT_ARRAY,
  1826.       GL_RG,
  1827.       GL_UNSIGNED_INT,
  1828.       8, 8, 0, 0,
  1829.       0, 0, 0, 0,
  1830.       1, 1, 2,
  1831.       { 0, 1, 4, 5 },
  1832.       MESA_ARRAY_FORMAT(1, 0, 0, 0, 2, 0, 1, 4, 5),
  1833.    },
  1834.    {
  1835.       MESA_FORMAT_RG_UINT16,
  1836.       "MESA_FORMAT_RG_UINT16",
  1837.       MESA_FORMAT_LAYOUT_ARRAY,
  1838.       GL_RG,
  1839.       GL_UNSIGNED_INT,
  1840.       16, 16, 0, 0,
  1841.       0, 0, 0, 0,
  1842.       1, 1, 4,
  1843.       { 0, 1, 4, 5 },
  1844.       MESA_ARRAY_FORMAT(2, 0, 0, 0, 2, 0, 1, 4, 5),
  1845.    },
  1846.    {
  1847.       MESA_FORMAT_RG_UINT32,
  1848.       "MESA_FORMAT_RG_UINT32",
  1849.       MESA_FORMAT_LAYOUT_ARRAY,
  1850.       GL_RG,
  1851.       GL_UNSIGNED_INT,
  1852.       32, 32, 0, 0,
  1853.       0, 0, 0, 0,
  1854.       1, 1, 8,
  1855.       { 0, 1, 4, 5 },
  1856.       MESA_ARRAY_FORMAT(4, 0, 0, 0, 2, 0, 1, 4, 5),
  1857.    },
  1858.    {
  1859.       MESA_FORMAT_RG_SINT8,
  1860.       "MESA_FORMAT_RG_SINT8",
  1861.       MESA_FORMAT_LAYOUT_ARRAY,
  1862.       GL_RG,
  1863.       GL_INT,
  1864.       8, 8, 0, 0,
  1865.       0, 0, 0, 0,
  1866.       1, 1, 2,
  1867.       { 0, 1, 4, 5 },
  1868.       MESA_ARRAY_FORMAT(1, 1, 0, 0, 2, 0, 1, 4, 5),
  1869.    },
  1870.    {
  1871.       MESA_FORMAT_RG_SINT16,
  1872.       "MESA_FORMAT_RG_SINT16",
  1873.       MESA_FORMAT_LAYOUT_ARRAY,
  1874.       GL_RG,
  1875.       GL_INT,
  1876.       16, 16, 0, 0,
  1877.       0, 0, 0, 0,
  1878.       1, 1, 4,
  1879.       { 0, 1, 4, 5 },
  1880.       MESA_ARRAY_FORMAT(2, 1, 0, 0, 2, 0, 1, 4, 5),
  1881.    },
  1882.    {
  1883.       MESA_FORMAT_RG_SINT32,
  1884.       "MESA_FORMAT_RG_SINT32",
  1885.       MESA_FORMAT_LAYOUT_ARRAY,
  1886.       GL_RG,
  1887.       GL_INT,
  1888.       32, 32, 0, 0,
  1889.       0, 0, 0, 0,
  1890.       1, 1, 8,
  1891.       { 0, 1, 4, 5 },
  1892.       MESA_ARRAY_FORMAT(4, 1, 0, 0, 2, 0, 1, 4, 5),
  1893.    },
  1894.    {
  1895.       MESA_FORMAT_RGB_UINT8,
  1896.       "MESA_FORMAT_RGB_UINT8",
  1897.       MESA_FORMAT_LAYOUT_ARRAY,
  1898.       GL_RGB,
  1899.       GL_UNSIGNED_INT,
  1900.       8, 8, 8, 0,
  1901.       0, 0, 0, 0,
  1902.       1, 1, 3,
  1903.       { 0, 1, 2, 5 },
  1904.       MESA_ARRAY_FORMAT(1, 0, 0, 0, 3, 0, 1, 2, 5),
  1905.    },
  1906.    {
  1907.       MESA_FORMAT_RGB_UINT16,
  1908.       "MESA_FORMAT_RGB_UINT16",
  1909.       MESA_FORMAT_LAYOUT_ARRAY,
  1910.       GL_RGB,
  1911.       GL_UNSIGNED_INT,
  1912.       16, 16, 16, 0,
  1913.       0, 0, 0, 0,
  1914.       1, 1, 6,
  1915.       { 0, 1, 2, 5 },
  1916.       MESA_ARRAY_FORMAT(2, 0, 0, 0, 3, 0, 1, 2, 5),
  1917.    },
  1918.    {
  1919.       MESA_FORMAT_RGB_UINT32,
  1920.       "MESA_FORMAT_RGB_UINT32",
  1921.       MESA_FORMAT_LAYOUT_ARRAY,
  1922.       GL_RGB,
  1923.       GL_UNSIGNED_INT,
  1924.       32, 32, 32, 0,
  1925.       0, 0, 0, 0,
  1926.       1, 1, 12,
  1927.       { 0, 1, 2, 5 },
  1928.       MESA_ARRAY_FORMAT(4, 0, 0, 0, 3, 0, 1, 2, 5),
  1929.    },
  1930.    {
  1931.       MESA_FORMAT_RGB_SINT8,
  1932.       "MESA_FORMAT_RGB_SINT8",
  1933.       MESA_FORMAT_LAYOUT_ARRAY,
  1934.       GL_RGB,
  1935.       GL_INT,
  1936.       8, 8, 8, 0,
  1937.       0, 0, 0, 0,
  1938.       1, 1, 3,
  1939.       { 0, 1, 2, 5 },
  1940.       MESA_ARRAY_FORMAT(1, 1, 0, 0, 3, 0, 1, 2, 5),
  1941.    },
  1942.    {
  1943.       MESA_FORMAT_RGB_SINT16,
  1944.       "MESA_FORMAT_RGB_SINT16",
  1945.       MESA_FORMAT_LAYOUT_ARRAY,
  1946.       GL_RGB,
  1947.       GL_INT,
  1948.       16, 16, 16, 0,
  1949.       0, 0, 0, 0,
  1950.       1, 1, 6,
  1951.       { 0, 1, 2, 5 },
  1952.       MESA_ARRAY_FORMAT(2, 1, 0, 0, 3, 0, 1, 2, 5),
  1953.    },
  1954.    {
  1955.       MESA_FORMAT_RGB_SINT32,
  1956.       "MESA_FORMAT_RGB_SINT32",
  1957.       MESA_FORMAT_LAYOUT_ARRAY,
  1958.       GL_RGB,
  1959.       GL_INT,
  1960.       32, 32, 32, 0,
  1961.       0, 0, 0, 0,
  1962.       1, 1, 12,
  1963.       { 0, 1, 2, 5 },
  1964.       MESA_ARRAY_FORMAT(4, 1, 0, 0, 3, 0, 1, 2, 5),
  1965.    },
  1966.    {
  1967.       MESA_FORMAT_RGBA_UINT8,
  1968.       "MESA_FORMAT_RGBA_UINT8",
  1969.       MESA_FORMAT_LAYOUT_ARRAY,
  1970.       GL_RGBA,
  1971.       GL_UNSIGNED_INT,
  1972.       8, 8, 8, 8,
  1973.       0, 0, 0, 0,
  1974.       1, 1, 4,
  1975.       { 0, 1, 2, 3 },
  1976.       MESA_ARRAY_FORMAT(1, 0, 0, 0, 4, 0, 1, 2, 3),
  1977.    },
  1978.    {
  1979.       MESA_FORMAT_RGBA_UINT16,
  1980.       "MESA_FORMAT_RGBA_UINT16",
  1981.       MESA_FORMAT_LAYOUT_ARRAY,
  1982.       GL_RGBA,
  1983.       GL_UNSIGNED_INT,
  1984.       16, 16, 16, 16,
  1985.       0, 0, 0, 0,
  1986.       1, 1, 8,
  1987.       { 0, 1, 2, 3 },
  1988.       MESA_ARRAY_FORMAT(2, 0, 0, 0, 4, 0, 1, 2, 3),
  1989.    },
  1990.    {
  1991.       MESA_FORMAT_RGBA_UINT32,
  1992.       "MESA_FORMAT_RGBA_UINT32",
  1993.       MESA_FORMAT_LAYOUT_ARRAY,
  1994.       GL_RGBA,
  1995.       GL_UNSIGNED_INT,
  1996.       32, 32, 32, 32,
  1997.       0, 0, 0, 0,
  1998.       1, 1, 16,
  1999.       { 0, 1, 2, 3 },
  2000.       MESA_ARRAY_FORMAT(4, 0, 0, 0, 4, 0, 1, 2, 3),
  2001.    },
  2002.    {
  2003.       MESA_FORMAT_RGBA_SINT8,
  2004.       "MESA_FORMAT_RGBA_SINT8",
  2005.       MESA_FORMAT_LAYOUT_ARRAY,
  2006.       GL_RGBA,
  2007.       GL_INT,
  2008.       8, 8, 8, 8,
  2009.       0, 0, 0, 0,
  2010.       1, 1, 4,
  2011.       { 0, 1, 2, 3 },
  2012.       MESA_ARRAY_FORMAT(1, 1, 0, 0, 4, 0, 1, 2, 3),
  2013.    },
  2014.    {
  2015.       MESA_FORMAT_RGBA_SINT16,
  2016.       "MESA_FORMAT_RGBA_SINT16",
  2017.       MESA_FORMAT_LAYOUT_ARRAY,
  2018.       GL_RGBA,
  2019.       GL_INT,
  2020.       16, 16, 16, 16,
  2021.       0, 0, 0, 0,
  2022.       1, 1, 8,
  2023.       { 0, 1, 2, 3 },
  2024.       MESA_ARRAY_FORMAT(2, 1, 0, 0, 4, 0, 1, 2, 3),
  2025.    },
  2026.    {
  2027.       MESA_FORMAT_RGBA_SINT32,
  2028.       "MESA_FORMAT_RGBA_SINT32",
  2029.       MESA_FORMAT_LAYOUT_ARRAY,
  2030.       GL_RGBA,
  2031.       GL_INT,
  2032.       32, 32, 32, 32,
  2033.       0, 0, 0, 0,
  2034.       1, 1, 16,
  2035.       { 0, 1, 2, 3 },
  2036.       MESA_ARRAY_FORMAT(4, 1, 0, 0, 4, 0, 1, 2, 3),
  2037.    },
  2038.    {
  2039.       MESA_FORMAT_RGBX_UINT8,
  2040.       "MESA_FORMAT_RGBX_UINT8",
  2041.       MESA_FORMAT_LAYOUT_ARRAY,
  2042.       GL_RGB,
  2043.       GL_UNSIGNED_INT,
  2044.       8, 8, 8, 0,
  2045.       0, 0, 0, 0,
  2046.       1, 1, 4,
  2047.       { 0, 1, 2, 5 },
  2048.       MESA_ARRAY_FORMAT(1, 0, 0, 0, 4, 0, 1, 2, 5),
  2049.    },
  2050.    {
  2051.       MESA_FORMAT_RGBX_UINT16,
  2052.       "MESA_FORMAT_RGBX_UINT16",
  2053.       MESA_FORMAT_LAYOUT_ARRAY,
  2054.       GL_RGB,
  2055.       GL_UNSIGNED_INT,
  2056.       16, 16, 16, 0,
  2057.       0, 0, 0, 0,
  2058.       1, 1, 8,
  2059.       { 0, 1, 2, 5 },
  2060.       MESA_ARRAY_FORMAT(2, 0, 0, 0, 4, 0, 1, 2, 5),
  2061.    },
  2062.    {
  2063.       MESA_FORMAT_RGBX_UINT32,
  2064.       "MESA_FORMAT_RGBX_UINT32",
  2065.       MESA_FORMAT_LAYOUT_ARRAY,
  2066.       GL_RGB,
  2067.       GL_UNSIGNED_INT,
  2068.       32, 32, 32, 0,
  2069.       0, 0, 0, 0,
  2070.       1, 1, 16,
  2071.       { 0, 1, 2, 5 },
  2072.       MESA_ARRAY_FORMAT(4, 0, 0, 0, 4, 0, 1, 2, 5),
  2073.    },
  2074.    {
  2075.       MESA_FORMAT_RGBX_SINT8,
  2076.       "MESA_FORMAT_RGBX_SINT8",
  2077.       MESA_FORMAT_LAYOUT_ARRAY,
  2078.       GL_RGB,
  2079.       GL_INT,
  2080.       8, 8, 8, 0,
  2081.       0, 0, 0, 0,
  2082.       1, 1, 4,
  2083.       { 0, 1, 2, 5 },
  2084.       MESA_ARRAY_FORMAT(1, 1, 0, 0, 4, 0, 1, 2, 5),
  2085.    },
  2086.    {
  2087.       MESA_FORMAT_RGBX_SINT16,
  2088.       "MESA_FORMAT_RGBX_SINT16",
  2089.       MESA_FORMAT_LAYOUT_ARRAY,
  2090.       GL_RGB,
  2091.       GL_INT,
  2092.       16, 16, 16, 0,
  2093.       0, 0, 0, 0,
  2094.       1, 1, 8,
  2095.       { 0, 1, 2, 5 },
  2096.       MESA_ARRAY_FORMAT(2, 1, 0, 0, 4, 0, 1, 2, 5),
  2097.    },
  2098.    {
  2099.       MESA_FORMAT_RGBX_SINT32,
  2100.       "MESA_FORMAT_RGBX_SINT32",
  2101.       MESA_FORMAT_LAYOUT_ARRAY,
  2102.       GL_RGB,
  2103.       GL_INT,
  2104.       32, 32, 32, 0,
  2105.       0, 0, 0, 0,
  2106.       1, 1, 16,
  2107.       { 0, 1, 2, 5 },
  2108.       MESA_ARRAY_FORMAT(4, 1, 0, 0, 4, 0, 1, 2, 5),
  2109.    },
  2110.    {
  2111.       MESA_FORMAT_RGB_DXT1,
  2112.       "MESA_FORMAT_RGB_DXT1",
  2113.       MESA_FORMAT_LAYOUT_OTHER,
  2114.       GL_RGB,
  2115.       GL_UNSIGNED_NORMALIZED,
  2116.       4, 4, 4, 0,
  2117.       0, 0, 0, 0,
  2118.       4, 4, 8,
  2119.       { 0, 1, 2, 5 },
  2120.       0,
  2121.    },
  2122.    {
  2123.       MESA_FORMAT_RGBA_DXT1,
  2124.       "MESA_FORMAT_RGBA_DXT1",
  2125.       MESA_FORMAT_LAYOUT_OTHER,
  2126.       GL_RGBA,
  2127.       GL_UNSIGNED_NORMALIZED,
  2128.       4, 4, 4, 4,
  2129.       0, 0, 0, 0,
  2130.       4, 4, 8,
  2131.       { 0, 1, 2, 3 },
  2132.       0,
  2133.    },
  2134.    {
  2135.       MESA_FORMAT_RGBA_DXT3,
  2136.       "MESA_FORMAT_RGBA_DXT3",
  2137.       MESA_FORMAT_LAYOUT_OTHER,
  2138.       GL_RGBA,
  2139.       GL_UNSIGNED_NORMALIZED,
  2140.       4, 4, 4, 4,
  2141.       0, 0, 0, 0,
  2142.       4, 4, 16,
  2143.       { 0, 1, 2, 3 },
  2144.       0,
  2145.    },
  2146.    {
  2147.       MESA_FORMAT_RGBA_DXT5,
  2148.       "MESA_FORMAT_RGBA_DXT5",
  2149.       MESA_FORMAT_LAYOUT_OTHER,
  2150.       GL_RGBA,
  2151.       GL_UNSIGNED_NORMALIZED,
  2152.       4, 4, 4, 4,
  2153.       0, 0, 0, 0,
  2154.       4, 4, 16,
  2155.       { 0, 1, 2, 3 },
  2156.       0,
  2157.    },
  2158.    {
  2159.       MESA_FORMAT_SRGB_DXT1,
  2160.       "MESA_FORMAT_SRGB_DXT1",
  2161.       MESA_FORMAT_LAYOUT_OTHER,
  2162.       GL_RGB,
  2163.       GL_UNSIGNED_NORMALIZED,
  2164.       4, 4, 4, 0,
  2165.       0, 0, 0, 0,
  2166.       4, 4, 8,
  2167.       { 0, 1, 2, 5 },
  2168.       0,
  2169.    },
  2170.    {
  2171.       MESA_FORMAT_SRGBA_DXT1,
  2172.       "MESA_FORMAT_SRGBA_DXT1",
  2173.       MESA_FORMAT_LAYOUT_OTHER,
  2174.       GL_RGBA,
  2175.       GL_UNSIGNED_NORMALIZED,
  2176.       4, 4, 4, 4,
  2177.       0, 0, 0, 0,
  2178.       4, 4, 8,
  2179.       { 0, 1, 2, 3 },
  2180.       0,
  2181.    },
  2182.    {
  2183.       MESA_FORMAT_SRGBA_DXT3,
  2184.       "MESA_FORMAT_SRGBA_DXT3",
  2185.       MESA_FORMAT_LAYOUT_OTHER,
  2186.       GL_RGBA,
  2187.       GL_UNSIGNED_NORMALIZED,
  2188.       4, 4, 4, 4,
  2189.       0, 0, 0, 0,
  2190.       4, 4, 16,
  2191.       { 0, 1, 2, 3 },
  2192.       0,
  2193.    },
  2194.    {
  2195.       MESA_FORMAT_SRGBA_DXT5,
  2196.       "MESA_FORMAT_SRGBA_DXT5",
  2197.       MESA_FORMAT_LAYOUT_OTHER,
  2198.       GL_RGBA,
  2199.       GL_UNSIGNED_NORMALIZED,
  2200.       4, 4, 4, 4,
  2201.       0, 0, 0, 0,
  2202.       4, 4, 16,
  2203.       { 0, 1, 2, 3 },
  2204.       0,
  2205.    },
  2206.    {
  2207.       MESA_FORMAT_RGB_FXT1,
  2208.       "MESA_FORMAT_RGB_FXT1",
  2209.       MESA_FORMAT_LAYOUT_OTHER,
  2210.       GL_RGB,
  2211.       GL_UNSIGNED_NORMALIZED,
  2212.       4, 4, 4, 0,
  2213.       0, 0, 0, 0,
  2214.       8, 4, 16,
  2215.       { 0, 1, 2, 5 },
  2216.       0,
  2217.    },
  2218.    {
  2219.       MESA_FORMAT_RGBA_FXT1,
  2220.       "MESA_FORMAT_RGBA_FXT1",
  2221.       MESA_FORMAT_LAYOUT_OTHER,
  2222.       GL_RGBA,
  2223.       GL_UNSIGNED_NORMALIZED,
  2224.       4, 4, 4, 1,
  2225.       0, 0, 0, 0,
  2226.       8, 4, 16,
  2227.       { 0, 1, 2, 3 },
  2228.       0,
  2229.    },
  2230.    {
  2231.       MESA_FORMAT_R_RGTC1_UNORM,
  2232.       "MESA_FORMAT_R_RGTC1_UNORM",
  2233.       MESA_FORMAT_LAYOUT_OTHER,
  2234.       GL_RED,
  2235.       GL_UNSIGNED_NORMALIZED,
  2236.       8, 0, 0, 0,
  2237.       0, 0, 0, 0,
  2238.       4, 4, 8,
  2239.       { 0, 4, 4, 5 },
  2240.       0,
  2241.    },
  2242.    {
  2243.       MESA_FORMAT_R_RGTC1_SNORM,
  2244.       "MESA_FORMAT_R_RGTC1_SNORM",
  2245.       MESA_FORMAT_LAYOUT_OTHER,
  2246.       GL_RED,
  2247.       GL_SIGNED_NORMALIZED,
  2248.       8, 0, 0, 0,
  2249.       0, 0, 0, 0,
  2250.       4, 4, 8,
  2251.       { 0, 4, 4, 5 },
  2252.       0,
  2253.    },
  2254.    {
  2255.       MESA_FORMAT_RG_RGTC2_UNORM,
  2256.       "MESA_FORMAT_RG_RGTC2_UNORM",
  2257.       MESA_FORMAT_LAYOUT_OTHER,
  2258.       GL_RG,
  2259.       GL_UNSIGNED_NORMALIZED,
  2260.       8, 8, 0, 0,
  2261.       0, 0, 0, 0,
  2262.       4, 4, 16,
  2263.       { 0, 1, 4, 5 },
  2264.       0,
  2265.    },
  2266.    {
  2267.       MESA_FORMAT_RG_RGTC2_SNORM,
  2268.       "MESA_FORMAT_RG_RGTC2_SNORM",
  2269.       MESA_FORMAT_LAYOUT_OTHER,
  2270.       GL_RG,
  2271.       GL_SIGNED_NORMALIZED,
  2272.       8, 8, 0, 0,
  2273.       0, 0, 0, 0,
  2274.       4, 4, 16,
  2275.       { 0, 1, 4, 5 },
  2276.       0,
  2277.    },
  2278.    {
  2279.       MESA_FORMAT_L_LATC1_UNORM,
  2280.       "MESA_FORMAT_L_LATC1_UNORM",
  2281.       MESA_FORMAT_LAYOUT_OTHER,
  2282.       GL_LUMINANCE,
  2283.       GL_UNSIGNED_NORMALIZED,
  2284.       0, 0, 0, 0,
  2285.       8, 0, 0, 0,
  2286.       4, 4, 8,
  2287.       { 0, 0, 0, 5 },
  2288.       0,
  2289.    },
  2290.    {
  2291.       MESA_FORMAT_L_LATC1_SNORM,
  2292.       "MESA_FORMAT_L_LATC1_SNORM",
  2293.       MESA_FORMAT_LAYOUT_OTHER,
  2294.       GL_LUMINANCE,
  2295.       GL_SIGNED_NORMALIZED,
  2296.       0, 0, 0, 0,
  2297.       8, 0, 0, 0,
  2298.       4, 4, 8,
  2299.       { 0, 0, 0, 5 },
  2300.       0,
  2301.    },
  2302.    {
  2303.       MESA_FORMAT_LA_LATC2_UNORM,
  2304.       "MESA_FORMAT_LA_LATC2_UNORM",
  2305.       MESA_FORMAT_LAYOUT_OTHER,
  2306.       GL_LUMINANCE_ALPHA,
  2307.       GL_UNSIGNED_NORMALIZED,
  2308.       0, 0, 0, 8,
  2309.       8, 0, 0, 0,
  2310.       4, 4, 16,
  2311.       { 0, 0, 0, 1 },
  2312.       0,
  2313.    },
  2314.    {
  2315.       MESA_FORMAT_LA_LATC2_SNORM,
  2316.       "MESA_FORMAT_LA_LATC2_SNORM",
  2317.       MESA_FORMAT_LAYOUT_OTHER,
  2318.       GL_LUMINANCE_ALPHA,
  2319.       GL_SIGNED_NORMALIZED,
  2320.       0, 0, 0, 8,
  2321.       8, 0, 0, 0,
  2322.       4, 4, 16,
  2323.       { 0, 0, 0, 1 },
  2324.       0,
  2325.    },
  2326.    {
  2327.       MESA_FORMAT_ETC1_RGB8,
  2328.       "MESA_FORMAT_ETC1_RGB8",
  2329.       MESA_FORMAT_LAYOUT_OTHER,
  2330.       GL_RGB,
  2331.       GL_UNSIGNED_NORMALIZED,
  2332.       8, 8, 8, 0,
  2333.       0, 0, 0, 0,
  2334.       4, 4, 8,
  2335.       { 0, 1, 2, 5 },
  2336.       0,
  2337.    },
  2338.    {
  2339.       MESA_FORMAT_ETC2_RGB8,
  2340.       "MESA_FORMAT_ETC2_RGB8",
  2341.       MESA_FORMAT_LAYOUT_OTHER,
  2342.       GL_RGB,
  2343.       GL_UNSIGNED_NORMALIZED,
  2344.       8, 8, 8, 0,
  2345.       0, 0, 0, 0,
  2346.       4, 4, 8,
  2347.       { 0, 1, 2, 5 },
  2348.       0,
  2349.    },
  2350.    {
  2351.       MESA_FORMAT_ETC2_SRGB8,
  2352.       "MESA_FORMAT_ETC2_SRGB8",
  2353.       MESA_FORMAT_LAYOUT_OTHER,
  2354.       GL_RGB,
  2355.       GL_UNSIGNED_NORMALIZED,
  2356.       8, 8, 8, 0,
  2357.       0, 0, 0, 0,
  2358.       4, 4, 8,
  2359.       { 0, 1, 2, 5 },
  2360.       0,
  2361.    },
  2362.    {
  2363.       MESA_FORMAT_ETC2_RGBA8_EAC,
  2364.       "MESA_FORMAT_ETC2_RGBA8_EAC",
  2365.       MESA_FORMAT_LAYOUT_OTHER,
  2366.       GL_RGBA,
  2367.       GL_UNSIGNED_NORMALIZED,
  2368.       8, 8, 8, 8,
  2369.       0, 0, 0, 0,
  2370.       4, 4, 16,
  2371.       { 0, 1, 2, 3 },
  2372.       0,
  2373.    },
  2374.    {
  2375.       MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC,
  2376.       "MESA_FORMAT_ETC2_SRGB8_ALPHA8_EAC",
  2377.       MESA_FORMAT_LAYOUT_OTHER,
  2378.       GL_RGBA,
  2379.       GL_UNSIGNED_NORMALIZED,
  2380.       8, 8, 8, 8,
  2381.       0, 0, 0, 0,
  2382.       4, 4, 16,
  2383.       { 0, 1, 2, 3 },
  2384.       0,
  2385.    },
  2386.    {
  2387.       MESA_FORMAT_ETC2_R11_EAC,
  2388.       "MESA_FORMAT_ETC2_R11_EAC",
  2389.       MESA_FORMAT_LAYOUT_OTHER,
  2390.       GL_RED,
  2391.       GL_UNSIGNED_NORMALIZED,
  2392.       11, 0, 0, 0,
  2393.       0, 0, 0, 0,
  2394.       4, 4, 8,
  2395.       { 0, 4, 4, 5 },
  2396.       0,
  2397.    },
  2398.    {
  2399.       MESA_FORMAT_ETC2_RG11_EAC,
  2400.       "MESA_FORMAT_ETC2_RG11_EAC",
  2401.       MESA_FORMAT_LAYOUT_OTHER,
  2402.       GL_RG,
  2403.       GL_UNSIGNED_NORMALIZED,
  2404.       11, 11, 0, 0,
  2405.       0, 0, 0, 0,
  2406.       4, 4, 16,
  2407.       { 0, 1, 4, 5 },
  2408.       0,
  2409.    },
  2410.    {
  2411.       MESA_FORMAT_ETC2_SIGNED_R11_EAC,
  2412.       "MESA_FORMAT_ETC2_SIGNED_R11_EAC",
  2413.       MESA_FORMAT_LAYOUT_OTHER,
  2414.       GL_RED,
  2415.       GL_SIGNED_NORMALIZED,
  2416.       11, 0, 0, 0,
  2417.       0, 0, 0, 0,
  2418.       4, 4, 8,
  2419.       { 0, 4, 4, 5 },
  2420.       0,
  2421.    },
  2422.    {
  2423.       MESA_FORMAT_ETC2_SIGNED_RG11_EAC,
  2424.       "MESA_FORMAT_ETC2_SIGNED_RG11_EAC",
  2425.       MESA_FORMAT_LAYOUT_OTHER,
  2426.       GL_RG,
  2427.       GL_SIGNED_NORMALIZED,
  2428.       11, 11, 0, 0,
  2429.       0, 0, 0, 0,
  2430.       4, 4, 16,
  2431.       { 0, 1, 4, 5 },
  2432.       0,
  2433.    },
  2434.    {
  2435.       MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1,
  2436.       "MESA_FORMAT_ETC2_RGB8_PUNCHTHROUGH_ALPHA1",
  2437.       MESA_FORMAT_LAYOUT_OTHER,
  2438.       GL_RGBA,
  2439.       GL_UNSIGNED_NORMALIZED,
  2440.       8, 8, 8, 1,
  2441.       0, 0, 0, 0,
  2442.       4, 4, 8,
  2443.       { 0, 1, 2, 3 },
  2444.       0,
  2445.    },
  2446.    {
  2447.       MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1,
  2448.       "MESA_FORMAT_ETC2_SRGB8_PUNCHTHROUGH_ALPHA1",
  2449.       MESA_FORMAT_LAYOUT_OTHER,
  2450.       GL_RGBA,
  2451.       GL_UNSIGNED_NORMALIZED,
  2452.       8, 8, 8, 1,
  2453.       0, 0, 0, 0,
  2454.       4, 4, 8,
  2455.       { 0, 1, 2, 3 },
  2456.       0,
  2457.    },
  2458.    {
  2459.       MESA_FORMAT_BPTC_RGBA_UNORM,
  2460.       "MESA_FORMAT_BPTC_RGBA_UNORM",
  2461.       MESA_FORMAT_LAYOUT_OTHER,
  2462.       GL_RGBA,
  2463.       GL_UNSIGNED_NORMALIZED,
  2464.       8, 8, 8, 8,
  2465.       0, 0, 0, 0,
  2466.       4, 4, 16,
  2467.       { 0, 1, 2, 3 },
  2468.       0,
  2469.    },
  2470.    {
  2471.       MESA_FORMAT_BPTC_SRGB_ALPHA_UNORM,
  2472.       "MESA_FORMAT_BPTC_SRGB_ALPHA_UNORM",
  2473.       MESA_FORMAT_LAYOUT_OTHER,
  2474.       GL_RGBA,
  2475.       GL_UNSIGNED_NORMALIZED,
  2476.       8, 8, 8, 8,
  2477.       0, 0, 0, 0,
  2478.       4, 4, 16,
  2479.       { 0, 1, 2, 3 },
  2480.       0,
  2481.    },
  2482.    {
  2483.       MESA_FORMAT_BPTC_RGB_SIGNED_FLOAT,
  2484.       "MESA_FORMAT_BPTC_RGB_SIGNED_FLOAT",
  2485.       MESA_FORMAT_LAYOUT_OTHER,
  2486.       GL_RGB,
  2487.       GL_FLOAT,
  2488.       16, 16, 16, 0,
  2489.       0, 0, 0, 0,
  2490.       4, 4, 16,
  2491.       { 0, 1, 2, 5 },
  2492.       0,
  2493.    },
  2494.    {
  2495.       MESA_FORMAT_BPTC_RGB_UNSIGNED_FLOAT,
  2496.       "MESA_FORMAT_BPTC_RGB_UNSIGNED_FLOAT",
  2497.       MESA_FORMAT_LAYOUT_OTHER,
  2498.       GL_RGB,
  2499.       GL_FLOAT,
  2500.       16, 16, 16, 0,
  2501.       0, 0, 0, 0,
  2502.       4, 4, 16,
  2503.       { 0, 1, 2, 5 },
  2504.       0,
  2505.    },
  2506. };
  2507.