C++程序  |  5668行  |  131.73 KB

/* 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 struct isl_format_layout
isl_format_layouts[] = {
  [ISL_FORMAT_R32G32B32A32_FLOAT] = {
    .format = ISL_FORMAT_R32G32B32A32_FLOAT,
    .name = "ISL_FORMAT_R32G32B32A32_FLOAT",
    .bpb = 128,
    .bw = 1,
    .bh = 1,
    .bd = 1,
    .channels = {
              .r = { ISL_SFLOAT, 32 },
              .g = { ISL_SFLOAT, 32 },
              .b = { ISL_SFLOAT, 32 },
              .a = { ISL_SFLOAT, 32 },
              .l = {},
              .i = {},
              .p = {},
    },
    .colorspace = ISL_COLORSPACE_LINEAR,
    .txc = ISL_TXC_NONE,
  },

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

};

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_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;
    }
}