{
  "NONE": {
  },
  "A8_UNORM": {
    "texFormat": "DXGI_FORMAT_A8_UNORM",
    "srvFormat": "DXGI_FORMAT_A8_UNORM",
    "rtvFormat": "DXGI_FORMAT_A8_UNORM",
    "channels": "a",
    "componentType": "unorm",
    "bits": { "alpha": 8 },
    "supportTest": "OnlyFL10Plus(deviceCaps)",
    "fallbackFormat": "R8G8B8A8_UNORM"
  },
  "R8G8B8A8_UNORM": {
    "texFormat": "DXGI_FORMAT_R8G8B8A8_UNORM",
    "srvFormat": "DXGI_FORMAT_R8G8B8A8_UNORM",
    "uavFormat": "DXGI_FORMAT_R8G8B8A8_UNORM",
    "rtvFormat": "DXGI_FORMAT_R8G8B8A8_UNORM",
    "typelessFormat": "DXGI_FORMAT_R8G8B8A8_TYPELESS",
    "channels": "rgba",
    "componentType": "unorm",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "glInternalFormat": "GL_RGBA8"
  },
  "R8G8B8A8_TYPELESS": {
    "texFormat": "DXGI_FORMAT_R8G8B8A8_TYPELESS",
    "srvFormat": "DXGI_FORMAT_R8G8B8A8_UNORM",
    "rtvFormat": "DXGI_FORMAT_R8G8B8A8_UNORM",
    "channels": "rgba",
    "componentType": "typeless",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "glInternalFormat": "GL_RGBA8"
  },
  "R8G8B8A8_TYPELESS_SRGB": {
    "texFormat": "DXGI_FORMAT_R8G8B8A8_TYPELESS",
    "srvFormat": "DXGI_FORMAT_R8G8B8A8_UNORM_SRGB",
    "rtvFormat": "DXGI_FORMAT_R8G8B8A8_UNORM_SRGB",
    "channels": "rgba",
    "componentType": "typeless",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "glInternalFormat": "GL_SRGB8_ALPHA8"
  },
  "R16G16B16A16_UNORM": {
    "texFormat": "DXGI_FORMAT_R16G16B16A16_UNORM",
    "srvFormat": "DXGI_FORMAT_R16G16B16A16_UNORM",
    "rtvFormat": "DXGI_FORMAT_R16G16B16A16_UNORM",
    "typelessFormat": "DXGI_FORMAT_R16G16B16A16_TYPELESS",
    "channels": "rgba",
    "componentType": "unorm",
    "bits": {
      "red": 16,
      "green": 16,
      "blue": 16,
      "alpha": 16
    },
    "glInternalFormat": "GL_RGBA16_EXT"
  },
  "R16G16B16A16_FLOAT": {
    "texFormat": "DXGI_FORMAT_R16G16B16A16_FLOAT",
    "srvFormat": "DXGI_FORMAT_R16G16B16A16_FLOAT",
    "uavFormat": "DXGI_FORMAT_R16G16B16A16_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R16G16B16A16_FLOAT",
    "typelessFormat": "DXGI_FORMAT_R16G16B16A16_TYPELESS",
    "channels": "rgba",
    "componentType": "float",
    "bits": {
      "red": 16,
      "green": 16,
      "blue": 16,
      "alpha": 16
    },
    "glInternalFormat": "GL_RGBA16F"
  },
  "R32G32B32A32_FLOAT": {
    "texFormat": "DXGI_FORMAT_R32G32B32A32_FLOAT",
    "srvFormat": "DXGI_FORMAT_R32G32B32A32_FLOAT",
    "uavFormat": "DXGI_FORMAT_R32G32B32A32_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R32G32B32A32_FLOAT",
    "typelessFormat": "DXGI_FORMAT_R32G32B32A32_TYPELESS",
    "channels": "rgba",
    "componentType": "float",
    "bits": {
      "red": 32,
      "green": 32,
      "blue": 32,
      "alpha": 32
    },
    "glInternalFormat": "GL_RGBA32F"
  },
  "B8G8R8A8_UNORM": {
    "texFormat": "DXGI_FORMAT_B8G8R8A8_UNORM",
    "srvFormat": "DXGI_FORMAT_B8G8R8A8_UNORM",
    "rtvFormat": "DXGI_FORMAT_B8G8R8A8_UNORM",
    "typelessFormat": "DXGI_FORMAT_B8G8R8A8_TYPELESS",
    "channels": "bgra",
    "componentType": "unorm",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "glInternalFormat": "GL_BGRA8_EXT"
  },
  "B8G8R8A8_UNORM_SRGB": {
    "texFormat": "DXGI_FORMAT_B8G8R8A8_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_B8G8R8A8_UNORM_SRGB",
    "linearSRVFormat": "DXGI_FORMAT_B8G8R8A8_UNORM",
    "rtvFormat": "DXGI_FORMAT_B8G8R8A8_UNORM_SRGB",
    "typelessFormat": "DXGI_FORMAT_B8G8R8A8_TYPELESS",
    "channels": "bgra",
    "componentType": "unorm",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "siwzzleFormat": "GL_RGBA8"
  },
  "B8G8R8A8_TYPELESS": {
    "texFormat": "DXGI_FORMAT_B8G8R8A8_TYPELESS",
    "srvFormat": "DXGI_FORMAT_B8G8R8A8_UNORM_SRGB",
    "rtvFormat": "DXGI_FORMAT_B8G8R8A8_UNORM_SRGB",
    "typelessFormat": "DXGI_FORMAT_B8G8R8A8_TYPELESS",
    "channels": "bgra",
    "componentType": "typeless",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "glInternalFormat": "GL_BGRA8_EXT"
  },
  "B8G8R8A8_TYPELESS_SRGB": {
    "texFormat": "DXGI_FORMAT_B8G8R8A8_TYPELESS",
    "srvFormat": "DXGI_FORMAT_B8G8R8A8_UNORM_SRGB",
    "linearSRVFormat": "DXGI_FORMAT_B8G8R8A8_UNORM",
    "rtvFormat": "DXGI_FORMAT_B8G8R8A8_UNORM_SRGB",
    "typelessFormat": "DXGI_FORMAT_B8G8R8A8_TYPELESS",
    "channels": "bgra",
    "componentType": "typeless",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "glInternalFormat": "GL_BGRA8_SRGB_ANGLEX"
  },
  "B8G8R8X8_UNORM": {
    "texFormat": "DXGI_FORMAT_B8G8R8X8_UNORM",
    "srvFormat": "DXGI_FORMAT_B8G8R8X8_UNORM",
    "rtvFormat": "DXGI_FORMAT_B8G8R8X8_UNORM",
    "typelessFormat": "DXGI_FORMAT_B8G8R8X8_TYPELESS",
    "channels": "bgra",
    "componentType": "unorm",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "supportTest": "OnlyFL11_1Plus(deviceCaps)",
    "fallbackFormat": "R8G8B8A8_UNORM",
    "glInternalFormat": "GL_BGRX8_ANGLEX"
  },
  "B8G8R8X8_UNORM_SRGB": {
    "texFormat": "DXGI_FORMAT_B8G8R8X8_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_B8G8R8X8_UNORM_SRGB",
    "linearSRVFormat": "DXGI_FORMAT_B8G8R8X8_UNORM",
    "rtvFormat": "DXGI_FORMAT_B8G8R8X8_UNORM_SRGB",
    "typelessFormat": "DXGI_FORMAT_B8G8R8X8_TYPELESS",
    "channels": "bgra",
    "componentType": "unorm",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "supportTest": "OnlyFL11_1Plus(deviceCaps)",
    "fallbackFormat": "R8G8B8A8_UNORM",
    "glInternalFormat": "GL_BGRX8_SRGB_ANGLEX"
  },
  "R8G8B8X8_UNORM": {
    "texFormat": "DXGI_FORMAT_B8G8R8X8_UNORM",
    "srvFormat": "DXGI_FORMAT_B8G8R8X8_UNORM",
    "rtvFormat": "DXGI_FORMAT_B8G8R8X8_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "supportTest": "OnlyFL11_1Plus(deviceCaps)",
    "fallbackFormat": "R8G8B8A8_UNORM",
    "glInternalFormat": "GL_RGBX8_ANGLE"
  },
  "R8G8B8X8_UNORM_SRGB": {
    "texFormat": "DXGI_FORMAT_B8G8R8X8_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_B8G8R8X8_UNORM_SRGB",
    "linearSRVFormat": "DXGI_FORMAT_B8G8R8X8_UNORM",
    "rtvFormat": "DXGI_FORMAT_B8G8R8X8_UNORM_SRGB",
    "typelessFormat": "DXGI_FORMAT_B8G8R8X8_TYPELESS",
    "channels": "rgba",
    "componentType": "unorm",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "supportTest": "OnlyFL11_1Plus(deviceCaps)",
    "fallbackFormat": "R8G8B8A8_UNORM_SRGB",
    "glInternalFormat": "GL_RGBX8_SRGB_ANGLEX"
  },
  "B10G10R10A2_UNORM": {
    "texFormat": "DXGI_FORMAT_R10G10B10A2_UNORM",
    "srvFormat": "DXGI_FORMAT_R10G10B10A2_UNORM",
    "rtvFormat": "DXGI_FORMAT_R10G10B10A2_UNORM",
    "typelessFormat": "DXGI_FORMAT_R10G10B10A2_TYPELESS",
    "channels": "rgba",
    "componentType": "unorm",
    "bits": {
      "red": 10,
      "green": 10,
      "blue": 10,
      "alpha": 2
    },
    "glInternalFormat": "GL_RGB10_A2"
  },
  "BC1_RGBA_UNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC1_UNORM",
    "srvFormat": "DXGI_FORMAT_BC1_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC1_RGB_UNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC1_UNORM",
    "srvFormat": "DXGI_FORMAT_BC1_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC2_RGBA_UNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC2_UNORM",
    "srvFormat": "DXGI_FORMAT_BC2_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC3_RGBA_UNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC3_UNORM",
    "srvFormat": "DXGI_FORMAT_BC3_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC1_RGBA_UNORM_SRGB_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC1_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_BC1_UNORM_SRGB",
    "linearSRVFormat": "DXGI_FORMAT_BC1_UNORM",
    "typelessFormat": "DXGI_FORMAT_BC1_TYPELESS",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC1_RGB_UNORM_SRGB_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC1_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_BC1_UNORM_SRGB",
    "linearSRVFormat": "DXGI_FORMAT_BC1_UNORM",
    "typelessFormat": "DXGI_FORMAT_BC1_TYPELESS",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC2_RGBA_UNORM_SRGB_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC2_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_BC2_UNORM_SRGB",
    "linearSRVFormat": "DXGI_FORMAT_BC2_UNORM",
    "typelessFormat": "DXGI_FORMAT_BC2_TYPELESS",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC3_RGBA_UNORM_SRGB_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC3_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_BC3_UNORM_SRGB",
    "linearSRVFormat": "DXGI_FORMAT_BC3_UNORM",
    "typelessFormat": "DXGI_FORMAT_BC3_TYPELESS",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC4_RED_UNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC4_UNORM",
    "srvFormat": "DXGI_FORMAT_BC4_UNORM",
    "channels": "r",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC4_RED_SNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC4_SNORM",
    "srvFormat": "DXGI_FORMAT_BC4_SNORM",
    "channels": "r",
    "componentType": "snorm",
    "swizzleFormat": "GL_RGBA8_SNORM"
  },
  "BC5_RG_UNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC5_UNORM",
    "srvFormat": "DXGI_FORMAT_BC5_UNORM",
    "channels": "rg",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC5_RG_SNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC5_SNORM",
    "srvFormat": "DXGI_FORMAT_BC5_SNORM",
    "channels": "rg",
    "componentType": "snorm",
    "swizzleFormat": "GL_RGBA8_SNORM"
  },
  "BC6H_RGB_UFLOAT_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC6H_UF16",
    "srvFormat": "DXGI_FORMAT_BC6H_UF16",
    "channels": "rgb",
    "componentType": "float",
    "swizzleFormat": "GL_RGBA32F"
  },
  "BC6H_RGB_SFLOAT_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC6H_SF16",
    "srvFormat": "DXGI_FORMAT_BC6H_SF16",
    "channels": "rgb",
    "componentType": "float",
    "swizzleFormat": "GL_RGBA32F"
  },
  "BC7_RGBA_UNORM_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC7_UNORM",
    "srvFormat": "DXGI_FORMAT_BC7_UNORM",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_RGBA8"
  },
  "BC7_RGBA_UNORM_SRGB_BLOCK": {
    "texFormat": "DXGI_FORMAT_BC7_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_BC7_UNORM_SRGB",
    "linearSRVFormat": "DXGI_FORMAT_BC7_UNORM",
    "typelessFormat": "DXGI_FORMAT_BC7_TYPELESS",
    "channels": "rgba",
    "componentType": "unorm",
    "swizzleFormat": "GL_SRGB8_ALPHA8"
  },
  "D24_UNORM_S8_UINT": {
    "FL10Plus": {
      "texFormat": "DXGI_FORMAT_R24G8_TYPELESS",
      "srvFormat": "DXGI_FORMAT_R24_UNORM_X8_TYPELESS",
      "stencilSRVFormat": "DXGI_FORMAT_X24_TYPELESS_G8_UINT"
    },
    "FL9_3": {
      "texFormat": "DXGI_FORMAT_D24_UNORM_S8_UINT"
    },
    "dsvFormat": "DXGI_FORMAT_D24_UNORM_S8_UINT",
    "channels": "ds",
    "bits": {
      "depth": 24,
      "stencil": 8
    },
    "glInternalFormat": "GL_DEPTH24_STENCIL8_OES"
  },
  "D32_FLOAT_S8X24_UINT": {
    "texFormat": "DXGI_FORMAT_R32G8X24_TYPELESS",
    "srvFormat": "DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS",
    "stencilSRVFormat": "DXGI_FORMAT_X32_TYPELESS_G8X24_UINT",
    "dsvFormat": "DXGI_FORMAT_D32_FLOAT_S8X24_UINT",
    "channels": "ds",
    "bits": {
      "depth": 32,
      "stencil": 8
    },
    "glInternalFormat": "GL_DEPTH32F_STENCIL8"
  },
  "D16_UNORM": {
    "FL10Plus": {
      "texFormat": "DXGI_FORMAT_R16_TYPELESS",
      "srvFormat": "DXGI_FORMAT_R16_UNORM"
    },
    "FL9_3": {
      "texFormat": "DXGI_FORMAT_D16_UNORM"
    },
    "dsvFormat": "DXGI_FORMAT_D16_UNORM",
    "channels": "d",
    "componentType": "unorm",
    "bits": { "depth": 16 },
    "glInternalFormat": "GL_DEPTH_COMPONENT16"
  },
  "D32_FLOAT": {
    "texFormat": "DXGI_FORMAT_R32_TYPELESS",
    "srvFormat": "DXGI_FORMAT_R32_FLOAT",
    "dsvFormat": "DXGI_FORMAT_D32_FLOAT",
    "channels": "d",
    "componentType": "float",
    "bits": { "depth": 32 },
    "glInternalFormat": "GL_DEPTH_COMPONENT32F"
  },
  "R11G11B10_FLOAT": {
    "texFormat": "DXGI_FORMAT_R11G11B10_FLOAT",
    "srvFormat": "DXGI_FORMAT_R11G11B10_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R11G11B10_FLOAT",
    "channels": "rgb",
    "componentType": "float",
    "bits": {
      "red": 11,
      "green": 11,
      "blue": 10
    },
    "glInternalFormat": "GL_R11F_G11F_B10F"
  },
  "R16_FLOAT": {
    "texFormat": "DXGI_FORMAT_R16_FLOAT",
    "srvFormat": "DXGI_FORMAT_R16_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R16_FLOAT",
    "typelessFormat": "DXGI_FORMAT_R16_TYPELESS",
    "channels": "r",
    "componentType": "float",
    "bits": { "red": 16 },
    "glInternalFormat": "GL_R16F"
  },
  "R16_SINT": {
    "texFormat": "DXGI_FORMAT_R16_SINT",
    "srvFormat": "DXGI_FORMAT_R16_SINT",
    "rtvFormat": "DXGI_FORMAT_R16_SINT",
    "typelessFormat": "DXGI_FORMAT_R16_TYPELESS",
    "channels": "r",
    "componentType": "int",
    "bits": { "red": 16 },
    "glInternalFormat": "GL_R16I"
  },
  "R16_UINT": {
    "texFormat": "DXGI_FORMAT_R16_UINT",
    "srvFormat": "DXGI_FORMAT_R16_UINT",
    "rtvFormat": "DXGI_FORMAT_R16_UINT",
    "typelessFormat": "DXGI_FORMAT_R16_TYPELESS",
    "channels": "r",
    "componentType": "uint",
    "bits": { "red": 16 },
    "glInternalFormat": "GL_R16UI"
  },
  "R32_FLOAT": {
    "texFormat": "DXGI_FORMAT_R32_FLOAT",
    "srvFormat": "DXGI_FORMAT_R32_FLOAT",
    "uavFormat": "DXGI_FORMAT_R32_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R32_FLOAT",
    "typelessFormat": "DXGI_FORMAT_R32_TYPELESS",
    "channels": "r",
    "componentType": "float",
    "bits": { "red": 32 },
    "glInternalFormat": "GL_R32F"
  },
  "R32_SINT": {
    "texFormat": "DXGI_FORMAT_R32_SINT",
    "srvFormat": "DXGI_FORMAT_R32_SINT",
    "uavFormat": "DXGI_FORMAT_R32_SINT",
    "rtvFormat": "DXGI_FORMAT_R32_SINT",
    "typelessFormat": "DXGI_FORMAT_R32_TYPELESS",
    "channels": "r",
    "componentType": "int",
    "bits": { "red": 32 },
    "glInternalFormat": "GL_R32I"
  },
  "R32_UINT": {
    "texFormat": "DXGI_FORMAT_R32_UINT",
    "srvFormat": "DXGI_FORMAT_R32_UINT",
    "uavFormat": "DXGI_FORMAT_R32_UINT",
    "rtvFormat": "DXGI_FORMAT_R32_UINT",
    "typelessFormat": "DXGI_FORMAT_R32_TYPELESS",
    "channels": "r",
    "componentType": "uint",
    "bits": { "red": 32 },
    "glInternalFormat": "GL_R32UI"
  },
  "R8_UNORM": {
    "texFormat": "DXGI_FORMAT_R8_UNORM",
    "srvFormat": "DXGI_FORMAT_R8_UNORM",
    "rtvFormat": "DXGI_FORMAT_R8_UNORM",
    "typelessFormat": "DXGI_FORMAT_R8_TYPELESS",
    "channels": "r",
    "componentType": "unorm",
    "bits": { "red": 8 },
    "glInternalFormat": "GL_R8"
  },
  "R8_SINT": {
    "texFormat": "DXGI_FORMAT_R8_SINT",
    "srvFormat": "DXGI_FORMAT_R8_SINT",
    "rtvFormat": "DXGI_FORMAT_R8_SINT",
    "typelessFormat": "DXGI_FORMAT_R8_TYPELESS",
    "channels": "r",
    "componentType": "int",
    "bits": { "red": 8 },
    "glInternalFormat": "GL_R8I"
  },
  "R8_UINT": {
    "texFormat": "DXGI_FORMAT_R8_UINT",
    "srvFormat": "DXGI_FORMAT_R8_UINT",
    "rtvFormat": "DXGI_FORMAT_R8_UINT",
    "typelessFormat": "DXGI_FORMAT_R8_TYPELESS",
    "channels": "r",
    "componentType": "uint",
    "bits": { "red": 8 },
    "glInternalFormat": "GL_R8UI"
  },
  "R8_SNORM": {
    "texFormat": "DXGI_FORMAT_R8_SNORM",
    "srvFormat": "DXGI_FORMAT_R8_SNORM",
    "rtvFormat": "DXGI_FORMAT_R8_SNORM",
    "typelessFormat": "DXGI_FORMAT_R8_TYPELESS",
    "channels": "r",
    "componentType": "snorm",
    "bits": { "red": 8 },
    "glInternalFormat": "GL_R8_SNORM"
  },
  "R16G16_FLOAT": {
    "texFormat": "DXGI_FORMAT_R16G16_FLOAT",
    "srvFormat": "DXGI_FORMAT_R16G16_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R16G16_FLOAT",
    "typelessFormat": "DXGI_FORMAT_R16G16_TYPELESS",
    "channels": "rg",
    "componentType": "float",
    "bits": {
      "red": 16,
      "green": 16
    },
    "glInternalFormat": "GL_RG16F"
  },
  "R16G16_SINT": {
    "texFormat": "DXGI_FORMAT_R16G16_SINT",
    "srvFormat": "DXGI_FORMAT_R16G16_SINT",
    "rtvFormat": "DXGI_FORMAT_R16G16_SINT",
    "typelessFormat": "DXGI_FORMAT_R16G16_TYPELESS",
    "channels": "rg",
    "componentType": "int",
    "bits": {
      "red": 16,
      "green": 16
    },
    "glInternalFormat": "GL_RG16I"
  },
  "R16G16_UINT": {
    "texFormat": "DXGI_FORMAT_R16G16_UINT",
    "srvFormat": "DXGI_FORMAT_R16G16_UINT",
    "rtvFormat": "DXGI_FORMAT_R16G16_UINT",
    "typelessFormat": "DXGI_FORMAT_R16G16_TYPELESS",
    "channels": "rg",
    "componentType": "uint",
    "bits": {
      "red": 16,
      "green": 16
    },
    "glInternalFormat": "GL_RG16UI"
  },
  "R32G32_FLOAT": {
    "texFormat": "DXGI_FORMAT_R32G32_FLOAT",
    "srvFormat": "DXGI_FORMAT_R32G32_FLOAT",
    "rtvFormat": "DXGI_FORMAT_R32G32_FLOAT",
    "typelessFormat": "DXGI_FORMAT_R32G32_TYPELESS",
    "channels": "rg",
    "componentType": "float",
    "bits": {
      "red": 32,
      "green": 32
    },
    "glInternalFormat": "GL_RG32F"
  },
  "R32G32_SINT": {
    "texFormat": "DXGI_FORMAT_R32G32_SINT",
    "srvFormat": "DXGI_FORMAT_R32G32_SINT",
    "rtvFormat": "DXGI_FORMAT_R32G32_SINT",
    "typelessFormat": "DXGI_FORMAT_R32G32_TYPELESS",
    "channels": "rg",
    "componentType": "int",
    "bits": {
      "red": 32,
      "green": 32
    },
    "glInternalFormat": "GL_RG32I"
  },
  "R32G32_UINT": {
    "texFormat": "DXGI_FORMAT_R32G32_UINT",
    "srvFormat": "DXGI_FORMAT_R32G32_UINT",
    "rtvFormat": "DXGI_FORMAT_R32G32_UINT",
    "typelessFormat": "DXGI_FORMAT_R32G32_TYPELESS",
    "channels": "rg",
    "componentType": "uint",
    "bits": {
      "red": 32,
      "green": 32
    },
    "glInternalFormat": "GL_RG32UI"
  },
  "R8G8_UNORM": {
    "texFormat": "DXGI_FORMAT_R8G8_UNORM",
    "srvFormat": "DXGI_FORMAT_R8G8_UNORM",
    "rtvFormat": "DXGI_FORMAT_R8G8_UNORM",
    "typelessFormat": "DXGI_FORMAT_R8G8_TYPELESS",
    "channels": "rg",
    "componentType": "unorm",
    "bits": {
      "red": 8,
      "green": 8
    },
    "glInternalFormat": "GL_RG8"
  },
  "R8G8_SINT": {
    "texFormat": "DXGI_FORMAT_R8G8_SINT",
    "srvFormat": "DXGI_FORMAT_R8G8_SINT",
    "rtvFormat": "DXGI_FORMAT_R8G8_SINT",
    "typelessFormat": "DXGI_FORMAT_R8G8_TYPELESS",
    "channels": "rg",
    "componentType": "int",
    "bits": {
      "red": 8,
      "green": 8
    },
    "glInternalFormat": "GL_RG8I"
  },
  "R8G8_UINT": {
    "texFormat": "DXGI_FORMAT_R8G8_UINT",
    "srvFormat": "DXGI_FORMAT_R8G8_UINT",
    "rtvFormat": "DXGI_FORMAT_R8G8_UINT",
    "typelessFormat": "DXGI_FORMAT_R8G8_TYPELESS",
    "channels": "rg",
    "componentType": "uint",
    "bits": {
      "red": 8,
      "green": 8
    },
    "glInternalFormat": "GL_RG8UI"
  },
  "R8G8_SNORM": {
    "texFormat": "DXGI_FORMAT_R8G8_SNORM",
    "srvFormat": "DXGI_FORMAT_R8G8_SNORM",
    "rtvFormat": "DXGI_FORMAT_R8G8_SNORM",
    "typelessFormat": "DXGI_FORMAT_R8G8_TYPELESS",
    "channels": "rg",
    "componentType": "snorm",
    "bits": {
      "red": 8,
      "green": 8
    },
    "glInternalFormat": "GL_RG8_SNORM"
  },
  "R10G10B10A2_UNORM": {
    "texFormat": "DXGI_FORMAT_R10G10B10A2_UNORM",
    "srvFormat": "DXGI_FORMAT_R10G10B10A2_UNORM",
    "rtvFormat": "DXGI_FORMAT_R10G10B10A2_UNORM",
    "typelessFormat": "DXGI_FORMAT_R10G10B10A2_TYPELESS",
    "channels": "rgba",
    "componentType": "unorm",
    "bits": {
      "red": 10,
      "green": 10,
      "blue": 10,
      "alpha": 2
    },
    "glInternalFormat": "GL_RGB10_A2"
  },
  "R10G10B10A2_UINT": {
    "texFormat": "DXGI_FORMAT_R10G10B10A2_UINT",
    "srvFormat": "DXGI_FORMAT_R10G10B10A2_UINT",
    "rtvFormat": "DXGI_FORMAT_R10G10B10A2_UINT",
    "typelessFormat": "DXGI_FORMAT_R10G10B10A2_TYPELESS",
    "channels": "rgba",
    "componentType": "uint",
    "bits": {
      "red": 10,
      "green": 10,
      "blue": 10,
      "alpha": 2
    },
    "glInternalFormat": "GL_RGB10_A2UI"
  },
  "R10G10B10X2_UNORM": {
    "texFormat": "DXGI_FORMAT_R10G10B10A2_UNORM",
    "srvFormat": "DXGI_FORMAT_R10G10B10A2_UNORM",
    "rtvFormat": "DXGI_FORMAT_R10G10B10A2_UNORM",
    "typelessFormat": "DXGI_FORMAT_R10G10B10A2_TYPELESS",
    "channels": "rgba",
    "componentType": "unorm",
    "bits": {
      "red": 10,
      "green": 10,
      "blue": 10,
      "alpha": 2
    },
    "glInternalFormat": "GL_RGB10_UNORM_ANGLEX"
  },
  "R16G16B16A16_SINT": {
    "texFormat": "DXGI_FORMAT_R16G16B16A16_SINT",
    "srvFormat": "DXGI_FORMAT_R16G16B16A16_SINT",
    "uavFormat": "DXGI_FORMAT_R16G16B16A16_SINT",
    "rtvFormat": "DXGI_FORMAT_R16G16B16A16_SINT",
    "typelessFormat": "DXGI_FORMAT_R16G16B16A16_TYPELESS",
    "channels": "rgba",
    "componentType": "int",
    "bits": {
      "red": 16,
      "green": 16,
      "blue": 16,
      "alpha": 16
    },
    "glInternalFormat": "GL_RGBA16I"
  },
  "R16G16B16A16_UINT": {
    "texFormat": "DXGI_FORMAT_R16G16B16A16_UINT",
    "srvFormat": "DXGI_FORMAT_R16G16B16A16_UINT",
    "uavFormat": "DXGI_FORMAT_R16G16B16A16_UINT",
    "rtvFormat": "DXGI_FORMAT_R16G16B16A16_UINT",
    "typelessFormat": "DXGI_FORMAT_R16G16B16A16_TYPELESS",
    "channels": "rgba",
    "componentType": "uint",
    "bits": {
      "red": 16,
      "green": 16,
      "blue": 16,
      "alpha": 16
    },
    "glInternalFormat": "GL_RGBA16UI"
  },
  "R32G32B32A32_SINT": {
    "texFormat": "DXGI_FORMAT_R32G32B32A32_SINT",
    "srvFormat": "DXGI_FORMAT_R32G32B32A32_SINT",
    "uavFormat": "DXGI_FORMAT_R32G32B32A32_SINT",
    "rtvFormat": "DXGI_FORMAT_R32G32B32A32_SINT",
    "typelessFormat": "DXGI_FORMAT_R32G32B32A32_TYPELESS",
    "channels": "rgba",
    "componentType": "int",
    "bits": {
      "red": 32,
      "green": 32,
      "blue": 32,
      "alpha": 32
    },
    "glInternalFormat": "GL_RGBA32I"
  },
  "R32G32B32A32_UINT": {
    "texFormat": "DXGI_FORMAT_R32G32B32A32_UINT",
    "srvFormat": "DXGI_FORMAT_R32G32B32A32_UINT",
    "uavFormat": "DXGI_FORMAT_R32G32B32A32_UINT",
    "rtvFormat": "DXGI_FORMAT_R32G32B32A32_UINT",
    "typelessFormat": "DXGI_FORMAT_R32G32B32A32_TYPELESS",
    "channels": "rgba",
    "componentType": "uint",
    "bits": {
      "red": 32,
      "green": 32,
      "blue": 32,
      "alpha": 32
    },
    "glInternalFormat": "GL_RGBA32UI"
  },
  "B5G6R5_UNORM": {
    "texFormat": "DXGI_FORMAT_B5G6R5_UNORM",
    "srvFormat": "DXGI_FORMAT_B5G6R5_UNORM",
    "rtvFormat": "DXGI_FORMAT_B5G6R5_UNORM",
    "channels": "bgr",
    "componentType": "unorm",
    "bits": {
      "red": 5,
      "green": 6,
      "blue": 5
    },
    "supportTest": "SupportsFormat(DXGI_FORMAT_B5G6R5_UNORM, deviceCaps)",
    "fallbackFormat": "R8G8B8A8_UNORM"
  },
  "B5G5R5A1_UNORM": {
    "texFormat": "DXGI_FORMAT_B5G5R5A1_UNORM",
    "srvFormat": "DXGI_FORMAT_B5G5R5A1_UNORM",
    "rtvFormat": "DXGI_FORMAT_B5G5R5A1_UNORM",
    "channels": "bgra",
    "componentType": "unorm",
    "bits": {
      "red": 5,
      "green": 5,
      "blue": 5,
      "alpha": 1
    },
    "supportTest": "SupportsFormat(DXGI_FORMAT_B5G5R5A1_UNORM, deviceCaps)",
    "fallbackFormat": "R8G8B8A8_UNORM"
  },
  "R8G8B8A8_SINT": {
    "texFormat": "DXGI_FORMAT_R8G8B8A8_SINT",
    "srvFormat": "DXGI_FORMAT_R8G8B8A8_SINT",
    "uavFormat": "DXGI_FORMAT_R8G8B8A8_SINT",
    "rtvFormat": "DXGI_FORMAT_R8G8B8A8_SINT",
    "typelessFormat": "DXGI_FORMAT_R8G8B8A8_TYPELESS",
    "channels": "rgba",
    "componentType": "int",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "glInternalFormat": "GL_RGBA8I"
  },
  "R8G8B8A8_UINT": {
    "texFormat": "DXGI_FORMAT_R8G8B8A8_UINT",
    "srvFormat": "DXGI_FORMAT_R8G8B8A8_UINT",
    "uavFormat": "DXGI_FORMAT_R8G8B8A8_UINT",
    "rtvFormat": "DXGI_FORMAT_R8G8B8A8_UINT",
    "typelessFormat": "DXGI_FORMAT_R8G8B8A8_TYPELESS",
    "channels": "rgba",
    "componentType": "uint",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "glInternalFormat": "GL_RGBA8UI"
  },
  "R8G8B8A8_SNORM": {
    "texFormat": "DXGI_FORMAT_R8G8B8A8_SNORM",
    "srvFormat": "DXGI_FORMAT_R8G8B8A8_SNORM",
    "uavFormat": "DXGI_FORMAT_R8G8B8A8_SNORM",
    "rtvFormat": "DXGI_FORMAT_R8G8B8A8_SNORM",
    "typelessFormat": "DXGI_FORMAT_R8G8B8A8_TYPELESS",
    "channels": "rgba",
    "componentType": "snorm",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "glInternalFormat": "GL_RGBA8_SNORM"
  },
  "R9G9B9E5_SHAREDEXP": {
    "texFormat": "DXGI_FORMAT_R9G9B9E5_SHAREDEXP",
    "srvFormat": "DXGI_FORMAT_R9G9B9E5_SHAREDEXP",
    "channels": "rgb",
    "componentType": "float",
    "bits": {
      "red": 9,
      "green": 9,
      "blue": 9,
      "shared": 5
    }
  },
  "B4G4R4A4_UNORM": {
    "texFormat": "DXGI_FORMAT_B4G4R4A4_UNORM",
    "srvFormat": "DXGI_FORMAT_B4G4R4A4_UNORM",
    "rtvFormat": "DXGI_FORMAT_B4G4R4A4_UNORM",
    "channels": "bgra",
    "componentType": "unorm",
    "bits": {
      "red": 4,
      "green": 4,
      "blue": 4,
      "alpha": 4
    },
    "supportTest": "SupportsFormat(DXGI_FORMAT_B4G4R4A4_UNORM, deviceCaps)",
    "fallbackFormat": "R8G8B8A8_UNORM"
  },
  "R8G8B8A8_UNORM_SRGB": {
    "texFormat": "DXGI_FORMAT_R8G8B8A8_UNORM_SRGB",
    "srvFormat": "DXGI_FORMAT_R8G8B8A8_UNORM_SRGB",
    "rtvFormat": "DXGI_FORMAT_R8G8B8A8_UNORM_SRGB",
    "linearSRVFormat": "DXGI_FORMAT_R8G8B8A8_UNORM",
    "typelessFormat": "DXGI_FORMAT_R8G8B8A8_TYPELESS",
    "channels": "rgba",
    "componentType": "unorm",
    "bits": {
      "red": 8,
      "green": 8,
      "blue": 8,
      "alpha": 8
    },
    "glInternalFormat": "GL_SRGB8_ALPHA8"
  },
  "R16_UNORM": {
    "texFormat": "DXGI_FORMAT_R16_UNORM",
    "srvFormat": "DXGI_FORMAT_R16_UNORM",
    "rtvFormat": "DXGI_FORMAT_R16_UNORM",
    "typelessFormat": "DXGI_FORMAT_R16_TYPELESS",
    "channels": "r",
    "componentType": "unorm",
    "bits": { "red": 16 },
    "glInternalFormat": "GL_R16_EXT"
  },
  "R16G16_UNORM": {
    "texFormat": "DXGI_FORMAT_R16G16_UNORM",
    "srvFormat": "DXGI_FORMAT_R16G16_UNORM",
    "rtvFormat": "DXGI_FORMAT_R16G16_UNORM",
    "typelessFormat": "DXGI_FORMAT_R16G16_TYPELESS",
    "channels": "rg",
    "componentType": "unorm",
    "bits": {
      "red": 16,
      "green": 16
    },
    "glInternalFormat": "GL_RG16_EXT"
  },
  "R16_SNORM": {
    "texFormat": "DXGI_FORMAT_R16_SNORM",
    "srvFormat": "DXGI_FORMAT_R16_SNORM",
    "rtvFormat": "DXGI_FORMAT_R16_SNORM",
    "typelessFormat": "DXGI_FORMAT_R16_TYPELESS",
    "channels": "r",
    "componentType": "snorm",
    "bits": { "red": 16 },
    "glInternalFormat": "GL_R16_SNORM_EXT"
  },
  "R16G16_SNORM": {
    "texFormat": "DXGI_FORMAT_R16G16_SNORM",
    "srvFormat": "DXGI_FORMAT_R16G16_SNORM",
    "rtvFormat": "DXGI_FORMAT_R16G16_SNORM",
    "typelessFormat": "DXGI_FORMAT_R16G16_TYPELESS",
    "channels": "rg",
    "componentType": "snorm",
    "bits": {
      "red": 16,
      "green": 16
    },
    "glInternalFormat": "GL_RG16_SNORM_EXT"
  },
  "R16G16B16A16_SNORM": {
    "texFormat": "DXGI_FORMAT_R16G16B16A16_SNORM",
    "srvFormat": "DXGI_FORMAT_R16G16B16A16_SNORM",
    "rtvFormat": "DXGI_FORMAT_R16G16B16A16_SNORM",
    "typelessFormat": "DXGI_FORMAT_R16G16B16A16_TYPELESS",
    "channels": "rgba",
    "componentType": "snorm",
    "bits": {
      "red": 16,
      "green": 16,
      "blue": 16,
      "alpha": 16
    },
    "glInternalFormat": "GL_RGBA16_SNORM_EXT"
  }
}
