/* This file is autogenerated by gen_format_layout.py. DO NOT EDIT! */

/*
 * Copyright 2015 Intel Corporation
 *
 * Permission is hereby granted, free of charge, to any person obtaining a
 * copy of this software and associated documentation files (the "Software"),
 * to deal in the Software without restriction, including without limitation
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 * and/or sell copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice (including the next
 * paragraph) shall be included in all copies or substantial portions of the
 * Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 */

#include "isl/isl.h"

const uint16_t isl_format_name_offsets[] = { 
    [ISL_FORMAT_R32G32B32A32_FLOAT] = 0, 
    [ISL_FORMAT_R32G32B32A32_SINT] = 30, 
    [ISL_FORMAT_R32G32B32A32_UINT] = 59, 
    [ISL_FORMAT_R32G32B32A32_UNORM] = 88, 
    [ISL_FORMAT_R32G32B32A32_SNORM] = 118, 
    [ISL_FORMAT_R64G64_FLOAT] = 148, 
    [ISL_FORMAT_R32G32B32X32_FLOAT] = 172, 
    [ISL_FORMAT_R32G32B32A32_SSCALED] = 202, 
    [ISL_FORMAT_R32G32B32A32_USCALED] = 234, 
    [ISL_FORMAT_R32G32B32A32_SFIXED] = 266, 
    [ISL_FORMAT_R64G64_PASSTHRU] = 297, 
    [ISL_FORMAT_R32G32B32_FLOAT] = 324, 
    [ISL_FORMAT_R32G32B32_SINT] = 351, 
    [ISL_FORMAT_R32G32B32_UINT] = 377, 
    [ISL_FORMAT_R32G32B32_UNORM] = 403, 
    [ISL_FORMAT_R32G32B32_SNORM] = 430, 
    [ISL_FORMAT_R32G32B32_SSCALED] = 457, 
    [ISL_FORMAT_R32G32B32_USCALED] = 486, 
    [ISL_FORMAT_R32G32B32_SFIXED] = 515, 
    [ISL_FORMAT_R16G16B16A16_UNORM] = 543, 
    [ISL_FORMAT_R16G16B16A16_SNORM] = 573, 
    [ISL_FORMAT_R16G16B16A16_SINT] = 603, 
    [ISL_FORMAT_R16G16B16A16_UINT] = 632, 
    [ISL_FORMAT_R16G16B16A16_FLOAT] = 661, 
    [ISL_FORMAT_R32G32_FLOAT] = 691, 
    [ISL_FORMAT_R32G32_SINT] = 715, 
    [ISL_FORMAT_R32G32_UINT] = 738, 
    [ISL_FORMAT_R32_FLOAT_X8X24_TYPELESS] = 761, 
    [ISL_FORMAT_X32_TYPELESS_G8X24_UINT] = 797, 
    [ISL_FORMAT_L32A32_FLOAT] = 832, 
    [ISL_FORMAT_R32G32_UNORM] = 856, 
    [ISL_FORMAT_R32G32_SNORM] = 880, 
    [ISL_FORMAT_R64_FLOAT] = 904, 
    [ISL_FORMAT_R16G16B16X16_UNORM] = 925, 
    [ISL_FORMAT_R16G16B16X16_FLOAT] = 955, 
    [ISL_FORMAT_A32X32_FLOAT] = 985, 
    [ISL_FORMAT_L32X32_FLOAT] = 1009, 
    [ISL_FORMAT_I32X32_FLOAT] = 1033, 
    [ISL_FORMAT_R16G16B16A16_SSCALED] = 1057, 
    [ISL_FORMAT_R16G16B16A16_USCALED] = 1089, 
    [ISL_FORMAT_R32G32_SSCALED] = 1121, 
    [ISL_FORMAT_R32G32_USCALED] = 1147, 
    [ISL_FORMAT_R32G32_FLOAT_LD] = 1173, 
    [ISL_FORMAT_R32G32_SFIXED] = 1200, 
    [ISL_FORMAT_R64_PASSTHRU] = 1225, 
    [ISL_FORMAT_B8G8R8A8_UNORM] = 1249, 
    [ISL_FORMAT_B8G8R8A8_UNORM_SRGB] = 1275, 
    [ISL_FORMAT_R10G10B10A2_UNORM] = 1306, 
    [ISL_FORMAT_R10G10B10A2_UNORM_SRGB] = 1335, 
    [ISL_FORMAT_R10G10B10A2_UINT] = 1369, 
    [ISL_FORMAT_R10G10B10_SNORM_A2_UNORM] = 1397, 
    [ISL_FORMAT_R8G8B8A8_UNORM] = 1433, 
    [ISL_FORMAT_R8G8B8A8_UNORM_SRGB] = 1459, 
    [ISL_FORMAT_R8G8B8A8_SNORM] = 1490, 
    [ISL_FORMAT_R8G8B8A8_SINT] = 1516, 
    [ISL_FORMAT_R8G8B8A8_UINT] = 1541, 
    [ISL_FORMAT_R16G16_UNORM] = 1566, 
    [ISL_FORMAT_R16G16_SNORM] = 1590, 
    [ISL_FORMAT_R16G16_SINT] = 1614, 
    [ISL_FORMAT_R16G16_UINT] = 1637, 
    [ISL_FORMAT_R16G16_FLOAT] = 1660, 
    [ISL_FORMAT_B10G10R10A2_UNORM] = 1684, 
    [ISL_FORMAT_B10G10R10A2_UNORM_SRGB] = 1713, 
    [ISL_FORMAT_R11G11B10_FLOAT] = 1747, 
    [ISL_FORMAT_R10G10B10_FLOAT_A2_UNORM] = 1774, 
    [ISL_FORMAT_R32_SINT] = 1810, 
    [ISL_FORMAT_R32_UINT] = 1830, 
    [ISL_FORMAT_R32_FLOAT] = 1850, 
    [ISL_FORMAT_R24_UNORM_X8_TYPELESS] = 1871, 
    [ISL_FORMAT_X24_TYPELESS_G8_UINT] = 1904, 
    [ISL_FORMAT_L32_UNORM] = 1936, 
    [ISL_FORMAT_A32_UNORM] = 1957, 
    [ISL_FORMAT_L16A16_UNORM] = 1978, 
    [ISL_FORMAT_I24X8_UNORM] = 2002, 
    [ISL_FORMAT_L24X8_UNORM] = 2025, 
    [ISL_FORMAT_A24X8_UNORM] = 2048, 
    [ISL_FORMAT_I32_FLOAT] = 2071, 
    [ISL_FORMAT_L32_FLOAT] = 2092, 
    [ISL_FORMAT_A32_FLOAT] = 2113, 
    [ISL_FORMAT_X8B8_UNORM_G8R8_SNORM] = 2134, 
    [ISL_FORMAT_A8X8_UNORM_G8R8_SNORM] = 2167, 
    [ISL_FORMAT_B8X8_UNORM_G8R8_SNORM] = 2200, 
    [ISL_FORMAT_B8G8R8X8_UNORM] = 2233, 
    [ISL_FORMAT_B8G8R8X8_UNORM_SRGB] = 2259, 
    [ISL_FORMAT_R8G8B8X8_UNORM] = 2290, 
    [ISL_FORMAT_R8G8B8X8_UNORM_SRGB] = 2316, 
    [ISL_FORMAT_R9G9B9E5_SHAREDEXP] = 2347, 
    [ISL_FORMAT_B10G10R10X2_UNORM] = 2377, 
    [ISL_FORMAT_L16A16_FLOAT] = 2406, 
    [ISL_FORMAT_R32_UNORM] = 2430, 
    [ISL_FORMAT_R32_SNORM] = 2451, 
    [ISL_FORMAT_R10G10B10X2_USCALED] = 2472, 
    [ISL_FORMAT_R8G8B8A8_SSCALED] = 2503, 
    [ISL_FORMAT_R8G8B8A8_USCALED] = 2531, 
    [ISL_FORMAT_R16G16_SSCALED] = 2559, 
    [ISL_FORMAT_R16G16_USCALED] = 2585, 
    [ISL_FORMAT_R32_SSCALED] = 2611, 
    [ISL_FORMAT_R32_USCALED] = 2634, 
    [ISL_FORMAT_B5G6R5_UNORM] = 2657, 
    [ISL_FORMAT_B5G6R5_UNORM_SRGB] = 2681, 
    [ISL_FORMAT_B5G5R5A1_UNORM] = 2710, 
    [ISL_FORMAT_B5G5R5A1_UNORM_SRGB] = 2736, 
    [ISL_FORMAT_B4G4R4A4_UNORM] = 2767, 
    [ISL_FORMAT_B4G4R4A4_UNORM_SRGB] = 2793, 
    [ISL_FORMAT_R8G8_UNORM] = 2824, 
    [ISL_FORMAT_R8G8_SNORM] = 2846, 
    [ISL_FORMAT_R8G8_SINT] = 2868, 
    [ISL_FORMAT_R8G8_UINT] = 2889, 
    [ISL_FORMAT_R16_UNORM] = 2910, 
    [ISL_FORMAT_R16_SNORM] = 2931, 
    [ISL_FORMAT_R16_SINT] = 2952, 
    [ISL_FORMAT_R16_UINT] = 2972, 
    [ISL_FORMAT_R16_FLOAT] = 2992, 
    [ISL_FORMAT_A8P8_UNORM_PALETTE0] = 3013, 
    [ISL_FORMAT_A8P8_UNORM_PALETTE1] = 3044, 
    [ISL_FORMAT_I16_UNORM] = 3075, 
    [ISL_FORMAT_L16_UNORM] = 3096, 
    [ISL_FORMAT_A16_UNORM] = 3117, 
    [ISL_FORMAT_L8A8_UNORM] = 3138, 
    [ISL_FORMAT_I16_FLOAT] = 3160, 
    [ISL_FORMAT_L16_FLOAT] = 3181, 
    [ISL_FORMAT_A16_FLOAT] = 3202, 
    [ISL_FORMAT_L8A8_UNORM_SRGB] = 3223, 
    [ISL_FORMAT_R5G5_SNORM_B6_UNORM] = 3250, 
    [ISL_FORMAT_B5G5R5X1_UNORM] = 3281, 
    [ISL_FORMAT_B5G5R5X1_UNORM_SRGB] = 3307, 
    [ISL_FORMAT_R8G8_SSCALED] = 3338, 
    [ISL_FORMAT_R8G8_USCALED] = 3362, 
    [ISL_FORMAT_R16_SSCALED] = 3386, 
    [ISL_FORMAT_R16_USCALED] = 3409, 
    [ISL_FORMAT_P8A8_UNORM_PALETTE0] = 3432, 
    [ISL_FORMAT_P8A8_UNORM_PALETTE1] = 3463, 
    [ISL_FORMAT_A1B5G5R5_UNORM] = 3494, 
    [ISL_FORMAT_A4B4G4R4_UNORM] = 3520, 
    [ISL_FORMAT_L8A8_UINT] = 3546, 
    [ISL_FORMAT_L8A8_SINT] = 3567, 
    [ISL_FORMAT_R8_UNORM] = 3588, 
    [ISL_FORMAT_R8_SNORM] = 3608, 
    [ISL_FORMAT_R8_SINT] = 3628, 
    [ISL_FORMAT_R8_UINT] = 3647, 
    [ISL_FORMAT_A8_UNORM] = 3666, 
    [ISL_FORMAT_I8_UNORM] = 3686, 
    [ISL_FORMAT_L8_UNORM] = 3706, 
    [ISL_FORMAT_P4A4_UNORM_PALETTE0] = 3726, 
    [ISL_FORMAT_A4P4_UNORM_PALETTE0] = 3757, 
    [ISL_FORMAT_R8_SSCALED] = 3788, 
    [ISL_FORMAT_R8_USCALED] = 3810, 
    [ISL_FORMAT_P8_UNORM_PALETTE0] = 3832, 
    [ISL_FORMAT_L8_UNORM_SRGB] = 3861, 
    [ISL_FORMAT_P8_UNORM_PALETTE1] = 3886, 
    [ISL_FORMAT_P4A4_UNORM_PALETTE1] = 3915, 
    [ISL_FORMAT_A4P4_UNORM_PALETTE1] = 3946, 
    [ISL_FORMAT_Y8_UNORM] = 3977, 
    [ISL_FORMAT_L8_UINT] = 3997, 
    [ISL_FORMAT_L8_SINT] = 4016, 
    [ISL_FORMAT_I8_UINT] = 4035, 
    [ISL_FORMAT_I8_SINT] = 4054, 
    [ISL_FORMAT_DXT1_RGB_SRGB] = 4073, 
    [ISL_FORMAT_R1_UNORM] = 4098, 
    [ISL_FORMAT_YCRCB_NORMAL] = 4118, 
    [ISL_FORMAT_YCRCB_SWAPUVY] = 4142, 
    [ISL_FORMAT_P2_UNORM_PALETTE0] = 4167, 
    [ISL_FORMAT_P2_UNORM_PALETTE1] = 4196, 
    [ISL_FORMAT_BC1_UNORM] = 4225, 
    [ISL_FORMAT_BC2_UNORM] = 4246, 
    [ISL_FORMAT_BC3_UNORM] = 4267, 
    [ISL_FORMAT_BC4_UNORM] = 4288, 
    [ISL_FORMAT_BC5_UNORM] = 4309, 
    [ISL_FORMAT_BC1_UNORM_SRGB] = 4330, 
    [ISL_FORMAT_BC2_UNORM_SRGB] = 4356, 
    [ISL_FORMAT_BC3_UNORM_SRGB] = 4382, 
    [ISL_FORMAT_MONO8] = 4408, 
    [ISL_FORMAT_YCRCB_SWAPUV] = 4425, 
    [ISL_FORMAT_YCRCB_SWAPY] = 4449, 
    [ISL_FORMAT_DXT1_RGB] = 4472, 
    [ISL_FORMAT_FXT1] = 4492, 
    [ISL_FORMAT_R8G8B8_UNORM] = 4508, 
    [ISL_FORMAT_R8G8B8_SNORM] = 4532, 
    [ISL_FORMAT_R8G8B8_SSCALED] = 4556, 
    [ISL_FORMAT_R8G8B8_USCALED] = 4582, 
    [ISL_FORMAT_R64G64B64A64_FLOAT] = 4608, 
    [ISL_FORMAT_R64G64B64_FLOAT] = 4638, 
    [ISL_FORMAT_BC4_SNORM] = 4665, 
    [ISL_FORMAT_BC5_SNORM] = 4686, 
    [ISL_FORMAT_R16G16B16_FLOAT] = 4707, 
    [ISL_FORMAT_R16G16B16_UNORM] = 4734, 
    [ISL_FORMAT_R16G16B16_SNORM] = 4761, 
    [ISL_FORMAT_R16G16B16_SSCALED] = 4788, 
    [ISL_FORMAT_R16G16B16_USCALED] = 4817, 
    [ISL_FORMAT_BC6H_SF16] = 4846, 
    [ISL_FORMAT_BC7_UNORM] = 4867, 
    [ISL_FORMAT_BC7_UNORM_SRGB] = 4888, 
    [ISL_FORMAT_BC6H_UF16] = 4914, 
    [ISL_FORMAT_PLANAR_420_8] = 4935, 
    [ISL_FORMAT_PLANAR_420_10] = 4959, 
    [ISL_FORMAT_PLANAR_420_12] = 4984, 
    [ISL_FORMAT_PLANAR_420_16] = 5009, 
    [ISL_FORMAT_R8G8B8_UNORM_SRGB] = 5034, 
    [ISL_FORMAT_ETC1_RGB8] = 5063, 
    [ISL_FORMAT_ETC2_RGB8] = 5084, 
    [ISL_FORMAT_EAC_R11] = 5105, 
    [ISL_FORMAT_EAC_RG11] = 5124, 
    [ISL_FORMAT_EAC_SIGNED_R11] = 5144, 
    [ISL_FORMAT_EAC_SIGNED_RG11] = 5170, 
    [ISL_FORMAT_ETC2_SRGB8] = 5197, 
    [ISL_FORMAT_R16G16B16_UINT] = 5219, 
    [ISL_FORMAT_R16G16B16_SINT] = 5245, 
    [ISL_FORMAT_R32_SFIXED] = 5271, 
    [ISL_FORMAT_R10G10B10A2_SNORM] = 5293, 
    [ISL_FORMAT_R10G10B10A2_USCALED] = 5322, 
    [ISL_FORMAT_R10G10B10A2_SSCALED] = 5353, 
    [ISL_FORMAT_R10G10B10A2_SINT] = 5384, 
    [ISL_FORMAT_B10G10R10A2_SNORM] = 5412, 
    [ISL_FORMAT_B10G10R10A2_USCALED] = 5441, 
    [ISL_FORMAT_B10G10R10A2_SSCALED] = 5472, 
    [ISL_FORMAT_B10G10R10A2_UINT] = 5503, 
    [ISL_FORMAT_B10G10R10A2_SINT] = 5531, 
    [ISL_FORMAT_R64G64B64A64_PASSTHRU] = 5559, 
    [ISL_FORMAT_R64G64B64_PASSTHRU] = 5592, 
    [ISL_FORMAT_ETC2_RGB8_PTA] = 5622, 
    [ISL_FORMAT_ETC2_SRGB8_PTA] = 5647, 
    [ISL_FORMAT_ETC2_EAC_RGBA8] = 5673, 
    [ISL_FORMAT_ETC2_EAC_SRGB8_A8] = 5699, 
    [ISL_FORMAT_R8G8B8_UINT] = 5728, 
    [ISL_FORMAT_R8G8B8_SINT] = 5751, 
    [ISL_FORMAT_RAW] = 5774, 
    [ISL_FORMAT_ASTC_LDR_2D_4X4_U8SRGB] = 5789, 
    [ISL_FORMAT_ASTC_LDR_2D_5X4_U8SRGB] = 5823, 
    [ISL_FORMAT_ASTC_LDR_2D_5X5_U8SRGB] = 5857, 
    [ISL_FORMAT_ASTC_LDR_2D_6X5_U8SRGB] = 5891, 
    [ISL_FORMAT_ASTC_LDR_2D_6X6_U8SRGB] = 5925, 
    [ISL_FORMAT_ASTC_LDR_2D_8X5_U8SRGB] = 5959, 
    [ISL_FORMAT_ASTC_LDR_2D_8X6_U8SRGB] = 5993, 
    [ISL_FORMAT_ASTC_LDR_2D_8X8_U8SRGB] = 6027, 
    [ISL_FORMAT_ASTC_LDR_2D_10X5_U8SRGB] = 6061, 
    [ISL_FORMAT_ASTC_LDR_2D_10X6_U8SRGB] = 6096, 
    [ISL_FORMAT_ASTC_LDR_2D_10X8_U8SRGB] = 6131, 
    [ISL_FORMAT_ASTC_LDR_2D_10X10_U8SRGB] = 6166, 
    [ISL_FORMAT_ASTC_LDR_2D_12X10_U8SRGB] = 6202, 
    [ISL_FORMAT_ASTC_LDR_2D_12X12_U8SRGB] = 6238, 
    [ISL_FORMAT_ASTC_LDR_2D_4X4_FLT16] = 6274, 
    [ISL_FORMAT_ASTC_LDR_2D_5X4_FLT16] = 6307, 
    [ISL_FORMAT_ASTC_LDR_2D_5X5_FLT16] = 6340, 
    [ISL_FORMAT_ASTC_LDR_2D_6X5_FLT16] = 6373, 
    [ISL_FORMAT_ASTC_LDR_2D_6X6_FLT16] = 6406, 
    [ISL_FORMAT_ASTC_LDR_2D_8X5_FLT16] = 6439, 
    [ISL_FORMAT_ASTC_LDR_2D_8X6_FLT16] = 6472, 
    [ISL_FORMAT_ASTC_LDR_2D_8X8_FLT16] = 6505, 
    [ISL_FORMAT_ASTC_LDR_2D_10X5_FLT16] = 6538, 
    [ISL_FORMAT_ASTC_LDR_2D_10X6_FLT16] = 6572, 
    [ISL_FORMAT_ASTC_LDR_2D_10X8_FLT16] = 6606, 
    [ISL_FORMAT_ASTC_LDR_2D_10X10_FLT16] = 6640, 
    [ISL_FORMAT_ASTC_LDR_2D_12X10_FLT16] = 6675, 
    [ISL_FORMAT_ASTC_LDR_2D_12X12_FLT16] = 6710, 
    [ISL_FORMAT_ASTC_HDR_2D_4X4_FLT16] = 6745, 
    [ISL_FORMAT_ASTC_HDR_2D_5X4_FLT16] = 6778, 
    [ISL_FORMAT_ASTC_HDR_2D_5X5_FLT16] = 6811, 
    [ISL_FORMAT_ASTC_HDR_2D_6X5_FLT16] = 6844, 
    [ISL_FORMAT_ASTC_HDR_2D_6X6_FLT16] = 6877, 
    [ISL_FORMAT_ASTC_HDR_2D_8X5_FLT16] = 6910, 
    [ISL_FORMAT_ASTC_HDR_2D_8X6_FLT16] = 6943, 
    [ISL_FORMAT_ASTC_HDR_2D_8X8_FLT16] = 6976, 
    [ISL_FORMAT_ASTC_HDR_2D_10X5_FLT16] = 7009, 
    [ISL_FORMAT_ASTC_HDR_2D_10X6_FLT16] = 7043, 
    [ISL_FORMAT_ASTC_HDR_2D_10X8_FLT16] = 7077, 
    [ISL_FORMAT_ASTC_HDR_2D_10X10_FLT16] = 7111, 
    [ISL_FORMAT_ASTC_HDR_2D_12X10_FLT16] = 7146, 
    [ISL_FORMAT_ASTC_HDR_2D_12X12_FLT16] = 7181, 
    [ISL_FORMAT_HIZ] = 7216, 
    [ISL_FORMAT_MCS_2X] = 7231, 
    [ISL_FORMAT_MCS_4X] = 7249, 
    [ISL_FORMAT_MCS_8X] = 7267, 
    [ISL_FORMAT_MCS_16X] = 7285, 
    [ISL_FORMAT_GFX7_CCS_32BPP_X] = 7304, 
    [ISL_FORMAT_GFX7_CCS_64BPP_X] = 7332, 
    [ISL_FORMAT_GFX7_CCS_128BPP_X] = 7360, 
    [ISL_FORMAT_GFX7_CCS_32BPP_Y] = 7389, 
    [ISL_FORMAT_GFX7_CCS_64BPP_Y] = 7417, 
    [ISL_FORMAT_GFX7_CCS_128BPP_Y] = 7445, 
    [ISL_FORMAT_GFX9_CCS_32BPP] = 7474, 
    [ISL_FORMAT_GFX9_CCS_64BPP] = 7500, 
    [ISL_FORMAT_GFX9_CCS_128BPP] = 7526, 
    [ISL_FORMAT_GFX12_CCS_8BPP_Y0] = 7553, 
    [ISL_FORMAT_GFX12_CCS_16BPP_Y0] = 7582, 
    [ISL_FORMAT_GFX12_CCS_32BPP_Y0] = 7612, 
    [ISL_FORMAT_GFX12_CCS_64BPP_Y0] = 7642, 
    [ISL_FORMAT_GFX12_CCS_128BPP_Y0] = 7672, 
};

const char isl_format_names[] = {
  "ISL_FORMAT_R32G32B32A32_FLOAT\0"
  "ISL_FORMAT_R32G32B32A32_SINT\0"
  "ISL_FORMAT_R32G32B32A32_UINT\0"
  "ISL_FORMAT_R32G32B32A32_UNORM\0"
  "ISL_FORMAT_R32G32B32A32_SNORM\0"
  "ISL_FORMAT_R64G64_FLOAT\0"
  "ISL_FORMAT_R32G32B32X32_FLOAT\0"
  "ISL_FORMAT_R32G32B32A32_SSCALED\0"
  "ISL_FORMAT_R32G32B32A32_USCALED\0"
  "ISL_FORMAT_R32G32B32A32_SFIXED\0"
  "ISL_FORMAT_R64G64_PASSTHRU\0"
  "ISL_FORMAT_R32G32B32_FLOAT\0"
  "ISL_FORMAT_R32G32B32_SINT\0"
  "ISL_FORMAT_R32G32B32_UINT\0"
  "ISL_FORMAT_R32G32B32_UNORM\0"
  "ISL_FORMAT_R32G32B32_SNORM\0"
  "ISL_FORMAT_R32G32B32_SSCALED\0"
  "ISL_FORMAT_R32G32B32_USCALED\0"
  "ISL_FORMAT_R32G32B32_SFIXED\0"
  "ISL_FORMAT_R16G16B16A16_UNORM\0"
  "ISL_FORMAT_R16G16B16A16_SNORM\0"
  "ISL_FORMAT_R16G16B16A16_SINT\0"
  "ISL_FORMAT_R16G16B16A16_UINT\0"
  "ISL_FORMAT_R16G16B16A16_FLOAT\0"
  "ISL_FORMAT_R32G32_FLOAT\0"
  "ISL_FORMAT_R32G32_SINT\0"
  "ISL_FORMAT_R32G32_UINT\0"
  "ISL_FORMAT_R32_FLOAT_X8X24_TYPELESS\0"
  "ISL_FORMAT_X32_TYPELESS_G8X24_UINT\0"
  "ISL_FORMAT_L32A32_FLOAT\0"
  "ISL_FORMAT_R32G32_UNORM\0"
  "ISL_FORMAT_R32G32_SNORM\0"
  "ISL_FORMAT_R64_FLOAT\0"
  "ISL_FORMAT_R16G16B16X16_UNORM\0"
  "ISL_FORMAT_R16G16B16X16_FLOAT\0"
  "ISL_FORMAT_A32X32_FLOAT\0"
  "ISL_FORMAT_L32X32_FLOAT\0"
  "ISL_FORMAT_I32X32_FLOAT\0"
  "ISL_FORMAT_R16G16B16A16_SSCALED\0"
  "ISL_FORMAT_R16G16B16A16_USCALED\0"
  "ISL_FORMAT_R32G32_SSCALED\0"
  "ISL_FORMAT_R32G32_USCALED\0"
  "ISL_FORMAT_R32G32_FLOAT_LD\0"
  "ISL_FORMAT_R32G32_SFIXED\0"
  "ISL_FORMAT_R64_PASSTHRU\0"
  "ISL_FORMAT_B8G8R8A8_UNORM\0"
  "ISL_FORMAT_B8G8R8A8_UNORM_SRGB\0"
  "ISL_FORMAT_R10G10B10A2_UNORM\0"
  "ISL_FORMAT_R10G10B10A2_UNORM_SRGB\0"
  "ISL_FORMAT_R10G10B10A2_UINT\0"
  "ISL_FORMAT_R10G10B10_SNORM_A2_UNORM\0"
  "ISL_FORMAT_R8G8B8A8_UNORM\0"
  "ISL_FORMAT_R8G8B8A8_UNORM_SRGB\0"
  "ISL_FORMAT_R8G8B8A8_SNORM\0"
  "ISL_FORMAT_R8G8B8A8_SINT\0"
  "ISL_FORMAT_R8G8B8A8_UINT\0"
  "ISL_FORMAT_R16G16_UNORM\0"
  "ISL_FORMAT_R16G16_SNORM\0"
  "ISL_FORMAT_R16G16_SINT\0"
  "ISL_FORMAT_R16G16_UINT\0"
  "ISL_FORMAT_R16G16_FLOAT\0"
  "ISL_FORMAT_B10G10R10A2_UNORM\0"
  "ISL_FORMAT_B10G10R10A2_UNORM_SRGB\0"
  "ISL_FORMAT_R11G11B10_FLOAT\0"
  "ISL_FORMAT_R10G10B10_FLOAT_A2_UNORM\0"
  "ISL_FORMAT_R32_SINT\0"
  "ISL_FORMAT_R32_UINT\0"
  "ISL_FORMAT_R32_FLOAT\0"
  "ISL_FORMAT_R24_UNORM_X8_TYPELESS\0"
  "ISL_FORMAT_X24_TYPELESS_G8_UINT\0"
  "ISL_FORMAT_L32_UNORM\0"
  "ISL_FORMAT_A32_UNORM\0"
  "ISL_FORMAT_L16A16_UNORM\0"
  "ISL_FORMAT_I24X8_UNORM\0"
  "ISL_FORMAT_L24X8_UNORM\0"
  "ISL_FORMAT_A24X8_UNORM\0"
  "ISL_FORMAT_I32_FLOAT\0"
  "ISL_FORMAT_L32_FLOAT\0"
  "ISL_FORMAT_A32_FLOAT\0"
  "ISL_FORMAT_X8B8_UNORM_G8R8_SNORM\0"
  "ISL_FORMAT_A8X8_UNORM_G8R8_SNORM\0"
  "ISL_FORMAT_B8X8_UNORM_G8R8_SNORM\0"
  "ISL_FORMAT_B8G8R8X8_UNORM\0"
  "ISL_FORMAT_B8G8R8X8_UNORM_SRGB\0"
  "ISL_FORMAT_R8G8B8X8_UNORM\0"
  "ISL_FORMAT_R8G8B8X8_UNORM_SRGB\0"
  "ISL_FORMAT_R9G9B9E5_SHAREDEXP\0"
  "ISL_FORMAT_B10G10R10X2_UNORM\0"
  "ISL_FORMAT_L16A16_FLOAT\0"
  "ISL_FORMAT_R32_UNORM\0"
  "ISL_FORMAT_R32_SNORM\0"
  "ISL_FORMAT_R10G10B10X2_USCALED\0"
  "ISL_FORMAT_R8G8B8A8_SSCALED\0"
  "ISL_FORMAT_R8G8B8A8_USCALED\0"
  "ISL_FORMAT_R16G16_SSCALED\0"
  "ISL_FORMAT_R16G16_USCALED\0"
  "ISL_FORMAT_R32_SSCALED\0"
  "ISL_FORMAT_R32_USCALED\0"
  "ISL_FORMAT_B5G6R5_UNORM\0"
  "ISL_FORMAT_B5G6R5_UNORM_SRGB\0"
  "ISL_FORMAT_B5G5R5A1_UNORM\0"
  "ISL_FORMAT_B5G5R5A1_UNORM_SRGB\0"
  "ISL_FORMAT_B4G4R4A4_UNORM\0"
  "ISL_FORMAT_B4G4R4A4_UNORM_SRGB\0"
  "ISL_FORMAT_R8G8_UNORM\0"
  "ISL_FORMAT_R8G8_SNORM\0"
  "ISL_FORMAT_R8G8_SINT\0"
  "ISL_FORMAT_R8G8_UINT\0"
  "ISL_FORMAT_R16_UNORM\0"
  "ISL_FORMAT_R16_SNORM\0"
  "ISL_FORMAT_R16_SINT\0"
  "ISL_FORMAT_R16_UINT\0"
  "ISL_FORMAT_R16_FLOAT\0"
  "ISL_FORMAT_A8P8_UNORM_PALETTE0\0"
  "ISL_FORMAT_A8P8_UNORM_PALETTE1\0"
  "ISL_FORMAT_I16_UNORM\0"
  "ISL_FORMAT_L16_UNORM\0"
  "ISL_FORMAT_A16_UNORM\0"
  "ISL_FORMAT_L8A8_UNORM\0"
  "ISL_FORMAT_I16_FLOAT\0"
  "ISL_FORMAT_L16_FLOAT\0"
  "ISL_FORMAT_A16_FLOAT\0"
  "ISL_FORMAT_L8A8_UNORM_SRGB\0"
  "ISL_FORMAT_R5G5_SNORM_B6_UNORM\0"
  "ISL_FORMAT_B5G5R5X1_UNORM\0"
  "ISL_FORMAT_B5G5R5X1_UNORM_SRGB\0"
  "ISL_FORMAT_R8G8_SSCALED\0"
  "ISL_FORMAT_R8G8_USCALED\0"
  "ISL_FORMAT_R16_SSCALED\0"
  "ISL_FORMAT_R16_USCALED\0"
  "ISL_FORMAT_P8A8_UNORM_PALETTE0\0"
  "ISL_FORMAT_P8A8_UNORM_PALETTE1\0"
  "ISL_FORMAT_A1B5G5R5_UNORM\0"
  "ISL_FORMAT_A4B4G4R4_UNORM\0"
  "ISL_FORMAT_L8A8_UINT\0"
  "ISL_FORMAT_L8A8_SINT\0"
  "ISL_FORMAT_R8_UNORM\0"
  "ISL_FORMAT_R8_SNORM\0"
  "ISL_FORMAT_R8_SINT\0"
  "ISL_FORMAT_R8_UINT\0"
  "ISL_FORMAT_A8_UNORM\0"
  "ISL_FORMAT_I8_UNORM\0"
  "ISL_FORMAT_L8_UNORM\0"
  "ISL_FORMAT_P4A4_UNORM_PALETTE0\0"
  "ISL_FORMAT_A4P4_UNORM_PALETTE0\0"
  "ISL_FORMAT_R8_SSCALED\0"
  "ISL_FORMAT_R8_USCALED\0"
  "ISL_FORMAT_P8_UNORM_PALETTE0\0"
  "ISL_FORMAT_L8_UNORM_SRGB\0"
  "ISL_FORMAT_P8_UNORM_PALETTE1\0"
  "ISL_FORMAT_P4A4_UNORM_PALETTE1\0"
  "ISL_FORMAT_A4P4_UNORM_PALETTE1\0"
  "ISL_FORMAT_Y8_UNORM\0"
  "ISL_FORMAT_L8_UINT\0"
  "ISL_FORMAT_L8_SINT\0"
  "ISL_FORMAT_I8_UINT\0"
  "ISL_FORMAT_I8_SINT\0"
  "ISL_FORMAT_DXT1_RGB_SRGB\0"
  "ISL_FORMAT_R1_UNORM\0"
  "ISL_FORMAT_YCRCB_NORMAL\0"
  "ISL_FORMAT_YCRCB_SWAPUVY\0"
  "ISL_FORMAT_P2_UNORM_PALETTE0\0"
  "ISL_FORMAT_P2_UNORM_PALETTE1\0"
  "ISL_FORMAT_BC1_UNORM\0"
  "ISL_FORMAT_BC2_UNORM\0"
  "ISL_FORMAT_BC3_UNORM\0"
  "ISL_FORMAT_BC4_UNORM\0"
  "ISL_FORMAT_BC5_UNORM\0"
  "ISL_FORMAT_BC1_UNORM_SRGB\0"
  "ISL_FORMAT_BC2_UNORM_SRGB\0"
  "ISL_FORMAT_BC3_UNORM_SRGB\0"
  "ISL_FORMAT_MONO8\0"
  "ISL_FORMAT_YCRCB_SWAPUV\0"
  "ISL_FORMAT_YCRCB_SWAPY\0"
  "ISL_FORMAT_DXT1_RGB\0"
  "ISL_FORMAT_FXT1\0"
  "ISL_FORMAT_R8G8B8_UNORM\0"
  "ISL_FORMAT_R8G8B8_SNORM\0"
  "ISL_FORMAT_R8G8B8_SSCALED\0"
  "ISL_FORMAT_R8G8B8_USCALED\0"
  "ISL_FORMAT_R64G64B64A64_FLOAT\0"
  "ISL_FORMAT_R64G64B64_FLOAT\0"
  "ISL_FORMAT_BC4_SNORM\0"
  "ISL_FORMAT_BC5_SNORM\0"
  "ISL_FORMAT_R16G16B16_FLOAT\0"
  "ISL_FORMAT_R16G16B16_UNORM\0"
  "ISL_FORMAT_R16G16B16_SNORM\0"
  "ISL_FORMAT_R16G16B16_SSCALED\0"
  "ISL_FORMAT_R16G16B16_USCALED\0"
  "ISL_FORMAT_BC6H_SF16\0"
  "ISL_FORMAT_BC7_UNORM\0"
  "ISL_FORMAT_BC7_UNORM_SRGB\0"
  "ISL_FORMAT_BC6H_UF16\0"
  "ISL_FORMAT_PLANAR_420_8\0"
  "ISL_FORMAT_PLANAR_420_10\0"
  "ISL_FORMAT_PLANAR_420_12\0"
  "ISL_FORMAT_PLANAR_420_16\0"
  "ISL_FORMAT_R8G8B8_UNORM_SRGB\0"
  "ISL_FORMAT_ETC1_RGB8\0"
  "ISL_FORMAT_ETC2_RGB8\0"
  "ISL_FORMAT_EAC_R11\0"
  "ISL_FORMAT_EAC_RG11\0"
  "ISL_FORMAT_EAC_SIGNED_R11\0"
  "ISL_FORMAT_EAC_SIGNED_RG11\0"
  "ISL_FORMAT_ETC2_SRGB8\0"
  "ISL_FORMAT_R16G16B16_UINT\0"
  "ISL_FORMAT_R16G16B16_SINT\0"
  "ISL_FORMAT_R32_SFIXED\0"
  "ISL_FORMAT_R10G10B10A2_SNORM\0"
  "ISL_FORMAT_R10G10B10A2_USCALED\0"
  "ISL_FORMAT_R10G10B10A2_SSCALED\0"
  "ISL_FORMAT_R10G10B10A2_SINT\0"
  "ISL_FORMAT_B10G10R10A2_SNORM\0"
  "ISL_FORMAT_B10G10R10A2_USCALED\0"
  "ISL_FORMAT_B10G10R10A2_SSCALED\0"
  "ISL_FORMAT_B10G10R10A2_UINT\0"
  "ISL_FORMAT_B10G10R10A2_SINT\0"
  "ISL_FORMAT_R64G64B64A64_PASSTHRU\0"
  "ISL_FORMAT_R64G64B64_PASSTHRU\0"
  "ISL_FORMAT_ETC2_RGB8_PTA\0"
  "ISL_FORMAT_ETC2_SRGB8_PTA\0"
  "ISL_FORMAT_ETC2_EAC_RGBA8\0"
  "ISL_FORMAT_ETC2_EAC_SRGB8_A8\0"
  "ISL_FORMAT_R8G8B8_UINT\0"
  "ISL_FORMAT_R8G8B8_SINT\0"
  "ISL_FORMAT_RAW\0"
  "ISL_FORMAT_ASTC_LDR_2D_4X4_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_5X4_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_5X5_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_6X5_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_6X6_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_8X5_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_8X6_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_8X8_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_10X5_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_10X6_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_10X8_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_10X10_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_12X10_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_12X12_U8SRGB\0"
  "ISL_FORMAT_ASTC_LDR_2D_4X4_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_5X4_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_5X5_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_6X5_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_6X6_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_8X5_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_8X6_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_8X8_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_10X5_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_10X6_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_10X8_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_10X10_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_12X10_FLT16\0"
  "ISL_FORMAT_ASTC_LDR_2D_12X12_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_4X4_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_5X4_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_5X5_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_6X5_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_6X6_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_8X5_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_8X6_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_8X8_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_10X5_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_10X6_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_10X8_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_10X10_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_12X10_FLT16\0"
  "ISL_FORMAT_ASTC_HDR_2D_12X12_FLT16\0"
  "ISL_FORMAT_HIZ\0"
  "ISL_FORMAT_MCS_2X\0"
  "ISL_FORMAT_MCS_4X\0"
  "ISL_FORMAT_MCS_8X\0"
  "ISL_FORMAT_MCS_16X\0"
  "ISL_FORMAT_GFX7_CCS_32BPP_X\0"
  "ISL_FORMAT_GFX7_CCS_64BPP_X\0"
  "ISL_FORMAT_GFX7_CCS_128BPP_X\0"
  "ISL_FORMAT_GFX7_CCS_32BPP_Y\0"
  "ISL_FORMAT_GFX7_CCS_64BPP_Y\0"
  "ISL_FORMAT_GFX7_CCS_128BPP_Y\0"
  "ISL_FORMAT_GFX9_CCS_32BPP\0"
  "ISL_FORMAT_GFX9_CCS_64BPP\0"
  "ISL_FORMAT_GFX9_CCS_128BPP\0"
  "ISL_FORMAT_GFX12_CCS_8BPP_Y0\0"
  "ISL_FORMAT_GFX12_CCS_16BPP_Y0\0"
  "ISL_FORMAT_GFX12_CCS_32BPP_Y0\0"
  "ISL_FORMAT_GFX12_CCS_64BPP_Y0\0"
  "ISL_FORMAT_GFX12_CCS_128BPP_Y0\0"
};

const struct isl_format_layout
isl_format_layouts[] = {
  [ISL_FORMAT_R32G32B32A32_FLOAT] = {
    .format = ISL_FORMAT_R32G32B32A32_FLOAT,
    .bpb = 128,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 32 },
              .g = { ISL_SFLOAT, 32, 32 },
              .b = { ISL_SFLOAT, 64, 32 },
              .a = { ISL_SFLOAT, 96, 32 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32A32_SINT] = {
    .format = ISL_FORMAT_R32G32B32A32_SINT,
    .bpb = 128,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 32 },
              .g = { ISL_SINT, 32, 32 },
              .b = { ISL_SINT, 64, 32 },
              .a = { ISL_SINT, 96, 32 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32A32_UINT] = {
    .format = ISL_FORMAT_R32G32B32A32_UINT,
    .bpb = 128,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 32 },
              .g = { ISL_UINT, 32, 32 },
              .b = { ISL_UINT, 64, 32 },
              .a = { ISL_UINT, 96, 32 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32A32_UNORM] = {
    .format = ISL_FORMAT_R32G32B32A32_UNORM,
    .bpb = 128,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 32 },
              .g = { ISL_UNORM, 32, 32 },
              .b = { ISL_UNORM, 64, 32 },
              .a = { ISL_UNORM, 96, 32 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32A32_SNORM] = {
    .format = ISL_FORMAT_R32G32B32A32_SNORM,
    .bpb = 128,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 32 },
              .g = { ISL_SNORM, 32, 32 },
              .b = { ISL_SNORM, 64, 32 },
              .a = { ISL_SNORM, 96, 32 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R64G64_FLOAT] = {
    .format = ISL_FORMAT_R64G64_FLOAT,
    .bpb = 128,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 64 },
              .g = { ISL_SFLOAT, 64, 64 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32X32_FLOAT] = {
    .format = ISL_FORMAT_R32G32B32X32_FLOAT,
    .bpb = 128,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 32 },
              .g = { ISL_SFLOAT, 32, 32 },
              .b = { ISL_SFLOAT, 64, 32 },
              .a = { ISL_VOID, 96, 32 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32A32_SSCALED] = {
    .format = ISL_FORMAT_R32G32B32A32_SSCALED,
    .bpb = 128,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 32 },
              .g = { ISL_SSCALED, 32, 32 },
              .b = { ISL_SSCALED, 64, 32 },
              .a = { ISL_SSCALED, 96, 32 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32A32_USCALED] = {
    .format = ISL_FORMAT_R32G32B32A32_USCALED,
    .bpb = 128,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 32 },
              .g = { ISL_USCALED, 32, 32 },
              .b = { ISL_USCALED, 64, 32 },
              .a = { ISL_USCALED, 96, 32 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32A32_SFIXED] = {
    .format = ISL_FORMAT_R32G32B32A32_SFIXED,
    .bpb = 128,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFIXED, 0, 32 },
              .g = { ISL_SFIXED, 32, 32 },
              .b = { ISL_SFIXED, 64, 32 },
              .a = { ISL_SFIXED, 96, 32 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFIXED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R64G64_PASSTHRU] = {
    .format = ISL_FORMAT_R64G64_PASSTHRU,
    .bpb = 128,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_RAW, 0, 64 },
              .g = { ISL_RAW, 64, 64 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_RAW,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32_FLOAT] = {
    .format = ISL_FORMAT_R32G32B32_FLOAT,
    .bpb = 96,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 32 },
              .g = { ISL_SFLOAT, 32, 32 },
              .b = { ISL_SFLOAT, 64, 32 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32_SINT] = {
    .format = ISL_FORMAT_R32G32B32_SINT,
    .bpb = 96,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 32 },
              .g = { ISL_SINT, 32, 32 },
              .b = { ISL_SINT, 64, 32 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32_UINT] = {
    .format = ISL_FORMAT_R32G32B32_UINT,
    .bpb = 96,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 32 },
              .g = { ISL_UINT, 32, 32 },
              .b = { ISL_UINT, 64, 32 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32_UNORM] = {
    .format = ISL_FORMAT_R32G32B32_UNORM,
    .bpb = 96,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 32 },
              .g = { ISL_UNORM, 32, 32 },
              .b = { ISL_UNORM, 64, 32 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32_SNORM] = {
    .format = ISL_FORMAT_R32G32B32_SNORM,
    .bpb = 96,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 32 },
              .g = { ISL_SNORM, 32, 32 },
              .b = { ISL_SNORM, 64, 32 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32_SSCALED] = {
    .format = ISL_FORMAT_R32G32B32_SSCALED,
    .bpb = 96,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 32 },
              .g = { ISL_SSCALED, 32, 32 },
              .b = { ISL_SSCALED, 64, 32 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32_USCALED] = {
    .format = ISL_FORMAT_R32G32B32_USCALED,
    .bpb = 96,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 32 },
              .g = { ISL_USCALED, 32, 32 },
              .b = { ISL_USCALED, 64, 32 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32B32_SFIXED] = {
    .format = ISL_FORMAT_R32G32B32_SFIXED,
    .bpb = 96,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFIXED, 0, 32 },
              .g = { ISL_SFIXED, 32, 32 },
              .b = { ISL_SFIXED, 64, 32 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFIXED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16A16_UNORM] = {
    .format = ISL_FORMAT_R16G16B16A16_UNORM,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 16 },
              .g = { ISL_UNORM, 16, 16 },
              .b = { ISL_UNORM, 32, 16 },
              .a = { ISL_UNORM, 48, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16A16_SNORM] = {
    .format = ISL_FORMAT_R16G16B16A16_SNORM,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 16 },
              .g = { ISL_SNORM, 16, 16 },
              .b = { ISL_SNORM, 32, 16 },
              .a = { ISL_SNORM, 48, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16A16_SINT] = {
    .format = ISL_FORMAT_R16G16B16A16_SINT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 16 },
              .g = { ISL_SINT, 16, 16 },
              .b = { ISL_SINT, 32, 16 },
              .a = { ISL_SINT, 48, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16A16_UINT] = {
    .format = ISL_FORMAT_R16G16B16A16_UINT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 16 },
              .g = { ISL_UINT, 16, 16 },
              .b = { ISL_UINT, 32, 16 },
              .a = { ISL_UINT, 48, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16A16_FLOAT] = {
    .format = ISL_FORMAT_R16G16B16A16_FLOAT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 16 },
              .g = { ISL_SFLOAT, 16, 16 },
              .b = { ISL_SFLOAT, 32, 16 },
              .a = { ISL_SFLOAT, 48, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32_FLOAT] = {
    .format = ISL_FORMAT_R32G32_FLOAT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 32 },
              .g = { ISL_SFLOAT, 32, 32 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32_SINT] = {
    .format = ISL_FORMAT_R32G32_SINT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 32 },
              .g = { ISL_SINT, 32, 32 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32_UINT] = {
    .format = ISL_FORMAT_R32G32_UINT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 32 },
              .g = { ISL_UINT, 32, 32 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32_FLOAT_X8X24_TYPELESS] = {
    .format = ISL_FORMAT_R32_FLOAT_X8X24_TYPELESS,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 32 },
              .g = { ISL_VOID, 32, 8 },
              .b = { ISL_VOID, 40, 24 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_X32_TYPELESS_G8X24_UINT] = {
    .format = ISL_FORMAT_X32_TYPELESS_G8X24_UINT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_VOID, 0, 32 },
              .g = { ISL_UINT, 32, 8 },
              .b = { ISL_VOID, 40, 24 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L32A32_FLOAT] = {
    .format = ISL_FORMAT_L32A32_FLOAT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_SFLOAT, 32, 32 },
              .l = { ISL_SFLOAT, 0, 32 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32_UNORM] = {
    .format = ISL_FORMAT_R32G32_UNORM,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 32 },
              .g = { ISL_UNORM, 32, 32 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32_SNORM] = {
    .format = ISL_FORMAT_R32G32_SNORM,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 32 },
              .g = { ISL_SNORM, 32, 32 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R64_FLOAT] = {
    .format = ISL_FORMAT_R64_FLOAT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 64 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16X16_UNORM] = {
    .format = ISL_FORMAT_R16G16B16X16_UNORM,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 16 },
              .g = { ISL_UNORM, 16, 16 },
              .b = { ISL_UNORM, 32, 16 },
              .a = { ISL_VOID, 48, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16X16_FLOAT] = {
    .format = ISL_FORMAT_R16G16B16X16_FLOAT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 16 },
              .g = { ISL_SFLOAT, 16, 16 },
              .b = { ISL_SFLOAT, 32, 16 },
              .a = { ISL_VOID, 48, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A32X32_FLOAT] = {
    .format = ISL_FORMAT_A32X32_FLOAT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_SFLOAT, 0, 32 },
              .l = { ISL_VOID, 32, 32 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L32X32_FLOAT] = {
    .format = ISL_FORMAT_L32X32_FLOAT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_VOID, 32, 32 },
              .l = { ISL_SFLOAT, 0, 32 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_I32X32_FLOAT] = {
    .format = ISL_FORMAT_I32X32_FLOAT,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_VOID, 32, 32 },
              .l = {},
              .i = { ISL_SFLOAT, 0, 32 },
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16A16_SSCALED] = {
    .format = ISL_FORMAT_R16G16B16A16_SSCALED,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 16 },
              .g = { ISL_SSCALED, 16, 16 },
              .b = { ISL_SSCALED, 32, 16 },
              .a = { ISL_SSCALED, 48, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16A16_USCALED] = {
    .format = ISL_FORMAT_R16G16B16A16_USCALED,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 16 },
              .g = { ISL_USCALED, 16, 16 },
              .b = { ISL_USCALED, 32, 16 },
              .a = { ISL_USCALED, 48, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32_SSCALED] = {
    .format = ISL_FORMAT_R32G32_SSCALED,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 32 },
              .g = { ISL_SSCALED, 32, 32 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32_USCALED] = {
    .format = ISL_FORMAT_R32G32_USCALED,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 32 },
              .g = { ISL_USCALED, 32, 32 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32_FLOAT_LD] = {
    .format = ISL_FORMAT_R32G32_FLOAT_LD,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 32 },
              .g = { ISL_SFLOAT, 32, 32 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32G32_SFIXED] = {
    .format = ISL_FORMAT_R32G32_SFIXED,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFIXED, 0, 32 },
              .g = { ISL_SFIXED, 32, 32 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFIXED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R64_PASSTHRU] = {
    .format = ISL_FORMAT_R64_PASSTHRU,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_RAW, 0, 64 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_RAW,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B8G8R8A8_UNORM] = {
    .format = ISL_FORMAT_B8G8R8A8_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 16, 8 },
              .g = { ISL_UNORM, 8, 8 },
              .b = { ISL_UNORM, 0, 8 },
              .a = { ISL_UNORM, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B8G8R8A8_UNORM_SRGB] = {
    .format = ISL_FORMAT_B8G8R8A8_UNORM_SRGB,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 16, 8 },
              .g = { ISL_UNORM, 8, 8 },
              .b = { ISL_UNORM, 0, 8 },
              .a = { ISL_UNORM, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R10G10B10A2_UNORM] = {
    .format = ISL_FORMAT_R10G10B10A2_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 10 },
              .g = { ISL_UNORM, 10, 10 },
              .b = { ISL_UNORM, 20, 10 },
              .a = { ISL_UNORM, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R10G10B10A2_UNORM_SRGB] = {
    .format = ISL_FORMAT_R10G10B10A2_UNORM_SRGB,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 10 },
              .g = { ISL_UNORM, 10, 10 },
              .b = { ISL_UNORM, 20, 10 },
              .a = { ISL_UNORM, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R10G10B10A2_UINT] = {
    .format = ISL_FORMAT_R10G10B10A2_UINT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 10 },
              .g = { ISL_UINT, 10, 10 },
              .b = { ISL_UINT, 20, 10 },
              .a = { ISL_UINT, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R10G10B10_SNORM_A2_UNORM] = {
    .format = ISL_FORMAT_R10G10B10_SNORM_A2_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 10 },
              .g = { ISL_SNORM, 10, 10 },
              .b = { ISL_SNORM, 20, 10 },
              .a = { ISL_UNORM, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8A8_UNORM] = {
    .format = ISL_FORMAT_R8G8B8A8_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 8 },
              .g = { ISL_UNORM, 8, 8 },
              .b = { ISL_UNORM, 16, 8 },
              .a = { ISL_UNORM, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8A8_UNORM_SRGB] = {
    .format = ISL_FORMAT_R8G8B8A8_UNORM_SRGB,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 8 },
              .g = { ISL_UNORM, 8, 8 },
              .b = { ISL_UNORM, 16, 8 },
              .a = { ISL_UNORM, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8A8_SNORM] = {
    .format = ISL_FORMAT_R8G8B8A8_SNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 8 },
              .g = { ISL_SNORM, 8, 8 },
              .b = { ISL_SNORM, 16, 8 },
              .a = { ISL_SNORM, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8A8_SINT] = {
    .format = ISL_FORMAT_R8G8B8A8_SINT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 8 },
              .g = { ISL_SINT, 8, 8 },
              .b = { ISL_SINT, 16, 8 },
              .a = { ISL_SINT, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8A8_UINT] = {
    .format = ISL_FORMAT_R8G8B8A8_UINT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 8 },
              .g = { ISL_UINT, 8, 8 },
              .b = { ISL_UINT, 16, 8 },
              .a = { ISL_UINT, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16_UNORM] = {
    .format = ISL_FORMAT_R16G16_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 16 },
              .g = { ISL_UNORM, 16, 16 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16_SNORM] = {
    .format = ISL_FORMAT_R16G16_SNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 16 },
              .g = { ISL_SNORM, 16, 16 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16_SINT] = {
    .format = ISL_FORMAT_R16G16_SINT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 16 },
              .g = { ISL_SINT, 16, 16 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16_UINT] = {
    .format = ISL_FORMAT_R16G16_UINT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 16 },
              .g = { ISL_UINT, 16, 16 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16_FLOAT] = {
    .format = ISL_FORMAT_R16G16_FLOAT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 16 },
              .g = { ISL_SFLOAT, 16, 16 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B10G10R10A2_UNORM] = {
    .format = ISL_FORMAT_B10G10R10A2_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 20, 10 },
              .g = { ISL_UNORM, 10, 10 },
              .b = { ISL_UNORM, 0, 10 },
              .a = { ISL_UNORM, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B10G10R10A2_UNORM_SRGB] = {
    .format = ISL_FORMAT_B10G10R10A2_UNORM_SRGB,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 20, 10 },
              .g = { ISL_UNORM, 10, 10 },
              .b = { ISL_UNORM, 0, 10 },
              .a = { ISL_UNORM, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R11G11B10_FLOAT] = {
    .format = ISL_FORMAT_R11G11B10_FLOAT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UFLOAT, 0, 11 },
              .g = { ISL_UFLOAT, 11, 11 },
              .b = { ISL_UFLOAT, 22, 10 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R10G10B10_FLOAT_A2_UNORM] = {
    .format = ISL_FORMAT_R10G10B10_FLOAT_A2_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UFLOAT, 0, 10 },
              .g = { ISL_UFLOAT, 10, 10 },
              .b = { ISL_UFLOAT, 20, 10 },
              .a = { ISL_UNORM, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32_SINT] = {
    .format = ISL_FORMAT_R32_SINT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 32 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32_UINT] = {
    .format = ISL_FORMAT_R32_UINT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 32 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32_FLOAT] = {
    .format = ISL_FORMAT_R32_FLOAT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 32 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R24_UNORM_X8_TYPELESS] = {
    .format = ISL_FORMAT_R24_UNORM_X8_TYPELESS,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 24 },
              .g = { ISL_VOID, 24, 8 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_X24_TYPELESS_G8_UINT] = {
    .format = ISL_FORMAT_X24_TYPELESS_G8_UINT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_VOID, 0, 24 },
              .g = { ISL_UINT, 24, 8 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L32_UNORM] = {
    .format = ISL_FORMAT_L32_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = { ISL_UNORM, 0, 32 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A32_UNORM] = {
    .format = ISL_FORMAT_A32_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 0, 32 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L16A16_UNORM] = {
    .format = ISL_FORMAT_L16A16_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 16, 16 },
              .l = { ISL_UNORM, 0, 16 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_I24X8_UNORM] = {
    .format = ISL_FORMAT_I24X8_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_VOID, 24, 8 },
              .l = {},
              .i = { ISL_UNORM, 0, 24 },
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L24X8_UNORM] = {
    .format = ISL_FORMAT_L24X8_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_VOID, 24, 8 },
              .l = { ISL_UNORM, 0, 24 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A24X8_UNORM] = {
    .format = ISL_FORMAT_A24X8_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 0, 24 },
              .l = { ISL_VOID, 24, 8 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_I32_FLOAT] = {
    .format = ISL_FORMAT_I32_FLOAT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = { ISL_SFLOAT, 0, 32 },
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L32_FLOAT] = {
    .format = ISL_FORMAT_L32_FLOAT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = { ISL_SFLOAT, 0, 32 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A32_FLOAT] = {
    .format = ISL_FORMAT_A32_FLOAT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_SFLOAT, 0, 32 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_X8B8_UNORM_G8R8_SNORM] = {
    .format = ISL_FORMAT_X8B8_UNORM_G8R8_SNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 24, 8 },
              .g = { ISL_SNORM, 16, 8 },
              .b = { ISL_UNORM, 8, 8 },
              .a = { ISL_VOID, 0, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A8X8_UNORM_G8R8_SNORM] = {
    .format = ISL_FORMAT_A8X8_UNORM_G8R8_SNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 24, 8 },
              .g = { ISL_SNORM, 16, 8 },
              .b = { ISL_VOID, 8, 8 },
              .a = { ISL_UNORM, 0, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B8X8_UNORM_G8R8_SNORM] = {
    .format = ISL_FORMAT_B8X8_UNORM_G8R8_SNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 24, 8 },
              .g = { ISL_SNORM, 16, 8 },
              .b = { ISL_UNORM, 0, 8 },
              .a = { ISL_VOID, 8, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B8G8R8X8_UNORM] = {
    .format = ISL_FORMAT_B8G8R8X8_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 16, 8 },
              .g = { ISL_UNORM, 8, 8 },
              .b = { ISL_UNORM, 0, 8 },
              .a = { ISL_VOID, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B8G8R8X8_UNORM_SRGB] = {
    .format = ISL_FORMAT_B8G8R8X8_UNORM_SRGB,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 16, 8 },
              .g = { ISL_UNORM, 8, 8 },
              .b = { ISL_UNORM, 0, 8 },
              .a = { ISL_VOID, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8X8_UNORM] = {
    .format = ISL_FORMAT_R8G8B8X8_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 8 },
              .g = { ISL_UNORM, 8, 8 },
              .b = { ISL_UNORM, 16, 8 },
              .a = { ISL_VOID, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8X8_UNORM_SRGB] = {
    .format = ISL_FORMAT_R8G8B8X8_UNORM_SRGB,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 8 },
              .g = { ISL_UNORM, 8, 8 },
              .b = { ISL_UNORM, 16, 8 },
              .a = { ISL_VOID, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R9G9B9E5_SHAREDEXP] = {
    .format = ISL_FORMAT_R9G9B9E5_SHAREDEXP,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UFLOAT, 0, 9 },
              .g = { ISL_UFLOAT, 9, 9 },
              .b = { ISL_UFLOAT, 18, 9 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B10G10R10X2_UNORM] = {
    .format = ISL_FORMAT_B10G10R10X2_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 20, 10 },
              .g = { ISL_UNORM, 10, 10 },
              .b = { ISL_UNORM, 0, 10 },
              .a = { ISL_VOID, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L16A16_FLOAT] = {
    .format = ISL_FORMAT_L16A16_FLOAT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_SFLOAT, 16, 16 },
              .l = { ISL_SFLOAT, 0, 16 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32_UNORM] = {
    .format = ISL_FORMAT_R32_UNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 32 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32_SNORM] = {
    .format = ISL_FORMAT_R32_SNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 32 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R10G10B10X2_USCALED] = {
    .format = ISL_FORMAT_R10G10B10X2_USCALED,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 10 },
              .g = { ISL_USCALED, 10, 10 },
              .b = { ISL_USCALED, 20, 10 },
              .a = { ISL_VOID, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8A8_SSCALED] = {
    .format = ISL_FORMAT_R8G8B8A8_SSCALED,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 8 },
              .g = { ISL_SSCALED, 8, 8 },
              .b = { ISL_SSCALED, 16, 8 },
              .a = { ISL_SSCALED, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8A8_USCALED] = {
    .format = ISL_FORMAT_R8G8B8A8_USCALED,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 8 },
              .g = { ISL_USCALED, 8, 8 },
              .b = { ISL_USCALED, 16, 8 },
              .a = { ISL_USCALED, 24, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16_SSCALED] = {
    .format = ISL_FORMAT_R16G16_SSCALED,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 16 },
              .g = { ISL_SSCALED, 16, 6 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16_USCALED] = {
    .format = ISL_FORMAT_R16G16_USCALED,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 16 },
              .g = { ISL_USCALED, 16, 16 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32_SSCALED] = {
    .format = ISL_FORMAT_R32_SSCALED,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 32 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32_USCALED] = {
    .format = ISL_FORMAT_R32_USCALED,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 32 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B5G6R5_UNORM] = {
    .format = ISL_FORMAT_B5G6R5_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 11, 5 },
              .g = { ISL_UNORM, 5, 6 },
              .b = { ISL_UNORM, 0, 5 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B5G6R5_UNORM_SRGB] = {
    .format = ISL_FORMAT_B5G6R5_UNORM_SRGB,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 11, 5 },
              .g = { ISL_UNORM, 5, 6 },
              .b = { ISL_UNORM, 0, 5 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B5G5R5A1_UNORM] = {
    .format = ISL_FORMAT_B5G5R5A1_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 10, 5 },
              .g = { ISL_UNORM, 5, 5 },
              .b = { ISL_UNORM, 0, 5 },
              .a = { ISL_UNORM, 15, 1 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B5G5R5A1_UNORM_SRGB] = {
    .format = ISL_FORMAT_B5G5R5A1_UNORM_SRGB,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 10, 5 },
              .g = { ISL_UNORM, 5, 5 },
              .b = { ISL_UNORM, 0, 5 },
              .a = { ISL_UNORM, 15, 1 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B4G4R4A4_UNORM] = {
    .format = ISL_FORMAT_B4G4R4A4_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 8, 4 },
              .g = { ISL_UNORM, 4, 4 },
              .b = { ISL_UNORM, 0, 4 },
              .a = { ISL_UNORM, 12, 4 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B4G4R4A4_UNORM_SRGB] = {
    .format = ISL_FORMAT_B4G4R4A4_UNORM_SRGB,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 8, 4 },
              .g = { ISL_UNORM, 4, 4 },
              .b = { ISL_UNORM, 0, 4 },
              .a = { ISL_UNORM, 12, 4 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8_UNORM] = {
    .format = ISL_FORMAT_R8G8_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 8 },
              .g = { ISL_UNORM, 8, 8 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8_SNORM] = {
    .format = ISL_FORMAT_R8G8_SNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 8 },
              .g = { ISL_SNORM, 8, 8 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8_SINT] = {
    .format = ISL_FORMAT_R8G8_SINT,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 8 },
              .g = { ISL_SINT, 8, 8 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8_UINT] = {
    .format = ISL_FORMAT_R8G8_UINT,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 8 },
              .g = { ISL_UINT, 8, 8 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16_UNORM] = {
    .format = ISL_FORMAT_R16_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 16 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16_SNORM] = {
    .format = ISL_FORMAT_R16_SNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 16 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16_SINT] = {
    .format = ISL_FORMAT_R16_SINT,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 16 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16_UINT] = {
    .format = ISL_FORMAT_R16_UINT,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 16 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16_FLOAT] = {
    .format = ISL_FORMAT_R16_FLOAT,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 16 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A8P8_UNORM_PALETTE0] = {
    .format = ISL_FORMAT_A8P8_UNORM_PALETTE0,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 0, 8 },
              .l = {},
              .i = {},
              .p = { ISL_UNORM, 8, 8 },
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A8P8_UNORM_PALETTE1] = {
    .format = ISL_FORMAT_A8P8_UNORM_PALETTE1,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 0, 8 },
              .l = {},
              .i = {},
              .p = { ISL_UNORM, 8, 8 },
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_I16_UNORM] = {
    .format = ISL_FORMAT_I16_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = { ISL_UNORM, 0, 16 },
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L16_UNORM] = {
    .format = ISL_FORMAT_L16_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = { ISL_UNORM, 0, 16 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A16_UNORM] = {
    .format = ISL_FORMAT_A16_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 0, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L8A8_UNORM] = {
    .format = ISL_FORMAT_L8A8_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 8, 8 },
              .l = { ISL_UNORM, 0, 8 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_I16_FLOAT] = {
    .format = ISL_FORMAT_I16_FLOAT,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = { ISL_SFLOAT, 0, 16 },
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L16_FLOAT] = {
    .format = ISL_FORMAT_L16_FLOAT,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = { ISL_SFLOAT, 0, 16 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A16_FLOAT] = {
    .format = ISL_FORMAT_A16_FLOAT,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_SFLOAT, 0, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L8A8_UNORM_SRGB] = {
    .format = ISL_FORMAT_L8A8_UNORM_SRGB,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 8, 8 },
              .l = { ISL_UNORM, 0, 8 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R5G5_SNORM_B6_UNORM] = {
    .format = ISL_FORMAT_R5G5_SNORM_B6_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 5 },
              .g = { ISL_SNORM, 5, 5 },
              .b = { ISL_UNORM, 10, 6 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B5G5R5X1_UNORM] = {
    .format = ISL_FORMAT_B5G5R5X1_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 10, 5 },
              .g = { ISL_UNORM, 5, 5 },
              .b = { ISL_UNORM, 0, 5 },
              .a = { ISL_VOID, 15, 1 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B5G5R5X1_UNORM_SRGB] = {
    .format = ISL_FORMAT_B5G5R5X1_UNORM_SRGB,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 10, 5 },
              .g = { ISL_UNORM, 5, 5 },
              .b = { ISL_UNORM, 0, 5 },
              .a = { ISL_VOID, 15, 1 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8_SSCALED] = {
    .format = ISL_FORMAT_R8G8_SSCALED,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 8 },
              .g = { ISL_SSCALED, 8, 8 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8_USCALED] = {
    .format = ISL_FORMAT_R8G8_USCALED,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 8 },
              .g = { ISL_USCALED, 8, 8 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16_SSCALED] = {
    .format = ISL_FORMAT_R16_SSCALED,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 16 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16_USCALED] = {
    .format = ISL_FORMAT_R16_USCALED,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 16 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_P8A8_UNORM_PALETTE0] = {
    .format = ISL_FORMAT_P8A8_UNORM_PALETTE0,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 8, 8 },
              .l = {},
              .i = {},
              .p = { ISL_UNORM, 0, 8 },
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_P8A8_UNORM_PALETTE1] = {
    .format = ISL_FORMAT_P8A8_UNORM_PALETTE1,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 8, 8 },
              .l = {},
              .i = {},
              .p = { ISL_UNORM, 0, 8 },
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A1B5G5R5_UNORM] = {
    .format = ISL_FORMAT_A1B5G5R5_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 11, 5 },
              .g = { ISL_UNORM, 6, 5 },
              .b = { ISL_UNORM, 1, 5 },
              .a = { ISL_UNORM, 0, 1 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A4B4G4R4_UNORM] = {
    .format = ISL_FORMAT_A4B4G4R4_UNORM,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 12, 4 },
              .g = { ISL_UNORM, 8, 4 },
              .b = { ISL_UNORM, 4, 4 },
              .a = { ISL_UNORM, 0, 4 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L8A8_UINT] = {
    .format = ISL_FORMAT_L8A8_UINT,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UINT, 8, 8 },
              .l = { ISL_UINT, 0, 8 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L8A8_SINT] = {
    .format = ISL_FORMAT_L8A8_SINT,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_SINT, 8, 8 },
              .l = { ISL_SINT, 0, 8 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8_UNORM] = {
    .format = ISL_FORMAT_R8_UNORM,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 8 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8_SNORM] = {
    .format = ISL_FORMAT_R8_SNORM,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 8 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8_SINT] = {
    .format = ISL_FORMAT_R8_SINT,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 8 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8_UINT] = {
    .format = ISL_FORMAT_R8_UINT,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 8 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A8_UNORM] = {
    .format = ISL_FORMAT_A8_UNORM,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 0, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_I8_UNORM] = {
    .format = ISL_FORMAT_I8_UNORM,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = { ISL_UNORM, 0, 8 },
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L8_UNORM] = {
    .format = ISL_FORMAT_L8_UNORM,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = { ISL_UNORM, 0, 8 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_P4A4_UNORM_PALETTE0] = {
    .format = ISL_FORMAT_P4A4_UNORM_PALETTE0,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 4, 4 },
              .l = {},
              .i = {},
              .p = { ISL_UNORM, 0, 4 },
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A4P4_UNORM_PALETTE0] = {
    .format = ISL_FORMAT_A4P4_UNORM_PALETTE0,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 0, 4 },
              .l = {},
              .i = {},
              .p = { ISL_UNORM, 4, 4 },
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8_SSCALED] = {
    .format = ISL_FORMAT_R8_SSCALED,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 8 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8_USCALED] = {
    .format = ISL_FORMAT_R8_USCALED,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 8 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_P8_UNORM_PALETTE0] = {
    .format = ISL_FORMAT_P8_UNORM_PALETTE0,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = { ISL_UNORM, 0, 8 },
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L8_UNORM_SRGB] = {
    .format = ISL_FORMAT_L8_UNORM_SRGB,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = { ISL_UNORM, 0, 8 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_P8_UNORM_PALETTE1] = {
    .format = ISL_FORMAT_P8_UNORM_PALETTE1,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = { ISL_UNORM, 0, 8 },
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_P4A4_UNORM_PALETTE1] = {
    .format = ISL_FORMAT_P4A4_UNORM_PALETTE1,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 4, 4 },
              .l = {},
              .i = {},
              .p = { ISL_UNORM, 0, 4 },
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_A4P4_UNORM_PALETTE1] = {
    .format = ISL_FORMAT_A4P4_UNORM_PALETTE1,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = { ISL_UNORM, 0, 4 },
              .l = {},
              .i = {},
              .p = { ISL_UNORM, 4, 4 },
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_Y8_UNORM] = {
    .format = ISL_FORMAT_Y8_UNORM,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = { ISL_UNORM, -1, 8 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_YUV,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L8_UINT] = {
    .format = ISL_FORMAT_L8_UINT,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = { ISL_UINT, 0, 8 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_L8_SINT] = {
    .format = ISL_FORMAT_L8_SINT,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = { ISL_SINT, 0, 8 },
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_I8_UINT] = {
    .format = ISL_FORMAT_I8_UINT,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = { ISL_UINT, 0, 8 },
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_I8_SINT] = {
    .format = ISL_FORMAT_I8_SINT,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = { ISL_SINT, 0, 8 },
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_DXT1_RGB_SRGB] = {
    .format = ISL_FORMAT_DXT1_RGB_SRGB,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 4 },
              .g = { ISL_UNORM, -1, 4 },
              .b = { ISL_UNORM, -1, 4 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_DXT1,
  },

  [ISL_FORMAT_R1_UNORM] = {
    .format = ISL_FORMAT_R1_UNORM,
    .bpb = 1,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 1 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_YCRCB_NORMAL] = {
    .format = ISL_FORMAT_YCRCB_NORMAL,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_YUV,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_YCRCB_SWAPUVY] = {
    .format = ISL_FORMAT_YCRCB_SWAPUVY,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_YUV,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_P2_UNORM_PALETTE0] = {
    .format = ISL_FORMAT_P2_UNORM_PALETTE0,
    .bpb = 2,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = { ISL_UNORM, 0, 2 },
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_P2_UNORM_PALETTE1] = {
    .format = ISL_FORMAT_P2_UNORM_PALETTE1,
    .bpb = 2,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = { ISL_UNORM, 0, 2 },
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_BC1_UNORM] = {
    .format = ISL_FORMAT_BC1_UNORM,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 4 },
              .g = { ISL_UNORM, -1, 4 },
              .b = { ISL_UNORM, -1, 4 },
              .a = { ISL_UNORM, -1, 4 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_DXT1,
  },

  [ISL_FORMAT_BC2_UNORM] = {
    .format = ISL_FORMAT_BC2_UNORM,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 4 },
              .g = { ISL_UNORM, -1, 4 },
              .b = { ISL_UNORM, -1, 4 },
              .a = { ISL_UNORM, -1, 4 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_DXT3,
  },

  [ISL_FORMAT_BC3_UNORM] = {
    .format = ISL_FORMAT_BC3_UNORM,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 4 },
              .g = { ISL_UNORM, -1, 4 },
              .b = { ISL_UNORM, -1, 4 },
              .a = { ISL_UNORM, -1, 4 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_DXT5,
  },

  [ISL_FORMAT_BC4_UNORM] = {
    .format = ISL_FORMAT_BC4_UNORM,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_RGTC1,
  },

  [ISL_FORMAT_BC5_UNORM] = {
    .format = ISL_FORMAT_BC5_UNORM,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_RGTC2,
  },

  [ISL_FORMAT_BC1_UNORM_SRGB] = {
    .format = ISL_FORMAT_BC1_UNORM_SRGB,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 4 },
              .g = { ISL_UNORM, -1, 4 },
              .b = { ISL_UNORM, -1, 4 },
              .a = { ISL_UNORM, -1, 4 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_DXT1,
  },

  [ISL_FORMAT_BC2_UNORM_SRGB] = {
    .format = ISL_FORMAT_BC2_UNORM_SRGB,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 4 },
              .g = { ISL_UNORM, -1, 4 },
              .b = { ISL_UNORM, -1, 4 },
              .a = { ISL_UNORM, -1, 4 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_DXT3,
  },

  [ISL_FORMAT_BC3_UNORM_SRGB] = {
    .format = ISL_FORMAT_BC3_UNORM_SRGB,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 4 },
              .g = { ISL_UNORM, -1, 4 },
              .b = { ISL_UNORM, -1, 4 },
              .a = { ISL_UNORM, -1, 4 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_DXT5,
  },

  [ISL_FORMAT_MONO8] = {
    .format = ISL_FORMAT_MONO8,
    .bpb = 1,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_YCRCB_SWAPUV] = {
    .format = ISL_FORMAT_YCRCB_SWAPUV,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_YUV,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_YCRCB_SWAPY] = {
    .format = ISL_FORMAT_YCRCB_SWAPY,
    .bpb = 16,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_YUV,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_DXT1_RGB] = {
    .format = ISL_FORMAT_DXT1_RGB,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 4 },
              .g = { ISL_UNORM, -1, 4 },
              .b = { ISL_UNORM, -1, 4 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_DXT1,
  },

  [ISL_FORMAT_FXT1] = {
    .format = ISL_FORMAT_FXT1,
    .bpb = 128,
    .bw = 8,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 4 },
              .g = { ISL_UNORM, -1, 4 },
              .b = { ISL_UNORM, -1, 4 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_FXT1,
  },

  [ISL_FORMAT_R8G8B8_UNORM] = {
    .format = ISL_FORMAT_R8G8B8_UNORM,
    .bpb = 24,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 8 },
              .g = { ISL_UNORM, 8, 8 },
              .b = { ISL_UNORM, 16, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8_SNORM] = {
    .format = ISL_FORMAT_R8G8B8_SNORM,
    .bpb = 24,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 8 },
              .g = { ISL_SNORM, 8, 8 },
              .b = { ISL_SNORM, 16, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8_SSCALED] = {
    .format = ISL_FORMAT_R8G8B8_SSCALED,
    .bpb = 24,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 8 },
              .g = { ISL_SSCALED, 8, 8 },
              .b = { ISL_SSCALED, 16, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8_USCALED] = {
    .format = ISL_FORMAT_R8G8B8_USCALED,
    .bpb = 24,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 8 },
              .g = { ISL_USCALED, 8, 8 },
              .b = { ISL_USCALED, 16, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R64G64B64A64_FLOAT] = {
    .format = ISL_FORMAT_R64G64B64A64_FLOAT,
    .bpb = 256,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 64 },
              .g = { ISL_SFLOAT, 64, 64 },
              .b = { ISL_SFLOAT, 128, 64 },
              .a = { ISL_SFLOAT, 192, 64 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R64G64B64_FLOAT] = {
    .format = ISL_FORMAT_R64G64B64_FLOAT,
    .bpb = 196,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 64 },
              .g = { ISL_SFLOAT, 64, 64 },
              .b = { ISL_SFLOAT, 128, 64 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_BC4_SNORM] = {
    .format = ISL_FORMAT_BC4_SNORM,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, -1, 8 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_RGTC1,
  },

  [ISL_FORMAT_BC5_SNORM] = {
    .format = ISL_FORMAT_BC5_SNORM,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, -1, 8 },
              .g = { ISL_SNORM, -1, 8 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_RGTC2,
  },

  [ISL_FORMAT_R16G16B16_FLOAT] = {
    .format = ISL_FORMAT_R16G16B16_FLOAT,
    .bpb = 48,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 0, 16 },
              .g = { ISL_SFLOAT, 16, 16 },
              .b = { ISL_SFLOAT, 32, 16 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16_UNORM] = {
    .format = ISL_FORMAT_R16G16B16_UNORM,
    .bpb = 48,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 16 },
              .g = { ISL_UNORM, 16, 16 },
              .b = { ISL_UNORM, 32, 16 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16_SNORM] = {
    .format = ISL_FORMAT_R16G16B16_SNORM,
    .bpb = 48,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 16 },
              .g = { ISL_SNORM, 16, 16 },
              .b = { ISL_SNORM, 32, 16 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16_SSCALED] = {
    .format = ISL_FORMAT_R16G16B16_SSCALED,
    .bpb = 48,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 16 },
              .g = { ISL_SSCALED, 16, 16 },
              .b = { ISL_SSCALED, 32, 16 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16_USCALED] = {
    .format = ISL_FORMAT_R16G16B16_USCALED,
    .bpb = 48,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 16 },
              .g = { ISL_USCALED, 16, 16 },
              .b = { ISL_USCALED, 32, 16 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_BC6H_SF16] = {
    .format = ISL_FORMAT_BC6H_SF16,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_BPTC,
  },

  [ISL_FORMAT_BC7_UNORM] = {
    .format = ISL_FORMAT_BC7_UNORM,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_BPTC,
  },

  [ISL_FORMAT_BC7_UNORM_SRGB] = {
    .format = ISL_FORMAT_BC7_UNORM_SRGB,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_BPTC,
  },

  [ISL_FORMAT_BC6H_UF16] = {
    .format = ISL_FORMAT_BC6H_UF16,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UFLOAT, -1, 16 },
              .g = { ISL_UFLOAT, -1, 16 },
              .b = { ISL_UFLOAT, -1, 16 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_BPTC,
  },

  [ISL_FORMAT_PLANAR_420_8] = {
    .format = ISL_FORMAT_PLANAR_420_8,
    .bpb = 0,
    .bw = 0,
    .bh = 0,
    .bd = 0,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_YUV,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_PLANAR_420_10] = {
    .format = ISL_FORMAT_PLANAR_420_10,
    .bpb = 0,
    .bw = 0,
    .bh = 0,
    .bd = 0,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_YUV,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_PLANAR_420_12] = {
    .format = ISL_FORMAT_PLANAR_420_12,
    .bpb = 0,
    .bw = 0,
    .bh = 0,
    .bd = 0,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_YUV,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_PLANAR_420_16] = {
    .format = ISL_FORMAT_PLANAR_420_16,
    .bpb = 0,
    .bw = 0,
    .bh = 0,
    .bd = 0,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_YUV,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8_UNORM_SRGB] = {
    .format = ISL_FORMAT_R8G8B8_UNORM_SRGB,
    .bpb = 24,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, 0, 8 },
              .g = { ISL_UNORM, 8, 8 },
              .b = { ISL_UNORM, 16, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_ETC1_RGB8] = {
    .format = ISL_FORMAT_ETC1_RGB8,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ETC1,
  },

  [ISL_FORMAT_ETC2_RGB8] = {
    .format = ISL_FORMAT_ETC2_RGB8,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ETC2,
  },

  [ISL_FORMAT_EAC_R11] = {
    .format = ISL_FORMAT_EAC_R11,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 11 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ETC2,
  },

  [ISL_FORMAT_EAC_RG11] = {
    .format = ISL_FORMAT_EAC_RG11,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 11 },
              .g = { ISL_UNORM, -1, 11 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ETC2,
  },

  [ISL_FORMAT_EAC_SIGNED_R11] = {
    .format = ISL_FORMAT_EAC_SIGNED_R11,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, -1, 11 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ETC2,
  },

  [ISL_FORMAT_EAC_SIGNED_RG11] = {
    .format = ISL_FORMAT_EAC_SIGNED_RG11,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, -1, 11 },
              .g = { ISL_SNORM, -1, 11 },
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ETC2,
  },

  [ISL_FORMAT_ETC2_SRGB8] = {
    .format = ISL_FORMAT_ETC2_SRGB8,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ETC2,
  },

  [ISL_FORMAT_R16G16B16_UINT] = {
    .format = ISL_FORMAT_R16G16B16_UINT,
    .bpb = 48,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 16 },
              .g = { ISL_UINT, 16, 16 },
              .b = { ISL_UINT, 32, 16 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R16G16B16_SINT] = {
    .format = ISL_FORMAT_R16G16B16_SINT,
    .bpb = 48,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 16 },
              .g = { ISL_SINT, 16, 16 },
              .b = { ISL_SINT, 32, 16 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R32_SFIXED] = {
    .format = ISL_FORMAT_R32_SFIXED,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFIXED, 0, 16 },
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFIXED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R10G10B10A2_SNORM] = {
    .format = ISL_FORMAT_R10G10B10A2_SNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 10 },
              .g = { ISL_SNORM, 10, 10 },
              .b = { ISL_SNORM, 20, 10 },
              .a = { ISL_SNORM, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R10G10B10A2_USCALED] = {
    .format = ISL_FORMAT_R10G10B10A2_USCALED,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 10 },
              .g = { ISL_USCALED, 10, 10 },
              .b = { ISL_USCALED, 20, 10 },
              .a = { ISL_USCALED, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R10G10B10A2_SSCALED] = {
    .format = ISL_FORMAT_R10G10B10A2_SSCALED,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 10 },
              .g = { ISL_SSCALED, 10, 10 },
              .b = { ISL_SSCALED, 20, 10 },
              .a = { ISL_SSCALED, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R10G10B10A2_SINT] = {
    .format = ISL_FORMAT_R10G10B10A2_SINT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 10 },
              .g = { ISL_SINT, 10, 10 },
              .b = { ISL_SINT, 20, 10 },
              .a = { ISL_SINT, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B10G10R10A2_SNORM] = {
    .format = ISL_FORMAT_B10G10R10A2_SNORM,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SNORM, 0, 10 },
              .g = { ISL_SNORM, 10, 10 },
              .b = { ISL_SNORM, 20, 10 },
              .a = { ISL_SNORM, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B10G10R10A2_USCALED] = {
    .format = ISL_FORMAT_B10G10R10A2_USCALED,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_USCALED, 0, 10 },
              .g = { ISL_USCALED, 10, 10 },
              .b = { ISL_USCALED, 20, 10 },
              .a = { ISL_USCALED, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_USCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B10G10R10A2_SSCALED] = {
    .format = ISL_FORMAT_B10G10R10A2_SSCALED,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SSCALED, 0, 10 },
              .g = { ISL_SSCALED, 10, 10 },
              .b = { ISL_SSCALED, 20, 10 },
              .a = { ISL_SSCALED, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SSCALED,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B10G10R10A2_UINT] = {
    .format = ISL_FORMAT_B10G10R10A2_UINT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 10 },
              .g = { ISL_UINT, 10, 10 },
              .b = { ISL_UINT, 20, 10 },
              .a = { ISL_UINT, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_B10G10R10A2_SINT] = {
    .format = ISL_FORMAT_B10G10R10A2_SINT,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 10 },
              .g = { ISL_SINT, 10, 10 },
              .b = { ISL_SINT, 20, 10 },
              .a = { ISL_SINT, 30, 2 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R64G64B64A64_PASSTHRU] = {
    .format = ISL_FORMAT_R64G64B64A64_PASSTHRU,
    .bpb = 256,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_RAW, 0, 64 },
              .g = { ISL_RAW, 64, 64 },
              .b = { ISL_RAW, 128, 64 },
              .a = { ISL_RAW, 192, 64 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_RAW,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R64G64B64_PASSTHRU] = {
    .format = ISL_FORMAT_R64G64B64_PASSTHRU,
    .bpb = 192,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_RAW, 0, 64 },
              .g = { ISL_RAW, 64, 64 },
              .b = { ISL_RAW, 128, 64 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_RAW,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_ETC2_RGB8_PTA] = {
    .format = ISL_FORMAT_ETC2_RGB8_PTA,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 1 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ETC2,
  },

  [ISL_FORMAT_ETC2_SRGB8_PTA] = {
    .format = ISL_FORMAT_ETC2_SRGB8_PTA,
    .bpb = 64,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 1 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ETC2,
  },

  [ISL_FORMAT_ETC2_EAC_RGBA8] = {
    .format = ISL_FORMAT_ETC2_EAC_RGBA8,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ETC2,
  },

  [ISL_FORMAT_ETC2_EAC_SRGB8_A8] = {
    .format = ISL_FORMAT_ETC2_EAC_SRGB8_A8,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ETC2,
  },

  [ISL_FORMAT_R8G8B8_UINT] = {
    .format = ISL_FORMAT_R8G8B8_UINT,
    .bpb = 24,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_UINT, 0, 8 },
              .g = { ISL_UINT, 8, 8 },
              .b = { ISL_UINT, 16, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_R8G8B8_SINT] = {
    .format = ISL_FORMAT_R8G8B8_SINT,
    .bpb = 24,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SINT, 0, 8 },
              .g = { ISL_SINT, 8, 8 },
              .b = { ISL_SINT, 16, 8 },
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SINT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_RAW] = {
    .format = ISL_FORMAT_RAW,
    .bpb = 0,
    .bw = 0,
    .bh = 0,
    .bd = 0,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_NONE,
  },

  [ISL_FORMAT_ASTC_LDR_2D_4X4_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_4X4_U8SRGB,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_5X4_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_5X4_U8SRGB,
    .bpb = 128,
    .bw = 5,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_5X5_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_5X5_U8SRGB,
    .bpb = 128,
    .bw = 5,
    .bh = 5,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_6X5_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_6X5_U8SRGB,
    .bpb = 128,
    .bw = 6,
    .bh = 5,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_6X6_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_6X6_U8SRGB,
    .bpb = 128,
    .bw = 6,
    .bh = 6,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_8X5_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_8X5_U8SRGB,
    .bpb = 128,
    .bw = 8,
    .bh = 5,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_8X6_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_8X6_U8SRGB,
    .bpb = 128,
    .bw = 8,
    .bh = 6,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_8X8_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_8X8_U8SRGB,
    .bpb = 128,
    .bw = 8,
    .bh = 8,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_10X5_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_10X5_U8SRGB,
    .bpb = 128,
    .bw = 10,
    .bh = 5,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_10X6_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_10X6_U8SRGB,
    .bpb = 128,
    .bw = 10,
    .bh = 6,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_10X8_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_10X8_U8SRGB,
    .bpb = 128,
    .bw = 10,
    .bh = 8,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_10X10_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_10X10_U8SRGB,
    .bpb = 128,
    .bw = 10,
    .bh = 10,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_12X10_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_12X10_U8SRGB,
    .bpb = 128,
    .bw = 12,
    .bh = 10,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_12X12_U8SRGB] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_12X12_U8SRGB,
    .bpb = 128,
    .bw = 12,
    .bh = 12,
    .bd = 1,
    .channels = {
              .r = { ISL_UNORM, -1, 8 },
              .g = { ISL_UNORM, -1, 8 },
              .b = { ISL_UNORM, -1, 8 },
              .a = { ISL_UNORM, -1, 8 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_UNORM,
    .colorspace = ISL_COLORSPACE_SRGB,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_4X4_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_4X4_FLT16,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_5X4_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_5X4_FLT16,
    .bpb = 128,
    .bw = 5,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_5X5_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_5X5_FLT16,
    .bpb = 128,
    .bw = 5,
    .bh = 5,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_6X5_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_6X5_FLT16,
    .bpb = 128,
    .bw = 6,
    .bh = 5,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_6X6_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_6X6_FLT16,
    .bpb = 128,
    .bw = 6,
    .bh = 6,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_8X5_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_8X5_FLT16,
    .bpb = 128,
    .bw = 8,
    .bh = 5,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_8X6_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_8X6_FLT16,
    .bpb = 128,
    .bw = 8,
    .bh = 6,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_8X8_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_8X8_FLT16,
    .bpb = 128,
    .bw = 8,
    .bh = 8,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_10X5_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_10X5_FLT16,
    .bpb = 128,
    .bw = 10,
    .bh = 5,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_10X6_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_10X6_FLT16,
    .bpb = 128,
    .bw = 10,
    .bh = 6,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_10X8_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_10X8_FLT16,
    .bpb = 128,
    .bw = 10,
    .bh = 8,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_10X10_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_10X10_FLT16,
    .bpb = 128,
    .bw = 10,
    .bh = 10,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_12X10_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_12X10_FLT16,
    .bpb = 128,
    .bw = 12,
    .bh = 10,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_LDR_2D_12X12_FLT16] = {
    .format = ISL_FORMAT_ASTC_LDR_2D_12X12_FLT16,
    .bpb = 128,
    .bw = 12,
    .bh = 12,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_4X4_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_4X4_FLT16,
    .bpb = 128,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_5X4_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_5X4_FLT16,
    .bpb = 128,
    .bw = 5,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_5X5_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_5X5_FLT16,
    .bpb = 128,
    .bw = 5,
    .bh = 5,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_6X5_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_6X5_FLT16,
    .bpb = 128,
    .bw = 6,
    .bh = 5,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_6X6_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_6X6_FLT16,
    .bpb = 128,
    .bw = 6,
    .bh = 6,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_8X5_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_8X5_FLT16,
    .bpb = 128,
    .bw = 8,
    .bh = 5,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_8X6_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_8X6_FLT16,
    .bpb = 128,
    .bw = 8,
    .bh = 6,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_8X8_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_8X8_FLT16,
    .bpb = 128,
    .bw = 8,
    .bh = 8,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_10X5_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_10X5_FLT16,
    .bpb = 128,
    .bw = 10,
    .bh = 5,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_10X6_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_10X6_FLT16,
    .bpb = 128,
    .bw = 10,
    .bh = 6,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_10X8_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_10X8_FLT16,
    .bpb = 128,
    .bw = 10,
    .bh = 8,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_10X10_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_10X10_FLT16,
    .bpb = 128,
    .bw = 10,
    .bh = 10,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_12X10_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_12X10_FLT16,
    .bpb = 128,
    .bw = 12,
    .bh = 10,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_ASTC_HDR_2D_12X12_FLT16] = {
    .format = ISL_FORMAT_ASTC_HDR_2D_12X12_FLT16,
    .bpb = 128,
    .bw = 12,
    .bh = 12,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, -1, 16 },
              .g = { ISL_SFLOAT, -1, 16 },
              .b = { ISL_SFLOAT, -1, 16 },
              .a = { ISL_SFLOAT, -1, 16 },
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_SFLOAT,
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_ASTC,
  },

  [ISL_FORMAT_HIZ] = {
    .format = ISL_FORMAT_HIZ,
    .bpb = 128,
    .bw = 8,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_HIZ,
  },

  [ISL_FORMAT_MCS_2X] = {
    .format = ISL_FORMAT_MCS_2X,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_MCS,
  },

  [ISL_FORMAT_MCS_4X] = {
    .format = ISL_FORMAT_MCS_4X,
    .bpb = 8,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_MCS,
  },

  [ISL_FORMAT_MCS_8X] = {
    .format = ISL_FORMAT_MCS_8X,
    .bpb = 32,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_MCS,
  },

  [ISL_FORMAT_MCS_16X] = {
    .format = ISL_FORMAT_MCS_16X,
    .bpb = 64,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_MCS,
  },

  [ISL_FORMAT_GFX7_CCS_32BPP_X] = {
    .format = ISL_FORMAT_GFX7_CCS_32BPP_X,
    .bpb = 1,
    .bw = 16,
    .bh = 2,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX7_CCS_64BPP_X] = {
    .format = ISL_FORMAT_GFX7_CCS_64BPP_X,
    .bpb = 1,
    .bw = 8,
    .bh = 2,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX7_CCS_128BPP_X] = {
    .format = ISL_FORMAT_GFX7_CCS_128BPP_X,
    .bpb = 1,
    .bw = 4,
    .bh = 2,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX7_CCS_32BPP_Y] = {
    .format = ISL_FORMAT_GFX7_CCS_32BPP_Y,
    .bpb = 1,
    .bw = 8,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX7_CCS_64BPP_Y] = {
    .format = ISL_FORMAT_GFX7_CCS_64BPP_Y,
    .bpb = 1,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX7_CCS_128BPP_Y] = {
    .format = ISL_FORMAT_GFX7_CCS_128BPP_Y,
    .bpb = 1,
    .bw = 2,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX9_CCS_32BPP] = {
    .format = ISL_FORMAT_GFX9_CCS_32BPP,
    .bpb = 2,
    .bw = 8,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX9_CCS_64BPP] = {
    .format = ISL_FORMAT_GFX9_CCS_64BPP,
    .bpb = 2,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX9_CCS_128BPP] = {
    .format = ISL_FORMAT_GFX9_CCS_128BPP,
    .bpb = 2,
    .bw = 2,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX12_CCS_8BPP_Y0] = {
    .format = ISL_FORMAT_GFX12_CCS_8BPP_Y0,
    .bpb = 4,
    .bw = 32,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX12_CCS_16BPP_Y0] = {
    .format = ISL_FORMAT_GFX12_CCS_16BPP_Y0,
    .bpb = 4,
    .bw = 16,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX12_CCS_32BPP_Y0] = {
    .format = ISL_FORMAT_GFX12_CCS_32BPP_Y0,
    .bpb = 4,
    .bw = 8,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX12_CCS_64BPP_Y0] = {
    .format = ISL_FORMAT_GFX12_CCS_64BPP_Y0,
    .bpb = 4,
    .bw = 4,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

  [ISL_FORMAT_GFX12_CCS_128BPP_Y0] = {
    .format = ISL_FORMAT_GFX12_CCS_128BPP_Y0,
    .bpb = 4,
    .bw = 2,
    .bh = 4,
    .bd = 1,
    .channels = {
              .r = {},
              .g = {},
              .b = {},
              .a = {},
              .l = {},
              .i = {},
              .p = {},
    },
    .uniform_channel_type = ISL_VOID,
    .colorspace = ISL_COLORSPACE_NONE,
    .txc = ISL_TXC_CCS,
  },

};

bool
isl_format_is_valid(enum isl_format format)
{
    if (format >= sizeof(isl_format_layouts) / sizeof(isl_format_layouts[0]))
        return false;

    /* Only ISL_FORMAT_R32G32B32A32_FLOAT == 0 but that's a valid format.
     * For all others, if this doesn't match then the entry in the table
     * must not exist.
     */
    return isl_format_layouts[format].format == format;
}

enum isl_format
isl_format_srgb_to_linear(enum isl_format format)
{
    switch (format) {
    case ISL_FORMAT_B8G8R8A8_UNORM_SRGB:
        return ISL_FORMAT_B8G8R8A8_UNORM;
    case ISL_FORMAT_R10G10B10A2_UNORM_SRGB:
        return ISL_FORMAT_R10G10B10A2_UNORM;
    case ISL_FORMAT_R8G8B8A8_UNORM_SRGB:
        return ISL_FORMAT_R8G8B8A8_UNORM;
    case ISL_FORMAT_B10G10R10A2_UNORM_SRGB:
        return ISL_FORMAT_B10G10R10A2_UNORM;
    case ISL_FORMAT_B8G8R8X8_UNORM_SRGB:
        return ISL_FORMAT_B8G8R8X8_UNORM;
    case ISL_FORMAT_R8G8B8X8_UNORM_SRGB:
        return ISL_FORMAT_R8G8B8X8_UNORM;
    case ISL_FORMAT_B5G6R5_UNORM_SRGB:
        return ISL_FORMAT_B5G6R5_UNORM;
    case ISL_FORMAT_B5G5R5A1_UNORM_SRGB:
        return ISL_FORMAT_B5G5R5A1_UNORM;
    case ISL_FORMAT_B4G4R4A4_UNORM_SRGB:
        return ISL_FORMAT_B4G4R4A4_UNORM;
    case ISL_FORMAT_L8A8_UNORM_SRGB:
        return ISL_FORMAT_L8A8_UNORM;
    case ISL_FORMAT_B5G5R5X1_UNORM_SRGB:
        return ISL_FORMAT_B5G5R5X1_UNORM;
    case ISL_FORMAT_L8_UNORM_SRGB:
        return ISL_FORMAT_L8_UNORM;
    case ISL_FORMAT_DXT1_RGB_SRGB:
        return ISL_FORMAT_DXT1_RGB;
    case ISL_FORMAT_BC1_UNORM_SRGB:
        return ISL_FORMAT_BC1_UNORM;
    case ISL_FORMAT_BC2_UNORM_SRGB:
        return ISL_FORMAT_BC2_UNORM;
    case ISL_FORMAT_BC3_UNORM_SRGB:
        return ISL_FORMAT_BC3_UNORM;
    case ISL_FORMAT_BC7_UNORM_SRGB:
        return ISL_FORMAT_BC7_UNORM;
    case ISL_FORMAT_R8G8B8_UNORM_SRGB:
        return ISL_FORMAT_R8G8B8_UNORM;
    case ISL_FORMAT_ETC2_SRGB8:
        return ISL_FORMAT_ETC2_RGB8;
    case ISL_FORMAT_ETC2_SRGB8_PTA:
        return ISL_FORMAT_ETC2_RGB8_PTA;
    case ISL_FORMAT_ETC2_EAC_SRGB8_A8:
        return ISL_FORMAT_ETC2_EAC_SRGB8_A8;
    case ISL_FORMAT_ASTC_LDR_2D_4X4_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_4X4_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_5X4_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_5X4_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_5X5_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_5X5_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_6X5_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_6X5_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_6X6_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_6X6_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_8X5_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_8X5_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_8X6_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_8X6_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_8X8_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_8X8_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_10X5_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_10X5_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_10X6_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_10X6_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_10X8_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_10X8_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_10X10_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_10X10_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_12X10_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_12X10_U8SRGB;
    case ISL_FORMAT_ASTC_LDR_2D_12X12_U8SRGB:
        return ISL_FORMAT_ASTC_LDR_2D_12X12_U8SRGB;
    default:
        return format;
    }
}
