17ec681f3Smrg/*
27ec681f3Smrg * Copyright (C) 2019 Collabora, Ltd.
37ec681f3Smrg *
47ec681f3Smrg * Permission is hereby granted, free of charge, to any person obtaining a
57ec681f3Smrg * copy of this software and associated documentation files (the "Software"),
67ec681f3Smrg * to deal in the Software without restriction, including without limitation
77ec681f3Smrg * the rights to use, copy, modify, merge, publish, distribute, sublicense,
87ec681f3Smrg * and/or sell copies of the Software, and to permit persons to whom the
97ec681f3Smrg * Software is furnished to do so, subject to the following conditions:
107ec681f3Smrg *
117ec681f3Smrg * The above copyright notice and this permission notice (including the next
127ec681f3Smrg * paragraph) shall be included in all copies or substantial portions of the
137ec681f3Smrg * Software.
147ec681f3Smrg *
157ec681f3Smrg * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
167ec681f3Smrg * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
177ec681f3Smrg * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
187ec681f3Smrg * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
197ec681f3Smrg * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
207ec681f3Smrg * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
217ec681f3Smrg * SOFTWARE.
227ec681f3Smrg *
237ec681f3Smrg * Authors:
247ec681f3Smrg *   Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
257ec681f3Smrg */
267ec681f3Smrg
277ec681f3Smrg#include "genxml/gen_macros.h"
287ec681f3Smrg#include "pan_format.h"
297ec681f3Smrg#include "util/format/u_format.h"
307ec681f3Smrg
317ec681f3Smrg/* Convenience */
327ec681f3Smrg
337ec681f3Smrg#define MALI_BLEND_AU_R8G8B8A8    (MALI_RGBA8_TB    << 12)
347ec681f3Smrg#define MALI_BLEND_PU_R8G8B8A8    (MALI_RGBA8_TB    << 12)
357ec681f3Smrg#define MALI_BLEND_AU_R10G10B10A2 (MALI_RGB10_A2_TB << 12)
367ec681f3Smrg#define MALI_BLEND_PU_R10G10B10A2 (MALI_RGB10_A2_TB << 12)
377ec681f3Smrg#define MALI_BLEND_AU_R8G8B8A2    (MALI_RGB8_A2_AU  << 12)
387ec681f3Smrg#define MALI_BLEND_PU_R8G8B8A2    (MALI_RGB8_A2_PU  << 12)
397ec681f3Smrg#define MALI_BLEND_AU_R4G4B4A4    (MALI_RGBA4_AU    << 12)
407ec681f3Smrg#define MALI_BLEND_PU_R4G4B4A4    (MALI_RGBA4_PU    << 12)
417ec681f3Smrg#define MALI_BLEND_AU_R5G6B5A0    (MALI_R5G6B5_AU   << 12)
427ec681f3Smrg#define MALI_BLEND_PU_R5G6B5A0    (MALI_R5G6B5_PU   << 12)
437ec681f3Smrg#define MALI_BLEND_AU_R5G5B5A1    (MALI_RGB5_A1_AU  << 12)
447ec681f3Smrg#define MALI_BLEND_PU_R5G5B5A1    (MALI_RGB5_A1_PU  << 12)
457ec681f3Smrg
467ec681f3Smrg#if PAN_ARCH <= 6
477ec681f3Smrg#define BFMT2(pipe, internal, writeback, srgb) \
487ec681f3Smrg        [PIPE_FORMAT_##pipe] = { \
497ec681f3Smrg                MALI_COLOR_BUFFER_INTERNAL_FORMAT_## internal, \
507ec681f3Smrg                MALI_COLOR_FORMAT_## writeback, \
517ec681f3Smrg                { MALI_BLEND_PU_ ## internal | (srgb ? (1 << 20) : 0) | \
527ec681f3Smrg                        PAN_V6_SWIZZLE(R, G, B, A), \
537ec681f3Smrg                  MALI_BLEND_AU_ ## internal | (srgb ? (1 << 20) : 0) | \
547ec681f3Smrg                        PAN_V6_SWIZZLE(R, G, B, A) } \
557ec681f3Smrg        }
567ec681f3Smrg#else
577ec681f3Smrg#define BFMT2(pipe, internal, writeback, srgb) \
587ec681f3Smrg        [PIPE_FORMAT_##pipe] = { \
597ec681f3Smrg                MALI_COLOR_BUFFER_INTERNAL_FORMAT_## internal, \
607ec681f3Smrg                MALI_COLOR_FORMAT_## writeback, \
617ec681f3Smrg                { MALI_BLEND_PU_ ## internal | (srgb ? (1 << 20) : 0), \
627ec681f3Smrg                  MALI_BLEND_AU_ ## internal | (srgb ? (1 << 20) : 0) } \
637ec681f3Smrg        }
647ec681f3Smrg#endif
657ec681f3Smrg
667ec681f3Smrg#define BFMT(pipe, internal_and_writeback) \
677ec681f3Smrg        BFMT2(pipe, internal_and_writeback, internal_and_writeback, 0)
687ec681f3Smrg
697ec681f3Smrg#define BFMT_SRGB(pipe, writeback) \
707ec681f3Smrg        BFMT2(pipe ##_UNORM, R8G8B8A8, writeback, 0), \
717ec681f3Smrg        BFMT2(pipe ##_SRGB, R8G8B8A8, writeback, 1)
727ec681f3Smrg
737ec681f3Smrgconst struct pan_blendable_format
747ec681f3SmrgGENX(panfrost_blendable_formats)[PIPE_FORMAT_COUNT] = {
757ec681f3Smrg        BFMT_SRGB(L8, R8),
767ec681f3Smrg        BFMT_SRGB(L8A8, R8G8),
777ec681f3Smrg        BFMT_SRGB(R8, R8),
787ec681f3Smrg        BFMT_SRGB(R8G8, R8G8),
797ec681f3Smrg        BFMT_SRGB(R8G8B8, R8G8B8),
807ec681f3Smrg
817ec681f3Smrg        BFMT_SRGB(B8G8R8A8, R8G8B8A8),
827ec681f3Smrg        BFMT_SRGB(B8G8R8X8, R8G8B8A8),
837ec681f3Smrg        BFMT_SRGB(A8R8G8B8, R8G8B8A8),
847ec681f3Smrg        BFMT_SRGB(X8R8G8B8, R8G8B8A8),
857ec681f3Smrg        BFMT_SRGB(A8B8G8R8, R8G8B8A8),
867ec681f3Smrg        BFMT_SRGB(X8B8G8R8, R8G8B8A8),
877ec681f3Smrg        BFMT_SRGB(R8G8B8X8, R8G8B8A8),
887ec681f3Smrg        BFMT_SRGB(R8G8B8A8, R8G8B8A8),
897ec681f3Smrg
907ec681f3Smrg        BFMT2(A8_UNORM, R8G8B8A8, R8, 0),
917ec681f3Smrg        BFMT2(I8_UNORM, R8G8B8A8, R8, 0),
927ec681f3Smrg        BFMT2(R5G6B5_UNORM, R5G6B5A0, R5G6B5, 0),
937ec681f3Smrg        BFMT2(B5G6R5_UNORM, R5G6B5A0, R5G6B5, 0),
947ec681f3Smrg
957ec681f3Smrg        BFMT(A4B4G4R4_UNORM, R4G4B4A4),
967ec681f3Smrg        BFMT(B4G4R4A4_UNORM, R4G4B4A4),
977ec681f3Smrg        BFMT(R4G4B4A4_UNORM, R4G4B4A4),
987ec681f3Smrg
997ec681f3Smrg        BFMT(R10G10B10A2_UNORM, R10G10B10A2),
1007ec681f3Smrg        BFMT(B10G10R10A2_UNORM, R10G10B10A2),
1017ec681f3Smrg        BFMT(R10G10B10X2_UNORM, R10G10B10A2),
1027ec681f3Smrg        BFMT(B10G10R10X2_UNORM, R10G10B10A2),
1037ec681f3Smrg
1047ec681f3Smrg        BFMT(B5G5R5A1_UNORM, R5G5B5A1),
1057ec681f3Smrg        BFMT(R5G5B5A1_UNORM, R5G5B5A1),
1067ec681f3Smrg        BFMT(B5G5R5X1_UNORM, R5G5B5A1),
1077ec681f3Smrg};
1087ec681f3Smrg
1097ec681f3Smrg/* Convenience */
1107ec681f3Smrg
1117ec681f3Smrg#define _V PIPE_BIND_VERTEX_BUFFER
1127ec681f3Smrg#define _T PIPE_BIND_SAMPLER_VIEW
1137ec681f3Smrg#define _R PIPE_BIND_RENDER_TARGET
1147ec681f3Smrg#define _Z PIPE_BIND_DEPTH_STENCIL
1157ec681f3Smrg
1167ec681f3Smrg#define FLAGS_V___ (_V)
1177ec681f3Smrg#define FLAGS__T__ (_T)
1187ec681f3Smrg#define FLAGS_VTR_ (_V | _T | _R)
1197ec681f3Smrg#define FLAGS_VT__ (_V | _T)
1207ec681f3Smrg#define FLAGS__T_Z (_T | _Z)
1217ec681f3Smrg
1227ec681f3Smrg#define SRGB_L (0)
1237ec681f3Smrg#define SRGB_S (1)
1247ec681f3Smrg
1257ec681f3Smrg#if PAN_ARCH <= 6
1267ec681f3Smrg#define V6_0000 PAN_V6_SWIZZLE(0, 0, 0, 0)
1277ec681f3Smrg#define V6_000R PAN_V6_SWIZZLE(0, 0, 0, R)
1287ec681f3Smrg#define V6_0R00 PAN_V6_SWIZZLE(0, R, 0, 0)
1297ec681f3Smrg#define V6_0A00 PAN_V6_SWIZZLE(0, A, 0, 0)
1307ec681f3Smrg#define V6_AAAA PAN_V6_SWIZZLE(A, A, A, A)
1317ec681f3Smrg#define V6_A001 PAN_V6_SWIZZLE(A, 0, 0, 1)
1327ec681f3Smrg#define V6_ABG1 PAN_V6_SWIZZLE(A, B, G, 1)
1337ec681f3Smrg#define V6_ABGR PAN_V6_SWIZZLE(A, B, G, R)
1347ec681f3Smrg#define V6_BGR1 PAN_V6_SWIZZLE(B, G, R, 1)
1357ec681f3Smrg#define V6_BGRA PAN_V6_SWIZZLE(B, G, R, A)
1367ec681f3Smrg#define V6_GBA1 PAN_V6_SWIZZLE(G, B, A, 1)
1377ec681f3Smrg#define V6_GBAR PAN_V6_SWIZZLE(G, B, A, R)
1387ec681f3Smrg#define V6_R000 PAN_V6_SWIZZLE(R, 0, 0, 0)
1397ec681f3Smrg#define V6_R001 PAN_V6_SWIZZLE(R, 0, 0, 1)
1407ec681f3Smrg#define V6_RG01 PAN_V6_SWIZZLE(R, G, 0, 1)
1417ec681f3Smrg#define V6_RGB1 PAN_V6_SWIZZLE(R, G, B, 1)
1427ec681f3Smrg#define V6_RGBA PAN_V6_SWIZZLE(R, G, B, A)
1437ec681f3Smrg#define V6_RRR1 PAN_V6_SWIZZLE(R, R, R, 1)
1447ec681f3Smrg#define V6_RRRG PAN_V6_SWIZZLE(R, R, R, G)
1457ec681f3Smrg#define V6_RRRR PAN_V6_SWIZZLE(R, R, R, R)
1467ec681f3Smrg#define V6_GGGG PAN_V6_SWIZZLE(G, G, G, G)
1477ec681f3Smrg
1487ec681f3Smrg#define FMT(pipe, mali, swizzle, srgb, flags) \
1497ec681f3Smrg        [PIPE_FORMAT_ ## pipe] = { \
1507ec681f3Smrg            .hw = ( V6_ ## swizzle ) | \
1517ec681f3Smrg                (( MALI_ ## mali ) << 12) | \
1527ec681f3Smrg                ((( SRGB_ ## srgb)) << 20), \
1537ec681f3Smrg            .bind = FLAGS_ ## flags \
1547ec681f3Smrg        }
1557ec681f3Smrg#else
1567ec681f3Smrg
1577ec681f3Smrg#define MALI_RGB_COMPONENT_ORDER_R001 MALI_RGB_COMPONENT_ORDER_RGB1
1587ec681f3Smrg#define MALI_RGB_COMPONENT_ORDER_RG01 MALI_RGB_COMPONENT_ORDER_RGB1
1597ec681f3Smrg#define MALI_RGB_COMPONENT_ORDER_GBAR MALI_RGB_COMPONENT_ORDER_ARGB
1607ec681f3Smrg#define MALI_RGB_COMPONENT_ORDER_GBA1 MALI_RGB_COMPONENT_ORDER_1RGB
1617ec681f3Smrg#define MALI_RGB_COMPONENT_ORDER_ABG1 MALI_RGB_COMPONENT_ORDER_1BGR
1627ec681f3Smrg
1637ec681f3Smrg#define FMT(pipe, mali, swizzle, srgb, flags) \
1647ec681f3Smrg        [PIPE_FORMAT_ ## pipe] = { \
1657ec681f3Smrg            .hw = ( MALI_RGB_COMPONENT_ORDER_ ## swizzle ) | \
1667ec681f3Smrg                (( MALI_ ## mali ) << 12) | \
1677ec681f3Smrg                ((( SRGB_ ## srgb)) << 20), \
1687ec681f3Smrg            .bind = FLAGS_ ## flags \
1697ec681f3Smrg        }
1707ec681f3Smrg#endif
1717ec681f3Smrg
1727ec681f3Smrgconst struct panfrost_format GENX(panfrost_pipe_format)[PIPE_FORMAT_COUNT] = {
1737ec681f3Smrg        FMT(NONE,                    CONSTANT,        0000, L, VTR_),
1747ec681f3Smrg        FMT(ETC1_RGB8,               ETC2_RGB8,       RGB1, L, _T__),
1757ec681f3Smrg        FMT(ETC2_RGB8,               ETC2_RGB8,       RGB1, L, _T__),
1767ec681f3Smrg        FMT(ETC2_SRGB8,              ETC2_RGB8,       RGB1, S, _T__),
1777ec681f3Smrg        FMT(ETC2_R11_UNORM,          ETC2_R11_UNORM,  R001, L, _T__),
1787ec681f3Smrg        FMT(ETC2_RGBA8,              ETC2_RGBA8,      RGBA, L, _T__),
1797ec681f3Smrg        FMT(ETC2_SRGBA8,             ETC2_RGBA8,      RGBA, S, _T__),
1807ec681f3Smrg        FMT(ETC2_RG11_UNORM,         ETC2_RG11_UNORM, RG01, L, _T__),
1817ec681f3Smrg        FMT(ETC2_R11_SNORM,          ETC2_R11_SNORM,  R001, L, _T__),
1827ec681f3Smrg        FMT(ETC2_RG11_SNORM,         ETC2_RG11_SNORM, RG01, L, _T__),
1837ec681f3Smrg        FMT(ETC2_RGB8A1,             ETC2_RGB8A1,     RGBA, L, _T__),
1847ec681f3Smrg        FMT(ETC2_SRGB8A1,            ETC2_RGB8A1,     RGBA, S, _T__),
1857ec681f3Smrg        FMT(DXT1_RGB,                BC1_UNORM,       RGB1, L, _T__),
1867ec681f3Smrg        FMT(DXT1_RGBA,               BC1_UNORM,       RGBA, L, _T__),
1877ec681f3Smrg        FMT(DXT1_SRGB,               BC1_UNORM,       RGB1, S, _T__),
1887ec681f3Smrg        FMT(DXT1_SRGBA,              BC1_UNORM,       RGBA, S, _T__),
1897ec681f3Smrg        FMT(DXT3_RGBA,               BC2_UNORM,       RGBA, L, _T__),
1907ec681f3Smrg        FMT(DXT3_SRGBA,              BC2_UNORM,       RGBA, S, _T__),
1917ec681f3Smrg        FMT(DXT5_RGBA,               BC3_UNORM,       RGBA, L, _T__),
1927ec681f3Smrg        FMT(DXT5_SRGBA,              BC3_UNORM,       RGBA, S, _T__),
1937ec681f3Smrg        FMT(RGTC1_UNORM,             BC4_UNORM,       R001, L, _T__),
1947ec681f3Smrg        FMT(RGTC1_SNORM,             BC4_SNORM,       R001, L, _T__),
1957ec681f3Smrg        FMT(RGTC2_UNORM,             BC5_UNORM,       RG01, L, _T__),
1967ec681f3Smrg        FMT(RGTC2_SNORM,             BC5_SNORM,       RG01, L, _T__),
1977ec681f3Smrg        FMT(BPTC_RGB_FLOAT,          BC6H_SF16,       RGB1, L, _T__),
1987ec681f3Smrg        FMT(BPTC_RGB_UFLOAT,         BC6H_UF16,       RGB1, L, _T__),
1997ec681f3Smrg        FMT(BPTC_RGBA_UNORM,         BC7_UNORM,       RGBA, L, _T__),
2007ec681f3Smrg        FMT(BPTC_SRGBA,              BC7_UNORM,       RGBA, S, _T__),
2017ec681f3Smrg        FMT(ASTC_4x4,                ASTC_2D_HDR,     RGBA, L, _T__),
2027ec681f3Smrg        FMT(ASTC_5x4,                ASTC_2D_HDR,     RGBA, L, _T__),
2037ec681f3Smrg        FMT(ASTC_5x5,                ASTC_2D_HDR,     RGBA, L, _T__),
2047ec681f3Smrg        FMT(ASTC_6x5,                ASTC_2D_HDR,     RGBA, L, _T__),
2057ec681f3Smrg        FMT(ASTC_6x6,                ASTC_2D_HDR,     RGBA, L, _T__),
2067ec681f3Smrg        FMT(ASTC_8x5,                ASTC_2D_HDR,     RGBA, L, _T__),
2077ec681f3Smrg        FMT(ASTC_8x6,                ASTC_2D_HDR,     RGBA, L, _T__),
2087ec681f3Smrg        FMT(ASTC_8x8,                ASTC_2D_HDR,     RGBA, L, _T__),
2097ec681f3Smrg        FMT(ASTC_10x5,               ASTC_2D_HDR,     RGBA, L, _T__),
2107ec681f3Smrg        FMT(ASTC_10x6,               ASTC_2D_HDR,     RGBA, L, _T__),
2117ec681f3Smrg        FMT(ASTC_10x8,               ASTC_2D_HDR,     RGBA, L, _T__),
2127ec681f3Smrg        FMT(ASTC_10x10,              ASTC_2D_HDR,     RGBA, L, _T__),
2137ec681f3Smrg        FMT(ASTC_12x10,              ASTC_2D_HDR,     RGBA, L, _T__),
2147ec681f3Smrg        FMT(ASTC_12x12,              ASTC_2D_HDR,     RGBA, L, _T__),
2157ec681f3Smrg        FMT(ASTC_4x4_SRGB,           ASTC_2D_LDR,     RGBA, S, _T__),
2167ec681f3Smrg        FMT(ASTC_5x4_SRGB,           ASTC_2D_LDR,     RGBA, S, _T__),
2177ec681f3Smrg        FMT(ASTC_5x5_SRGB,           ASTC_2D_LDR,     RGBA, S, _T__),
2187ec681f3Smrg        FMT(ASTC_6x5_SRGB,           ASTC_2D_LDR,     RGBA, S, _T__),
2197ec681f3Smrg        FMT(ASTC_6x6_SRGB,           ASTC_2D_LDR,     RGBA, S, _T__),
2207ec681f3Smrg        FMT(ASTC_8x5_SRGB,           ASTC_2D_LDR,     RGBA, S, _T__),
2217ec681f3Smrg        FMT(ASTC_8x6_SRGB,           ASTC_2D_LDR,     RGBA, S, _T__),
2227ec681f3Smrg        FMT(ASTC_8x8_SRGB,           ASTC_2D_LDR,     RGBA, S, _T__),
2237ec681f3Smrg        FMT(ASTC_10x5_SRGB,          ASTC_2D_LDR,     RGBA, S, _T__),
2247ec681f3Smrg        FMT(ASTC_10x6_SRGB,          ASTC_2D_LDR,     RGBA, S, _T__),
2257ec681f3Smrg        FMT(ASTC_10x8_SRGB,          ASTC_2D_LDR,     RGBA, S, _T__),
2267ec681f3Smrg        FMT(ASTC_10x10_SRGB,         ASTC_2D_LDR,     RGBA, S, _T__),
2277ec681f3Smrg        FMT(ASTC_12x10_SRGB,         ASTC_2D_LDR,     RGBA, S, _T__),
2287ec681f3Smrg        FMT(ASTC_12x12_SRGB,         ASTC_2D_LDR,     RGBA, S, _T__),
2297ec681f3Smrg        FMT(ASTC_3x3x3,              ASTC_3D_HDR,     RGBA, L, _T__),
2307ec681f3Smrg        FMT(ASTC_4x3x3,              ASTC_3D_HDR,     RGBA, L, _T__),
2317ec681f3Smrg        FMT(ASTC_4x4x3,              ASTC_3D_HDR,     RGBA, L, _T__),
2327ec681f3Smrg        FMT(ASTC_4x4x4,              ASTC_3D_HDR,     RGBA, L, _T__),
2337ec681f3Smrg        FMT(ASTC_5x4x4,              ASTC_3D_HDR,     RGBA, L, _T__),
2347ec681f3Smrg        FMT(ASTC_5x5x4,              ASTC_3D_HDR,     RGBA, L, _T__),
2357ec681f3Smrg        FMT(ASTC_5x5x5,              ASTC_3D_HDR,     RGBA, L, _T__),
2367ec681f3Smrg        FMT(ASTC_6x5x5,              ASTC_3D_HDR,     RGBA, L, _T__),
2377ec681f3Smrg        FMT(ASTC_6x6x5,              ASTC_3D_HDR,     RGBA, L, _T__),
2387ec681f3Smrg        FMT(ASTC_6x6x6,              ASTC_3D_HDR,     RGBA, L, _T__),
2397ec681f3Smrg        FMT(ASTC_3x3x3_SRGB,         ASTC_3D_LDR,     RGBA, S, _T__),
2407ec681f3Smrg        FMT(ASTC_4x3x3_SRGB,         ASTC_3D_LDR,     RGBA, S, _T__),
2417ec681f3Smrg        FMT(ASTC_4x4x3_SRGB,         ASTC_3D_LDR,     RGBA, S, _T__),
2427ec681f3Smrg        FMT(ASTC_4x4x4_SRGB,         ASTC_3D_LDR,     RGBA, S, _T__),
2437ec681f3Smrg        FMT(ASTC_5x4x4_SRGB,         ASTC_3D_LDR,     RGBA, S, _T__),
2447ec681f3Smrg        FMT(ASTC_5x5x4_SRGB,         ASTC_3D_LDR,     RGBA, S, _T__),
2457ec681f3Smrg        FMT(ASTC_5x5x5_SRGB,         ASTC_3D_LDR,     RGBA, S, _T__),
2467ec681f3Smrg        FMT(ASTC_6x5x5_SRGB,         ASTC_3D_LDR,     RGBA, S, _T__),
2477ec681f3Smrg        FMT(ASTC_6x6x5_SRGB,         ASTC_3D_LDR,     RGBA, S, _T__),
2487ec681f3Smrg        FMT(ASTC_6x6x6_SRGB,         ASTC_3D_LDR,     RGBA, S, _T__),
2497ec681f3Smrg        FMT(R5G6B5_UNORM,            RGB565,          RGB1, L, VTR_),
2507ec681f3Smrg        FMT(B5G6R5_UNORM,            RGB565,          BGR1, L, VTR_),
2517ec681f3Smrg        FMT(R5G5B5X1_UNORM,          RGB5_A1_UNORM,   RGB1, L, VT__),
2527ec681f3Smrg        FMT(B5G5R5X1_UNORM,          RGB5_A1_UNORM,   BGR1, L, VT__),
2537ec681f3Smrg        FMT(R5G5B5A1_UNORM,          RGB5_A1_UNORM,   RGBA, L, VTR_),
2547ec681f3Smrg        FMT(B5G5R5A1_UNORM,          RGB5_A1_UNORM,   BGRA, L, VTR_),
2557ec681f3Smrg        FMT(R10G10B10X2_UNORM,       RGB10_A2_UNORM,  RGB1, L, VTR_),
2567ec681f3Smrg        FMT(B10G10R10X2_UNORM,       RGB10_A2_UNORM,  BGR1, L, VTR_),
2577ec681f3Smrg        FMT(R10G10B10A2_UNORM,       RGB10_A2_UNORM,  RGBA, L, VTR_),
2587ec681f3Smrg        FMT(B10G10R10A2_UNORM,       RGB10_A2_UNORM,  BGRA, L, VTR_),
2597ec681f3Smrg#if PAN_ARCH <= 5
2607ec681f3Smrg        FMT(R10G10B10X2_SNORM,       RGB10_A2_SNORM,  RGB1, L, VT__),
2617ec681f3Smrg        FMT(R10G10B10A2_SNORM,       RGB10_A2_SNORM,  RGBA, L, VT__),
2627ec681f3Smrg        FMT(B10G10R10A2_SNORM,       RGB10_A2_SNORM,  BGRA, L, VT__),
2637ec681f3Smrg        FMT(R3G3B2_UNORM,            RGB332_UNORM,    RGB1, L, VT__),
2647ec681f3Smrg#else
2657ec681f3Smrg        FMT(R10G10B10X2_SNORM,       RGB10_A2_SNORM,  RGB1, L, V___),
2667ec681f3Smrg        FMT(R10G10B10A2_SNORM,       RGB10_A2_SNORM,  RGBA, L, V___),
2677ec681f3Smrg        FMT(B10G10R10A2_SNORM,       RGB10_A2_SNORM,  BGRA, L, V___),
2687ec681f3Smrg#endif
2697ec681f3Smrg        FMT(R10G10B10A2_UINT,        RGB10_A2UI,      RGBA, L, VTR_),
2707ec681f3Smrg        FMT(B10G10R10A2_UINT,        RGB10_A2UI,      BGRA, L, VTR_),
2717ec681f3Smrg        FMT(R10G10B10A2_USCALED,     RGB10_A2UI,      RGBA, L, V___),
2727ec681f3Smrg        FMT(B10G10R10A2_USCALED,     RGB10_A2UI,      BGRA, L, V___),
2737ec681f3Smrg        FMT(R10G10B10A2_SINT,        RGB10_A2I,       RGBA, L, VTR_),
2747ec681f3Smrg        FMT(B10G10R10A2_SINT,        RGB10_A2I,       BGRA, L, VTR_),
2757ec681f3Smrg        FMT(R10G10B10A2_SSCALED,     RGB10_A2I,       RGBA, L, V___),
2767ec681f3Smrg        FMT(B10G10R10A2_SSCALED,     RGB10_A2I,       BGRA, L, V___),
2777ec681f3Smrg        FMT(R8_SSCALED,              R8I,             R001, L, V___),
2787ec681f3Smrg        FMT(R8G8_SSCALED,            RG8I,            RG01, L, V___),
2797ec681f3Smrg        FMT(R8G8B8_SSCALED,          RGB8I,           RGB1, L, V___),
2807ec681f3Smrg        FMT(B8G8R8_SSCALED,          RGB8I,           BGR1, L, V___),
2817ec681f3Smrg        FMT(R8G8B8A8_SSCALED,        RGBA8I,          RGBA, L, V___),
2827ec681f3Smrg        FMT(B8G8R8A8_SSCALED,        RGBA8I,          BGRA, L, V___),
2837ec681f3Smrg        FMT(A8B8G8R8_SSCALED,        RGBA8I,          ABGR, L, V___),
2847ec681f3Smrg        FMT(R8_USCALED,              R8UI,            R001, L, V___),
2857ec681f3Smrg        FMT(R8G8_USCALED,            RG8UI,           RG01, L, V___),
2867ec681f3Smrg        FMT(R8G8B8_USCALED,          RGB8UI,          RGB1, L, V___),
2877ec681f3Smrg        FMT(B8G8R8_USCALED,          RGB8UI,          BGR1, L, V___),
2887ec681f3Smrg        FMT(R8G8B8A8_USCALED,        RGBA8UI,         RGBA, L, V___),
2897ec681f3Smrg        FMT(B8G8R8A8_USCALED,        RGBA8UI,         BGRA, L, V___),
2907ec681f3Smrg        FMT(A8B8G8R8_USCALED,        RGBA8UI,         ABGR, L, V___),
2917ec681f3Smrg        FMT(R16_USCALED,             R16UI,           R001, L, V___),
2927ec681f3Smrg        FMT(R16G16_USCALED,          RG16UI,          RG01, L, V___),
2937ec681f3Smrg        FMT(R16G16B16A16_USCALED,    RGBA16UI,        RGBA, L, V___),
2947ec681f3Smrg        FMT(R16_SSCALED,             R16I,            R001, L, V___),
2957ec681f3Smrg        FMT(R16G16_SSCALED,          RG16I,           RG01, L, V___),
2967ec681f3Smrg        FMT(R16G16B16A16_SSCALED,    RGBA16I,         RGBA, L, V___),
2977ec681f3Smrg        FMT(R32_USCALED,             R32UI,           R001, L, V___),
2987ec681f3Smrg        FMT(R32G32_USCALED,          RG32UI,          RG01, L, V___),
2997ec681f3Smrg        FMT(R32G32B32_USCALED,       RGB32UI,         RGB1, L, V___),
3007ec681f3Smrg        FMT(R32G32B32A32_USCALED,    RGBA32UI,        RGBA, L, V___),
3017ec681f3Smrg        FMT(R32_SSCALED,             R32I,            R001, L, V___),
3027ec681f3Smrg        FMT(R32G32_SSCALED,          RG32I,           RG01, L, V___),
3037ec681f3Smrg        FMT(R32G32B32_SSCALED,       RGB32I,          RGB1, L, V___),
3047ec681f3Smrg        FMT(R32G32B32A32_SSCALED,    RGBA32I,         RGBA, L, V___),
3057ec681f3Smrg        FMT(R32_FIXED,               R32_FIXED,       R001, L, V___),
3067ec681f3Smrg        FMT(R32G32_FIXED,            RG32_FIXED,      RG01, L, V___),
3077ec681f3Smrg        FMT(R32G32B32_FIXED,         RGB32_FIXED,     RGB1, L, V___),
3087ec681f3Smrg        FMT(R32G32B32A32_FIXED,      RGBA32_FIXED,    RGBA, L, V___),
3097ec681f3Smrg        FMT(R11G11B10_FLOAT,         R11F_G11F_B10F,  RGB1, L, VTR_),
3107ec681f3Smrg        FMT(R9G9B9E5_FLOAT,          R9F_G9F_B9F_E5F, RGB1, L, VT__),
3117ec681f3Smrg        FMT(R8_SNORM,                R8_SNORM,        R001, L, VT__),
3127ec681f3Smrg        FMT(R16_SNORM,               R16_SNORM,       R001, L, VT__),
3137ec681f3Smrg        FMT(R32_SNORM,               R32_SNORM,       R001, L, VT__),
3147ec681f3Smrg        FMT(R8G8_SNORM,              RG8_SNORM,       RG01, L, VT__),
3157ec681f3Smrg        FMT(R16G16_SNORM,            RG16_SNORM,      RG01, L, VT__),
3167ec681f3Smrg        FMT(R32G32_SNORM,            RG32_SNORM,      RG01, L, VT__),
3177ec681f3Smrg        FMT(R8G8B8_SNORM,            RGB8_SNORM,      RGB1, L, VT__),
3187ec681f3Smrg        FMT(R32G32B32_SNORM,         RGB32_SNORM,     RGB1, L, VT__),
3197ec681f3Smrg        FMT(R8G8B8A8_SNORM,          RGBA8_SNORM,     RGBA, L, VT__),
3207ec681f3Smrg        FMT(R16G16B16A16_SNORM,      RGBA16_SNORM,    RGBA, L, VT__),
3217ec681f3Smrg        FMT(R32G32B32A32_SNORM,      RGBA32_SNORM,    RGBA, L, VT__),
3227ec681f3Smrg        FMT(I8_SINT,                 R8I,             RRRR, L, VTR_),
3237ec681f3Smrg        FMT(L8_SINT,                 R8I,             RRR1, L, VTR_),
3247ec681f3Smrg        FMT(I8_UINT,                 R8UI,            RRRR, L, VTR_),
3257ec681f3Smrg        FMT(L8_UINT,                 R8UI,            RRR1, L, VTR_),
3267ec681f3Smrg        FMT(I16_SINT,                R16I,            RRRR, L, VTR_),
3277ec681f3Smrg        FMT(L16_SINT,                R16I,            RRR1, L, VTR_),
3287ec681f3Smrg        FMT(I16_UINT,                R16UI,           RRRR, L, VTR_),
3297ec681f3Smrg        FMT(L16_UINT,                R16UI,           RRR1, L, VTR_),
3307ec681f3Smrg        FMT(I32_SINT,                R32I,            RRRR, L, VTR_),
3317ec681f3Smrg        FMT(L32_SINT,                R32I,            RRR1, L, VTR_),
3327ec681f3Smrg        FMT(I32_UINT,                R32UI,           RRRR, L, VTR_),
3337ec681f3Smrg        FMT(L32_UINT,                R32UI,           RRR1, L, VTR_),
3347ec681f3Smrg        FMT(B8G8R8_UINT,             RGB8UI,          BGR1, L, VTR_),
3357ec681f3Smrg        FMT(B8G8R8A8_UINT,           RGBA8UI,         BGRA, L, VTR_),
3367ec681f3Smrg        FMT(B8G8R8_SINT,             RGB8I,           BGR1, L, VTR_),
3377ec681f3Smrg        FMT(B8G8R8A8_SINT,           RGBA8I,          BGRA, L, VTR_),
3387ec681f3Smrg        FMT(A8R8G8B8_UINT,           RGBA8UI,         GBAR, L, VTR_),
3397ec681f3Smrg        FMT(A8B8G8R8_UINT,           RGBA8UI,         ABGR, L, VTR_),
3407ec681f3Smrg        FMT(R8_UINT,                 R8UI,            R001, L, VTR_),
3417ec681f3Smrg        FMT(R16_UINT,                R16UI,           R001, L, VTR_),
3427ec681f3Smrg        FMT(R32_UINT,                R32UI,           R001, L, VTR_),
3437ec681f3Smrg        FMT(R8G8_UINT,               RG8UI,           RG01, L, VTR_),
3447ec681f3Smrg        FMT(R16G16_UINT,             RG16UI,          RG01, L, VTR_),
3457ec681f3Smrg        FMT(R32G32_UINT,             RG32UI,          RG01, L, VTR_),
3467ec681f3Smrg        FMT(R8G8B8_UINT,             RGB8UI,          RGB1, L, VTR_),
3477ec681f3Smrg        FMT(R32G32B32_UINT,          RGB32UI,         RGB1, L, VTR_),
3487ec681f3Smrg        FMT(R8G8B8A8_UINT,           RGBA8UI,         RGBA, L, VTR_),
3497ec681f3Smrg        FMT(R16G16B16A16_UINT,       RGBA16UI,        RGBA, L, VTR_),
3507ec681f3Smrg        FMT(R32G32B32A32_UINT,       RGBA32UI,        RGBA, L, VTR_),
3517ec681f3Smrg        FMT(R32_FLOAT,               R32F,            R001, L, VTR_),
3527ec681f3Smrg        FMT(R32G32_FLOAT,            RG32F,           RG01, L, VTR_),
3537ec681f3Smrg        FMT(R32G32B32_FLOAT,         RGB32F,          RGB1, L, VTR_),
3547ec681f3Smrg        FMT(R32G32B32A32_FLOAT,      RGBA32F,         RGBA, L, VTR_),
3557ec681f3Smrg        FMT(R8_UNORM,                R8_UNORM,        R001, L, VTR_),
3567ec681f3Smrg        FMT(R16_UNORM,               R16_UNORM,       R001, L, VT__),
3577ec681f3Smrg        FMT(R32_UNORM,               R32_UNORM,       R001, L, VT__),
3587ec681f3Smrg        FMT(R8G8_UNORM,              RG8_UNORM,       RG01, L, VTR_),
3597ec681f3Smrg        FMT(R16G16_UNORM,            RG16_UNORM,      RG01, L, VT__),
3607ec681f3Smrg        FMT(R32G32_UNORM,            RG32_UNORM,      RG01, L, VT__),
3617ec681f3Smrg        FMT(R8G8B8_UNORM,            RGB8_UNORM,      RGB1, L, VTR_),
3627ec681f3Smrg
3637ec681f3Smrg        /* Don't allow render/texture for 48-bit  */
3647ec681f3Smrg        FMT(R16G16B16_UNORM,         RGB16_UNORM,     RGB1, L, V___),
3657ec681f3Smrg        FMT(R16G16B16_SINT,          RGB16I,          RGB1, L, V___),
3667ec681f3Smrg        FMT(R16G16B16_FLOAT,         RGB16F,          RGB1, L, V___),
3677ec681f3Smrg        FMT(R16G16B16_USCALED,       RGB16UI,         RGB1, L, V___),
3687ec681f3Smrg        FMT(R16G16B16_SSCALED,       RGB16I,          RGB1, L, V___),
3697ec681f3Smrg        FMT(R16G16B16_SNORM,         RGB16_SNORM,     RGB1, L, V___),
3707ec681f3Smrg        FMT(R16G16B16_UINT,          RGB16UI,         RGB1, L, V___),
3717ec681f3Smrg
3727ec681f3Smrg#if PAN_ARCH <= 6
3737ec681f3Smrg        FMT(R32G32B32_UNORM,         RGB32_UNORM,     RGB1, L, VT__),
3747ec681f3Smrg#else
3757ec681f3Smrg        FMT(R32G32B32_UNORM,         RGB32_UNORM,     RGB1, L, V___),
3767ec681f3Smrg#endif
3777ec681f3Smrg        FMT(R4G4B4A4_UNORM,          RGBA4_UNORM,     RGBA, L, VTR_),
3787ec681f3Smrg        FMT(B4G4R4A4_UNORM,          RGBA4_UNORM,     BGRA, L, VTR_),
3797ec681f3Smrg        FMT(R16G16B16A16_UNORM,      RGBA16_UNORM,    RGBA, L, VT__),
3807ec681f3Smrg        FMT(R32G32B32A32_UNORM,      RGBA32_UNORM,    RGBA, L, VT__),
3817ec681f3Smrg        FMT(B8G8R8A8_UNORM,          RGBA8_UNORM,     BGRA, L, VTR_),
3827ec681f3Smrg        FMT(B8G8R8X8_UNORM,          RGBA8_UNORM,     BGR1, L, VTR_),
3837ec681f3Smrg        FMT(A8R8G8B8_UNORM,          RGBA8_UNORM,     GBAR, L, VTR_),
3847ec681f3Smrg        FMT(X8R8G8B8_UNORM,          RGBA8_UNORM,     GBA1, L, VTR_),
3857ec681f3Smrg        FMT(A8B8G8R8_UNORM,          RGBA8_UNORM,     ABGR, L, VTR_),
3867ec681f3Smrg        FMT(X8B8G8R8_UNORM,          RGBA8_UNORM,     ABG1, L, VTR_),
3877ec681f3Smrg        FMT(R8G8B8X8_UNORM,          RGBA8_UNORM,     RGB1, L, VTR_),
3887ec681f3Smrg        FMT(R8G8B8A8_UNORM,          RGBA8_UNORM,     RGBA, L, VTR_),
3897ec681f3Smrg        FMT(R8G8B8X8_SNORM,          RGBA8_SNORM,     RGB1, L, VT__),
3907ec681f3Smrg        FMT(R8G8B8X8_SRGB,           RGBA8_UNORM,     RGB1, S, VTR_),
3917ec681f3Smrg        FMT(R8G8B8X8_UINT,           RGBA8UI,         RGB1, L, VTR_),
3927ec681f3Smrg        FMT(R8G8B8X8_SINT,           RGBA8I,          RGB1, L, VTR_),
3937ec681f3Smrg        FMT(L8_UNORM,                R8_UNORM,        RRR1, L, VTR_),
3947ec681f3Smrg        FMT(I8_UNORM,                R8_UNORM,        RRRR, L, VTR_),
3957ec681f3Smrg        FMT(L16_UNORM,               R16_UNORM,       RRR1, L, VT__),
3967ec681f3Smrg        FMT(I16_UNORM,               R16_UNORM,       RRRR, L, VT__),
3977ec681f3Smrg        FMT(L8_SNORM,                R8_SNORM,        RRR1, L, VT__),
3987ec681f3Smrg        FMT(I8_SNORM,                R8_SNORM,        RRRR, L, VT__),
3997ec681f3Smrg        FMT(L16_SNORM,               R16_SNORM,       RRR1, L, VT__),
4007ec681f3Smrg        FMT(I16_SNORM,               R16_SNORM,       RRRR, L, VT__),
4017ec681f3Smrg        FMT(L16_FLOAT,               R16F,            RRR1, L, VTR_),
4027ec681f3Smrg        FMT(I16_FLOAT,               RG16F,           RRRR, L, VTR_),
4037ec681f3Smrg        FMT(L8_SRGB,                 R8_UNORM,        RRR1, S, VTR_),
4047ec681f3Smrg        FMT(R8_SRGB,                 R8_UNORM,        R001, S, VTR_),
4057ec681f3Smrg        FMT(R8G8_SRGB,               RG8_UNORM,       RG01, S, VTR_),
4067ec681f3Smrg        FMT(R8G8B8_SRGB,             RGB8_UNORM,      RGB1, S, VTR_),
4077ec681f3Smrg        FMT(B8G8R8_SRGB,             RGB8_UNORM,      BGR1, S, VTR_),
4087ec681f3Smrg        FMT(R8G8B8A8_SRGB,           RGBA8_UNORM,     RGBA, S, VTR_),
4097ec681f3Smrg        FMT(A8B8G8R8_SRGB,           RGBA8_UNORM,     ABGR, S, VTR_),
4107ec681f3Smrg        FMT(X8B8G8R8_SRGB,           RGBA8_UNORM,     ABG1, S, VTR_),
4117ec681f3Smrg        FMT(B8G8R8A8_SRGB,           RGBA8_UNORM,     BGRA, S, VTR_),
4127ec681f3Smrg        FMT(B8G8R8X8_SRGB,           RGBA8_UNORM,     BGR1, S, VTR_),
4137ec681f3Smrg        FMT(A8R8G8B8_SRGB,           RGBA8_UNORM,     GBAR, S, VTR_),
4147ec681f3Smrg        FMT(X8R8G8B8_SRGB,           RGBA8_UNORM,     GBA1, S, VTR_),
4157ec681f3Smrg        FMT(R8_SINT,                 R8I,             R001, L, VTR_),
4167ec681f3Smrg        FMT(R16_SINT,                R16I,            R001, L, VTR_),
4177ec681f3Smrg        FMT(R32_SINT,                R32I,            R001, L, VTR_),
4187ec681f3Smrg        FMT(R16_FLOAT,               R16F,            R001, L, VTR_),
4197ec681f3Smrg        FMT(R8G8_SINT,               RG8I,            RG01, L, VTR_),
4207ec681f3Smrg        FMT(R16G16_SINT,             RG16I,           RG01, L, VTR_),
4217ec681f3Smrg        FMT(R32G32_SINT,             RG32I,           RG01, L, VTR_),
4227ec681f3Smrg        FMT(R16G16_FLOAT,            RG16F,           RG01, L, VTR_),
4237ec681f3Smrg        FMT(R8G8B8_SINT,             RGB8I,           RGB1, L, VTR_),
4247ec681f3Smrg        FMT(R32G32B32_SINT,          RGB32I,          RGB1, L, VTR_),
4257ec681f3Smrg        FMT(R8G8B8A8_SINT,           RGBA8I,          RGBA, L, VTR_),
4267ec681f3Smrg        FMT(R16G16B16A16_SINT,       RGBA16I,         RGBA, L, VTR_),
4277ec681f3Smrg        FMT(R32G32B32A32_SINT,       RGBA32I,         RGBA, L, VTR_),
4287ec681f3Smrg        FMT(R16G16B16A16_FLOAT,      RGBA16F,         RGBA, L, VTR_),
4297ec681f3Smrg        FMT(R16G16B16X16_UNORM,      RGBA16_UNORM,    RGB1, L, VTR_),
4307ec681f3Smrg        FMT(R16G16B16X16_SNORM,      RGBA16_SNORM,    RGB1, L, VT__),
4317ec681f3Smrg        FMT(R16G16B16X16_FLOAT,      RGBA16F,         RGB1, L, VTR_),
4327ec681f3Smrg        FMT(R16G16B16X16_UINT,       RGBA16UI,        RGB1, L, VTR_),
4337ec681f3Smrg        FMT(R16G16B16X16_SINT,       RGBA16I,         RGB1, L, VTR_),
4347ec681f3Smrg        FMT(R32G32B32X32_FLOAT,      RGBA32F,         RGB1, L, VTR_),
4357ec681f3Smrg        FMT(R32G32B32X32_UINT,       RGBA32UI,        RGB1, L, VTR_),
4367ec681f3Smrg        FMT(R32G32B32X32_SINT,       RGBA32I,         RGB1, L, VTR_),
4377ec681f3Smrg
4387ec681f3Smrg#if PAN_ARCH <= 6
4397ec681f3Smrg        FMT(Z16_UNORM,               R16_UNORM,       RRRR, L, _T_Z),
4407ec681f3Smrg        FMT(Z24_UNORM_S8_UINT,       Z24X8_UNORM,     RRRR, L, _T_Z),
4417ec681f3Smrg        FMT(Z24X8_UNORM,             Z24X8_UNORM,     RRRR, L, _T_Z),
4427ec681f3Smrg        FMT(Z32_FLOAT,               R32F,            RRRR, L, _T_Z),
4437ec681f3Smrg        FMT(Z32_FLOAT_S8X24_UINT,    RG32F,           RRRR, L, _T_Z),
4447ec681f3Smrg        FMT(X32_S8X24_UINT,          X32_S8X24,       GGGG, L, _T_Z),
4457ec681f3Smrg        FMT(X24S8_UINT,              RGBA8UI,         AAAA, L, _T_Z),
4467ec681f3Smrg        FMT(S8_UINT,                 R8UI,            RRRR, L, _T__),
4477ec681f3Smrg
4487ec681f3Smrg        FMT(A8_UNORM,                R8_UNORM,        000R, L, VTR_),
4497ec681f3Smrg        FMT(L8A8_UNORM,              RG8_UNORM,       RRRG, L, VTR_),
4507ec681f3Smrg        FMT(L8A8_SRGB,               RG8_UNORM,       RRRG, S, VTR_),
4517ec681f3Smrg
4527ec681f3Smrg        /* These formats were removed in v7 */
4537ec681f3Smrg        FMT(A8_SNORM,                R8_SNORM,        000R, L, VT__),
4547ec681f3Smrg        FMT(A8_SINT,                 R8I,             000R, L, VTR_),
4557ec681f3Smrg        FMT(A8_UINT,                 R8UI,            000R, L, VTR_),
4567ec681f3Smrg        FMT(A16_SINT,                R16I,            000R, L, VTR_),
4577ec681f3Smrg        FMT(A16_UINT,                R16UI,           000R, L, VTR_),
4587ec681f3Smrg        FMT(A32_SINT,                R32I,            000R, L, VTR_),
4597ec681f3Smrg        FMT(A32_UINT,                R32UI,           000R, L, VTR_),
4607ec681f3Smrg        FMT(A16_UNORM,               R16_UNORM,       000R, L, VT__),
4617ec681f3Smrg        FMT(A16_SNORM,               R16_SNORM,       000R, L, VT__),
4627ec681f3Smrg        FMT(A16_FLOAT,               R16F,            000R, L, VTR_),
4637ec681f3Smrg
4647ec681f3Smrg#else
4657ec681f3Smrg        FMT(Z16_UNORM,               Z16_UNORM,       RGBA, L, _T_Z),
4667ec681f3Smrg        FMT(Z24_UNORM_S8_UINT,       Z24X8_UNORM,     RGBA, L, _T_Z),
4677ec681f3Smrg        FMT(Z24X8_UNORM,             Z24X8_UNORM,     RGBA, L, _T_Z),
4687ec681f3Smrg        FMT(Z32_FLOAT,               R32F,            RGBA, L, _T_Z),
4697ec681f3Smrg        FMT(Z32_FLOAT_S8X24_UINT,    Z32_X32,         RGBA, L, _T_Z),
4707ec681f3Smrg        FMT(X32_S8X24_UINT,          X32_S8X24,       GRBA, L, _T__),
4717ec681f3Smrg        FMT(X24S8_UINT,              X24S8,           GRBA, L, _T_Z),
4727ec681f3Smrg        FMT(S8_UINT,                 S8,              GRBA, L, _T__),
4737ec681f3Smrg
4747ec681f3Smrg        FMT(A8_UNORM,                A8_UNORM,        000A, L, VTR_),
4757ec681f3Smrg        FMT(L8A8_UNORM,              R8A8_UNORM,      RRRA, L, VTR_),
4767ec681f3Smrg        FMT(L8A8_SRGB,               R8A8_UNORM,      RRRA, S, VTR_),
4777ec681f3Smrg#endif
4787ec681f3Smrg};
479