freedreno: Some manual reformatting
authorRob Clark <robdclark@chromium.org>
Fri, 5 Feb 2021 20:26:16 +0000 (12:26 -0800)
committerMarge Bot <eric+marge@anholt.net>
Wed, 14 Apr 2021 19:52:21 +0000 (19:52 +0000)
Take care of a few things that clang-format makes a hash of.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8883>

14 files changed:
src/gallium/drivers/freedreno/a2xx/fd2_context.c
src/gallium/drivers/freedreno/a2xx/fd2_draw.c
src/gallium/drivers/freedreno/a2xx/fd2_util.c
src/gallium/drivers/freedreno/a3xx/fd3_context.c
src/gallium/drivers/freedreno/a3xx/fd3_format.c
src/gallium/drivers/freedreno/a4xx/fd4_context.c
src/gallium/drivers/freedreno/a4xx/fd4_format.c
src/gallium/drivers/freedreno/a5xx/fd5_context.c
src/gallium/drivers/freedreno/a5xx/fd5_format.c
src/gallium/drivers/freedreno/a6xx/fd6_context.c
src/gallium/drivers/freedreno/a6xx/fd6_format.c
src/gallium/drivers/freedreno/freedreno_screen.c
src/gallium/drivers/freedreno/freedreno_util.h
src/gallium/drivers/freedreno/gmemtool.c

index 3cda23d..2d0dfca 100644 (file)
@@ -47,45 +47,50 @@ fd2_context_destroy(struct pipe_context *pctx)
 static struct pipe_resource *
 create_solid_vertexbuf(struct pipe_context *pctx)
 {
-       static const float init_shader_const[] = {
-                       /* for clear/gmem2mem/mem2gmem (vertices): */
-                       -1.000000, +1.000000, +1.000000,
-                       +1.000000, +1.000000, +1.000000,
-                       -1.000000, -1.000000, +1.000000,
-                       /* for mem2gmem: (tex coords) */
-                       +0.000000, +0.000000,
-                       +1.000000, +0.000000,
-                       +0.000000, +1.000000,
-                       /* SCREEN_SCISSOR_BR value (must be at 60 byte offset in page) */
-                       0.0,
-                       /* zero indices dummy draw workaround (3 16-bit zeros) */
-                       0.0, 0.0,
-       };
-       struct pipe_resource *prsc = pipe_buffer_create(pctx->screen,
+   /* clang-format off */
+   static const float init_shader_const[] = {
+      /* for clear/gmem2mem/mem2gmem (vertices): */
+      -1.000000, +1.000000, +1.000000,
+      +1.000000, +1.000000, +1.000000,
+      -1.000000, -1.000000, +1.000000,
+      /* for mem2gmem: (tex coords) */
+      +0.000000, +0.000000,
+      +1.000000, +0.000000,
+      +0.000000, +1.000000,
+      /* SCREEN_SCISSOR_BR value (must be at 60 byte offset in page) */
+      0.0,
+      /* zero indices dummy draw workaround (3 16-bit zeros) */
+      0.0, 0.0,
+   };
+   /* clang-format on */
+
+   struct pipe_resource *prsc = pipe_buffer_create(pctx->screen,
                        PIPE_BIND_CUSTOM, PIPE_USAGE_IMMUTABLE, sizeof(init_shader_const));
        pipe_buffer_write(pctx, prsc, 0,
                        sizeof(init_shader_const), init_shader_const);
        return prsc;
 }
 
+/* clang-format off */
 static const uint8_t a22x_primtypes[PIPE_PRIM_MAX] = {
-               [PIPE_PRIM_POINTS]         = DI_PT_POINTLIST_PSIZE,
-               [PIPE_PRIM_LINES]          = DI_PT_LINELIST,
-               [PIPE_PRIM_LINE_STRIP]     = DI_PT_LINESTRIP,
-               [PIPE_PRIM_LINE_LOOP]      = DI_PT_LINELOOP,
-               [PIPE_PRIM_TRIANGLES]      = DI_PT_TRILIST,
-               [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP,
-               [PIPE_PRIM_TRIANGLE_FAN]   = DI_PT_TRIFAN,
+   [PIPE_PRIM_POINTS]         = DI_PT_POINTLIST_PSIZE,
+   [PIPE_PRIM_LINES]          = DI_PT_LINELIST,
+   [PIPE_PRIM_LINE_STRIP]     = DI_PT_LINESTRIP,
+   [PIPE_PRIM_LINE_LOOP]      = DI_PT_LINELOOP,
+   [PIPE_PRIM_TRIANGLES]      = DI_PT_TRILIST,
+   [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP,
+   [PIPE_PRIM_TRIANGLE_FAN]   = DI_PT_TRIFAN,
 };
 
 static const uint8_t a20x_primtypes[PIPE_PRIM_MAX] = {
-               [PIPE_PRIM_POINTS]         = DI_PT_POINTLIST_PSIZE,
-               [PIPE_PRIM_LINES]          = DI_PT_LINELIST,
-               [PIPE_PRIM_LINE_STRIP]     = DI_PT_LINESTRIP,
-               [PIPE_PRIM_TRIANGLES]      = DI_PT_TRILIST,
-               [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP,
-               [PIPE_PRIM_TRIANGLE_FAN]   = DI_PT_TRIFAN,
+   [PIPE_PRIM_POINTS]         = DI_PT_POINTLIST_PSIZE,
+   [PIPE_PRIM_LINES]          = DI_PT_LINELIST,
+   [PIPE_PRIM_LINE_STRIP]     = DI_PT_LINESTRIP,
+   [PIPE_PRIM_TRIANGLES]      = DI_PT_TRILIST,
+   [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP,
+   [PIPE_PRIM_TRIANGLE_FAN]   = DI_PT_TRIFAN,
 };
+/* clang-format on */
 
 struct pipe_context *
 fd2_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags)
index 2a95385..0b6e0f7 100644 (file)
@@ -183,15 +183,17 @@ fd2_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *pinfo,
         * 32766 works for all primitives (multiple of 2 and 3)
         */
        if (pdraw->count > 32766) {
-               static const uint16_t step_tbl[PIPE_PRIM_MAX] = {
-                       [0 ... PIPE_PRIM_MAX - 1]  = 32766,
-                       [PIPE_PRIM_LINE_STRIP]     = 32765,
-                       [PIPE_PRIM_TRIANGLE_STRIP] = 32764,
-
-                       /* needs more work */
-                       [PIPE_PRIM_TRIANGLE_FAN]   = 0,
-                       [PIPE_PRIM_LINE_LOOP]      = 0,
-               };
+      /* clang-format off */
+      static const uint16_t step_tbl[PIPE_PRIM_MAX] = {
+         [0 ... PIPE_PRIM_MAX - 1]  = 32766,
+         [PIPE_PRIM_LINE_STRIP]     = 32765,
+         [PIPE_PRIM_TRIANGLE_STRIP] = 32764,
+
+         /* needs more work */
+         [PIPE_PRIM_TRIANGLE_FAN]   = 0,
+         [PIPE_PRIM_LINE_LOOP]      = 0,
+      };
+      /* clang-format on */
 
                struct pipe_draw_start_count draw = *pdraw;
                unsigned count = draw.count;
index c6e0c4a..f424304 100644 (file)
@@ -81,39 +81,42 @@ pipe2surface(enum pipe_format format, struct surface_format *fmt)
         */
 
 #define CASE(r, g, b, a) case (r | g << 8 | b << 16 | a << 24)
-       if (desc->channel[0].type == UTIL_FORMAT_TYPE_FLOAT) {
-               switch (channel_size) {
-               CASE(16,  0,  0,  0): return FMT_16_FLOAT;
-               CASE(16, 16,  0,  0): return FMT_16_16_FLOAT;
-               CASE(16, 16, 16,  0): return FMT_16_16_16_16_FLOAT; /* Note: only for vertex */
-               CASE(16, 16, 16, 16): return FMT_16_16_16_16_FLOAT;
-               CASE(32,  0,  0,  0): return FMT_32_FLOAT;
-               CASE(32, 32,  0,  0): return FMT_32_32_FLOAT;
-               CASE(32, 32, 32,  0): return FMT_32_32_32_FLOAT;
-               CASE(32, 32, 32, 32): return FMT_32_32_32_32_FLOAT;
-               }
-       } else {
-               switch (channel_size) {
-               CASE( 8,  0,  0,  0): return FMT_8;
-               CASE( 8,  8,  0,  0): return FMT_8_8;
-               CASE( 8,  8,  8,  0): return FMT_8_8_8_8; /* Note: only for vertex */
-               CASE( 8,  8,  8,  8): return FMT_8_8_8_8;
-               CASE(16,  0,  0,  0): return FMT_16;
-               CASE(16, 16,  0,  0): return FMT_16_16;
-               CASE(16, 16, 16,  0): return FMT_16_16_16_16; /* Note: only for vertex */
-               CASE(16, 16, 16, 16): return FMT_16_16_16_16;
-               CASE(32,  0,  0,  0): return FMT_32;
-               CASE(32, 32,  0,  0): return FMT_32_32;
-               CASE(32, 32, 32,  0): return FMT_32_32_32_32; /* Note: only for vertex */
-               CASE(32, 32, 32, 32): return FMT_32_32_32_32;
-               CASE( 4,  4,  4,  4): return FMT_4_4_4_4;
-               CASE( 5,  5,  5,  1): return FMT_1_5_5_5;
-               CASE( 5,  6,  5,  0): return FMT_5_6_5;
-               CASE(10, 10, 10,  2): return FMT_2_10_10_10;
-               CASE( 8, 24,  0,  0): return FMT_24_8;
-               CASE( 2,  3,  3,  0): return FMT_2_3_3; /* Note: R/B swapped */
-               }
-       }
+
+   /* clang-format off */
+   if (desc->channel[0].type == UTIL_FORMAT_TYPE_FLOAT) {
+      switch (channel_size) {
+      CASE(16,  0,  0,  0): return FMT_16_FLOAT;
+      CASE(16, 16,  0,  0): return FMT_16_16_FLOAT;
+      CASE(16, 16, 16,  0): return FMT_16_16_16_16_FLOAT; /* Note: only for vertex */
+      CASE(16, 16, 16, 16): return FMT_16_16_16_16_FLOAT;
+      CASE(32,  0,  0,  0): return FMT_32_FLOAT;
+      CASE(32, 32,  0,  0): return FMT_32_32_FLOAT;
+      CASE(32, 32, 32,  0): return FMT_32_32_32_FLOAT;
+      CASE(32, 32, 32, 32): return FMT_32_32_32_32_FLOAT;
+      }
+   } else {
+      switch (channel_size) {
+      CASE( 8,  0,  0,  0): return FMT_8;
+      CASE( 8,  8,  0,  0): return FMT_8_8;
+      CASE( 8,  8,  8,  0): return FMT_8_8_8_8; /* Note: only for vertex */
+      CASE( 8,  8,  8,  8): return FMT_8_8_8_8;
+      CASE(16,  0,  0,  0): return FMT_16;
+      CASE(16, 16,  0,  0): return FMT_16_16;
+      CASE(16, 16, 16,  0): return FMT_16_16_16_16; /* Note: only for vertex */
+      CASE(16, 16, 16, 16): return FMT_16_16_16_16;
+      CASE(32,  0,  0,  0): return FMT_32;
+      CASE(32, 32,  0,  0): return FMT_32_32;
+      CASE(32, 32, 32,  0): return FMT_32_32_32_32; /* Note: only for vertex */
+      CASE(32, 32, 32, 32): return FMT_32_32_32_32;
+      CASE( 4,  4,  4,  4): return FMT_4_4_4_4;
+      CASE( 5,  5,  5,  1): return FMT_1_5_5_5;
+      CASE( 5,  6,  5,  0): return FMT_5_6_5;
+      CASE(10, 10, 10,  2): return FMT_2_10_10_10;
+      CASE( 8, 24,  0,  0): return FMT_24_8;
+      CASE( 2,  3,  3,  0): return FMT_2_3_3; /* Note: R/B swapped */
+      }
+   }
+   /* clang-format on */
 #undef CASE
 
        return ~0;
index 344c266..bd4f40b 100644 (file)
@@ -59,16 +59,18 @@ fd3_context_destroy(struct pipe_context *pctx)
        free(fd3_ctx);
 }
 
+/* clang-format off */
 static const uint8_t primtypes[] = {
-               [PIPE_PRIM_POINTS]         = DI_PT_POINTLIST,
-               [PIPE_PRIM_LINES]          = DI_PT_LINELIST,
-               [PIPE_PRIM_LINE_STRIP]     = DI_PT_LINESTRIP,
-               [PIPE_PRIM_LINE_LOOP]      = DI_PT_LINELOOP,
-               [PIPE_PRIM_TRIANGLES]      = DI_PT_TRILIST,
-               [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP,
-               [PIPE_PRIM_TRIANGLE_FAN]   = DI_PT_TRIFAN,
-               [PIPE_PRIM_MAX]            = DI_PT_RECTLIST,  /* internal clear blits */
+   [PIPE_PRIM_POINTS]         = DI_PT_POINTLIST,
+   [PIPE_PRIM_LINES]          = DI_PT_LINELIST,
+   [PIPE_PRIM_LINE_STRIP]     = DI_PT_LINESTRIP,
+   [PIPE_PRIM_LINE_LOOP]      = DI_PT_LINELOOP,
+   [PIPE_PRIM_TRIANGLES]      = DI_PT_TRILIST,
+   [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP,
+   [PIPE_PRIM_TRIANGLE_FAN]   = DI_PT_TRIFAN,
+   [PIPE_PRIM_MAX]            = DI_PT_RECTLIST,  /* internal clear blits */
 };
+/* clang-format on */
 
 struct pipe_context *
 fd3_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags)
index 10195c1..a6eed2e 100644 (file)
@@ -69,225 +69,227 @@ struct fd3_format {
                .swap = swapfmt \
        }
 
+/* clang-format off */
 static struct fd3_format formats[PIPE_FORMAT_COUNT] = {
-       /* 8-bit */
-       VT(R8_UNORM,   8_UNORM, R8_UNORM, WZYX),
-       VT(R8_SNORM,   8_SNORM, NONE,     WZYX),
-       VT(R8_UINT,    8_UINT,  NONE,     WZYX),
-       VT(R8_SINT,    8_SINT,  NONE,     WZYX),
-       V_(R8_USCALED, 8_UINT,  NONE,     WZYX),
-       V_(R8_SSCALED, 8_SINT,  NONE,     WZYX),
-
-       _T(A8_UNORM,   8_UNORM, A8_UNORM, WZYX),
-       _T(L8_UNORM,   8_UNORM, R8_UNORM, WZYX),
-       _T(I8_UNORM,   8_UNORM, NONE,     WZYX),
-
-       _T(A8_UINT,    8_UINT,  NONE,     WZYX),
-       _T(A8_SINT,    8_SINT,  NONE,     WZYX),
-       _T(L8_UINT,    8_UINT,  NONE,     WZYX),
-       _T(L8_SINT,    8_SINT,  NONE,     WZYX),
-       _T(I8_UINT,    8_UINT,  NONE,     WZYX),
-       _T(I8_SINT,    8_SINT,  NONE,     WZYX),
-
-       _T(S8_UINT,    8_UINT,  R8_UNORM, WZYX),
-
-       /* 16-bit */
-       VT(R16_UNORM,   16_UNORM, NONE,     WZYX),
-       VT(R16_SNORM,   16_SNORM, NONE,     WZYX),
-       VT(R16_UINT,    16_UINT,  R16_UINT, WZYX),
-       VT(R16_SINT,    16_SINT,  R16_SINT, WZYX),
-       V_(R16_USCALED, 16_UINT,  NONE,     WZYX),
-       V_(R16_SSCALED, 16_SINT,  NONE,     WZYX),
-       VT(R16_FLOAT,   16_FLOAT, R16_FLOAT,WZYX),
-
-       _T(A16_UINT,    16_UINT,  NONE,     WZYX),
-       _T(A16_SINT,    16_SINT,  NONE,     WZYX),
-       _T(L16_UINT,    16_UINT,  NONE,     WZYX),
-       _T(L16_SINT,    16_SINT,  NONE,     WZYX),
-       _T(I16_UINT,    16_UINT,  NONE,     WZYX),
-       _T(I16_SINT,    16_SINT,  NONE,     WZYX),
-
-       VT(R8G8_UNORM,   8_8_UNORM, R8G8_UNORM, WZYX),
-       VT(R8G8_SNORM,   8_8_SNORM, R8G8_SNORM, WZYX),
-       VT(R8G8_UINT,    8_8_UINT,  R8G8_UINT,  WZYX),
-       VT(R8G8_SINT,    8_8_SINT,  R8G8_SINT,  WZYX),
-       V_(R8G8_USCALED, 8_8_UINT,  NONE,       WZYX),
-       V_(R8G8_SSCALED, 8_8_SINT,  NONE,       WZYX),
-
-       _T(L8A8_UINT,    8_8_UINT,  NONE,       WZYX),
-       _T(L8A8_SINT,    8_8_SINT,  NONE,       WZYX),
-
-       _T(Z16_UNORM,      Z16_UNORM,     R8G8_UNORM,     WZYX),
-       _T(B5G6R5_UNORM,   5_6_5_UNORM,   R5G6B5_UNORM,   WXYZ),
-       _T(B5G5R5A1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
-       _T(B5G5R5X1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
-       _T(B4G4R4A4_UNORM, 4_4_4_4_UNORM, R4G4B4A4_UNORM, WXYZ),
-
-       /* 24-bit */
-       V_(R8G8B8_UNORM,   8_8_8_UNORM, NONE, WZYX),
-       V_(R8G8B8_SNORM,   8_8_8_SNORM, NONE, WZYX),
-       V_(R8G8B8_UINT,    8_8_8_UINT,  NONE, WZYX),
-       V_(R8G8B8_SINT,    8_8_8_SINT,  NONE, WZYX),
-       V_(R8G8B8_USCALED, 8_8_8_UINT,  NONE, WZYX),
-       V_(R8G8B8_SSCALED, 8_8_8_SINT,  NONE, WZYX),
-
-       /* 32-bit */
-       VT(R32_UINT,    32_UINT,  R32_UINT, WZYX),
-       VT(R32_SINT,    32_SINT,  R32_SINT, WZYX),
-       V_(R32_USCALED, 32_UINT,  NONE,     WZYX),
-       V_(R32_SSCALED, 32_SINT,  NONE,     WZYX),
-       VT(R32_FLOAT,   32_FLOAT, R32_FLOAT,WZYX),
-       V_(R32_FIXED,   32_FIXED, NONE,     WZYX),
-
-       _T(A32_UINT,    32_UINT,  NONE,     WZYX),
-       _T(A32_SINT,    32_SINT,  NONE,     WZYX),
-       _T(L32_UINT,    32_UINT,  NONE,     WZYX),
-       _T(L32_SINT,    32_SINT,  NONE,     WZYX),
-       _T(I32_UINT,    32_UINT,  NONE,     WZYX),
-       _T(I32_SINT,    32_SINT,  NONE,     WZYX),
-
-       VT(R16G16_UNORM,   16_16_UNORM, NONE,        WZYX),
-       VT(R16G16_SNORM,   16_16_SNORM, NONE,        WZYX),
-       VT(R16G16_UINT,    16_16_UINT,  R16G16_UINT, WZYX),
-       VT(R16G16_SINT,    16_16_SINT,  R16G16_SINT, WZYX),
-       V_(R16G16_USCALED, 16_16_UINT,  NONE,        WZYX),
-       V_(R16G16_SSCALED, 16_16_SINT,  NONE,        WZYX),
-       VT(R16G16_FLOAT,   16_16_FLOAT, R16G16_FLOAT,WZYX),
-
-       _T(L16A16_UINT,    16_16_UINT,  NONE,        WZYX),
-       _T(L16A16_SINT,    16_16_SINT,  NONE,        WZYX),
-
-       VT(R8G8B8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(R8G8B8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(R8G8B8A8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(R8G8B8X8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
-       VT(R8G8B8A8_SNORM,   8_8_8_8_SNORM, R8G8B8A8_SNORM, WZYX),
-       VT(R8G8B8A8_UINT,    8_8_8_8_UINT,  R8G8B8A8_UINT,  WZYX),
-       VT(R8G8B8A8_SINT,    8_8_8_8_SINT,  R8G8B8A8_SINT,  WZYX),
-       V_(R8G8B8A8_USCALED, 8_8_8_8_UINT,  NONE,           WZYX),
-       V_(R8G8B8A8_SSCALED, 8_8_8_8_SINT,  NONE,           WZYX),
-
-       VT(B8G8R8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
-       _T(B8G8R8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
-       VT(B8G8R8A8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
-       _T(B8G8R8X8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
-
-       VT(A8B8G8R8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
-       _T(X8B8G8R8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
-       _T(A8B8G8R8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
-       _T(X8B8G8R8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
-
-       VT(A8R8G8B8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
-       _T(X8R8G8B8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
-       _T(A8R8G8B8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
-       _T(X8R8G8B8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
-
-       VT(R10G10B10A2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WZYX),
-       VT(B10G10R10A2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WXYZ),
-       _T(B10G10R10X2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WXYZ),
-       V_(R10G10B10A2_SNORM,   10_10_10_2_SNORM, NONE,              WZYX),
-       V_(B10G10R10A2_SNORM,   10_10_10_2_SNORM, NONE,              WXYZ),
-       VT(R10G10B10A2_UINT,    10_10_10_2_UINT,  NONE,              WZYX),
-       V_(B10G10R10A2_UINT,    10_10_10_2_UINT,  NONE,              WXYZ),
-       V_(R10G10B10A2_USCALED, 10_10_10_2_UINT,  NONE,              WZYX),
-       V_(B10G10R10A2_USCALED, 10_10_10_2_UINT,  NONE,              WXYZ),
-       V_(R10G10B10A2_SSCALED, 10_10_10_2_SINT,  NONE,              WZYX),
-       V_(B10G10R10A2_SSCALED, 10_10_10_2_SINT,  NONE,              WXYZ),
-
-       _T(R11G11B10_FLOAT, 11_11_10_FLOAT, R11G11B10_FLOAT, WZYX),
-       _T(R9G9B9E5_FLOAT,  9_9_9_E5_FLOAT, NONE,            WZYX),
-
-       _T(Z24X8_UNORM,       X8Z24_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(Z24_UNORM_S8_UINT, X8Z24_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(Z32_FLOAT,         Z32_FLOAT,   R8G8B8A8_UNORM, WZYX),
-       _T(Z32_FLOAT_S8X24_UINT, Z32_FLOAT,R8G8B8A8_UNORM, WZYX),
-
-       /* 48-bit */
-       V_(R16G16B16_UNORM,   16_16_16_UNORM, NONE, WZYX),
-       V_(R16G16B16_SNORM,   16_16_16_SNORM, NONE, WZYX),
-       V_(R16G16B16_UINT,    16_16_16_UINT,  NONE, WZYX),
-       V_(R16G16B16_SINT,    16_16_16_SINT,  NONE, WZYX),
-       V_(R16G16B16_USCALED, 16_16_16_UINT,  NONE, WZYX),
-       V_(R16G16B16_SSCALED, 16_16_16_SINT,  NONE, WZYX),
-       V_(R16G16B16_FLOAT,   16_16_16_FLOAT, NONE, WZYX),
-
-       /* 64-bit */
-       VT(R16G16B16A16_UNORM,   16_16_16_16_UNORM, NONE,               WZYX),
-       VT(R16G16B16A16_SNORM,   16_16_16_16_SNORM, NONE,               WZYX),
-       VT(R16G16B16A16_UINT,    16_16_16_16_UINT,  R16G16B16A16_UINT,  WZYX),
-       _T(R16G16B16X16_UINT,    16_16_16_16_UINT,  R16G16B16A16_UINT,  WZYX),
-       VT(R16G16B16A16_SINT,    16_16_16_16_SINT,  R16G16B16A16_SINT,  WZYX),
-       _T(R16G16B16X16_SINT,    16_16_16_16_SINT,  R16G16B16A16_SINT,  WZYX),
-       V_(R16G16B16A16_USCALED, 16_16_16_16_UINT,  NONE,               WZYX),
-       V_(R16G16B16A16_SSCALED, 16_16_16_16_SINT,  NONE,               WZYX),
-       VT(R16G16B16A16_FLOAT,   16_16_16_16_FLOAT, R16G16B16A16_FLOAT, WZYX),
-       _T(R16G16B16X16_FLOAT,   16_16_16_16_FLOAT, R16G16B16A16_FLOAT, WZYX),
-
-       VT(R32G32_UINT,    32_32_UINT,  R32G32_UINT, WZYX),
-       VT(R32G32_SINT,    32_32_SINT,  R32G32_SINT, WZYX),
-       V_(R32G32_USCALED, 32_32_UINT,  NONE,        WZYX),
-       V_(R32G32_SSCALED, 32_32_SINT,  NONE,        WZYX),
-       VT(R32G32_FLOAT,   32_32_FLOAT, R32G32_FLOAT,WZYX),
-       V_(R32G32_FIXED,   32_32_FIXED, NONE,        WZYX),
-
-       _T(L32A32_UINT,    32_32_UINT,  NONE,        WZYX),
-       _T(L32A32_SINT,    32_32_SINT,  NONE,        WZYX),
-
-       /* 96-bit */
-       V_(R32G32B32_UINT,    32_32_32_UINT,  NONE, WZYX),
-       V_(R32G32B32_SINT,    32_32_32_SINT,  NONE, WZYX),
-       V_(R32G32B32_USCALED, 32_32_32_UINT,  NONE, WZYX),
-       V_(R32G32B32_SSCALED, 32_32_32_SINT,  NONE, WZYX),
-       V_(R32G32B32_FLOAT,   32_32_32_FLOAT, NONE, WZYX),
-       V_(R32G32B32_FIXED,   32_32_32_FIXED, NONE, WZYX),
-
-       /* 128-bit */
-       VT(R32G32B32A32_UINT,    32_32_32_32_UINT,  R32G32B32A32_UINT,  WZYX),
-       _T(R32G32B32X32_UINT,    32_32_32_32_UINT,  R32G32B32A32_UINT,  WZYX),
-       VT(R32G32B32A32_SINT,    32_32_32_32_SINT,  R32G32B32A32_SINT,  WZYX),
-       _T(R32G32B32X32_SINT,    32_32_32_32_SINT,  R32G32B32A32_SINT,  WZYX),
-       V_(R32G32B32A32_USCALED, 32_32_32_32_UINT,  NONE,               WZYX),
-       V_(R32G32B32A32_SSCALED, 32_32_32_32_SINT,  NONE,               WZYX),
-       VT(R32G32B32A32_FLOAT,   32_32_32_32_FLOAT, R32G32B32A32_FLOAT, WZYX),
-       _T(R32G32B32X32_FLOAT,   32_32_32_32_FLOAT, R32G32B32A32_FLOAT, WZYX),
-       V_(R32G32B32A32_FIXED,   32_32_32_32_FIXED, NONE,               WZYX),
-
-       /* compressed */
-       _T(ETC1_RGB8, ETC1, NONE, WZYX),
-       _T(ETC2_RGB8, ETC2_RGB8, NONE, WZYX),
-       _T(ETC2_SRGB8, ETC2_RGB8, NONE, WZYX),
-       _T(ETC2_RGB8A1, ETC2_RGB8A1, NONE, WZYX),
-       _T(ETC2_SRGB8A1, ETC2_RGB8A1, NONE, WZYX),
-       _T(ETC2_RGBA8, ETC2_RGBA8, NONE, WZYX),
-       _T(ETC2_SRGBA8, ETC2_RGBA8, NONE, WZYX),
-       _T(ETC2_R11_UNORM, ETC2_R11_UNORM, NONE, WZYX),
-       _T(ETC2_R11_SNORM, ETC2_R11_SNORM, NONE, WZYX),
-       _T(ETC2_RG11_UNORM, ETC2_RG11_UNORM, NONE, WZYX),
-       _T(ETC2_RG11_SNORM, ETC2_RG11_SNORM, NONE, WZYX),
-
-       _T(DXT1_RGB,   DXT1, NONE, WZYX),
-       _T(DXT1_SRGB,  DXT1, NONE, WZYX),
-       _T(DXT1_RGBA,  DXT1, NONE, WZYX),
-       _T(DXT1_SRGBA, DXT1, NONE, WZYX),
-       _T(DXT3_RGBA,  DXT3, NONE, WZYX),
-       _T(DXT3_SRGBA, DXT3, NONE, WZYX),
-       _T(DXT5_RGBA,  DXT5, NONE, WZYX),
-       _T(DXT5_SRGBA, DXT5, NONE, WZYX),
-
-       /* faked */
-       _T(RGTC1_UNORM, 8_8_8_8_UNORM, NONE, WZYX),
-       _T(RGTC1_SNORM, 8_8_8_8_SNORM, NONE, WZYX),
-       _T(RGTC2_UNORM, 8_8_8_8_UNORM, NONE, WZYX),
-       _T(RGTC2_SNORM, 8_8_8_8_SNORM, NONE, WZYX),
-       _T(LATC1_UNORM, 8_8_8_8_UNORM, NONE, WZYX),
-       _T(LATC1_SNORM, 8_8_8_8_SNORM, NONE, WZYX),
-       _T(LATC2_UNORM, 8_8_8_8_UNORM, NONE, WZYX),
-       _T(LATC2_SNORM, 8_8_8_8_SNORM, NONE, WZYX),
-
-       _T(ATC_RGB,               ATC_RGB,               NONE, WZYX),
-       _T(ATC_RGBA_EXPLICIT,     ATC_RGBA_EXPLICIT,     NONE, WZYX),
-       _T(ATC_RGBA_INTERPOLATED, ATC_RGBA_INTERPOLATED, NONE, WZYX),
+   /* 8-bit */
+   VT(R8_UNORM,   8_UNORM, R8_UNORM, WZYX),
+   VT(R8_SNORM,   8_SNORM, NONE,     WZYX),
+   VT(R8_UINT,    8_UINT,  NONE,     WZYX),
+   VT(R8_SINT,    8_SINT,  NONE,     WZYX),
+   V_(R8_USCALED, 8_UINT,  NONE,     WZYX),
+   V_(R8_SSCALED, 8_SINT,  NONE,     WZYX),
+
+   _T(A8_UNORM,   8_UNORM, A8_UNORM, WZYX),
+   _T(L8_UNORM,   8_UNORM, R8_UNORM, WZYX),
+   _T(I8_UNORM,   8_UNORM, NONE,     WZYX),
+
+   _T(A8_UINT,    8_UINT,  NONE,     WZYX),
+   _T(A8_SINT,    8_SINT,  NONE,     WZYX),
+   _T(L8_UINT,    8_UINT,  NONE,     WZYX),
+   _T(L8_SINT,    8_SINT,  NONE,     WZYX),
+   _T(I8_UINT,    8_UINT,  NONE,     WZYX),
+   _T(I8_SINT,    8_SINT,  NONE,     WZYX),
+
+   _T(S8_UINT,    8_UINT,  R8_UNORM, WZYX),
+
+   /* 16-bit */
+   VT(R16_UNORM,   16_UNORM, NONE,     WZYX),
+   VT(R16_SNORM,   16_SNORM, NONE,     WZYX),
+   VT(R16_UINT,    16_UINT,  R16_UINT, WZYX),
+   VT(R16_SINT,    16_SINT,  R16_SINT, WZYX),
+   V_(R16_USCALED, 16_UINT,  NONE,     WZYX),
+   V_(R16_SSCALED, 16_SINT,  NONE,     WZYX),
+   VT(R16_FLOAT,   16_FLOAT, R16_FLOAT,WZYX),
+
+   _T(A16_UINT,    16_UINT,  NONE,     WZYX),
+   _T(A16_SINT,    16_SINT,  NONE,     WZYX),
+   _T(L16_UINT,    16_UINT,  NONE,     WZYX),
+   _T(L16_SINT,    16_SINT,  NONE,     WZYX),
+   _T(I16_UINT,    16_UINT,  NONE,     WZYX),
+   _T(I16_SINT,    16_SINT,  NONE,     WZYX),
+
+   VT(R8G8_UNORM,   8_8_UNORM, R8G8_UNORM, WZYX),
+   VT(R8G8_SNORM,   8_8_SNORM, R8G8_SNORM, WZYX),
+   VT(R8G8_UINT,    8_8_UINT,  R8G8_UINT,  WZYX),
+   VT(R8G8_SINT,    8_8_SINT,  R8G8_SINT,  WZYX),
+   V_(R8G8_USCALED, 8_8_UINT,  NONE,       WZYX),
+   V_(R8G8_SSCALED, 8_8_SINT,  NONE,       WZYX),
+
+   _T(L8A8_UINT,    8_8_UINT,  NONE,       WZYX),
+   _T(L8A8_SINT,    8_8_SINT,  NONE,       WZYX),
+
+   _T(Z16_UNORM,      Z16_UNORM,     R8G8_UNORM,     WZYX),
+   _T(B5G6R5_UNORM,   5_6_5_UNORM,   R5G6B5_UNORM,   WXYZ),
+   _T(B5G5R5A1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
+   _T(B5G5R5X1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
+   _T(B4G4R4A4_UNORM, 4_4_4_4_UNORM, R4G4B4A4_UNORM, WXYZ),
+
+   /* 24-bit */
+   V_(R8G8B8_UNORM,   8_8_8_UNORM, NONE, WZYX),
+   V_(R8G8B8_SNORM,   8_8_8_SNORM, NONE, WZYX),
+   V_(R8G8B8_UINT,    8_8_8_UINT,  NONE, WZYX),
+   V_(R8G8B8_SINT,    8_8_8_SINT,  NONE, WZYX),
+   V_(R8G8B8_USCALED, 8_8_8_UINT,  NONE, WZYX),
+   V_(R8G8B8_SSCALED, 8_8_8_SINT,  NONE, WZYX),
+
+   /* 32-bit */
+   VT(R32_UINT,    32_UINT,  R32_UINT, WZYX),
+   VT(R32_SINT,    32_SINT,  R32_SINT, WZYX),
+   V_(R32_USCALED, 32_UINT,  NONE,     WZYX),
+   V_(R32_SSCALED, 32_SINT,  NONE,     WZYX),
+   VT(R32_FLOAT,   32_FLOAT, R32_FLOAT,WZYX),
+   V_(R32_FIXED,   32_FIXED, NONE,     WZYX),
+
+   _T(A32_UINT,    32_UINT,  NONE,     WZYX),
+   _T(A32_SINT,    32_SINT,  NONE,     WZYX),
+   _T(L32_UINT,    32_UINT,  NONE,     WZYX),
+   _T(L32_SINT,    32_SINT,  NONE,     WZYX),
+   _T(I32_UINT,    32_UINT,  NONE,     WZYX),
+   _T(I32_SINT,    32_SINT,  NONE,     WZYX),
+
+   VT(R16G16_UNORM,   16_16_UNORM, NONE,        WZYX),
+   VT(R16G16_SNORM,   16_16_SNORM, NONE,        WZYX),
+   VT(R16G16_UINT,    16_16_UINT,  R16G16_UINT, WZYX),
+   VT(R16G16_SINT,    16_16_SINT,  R16G16_SINT, WZYX),
+   V_(R16G16_USCALED, 16_16_UINT,  NONE,        WZYX),
+   V_(R16G16_SSCALED, 16_16_SINT,  NONE,        WZYX),
+   VT(R16G16_FLOAT,   16_16_FLOAT, R16G16_FLOAT,WZYX),
+
+   _T(L16A16_UINT,    16_16_UINT,  NONE,        WZYX),
+   _T(L16A16_SINT,    16_16_SINT,  NONE,        WZYX),
+
+   VT(R8G8B8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(R8G8B8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(R8G8B8A8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(R8G8B8X8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
+   VT(R8G8B8A8_SNORM,   8_8_8_8_SNORM, R8G8B8A8_SNORM, WZYX),
+   VT(R8G8B8A8_UINT,    8_8_8_8_UINT,  R8G8B8A8_UINT,  WZYX),
+   VT(R8G8B8A8_SINT,    8_8_8_8_SINT,  R8G8B8A8_SINT,  WZYX),
+   V_(R8G8B8A8_USCALED, 8_8_8_8_UINT,  NONE,           WZYX),
+   V_(R8G8B8A8_SSCALED, 8_8_8_8_SINT,  NONE,           WZYX),
+
+   VT(B8G8R8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
+   _T(B8G8R8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
+   VT(B8G8R8A8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
+   _T(B8G8R8X8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
+
+   VT(A8B8G8R8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
+   _T(X8B8G8R8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
+   _T(A8B8G8R8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
+   _T(X8B8G8R8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
+
+   VT(A8R8G8B8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
+   _T(X8R8G8B8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
+   _T(A8R8G8B8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
+   _T(X8R8G8B8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
+
+   VT(R10G10B10A2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WZYX),
+   VT(B10G10R10A2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WXYZ),
+   _T(B10G10R10X2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WXYZ),
+   V_(R10G10B10A2_SNORM,   10_10_10_2_SNORM, NONE,              WZYX),
+   V_(B10G10R10A2_SNORM,   10_10_10_2_SNORM, NONE,              WXYZ),
+   VT(R10G10B10A2_UINT,    10_10_10_2_UINT,  NONE,              WZYX),
+   V_(B10G10R10A2_UINT,    10_10_10_2_UINT,  NONE,              WXYZ),
+   V_(R10G10B10A2_USCALED, 10_10_10_2_UINT,  NONE,              WZYX),
+   V_(B10G10R10A2_USCALED, 10_10_10_2_UINT,  NONE,              WXYZ),
+   V_(R10G10B10A2_SSCALED, 10_10_10_2_SINT,  NONE,              WZYX),
+   V_(B10G10R10A2_SSCALED, 10_10_10_2_SINT,  NONE,              WXYZ),
+
+   _T(R11G11B10_FLOAT, 11_11_10_FLOAT, R11G11B10_FLOAT, WZYX),
+   _T(R9G9B9E5_FLOAT,  9_9_9_E5_FLOAT, NONE,            WZYX),
+
+   _T(Z24X8_UNORM,       X8Z24_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(Z24_UNORM_S8_UINT, X8Z24_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(Z32_FLOAT,         Z32_FLOAT,   R8G8B8A8_UNORM, WZYX),
+   _T(Z32_FLOAT_S8X24_UINT, Z32_FLOAT,R8G8B8A8_UNORM, WZYX),
+
+   /* 48-bit */
+   V_(R16G16B16_UNORM,   16_16_16_UNORM, NONE, WZYX),
+   V_(R16G16B16_SNORM,   16_16_16_SNORM, NONE, WZYX),
+   V_(R16G16B16_UINT,    16_16_16_UINT,  NONE, WZYX),
+   V_(R16G16B16_SINT,    16_16_16_SINT,  NONE, WZYX),
+   V_(R16G16B16_USCALED, 16_16_16_UINT,  NONE, WZYX),
+   V_(R16G16B16_SSCALED, 16_16_16_SINT,  NONE, WZYX),
+   V_(R16G16B16_FLOAT,   16_16_16_FLOAT, NONE, WZYX),
+
+   /* 64-bit */
+   VT(R16G16B16A16_UNORM,   16_16_16_16_UNORM, NONE,               WZYX),
+   VT(R16G16B16A16_SNORM,   16_16_16_16_SNORM, NONE,               WZYX),
+   VT(R16G16B16A16_UINT,    16_16_16_16_UINT,  R16G16B16A16_UINT,  WZYX),
+   _T(R16G16B16X16_UINT,    16_16_16_16_UINT,  R16G16B16A16_UINT,  WZYX),
+   VT(R16G16B16A16_SINT,    16_16_16_16_SINT,  R16G16B16A16_SINT,  WZYX),
+   _T(R16G16B16X16_SINT,    16_16_16_16_SINT,  R16G16B16A16_SINT,  WZYX),
+   V_(R16G16B16A16_USCALED, 16_16_16_16_UINT,  NONE,               WZYX),
+   V_(R16G16B16A16_SSCALED, 16_16_16_16_SINT,  NONE,               WZYX),
+   VT(R16G16B16A16_FLOAT,   16_16_16_16_FLOAT, R16G16B16A16_FLOAT, WZYX),
+   _T(R16G16B16X16_FLOAT,   16_16_16_16_FLOAT, R16G16B16A16_FLOAT, WZYX),
+
+   VT(R32G32_UINT,    32_32_UINT,  R32G32_UINT, WZYX),
+   VT(R32G32_SINT,    32_32_SINT,  R32G32_SINT, WZYX),
+   V_(R32G32_USCALED, 32_32_UINT,  NONE,        WZYX),
+   V_(R32G32_SSCALED, 32_32_SINT,  NONE,        WZYX),
+   VT(R32G32_FLOAT,   32_32_FLOAT, R32G32_FLOAT,WZYX),
+   V_(R32G32_FIXED,   32_32_FIXED, NONE,        WZYX),
+
+   _T(L32A32_UINT,    32_32_UINT,  NONE,        WZYX),
+   _T(L32A32_SINT,    32_32_SINT,  NONE,        WZYX),
+
+   /* 96-bit */
+   V_(R32G32B32_UINT,    32_32_32_UINT,  NONE, WZYX),
+   V_(R32G32B32_SINT,    32_32_32_SINT,  NONE, WZYX),
+   V_(R32G32B32_USCALED, 32_32_32_UINT,  NONE, WZYX),
+   V_(R32G32B32_SSCALED, 32_32_32_SINT,  NONE, WZYX),
+   V_(R32G32B32_FLOAT,   32_32_32_FLOAT, NONE, WZYX),
+   V_(R32G32B32_FIXED,   32_32_32_FIXED, NONE, WZYX),
+
+   /* 128-bit */
+   VT(R32G32B32A32_UINT,    32_32_32_32_UINT,  R32G32B32A32_UINT,  WZYX),
+   _T(R32G32B32X32_UINT,    32_32_32_32_UINT,  R32G32B32A32_UINT,  WZYX),
+   VT(R32G32B32A32_SINT,    32_32_32_32_SINT,  R32G32B32A32_SINT,  WZYX),
+   _T(R32G32B32X32_SINT,    32_32_32_32_SINT,  R32G32B32A32_SINT,  WZYX),
+   V_(R32G32B32A32_USCALED, 32_32_32_32_UINT,  NONE,               WZYX),
+   V_(R32G32B32A32_SSCALED, 32_32_32_32_SINT,  NONE,               WZYX),
+   VT(R32G32B32A32_FLOAT,   32_32_32_32_FLOAT, R32G32B32A32_FLOAT, WZYX),
+   _T(R32G32B32X32_FLOAT,   32_32_32_32_FLOAT, R32G32B32A32_FLOAT, WZYX),
+   V_(R32G32B32A32_FIXED,   32_32_32_32_FIXED, NONE,               WZYX),
+
+   /* compressed */
+   _T(ETC1_RGB8, ETC1, NONE, WZYX),
+   _T(ETC2_RGB8, ETC2_RGB8, NONE, WZYX),
+   _T(ETC2_SRGB8, ETC2_RGB8, NONE, WZYX),
+   _T(ETC2_RGB8A1, ETC2_RGB8A1, NONE, WZYX),
+   _T(ETC2_SRGB8A1, ETC2_RGB8A1, NONE, WZYX),
+   _T(ETC2_RGBA8, ETC2_RGBA8, NONE, WZYX),
+   _T(ETC2_SRGBA8, ETC2_RGBA8, NONE, WZYX),
+   _T(ETC2_R11_UNORM, ETC2_R11_UNORM, NONE, WZYX),
+   _T(ETC2_R11_SNORM, ETC2_R11_SNORM, NONE, WZYX),
+   _T(ETC2_RG11_UNORM, ETC2_RG11_UNORM, NONE, WZYX),
+   _T(ETC2_RG11_SNORM, ETC2_RG11_SNORM, NONE, WZYX),
+
+   _T(DXT1_RGB,   DXT1, NONE, WZYX),
+   _T(DXT1_SRGB,  DXT1, NONE, WZYX),
+   _T(DXT1_RGBA,  DXT1, NONE, WZYX),
+   _T(DXT1_SRGBA, DXT1, NONE, WZYX),
+   _T(DXT3_RGBA,  DXT3, NONE, WZYX),
+   _T(DXT3_SRGBA, DXT3, NONE, WZYX),
+   _T(DXT5_RGBA,  DXT5, NONE, WZYX),
+   _T(DXT5_SRGBA, DXT5, NONE, WZYX),
+
+   /* faked */
+   _T(RGTC1_UNORM, 8_8_8_8_UNORM, NONE, WZYX),
+   _T(RGTC1_SNORM, 8_8_8_8_SNORM, NONE, WZYX),
+   _T(RGTC2_UNORM, 8_8_8_8_UNORM, NONE, WZYX),
+   _T(RGTC2_SNORM, 8_8_8_8_SNORM, NONE, WZYX),
+   _T(LATC1_UNORM, 8_8_8_8_UNORM, NONE, WZYX),
+   _T(LATC1_SNORM, 8_8_8_8_SNORM, NONE, WZYX),
+   _T(LATC2_UNORM, 8_8_8_8_UNORM, NONE, WZYX),
+   _T(LATC2_SNORM, 8_8_8_8_SNORM, NONE, WZYX),
+
+   _T(ATC_RGB,               ATC_RGB,               NONE, WZYX),
+   _T(ATC_RGBA_EXPLICIT,     ATC_RGBA_EXPLICIT,     NONE, WZYX),
+   _T(ATC_RGBA_INTERPOLATED, ATC_RGBA_INTERPOLATED, NONE, WZYX),
 };
+/* clang-format on */
 
 enum a3xx_vtx_fmt
 fd3_pipe2vtx(enum pipe_format format)
index 9bcd635..e64fd11 100644 (file)
@@ -59,16 +59,18 @@ fd4_context_destroy(struct pipe_context *pctx)
        free(fd4_ctx);
 }
 
+/* clang-format off */
 static const uint8_t primtypes[] = {
-               [PIPE_PRIM_POINTS]         = DI_PT_POINTLIST,
-               [PIPE_PRIM_LINES]          = DI_PT_LINELIST,
-               [PIPE_PRIM_LINE_STRIP]     = DI_PT_LINESTRIP,
-               [PIPE_PRIM_LINE_LOOP]      = DI_PT_LINELOOP,
-               [PIPE_PRIM_TRIANGLES]      = DI_PT_TRILIST,
-               [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP,
-               [PIPE_PRIM_TRIANGLE_FAN]   = DI_PT_TRIFAN,
-               [PIPE_PRIM_MAX]            = DI_PT_RECTLIST,  /* internal clear blits */
+   [PIPE_PRIM_POINTS]         = DI_PT_POINTLIST,
+   [PIPE_PRIM_LINES]          = DI_PT_LINELIST,
+   [PIPE_PRIM_LINE_STRIP]     = DI_PT_LINESTRIP,
+   [PIPE_PRIM_LINE_LOOP]      = DI_PT_LINELOOP,
+   [PIPE_PRIM_TRIANGLES]      = DI_PT_TRILIST,
+   [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP,
+   [PIPE_PRIM_TRIANGLE_FAN]   = DI_PT_TRIFAN,
+   [PIPE_PRIM_MAX]            = DI_PT_RECTLIST,  /* internal clear blits */
 };
+/* clang-format on */
 
 struct pipe_context *
 fd4_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags)
index 1a6157f..6fc340a 100644 (file)
@@ -72,267 +72,269 @@ struct fd4_format {
                .swap = swapfmt \
        }
 
+/* clang-format off */
 static struct fd4_format formats[PIPE_FORMAT_COUNT] = {
-       /* 8-bit */
-       VT(R8_UNORM,   8_UNORM, R8_UNORM, WZYX),
-       VT(R8_SNORM,   8_SNORM, R8_SNORM, WZYX),
-       VT(R8_UINT,    8_UINT,  R8_UINT,  WZYX),
-       VT(R8_SINT,    8_SINT,  R8_SINT,  WZYX),
-       V_(R8_USCALED, 8_UINT,  NONE,     WZYX),
-       V_(R8_SSCALED, 8_SINT,  NONE,     WZYX),
-
-       _T(A8_UNORM,   8_UNORM, A8_UNORM, WZYX),
-       _T(L8_UNORM,   8_UNORM, R8_UNORM, WZYX),
-       _T(I8_UNORM,   8_UNORM, NONE,     WZYX),
-
-       _T(A8_UINT,    8_UINT,  NONE,     WZYX),
-       _T(A8_SINT,    8_SINT,  NONE,     WZYX),
-       _T(L8_UINT,    8_UINT,  NONE,     WZYX),
-       _T(L8_SINT,    8_SINT,  NONE,     WZYX),
-       _T(I8_UINT,    8_UINT,  NONE,     WZYX),
-       _T(I8_SINT,    8_SINT,  NONE,     WZYX),
-
-       _T(S8_UINT,    8_UINT,  R8_UNORM, WZYX),
-
-       /* 16-bit */
-       VT(R16_UNORM,   16_UNORM, R16_UNORM, WZYX),
-       VT(R16_SNORM,   16_SNORM, R16_SNORM, WZYX),
-       VT(R16_UINT,    16_UINT,  R16_UINT,  WZYX),
-       VT(R16_SINT,    16_SINT,  R16_SINT,  WZYX),
-       V_(R16_USCALED, 16_UINT,  NONE,      WZYX),
-       V_(R16_SSCALED, 16_SINT,  NONE,      WZYX),
-       VT(R16_FLOAT,   16_FLOAT, R16_FLOAT, WZYX),
-
-       _T(A16_UNORM,   16_UNORM, NONE,      WZYX),
-       _T(A16_SNORM,   16_SNORM, NONE,      WZYX),
-       _T(A16_UINT,    16_UINT,  NONE,      WZYX),
-       _T(A16_SINT,    16_SINT,  NONE,      WZYX),
-       _T(L16_UNORM,   16_UNORM, NONE,      WZYX),
-       _T(L16_SNORM,   16_SNORM, NONE,      WZYX),
-       _T(L16_UINT,    16_UINT,  NONE,      WZYX),
-       _T(L16_SINT,    16_SINT,  NONE,      WZYX),
-       _T(I16_UNORM,   16_UNORM, NONE,      WZYX),
-       _T(I16_SNORM,   16_SNORM, NONE,      WZYX),
-       _T(I16_UINT,    16_UINT,  NONE,      WZYX),
-       _T(I16_SINT,    16_SINT,  NONE,      WZYX),
-
-       VT(R8G8_UNORM,   8_8_UNORM, R8G8_UNORM, WZYX),
-       VT(R8G8_SNORM,   8_8_SNORM, R8G8_SNORM, WZYX),
-       VT(R8G8_UINT,    8_8_UINT,  R8G8_UINT,  WZYX),
-       VT(R8G8_SINT,    8_8_SINT,  R8G8_SINT,  WZYX),
-       V_(R8G8_USCALED, 8_8_UINT,  NONE,       WZYX),
-       V_(R8G8_SSCALED, 8_8_SINT,  NONE,       WZYX),
-
-       _T(L8A8_UINT,    8_8_UINT,  NONE,       WZYX),
-       _T(L8A8_SINT,    8_8_SINT,  NONE,       WZYX),
-
-       _T(B5G6R5_UNORM,   5_6_5_UNORM,   R5G6B5_UNORM,   WXYZ),
-       _T(B5G5R5A1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
-       _T(B5G5R5X1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
-       _T(B4G4R4A4_UNORM, 4_4_4_4_UNORM, R4G4B4A4_UNORM, WXYZ),
-
-       /* 24-bit */
-       V_(R8G8B8_UNORM,   8_8_8_UNORM, NONE, WZYX),
-       V_(R8G8B8_SNORM,   8_8_8_SNORM, NONE, WZYX),
-       V_(R8G8B8_UINT,    8_8_8_UINT,  NONE, WZYX),
-       V_(R8G8B8_SINT,    8_8_8_SINT,  NONE, WZYX),
-       V_(R8G8B8_USCALED, 8_8_8_UINT,  NONE, WZYX),
-       V_(R8G8B8_SSCALED, 8_8_8_SINT,  NONE, WZYX),
-
-       /* 32-bit */
-       VT(R32_UINT,    32_UINT,  R32_UINT, WZYX),
-       VT(R32_SINT,    32_SINT,  R32_SINT, WZYX),
-       V_(R32_USCALED, 32_UINT,  NONE,     WZYX),
-       V_(R32_SSCALED, 32_SINT,  NONE,     WZYX),
-       VT(R32_FLOAT,   32_FLOAT, R32_FLOAT,WZYX),
-       V_(R32_FIXED,   32_FIXED, NONE,     WZYX),
-
-       _T(A32_UINT,    32_UINT,  NONE,     WZYX),
-       _T(A32_SINT,    32_SINT,  NONE,     WZYX),
-       _T(L32_UINT,    32_UINT,  NONE,     WZYX),
-       _T(L32_SINT,    32_SINT,  NONE,     WZYX),
-       _T(I32_UINT,    32_UINT,  NONE,     WZYX),
-       _T(I32_SINT,    32_SINT,  NONE,     WZYX),
-
-       VT(R16G16_UNORM,   16_16_UNORM, R16G16_UNORM, WZYX),
-       VT(R16G16_SNORM,   16_16_SNORM, R16G16_SNORM, WZYX),
-       VT(R16G16_UINT,    16_16_UINT,  R16G16_UINT,  WZYX),
-       VT(R16G16_SINT,    16_16_SINT,  R16G16_SINT,  WZYX),
-       V_(R16G16_USCALED, 16_16_UINT,  NONE,         WZYX),
-       V_(R16G16_SSCALED, 16_16_SINT,  NONE,         WZYX),
-       VT(R16G16_FLOAT,   16_16_FLOAT, R16G16_FLOAT, WZYX),
-
-       _T(L16A16_UNORM,   16_16_UNORM, NONE,         WZYX),
-       _T(L16A16_SNORM,   16_16_SNORM, NONE,         WZYX),
-       _T(L16A16_UINT,    16_16_UINT,  NONE,         WZYX),
-       _T(L16A16_SINT,    16_16_SINT,  NONE,         WZYX),
-
-       VT(R8G8B8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(R8G8B8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(R8G8B8A8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(R8G8B8X8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
-       VT(R8G8B8A8_SNORM,   8_8_8_8_SNORM, R8G8B8A8_SNORM, WZYX),
-       VT(R8G8B8A8_UINT,    8_8_8_8_UINT,  R8G8B8A8_UINT,  WZYX),
-       VT(R8G8B8A8_SINT,    8_8_8_8_SINT,  R8G8B8A8_SINT,  WZYX),
-       V_(R8G8B8A8_USCALED, 8_8_8_8_UINT,  NONE,           WZYX),
-       V_(R8G8B8A8_SSCALED, 8_8_8_8_SINT,  NONE,           WZYX),
-
-       VT(B8G8R8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
-       _T(B8G8R8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
-       VT(B8G8R8A8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
-       _T(B8G8R8X8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
-
-       VT(A8B8G8R8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
-       _T(X8B8G8R8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
-       _T(A8B8G8R8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
-       _T(X8B8G8R8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
-
-       VT(A8R8G8B8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
-       _T(X8R8G8B8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
-       _T(A8R8G8B8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
-       _T(X8R8G8B8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
-
-       VT(R10G10B10A2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WZYX),
-       VT(B10G10R10A2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WXYZ),
-       _T(B10G10R10X2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WXYZ),
-       V_(R10G10B10A2_SNORM,   10_10_10_2_SNORM, NONE,              WZYX),
-       V_(B10G10R10A2_SNORM,   10_10_10_2_SNORM, NONE,              WXYZ),
-       VT(R10G10B10A2_UINT,    10_10_10_2_UINT,  R10G10B10A2_UINT,  WZYX),
-       VT(B10G10R10A2_UINT,    10_10_10_2_UINT,  R10G10B10A2_UINT,  WXYZ),
-       V_(R10G10B10A2_USCALED, 10_10_10_2_UINT,  NONE,              WZYX),
-       V_(B10G10R10A2_USCALED, 10_10_10_2_UINT,  NONE,              WXYZ),
-       V_(R10G10B10A2_SSCALED, 10_10_10_2_SINT,  NONE,              WZYX),
-       V_(B10G10R10A2_SSCALED, 10_10_10_2_SINT,  NONE,              WXYZ),
-
-       VT(R11G11B10_FLOAT, 11_11_10_FLOAT, R11G11B10_FLOAT, WZYX),
-       _T(R9G9B9E5_FLOAT,  9_9_9_E5_FLOAT, NONE,            WZYX),
-
-       _T(Z16_UNORM,            16_UNORM,     R8G8_UNORM,     WZYX),
-       _T(Z24X8_UNORM,          X8Z24_UNORM,  R8G8B8A8_UNORM, WZYX),
-       _T(X24S8_UINT,           8_8_8_8_UINT, R8G8B8A8_UINT,  XYZW),
-       _T(Z24_UNORM_S8_UINT,    X8Z24_UNORM,  R8G8B8A8_UNORM, WZYX),
-       _T(Z32_FLOAT,            32_FLOAT,     R8G8B8A8_UNORM, WZYX),
-       _T(Z32_FLOAT_S8X24_UINT, 32_FLOAT,     R8G8B8A8_UNORM, WZYX),
-       _T(X32_S8X24_UINT,       8_UINT,       R8_UINT,        WZYX),
-
-       /* 48-bit */
-       V_(R16G16B16_UNORM,   16_16_16_UNORM, NONE, WZYX),
-       V_(R16G16B16_SNORM,   16_16_16_SNORM, NONE, WZYX),
-       V_(R16G16B16_UINT,    16_16_16_UINT,  NONE, WZYX),
-       V_(R16G16B16_SINT,    16_16_16_SINT,  NONE, WZYX),
-       V_(R16G16B16_USCALED, 16_16_16_UINT,  NONE, WZYX),
-       V_(R16G16B16_SSCALED, 16_16_16_SINT,  NONE, WZYX),
-       V_(R16G16B16_FLOAT,   16_16_16_FLOAT, NONE, WZYX),
-
-       /* 64-bit */
-       VT(R16G16B16A16_UNORM,   16_16_16_16_UNORM, R16G16B16A16_UNORM, WZYX),
-       VT(R16G16B16X16_UNORM,   16_16_16_16_UNORM, R16G16B16A16_UNORM, WZYX),
-       VT(R16G16B16A16_SNORM,   16_16_16_16_SNORM, R16G16B16A16_SNORM, WZYX),
-       VT(R16G16B16X16_SNORM,   16_16_16_16_SNORM, R16G16B16A16_SNORM, WZYX),
-       VT(R16G16B16A16_UINT,    16_16_16_16_UINT,  R16G16B16A16_UINT,  WZYX),
-       _T(R16G16B16X16_UINT,    16_16_16_16_UINT,  R16G16B16A16_UINT,  WZYX),
-       VT(R16G16B16A16_SINT,    16_16_16_16_SINT,  R16G16B16A16_SINT,  WZYX),
-       _T(R16G16B16X16_SINT,    16_16_16_16_SINT,  R16G16B16A16_SINT,  WZYX),
-       V_(R16G16B16A16_USCALED, 16_16_16_16_UINT,  NONE,               WZYX),
-       V_(R16G16B16A16_SSCALED, 16_16_16_16_SINT,  NONE,               WZYX),
-       VT(R16G16B16A16_FLOAT,   16_16_16_16_FLOAT, R16G16B16A16_FLOAT, WZYX),
-       _T(R16G16B16X16_FLOAT,   16_16_16_16_FLOAT, R16G16B16A16_FLOAT, WZYX),
-
-       VT(R32G32_UINT,    32_32_UINT,  R32G32_UINT, WZYX),
-       VT(R32G32_SINT,    32_32_SINT,  R32G32_SINT, WZYX),
-       V_(R32G32_USCALED, 32_32_UINT,  NONE,        WZYX),
-       V_(R32G32_SSCALED, 32_32_SINT,  NONE,        WZYX),
-       VT(R32G32_FLOAT,   32_32_FLOAT, R32G32_FLOAT,WZYX),
-       V_(R32G32_FIXED,   32_32_FIXED, NONE,        WZYX),
-
-       _T(L32A32_UINT,    32_32_UINT,  NONE,        WZYX),
-       _T(L32A32_SINT,    32_32_SINT,  NONE,        WZYX),
-
-       /* 96-bit */
-       VT(R32G32B32_UINT,    32_32_32_UINT,  NONE, WZYX),
-       VT(R32G32B32_SINT,    32_32_32_SINT,  NONE, WZYX),
-       V_(R32G32B32_USCALED, 32_32_32_UINT,  NONE, WZYX),
-       V_(R32G32B32_SSCALED, 32_32_32_SINT,  NONE, WZYX),
-       VT(R32G32B32_FLOAT,   32_32_32_FLOAT, NONE, WZYX),
-       V_(R32G32B32_FIXED,   32_32_32_FIXED, NONE, WZYX),
-
-       /* 128-bit */
-       VT(R32G32B32A32_UINT,    32_32_32_32_UINT,  R32G32B32A32_UINT,  WZYX),
-       _T(R32G32B32X32_UINT,    32_32_32_32_UINT,  R32G32B32A32_UINT,  WZYX),
-       VT(R32G32B32A32_SINT,    32_32_32_32_SINT,  R32G32B32A32_SINT,  WZYX),
-       _T(R32G32B32X32_SINT,    32_32_32_32_SINT,  R32G32B32A32_SINT,  WZYX),
-       V_(R32G32B32A32_USCALED, 32_32_32_32_UINT,  NONE,               WZYX),
-       V_(R32G32B32A32_SSCALED, 32_32_32_32_SINT,  NONE,               WZYX),
-       VT(R32G32B32A32_FLOAT,   32_32_32_32_FLOAT, R32G32B32A32_FLOAT, WZYX),
-       _T(R32G32B32X32_FLOAT,   32_32_32_32_FLOAT, R32G32B32A32_FLOAT, WZYX),
-       V_(R32G32B32A32_FIXED,   32_32_32_32_FIXED, NONE,               WZYX),
-
-       /* compressed */
-       _T(ETC1_RGB8, ETC1, NONE, WZYX),
-       _T(ETC2_RGB8, ETC2_RGB8, NONE, WZYX),
-       _T(ETC2_SRGB8, ETC2_RGB8, NONE, WZYX),
-       _T(ETC2_RGB8A1, ETC2_RGB8A1, NONE, WZYX),
-       _T(ETC2_SRGB8A1, ETC2_RGB8A1, NONE, WZYX),
-       _T(ETC2_RGBA8, ETC2_RGBA8, NONE, WZYX),
-       _T(ETC2_SRGBA8, ETC2_RGBA8, NONE, WZYX),
-       _T(ETC2_R11_UNORM, ETC2_R11_UNORM, NONE, WZYX),
-       _T(ETC2_R11_SNORM, ETC2_R11_SNORM, NONE, WZYX),
-       _T(ETC2_RG11_UNORM, ETC2_RG11_UNORM, NONE, WZYX),
-       _T(ETC2_RG11_SNORM, ETC2_RG11_SNORM, NONE, WZYX),
-
-       _T(DXT1_RGB,   DXT1, NONE, WZYX),
-       _T(DXT1_SRGB,  DXT1, NONE, WZYX),
-       _T(DXT1_RGBA,  DXT1, NONE, WZYX),
-       _T(DXT1_SRGBA, DXT1, NONE, WZYX),
-       _T(DXT3_RGBA,  DXT3, NONE, WZYX),
-       _T(DXT3_SRGBA, DXT3, NONE, WZYX),
-       _T(DXT5_RGBA,  DXT5, NONE, WZYX),
-       _T(DXT5_SRGBA, DXT5, NONE, WZYX),
-
-       _T(BPTC_RGBA_UNORM, BPTC,        NONE, WZYX),
-       _T(BPTC_SRGBA,      BPTC,        NONE, WZYX),
-       _T(BPTC_RGB_FLOAT,  BPTC_FLOAT,  NONE, WZYX),
-       _T(BPTC_RGB_UFLOAT, BPTC_UFLOAT, NONE, WZYX),
-
-       _T(RGTC1_UNORM, RGTC1_UNORM, NONE, WZYX),
-       _T(RGTC1_SNORM, RGTC1_SNORM, NONE, WZYX),
-       _T(RGTC2_UNORM, RGTC2_UNORM, NONE, WZYX),
-       _T(RGTC2_SNORM, RGTC2_SNORM, NONE, WZYX),
-       _T(LATC1_UNORM, RGTC1_UNORM, NONE, WZYX),
-       _T(LATC1_SNORM, RGTC1_SNORM, NONE, WZYX),
-       _T(LATC2_UNORM, RGTC2_UNORM, NONE, WZYX),
-       _T(LATC2_SNORM, RGTC2_SNORM, NONE, WZYX),
-
-       _T(ASTC_4x4,   ASTC_4x4,   NONE, WZYX),
-       _T(ASTC_5x4,   ASTC_5x4,   NONE, WZYX),
-       _T(ASTC_5x5,   ASTC_5x5,   NONE, WZYX),
-       _T(ASTC_6x5,   ASTC_6x5,   NONE, WZYX),
-       _T(ASTC_6x6,   ASTC_6x6,   NONE, WZYX),
-       _T(ASTC_8x5,   ASTC_8x5,   NONE, WZYX),
-       _T(ASTC_8x6,   ASTC_8x6,   NONE, WZYX),
-       _T(ASTC_8x8,   ASTC_8x8,   NONE, WZYX),
-       _T(ASTC_10x5,  ASTC_10x5,  NONE, WZYX),
-       _T(ASTC_10x6,  ASTC_10x6,  NONE, WZYX),
-       _T(ASTC_10x8,  ASTC_10x8,  NONE, WZYX),
-       _T(ASTC_10x10, ASTC_10x10, NONE, WZYX),
-       _T(ASTC_12x10, ASTC_12x10, NONE, WZYX),
-       _T(ASTC_12x12, ASTC_12x12, NONE, WZYX),
-
-       _T(ASTC_4x4_SRGB,   ASTC_4x4,   NONE, WZYX),
-       _T(ASTC_5x4_SRGB,   ASTC_5x4,   NONE, WZYX),
-       _T(ASTC_5x5_SRGB,   ASTC_5x5,   NONE, WZYX),
-       _T(ASTC_6x5_SRGB,   ASTC_6x5,   NONE, WZYX),
-       _T(ASTC_6x6_SRGB,   ASTC_6x6,   NONE, WZYX),
-       _T(ASTC_8x5_SRGB,   ASTC_8x5,   NONE, WZYX),
-       _T(ASTC_8x6_SRGB,   ASTC_8x6,   NONE, WZYX),
-       _T(ASTC_8x8_SRGB,   ASTC_8x8,   NONE, WZYX),
-       _T(ASTC_10x5_SRGB,  ASTC_10x5,  NONE, WZYX),
-       _T(ASTC_10x6_SRGB,  ASTC_10x6,  NONE, WZYX),
-       _T(ASTC_10x8_SRGB,  ASTC_10x8,  NONE, WZYX),
-       _T(ASTC_10x10_SRGB, ASTC_10x10, NONE, WZYX),
-       _T(ASTC_12x10_SRGB, ASTC_12x10, NONE, WZYX),
-       _T(ASTC_12x12_SRGB, ASTC_12x12, NONE, WZYX),
+   /* 8-bit */
+   VT(R8_UNORM,   8_UNORM, R8_UNORM, WZYX),
+   VT(R8_SNORM,   8_SNORM, R8_SNORM, WZYX),
+   VT(R8_UINT,    8_UINT,  R8_UINT,  WZYX),
+   VT(R8_SINT,    8_SINT,  R8_SINT,  WZYX),
+   V_(R8_USCALED, 8_UINT,  NONE,     WZYX),
+   V_(R8_SSCALED, 8_SINT,  NONE,     WZYX),
+
+   _T(A8_UNORM,   8_UNORM, A8_UNORM, WZYX),
+   _T(L8_UNORM,   8_UNORM, R8_UNORM, WZYX),
+   _T(I8_UNORM,   8_UNORM, NONE,     WZYX),
+
+   _T(A8_UINT,    8_UINT,  NONE,     WZYX),
+   _T(A8_SINT,    8_SINT,  NONE,     WZYX),
+   _T(L8_UINT,    8_UINT,  NONE,     WZYX),
+   _T(L8_SINT,    8_SINT,  NONE,     WZYX),
+   _T(I8_UINT,    8_UINT,  NONE,     WZYX),
+   _T(I8_SINT,    8_SINT,  NONE,     WZYX),
+
+   _T(S8_UINT,    8_UINT,  R8_UNORM, WZYX),
+
+   /* 16-bit */
+   VT(R16_UNORM,   16_UNORM, R16_UNORM, WZYX),
+   VT(R16_SNORM,   16_SNORM, R16_SNORM, WZYX),
+   VT(R16_UINT,    16_UINT,  R16_UINT,  WZYX),
+   VT(R16_SINT,    16_SINT,  R16_SINT,  WZYX),
+   V_(R16_USCALED, 16_UINT,  NONE,      WZYX),
+   V_(R16_SSCALED, 16_SINT,  NONE,      WZYX),
+   VT(R16_FLOAT,   16_FLOAT, R16_FLOAT, WZYX),
+
+   _T(A16_UNORM,   16_UNORM, NONE,      WZYX),
+   _T(A16_SNORM,   16_SNORM, NONE,      WZYX),
+   _T(A16_UINT,    16_UINT,  NONE,      WZYX),
+   _T(A16_SINT,    16_SINT,  NONE,      WZYX),
+   _T(L16_UNORM,   16_UNORM, NONE,      WZYX),
+   _T(L16_SNORM,   16_SNORM, NONE,      WZYX),
+   _T(L16_UINT,    16_UINT,  NONE,      WZYX),
+   _T(L16_SINT,    16_SINT,  NONE,      WZYX),
+   _T(I16_UNORM,   16_UNORM, NONE,      WZYX),
+   _T(I16_SNORM,   16_SNORM, NONE,      WZYX),
+   _T(I16_UINT,    16_UINT,  NONE,      WZYX),
+   _T(I16_SINT,    16_SINT,  NONE,      WZYX),
+
+   VT(R8G8_UNORM,   8_8_UNORM, R8G8_UNORM, WZYX),
+   VT(R8G8_SNORM,   8_8_SNORM, R8G8_SNORM, WZYX),
+   VT(R8G8_UINT,    8_8_UINT,  R8G8_UINT,  WZYX),
+   VT(R8G8_SINT,    8_8_SINT,  R8G8_SINT,  WZYX),
+   V_(R8G8_USCALED, 8_8_UINT,  NONE,       WZYX),
+   V_(R8G8_SSCALED, 8_8_SINT,  NONE,       WZYX),
+
+   _T(L8A8_UINT,    8_8_UINT,  NONE,       WZYX),
+   _T(L8A8_SINT,    8_8_SINT,  NONE,       WZYX),
+
+   _T(B5G6R5_UNORM,   5_6_5_UNORM,   R5G6B5_UNORM,   WXYZ),
+   _T(B5G5R5A1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
+   _T(B5G5R5X1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
+   _T(B4G4R4A4_UNORM, 4_4_4_4_UNORM, R4G4B4A4_UNORM, WXYZ),
+
+   /* 24-bit */
+   V_(R8G8B8_UNORM,   8_8_8_UNORM, NONE, WZYX),
+   V_(R8G8B8_SNORM,   8_8_8_SNORM, NONE, WZYX),
+   V_(R8G8B8_UINT,    8_8_8_UINT,  NONE, WZYX),
+   V_(R8G8B8_SINT,    8_8_8_SINT,  NONE, WZYX),
+   V_(R8G8B8_USCALED, 8_8_8_UINT,  NONE, WZYX),
+   V_(R8G8B8_SSCALED, 8_8_8_SINT,  NONE, WZYX),
+
+   /* 32-bit */
+   VT(R32_UINT,    32_UINT,  R32_UINT, WZYX),
+   VT(R32_SINT,    32_SINT,  R32_SINT, WZYX),
+   V_(R32_USCALED, 32_UINT,  NONE,     WZYX),
+   V_(R32_SSCALED, 32_SINT,  NONE,     WZYX),
+   VT(R32_FLOAT,   32_FLOAT, R32_FLOAT,WZYX),
+   V_(R32_FIXED,   32_FIXED, NONE,     WZYX),
+
+   _T(A32_UINT,    32_UINT,  NONE,     WZYX),
+   _T(A32_SINT,    32_SINT,  NONE,     WZYX),
+   _T(L32_UINT,    32_UINT,  NONE,     WZYX),
+   _T(L32_SINT,    32_SINT,  NONE,     WZYX),
+   _T(I32_UINT,    32_UINT,  NONE,     WZYX),
+   _T(I32_SINT,    32_SINT,  NONE,     WZYX),
+
+   VT(R16G16_UNORM,   16_16_UNORM, R16G16_UNORM, WZYX),
+   VT(R16G16_SNORM,   16_16_SNORM, R16G16_SNORM, WZYX),
+   VT(R16G16_UINT,    16_16_UINT,  R16G16_UINT,  WZYX),
+   VT(R16G16_SINT,    16_16_SINT,  R16G16_SINT,  WZYX),
+   V_(R16G16_USCALED, 16_16_UINT,  NONE,         WZYX),
+   V_(R16G16_SSCALED, 16_16_SINT,  NONE,         WZYX),
+   VT(R16G16_FLOAT,   16_16_FLOAT, R16G16_FLOAT, WZYX),
+
+   _T(L16A16_UNORM,   16_16_UNORM, NONE,         WZYX),
+   _T(L16A16_SNORM,   16_16_SNORM, NONE,         WZYX),
+   _T(L16A16_UINT,    16_16_UINT,  NONE,         WZYX),
+   _T(L16A16_SINT,    16_16_SINT,  NONE,         WZYX),
+
+   VT(R8G8B8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(R8G8B8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(R8G8B8A8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(R8G8B8X8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
+   VT(R8G8B8A8_SNORM,   8_8_8_8_SNORM, R8G8B8A8_SNORM, WZYX),
+   VT(R8G8B8A8_UINT,    8_8_8_8_UINT,  R8G8B8A8_UINT,  WZYX),
+   VT(R8G8B8A8_SINT,    8_8_8_8_SINT,  R8G8B8A8_SINT,  WZYX),
+   V_(R8G8B8A8_USCALED, 8_8_8_8_UINT,  NONE,           WZYX),
+   V_(R8G8B8A8_SSCALED, 8_8_8_8_SINT,  NONE,           WZYX),
+
+   VT(B8G8R8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
+   _T(B8G8R8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
+   VT(B8G8R8A8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
+   _T(B8G8R8X8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
+
+   VT(A8B8G8R8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
+   _T(X8B8G8R8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
+   _T(A8B8G8R8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
+   _T(X8B8G8R8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
+
+   VT(A8R8G8B8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
+   _T(X8R8G8B8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
+   _T(A8R8G8B8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
+   _T(X8R8G8B8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
+
+   VT(R10G10B10A2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WZYX),
+   VT(B10G10R10A2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WXYZ),
+   _T(B10G10R10X2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WXYZ),
+   V_(R10G10B10A2_SNORM,   10_10_10_2_SNORM, NONE,              WZYX),
+   V_(B10G10R10A2_SNORM,   10_10_10_2_SNORM, NONE,              WXYZ),
+   VT(R10G10B10A2_UINT,    10_10_10_2_UINT,  R10G10B10A2_UINT,  WZYX),
+   VT(B10G10R10A2_UINT,    10_10_10_2_UINT,  R10G10B10A2_UINT,  WXYZ),
+   V_(R10G10B10A2_USCALED, 10_10_10_2_UINT,  NONE,              WZYX),
+   V_(B10G10R10A2_USCALED, 10_10_10_2_UINT,  NONE,              WXYZ),
+   V_(R10G10B10A2_SSCALED, 10_10_10_2_SINT,  NONE,              WZYX),
+   V_(B10G10R10A2_SSCALED, 10_10_10_2_SINT,  NONE,              WXYZ),
+
+   VT(R11G11B10_FLOAT, 11_11_10_FLOAT, R11G11B10_FLOAT, WZYX),
+   _T(R9G9B9E5_FLOAT,  9_9_9_E5_FLOAT, NONE,            WZYX),
+
+   _T(Z16_UNORM,            16_UNORM,     R8G8_UNORM,     WZYX),
+   _T(Z24X8_UNORM,          X8Z24_UNORM,  R8G8B8A8_UNORM, WZYX),
+   _T(X24S8_UINT,           8_8_8_8_UINT, R8G8B8A8_UINT,  XYZW),
+   _T(Z24_UNORM_S8_UINT,    X8Z24_UNORM,  R8G8B8A8_UNORM, WZYX),
+   _T(Z32_FLOAT,            32_FLOAT,     R8G8B8A8_UNORM, WZYX),
+   _T(Z32_FLOAT_S8X24_UINT, 32_FLOAT,     R8G8B8A8_UNORM, WZYX),
+   _T(X32_S8X24_UINT,       8_UINT,       R8_UINT,        WZYX),
+
+   /* 48-bit */
+   V_(R16G16B16_UNORM,   16_16_16_UNORM, NONE, WZYX),
+   V_(R16G16B16_SNORM,   16_16_16_SNORM, NONE, WZYX),
+   V_(R16G16B16_UINT,    16_16_16_UINT,  NONE, WZYX),
+   V_(R16G16B16_SINT,    16_16_16_SINT,  NONE, WZYX),
+   V_(R16G16B16_USCALED, 16_16_16_UINT,  NONE, WZYX),
+   V_(R16G16B16_SSCALED, 16_16_16_SINT,  NONE, WZYX),
+   V_(R16G16B16_FLOAT,   16_16_16_FLOAT, NONE, WZYX),
+
+   /* 64-bit */
+   VT(R16G16B16A16_UNORM,   16_16_16_16_UNORM, R16G16B16A16_UNORM, WZYX),
+   VT(R16G16B16X16_UNORM,   16_16_16_16_UNORM, R16G16B16A16_UNORM, WZYX),
+   VT(R16G16B16A16_SNORM,   16_16_16_16_SNORM, R16G16B16A16_SNORM, WZYX),
+   VT(R16G16B16X16_SNORM,   16_16_16_16_SNORM, R16G16B16A16_SNORM, WZYX),
+   VT(R16G16B16A16_UINT,    16_16_16_16_UINT,  R16G16B16A16_UINT,  WZYX),
+   _T(R16G16B16X16_UINT,    16_16_16_16_UINT,  R16G16B16A16_UINT,  WZYX),
+   VT(R16G16B16A16_SINT,    16_16_16_16_SINT,  R16G16B16A16_SINT,  WZYX),
+   _T(R16G16B16X16_SINT,    16_16_16_16_SINT,  R16G16B16A16_SINT,  WZYX),
+   V_(R16G16B16A16_USCALED, 16_16_16_16_UINT,  NONE,               WZYX),
+   V_(R16G16B16A16_SSCALED, 16_16_16_16_SINT,  NONE,               WZYX),
+   VT(R16G16B16A16_FLOAT,   16_16_16_16_FLOAT, R16G16B16A16_FLOAT, WZYX),
+   _T(R16G16B16X16_FLOAT,   16_16_16_16_FLOAT, R16G16B16A16_FLOAT, WZYX),
+
+   VT(R32G32_UINT,    32_32_UINT,  R32G32_UINT, WZYX),
+   VT(R32G32_SINT,    32_32_SINT,  R32G32_SINT, WZYX),
+   V_(R32G32_USCALED, 32_32_UINT,  NONE,        WZYX),
+   V_(R32G32_SSCALED, 32_32_SINT,  NONE,        WZYX),
+   VT(R32G32_FLOAT,   32_32_FLOAT, R32G32_FLOAT,WZYX),
+   V_(R32G32_FIXED,   32_32_FIXED, NONE,        WZYX),
+
+   _T(L32A32_UINT,    32_32_UINT,  NONE,        WZYX),
+   _T(L32A32_SINT,    32_32_SINT,  NONE,        WZYX),
+
+   /* 96-bit */
+   VT(R32G32B32_UINT,    32_32_32_UINT,  NONE, WZYX),
+   VT(R32G32B32_SINT,    32_32_32_SINT,  NONE, WZYX),
+   V_(R32G32B32_USCALED, 32_32_32_UINT,  NONE, WZYX),
+   V_(R32G32B32_SSCALED, 32_32_32_SINT,  NONE, WZYX),
+   VT(R32G32B32_FLOAT,   32_32_32_FLOAT, NONE, WZYX),
+   V_(R32G32B32_FIXED,   32_32_32_FIXED, NONE, WZYX),
+
+   /* 128-bit */
+   VT(R32G32B32A32_UINT,    32_32_32_32_UINT,  R32G32B32A32_UINT,  WZYX),
+   _T(R32G32B32X32_UINT,    32_32_32_32_UINT,  R32G32B32A32_UINT,  WZYX),
+   VT(R32G32B32A32_SINT,    32_32_32_32_SINT,  R32G32B32A32_SINT,  WZYX),
+   _T(R32G32B32X32_SINT,    32_32_32_32_SINT,  R32G32B32A32_SINT,  WZYX),
+   V_(R32G32B32A32_USCALED, 32_32_32_32_UINT,  NONE,               WZYX),
+   V_(R32G32B32A32_SSCALED, 32_32_32_32_SINT,  NONE,               WZYX),
+   VT(R32G32B32A32_FLOAT,   32_32_32_32_FLOAT, R32G32B32A32_FLOAT, WZYX),
+   _T(R32G32B32X32_FLOAT,   32_32_32_32_FLOAT, R32G32B32A32_FLOAT, WZYX),
+   V_(R32G32B32A32_FIXED,   32_32_32_32_FIXED, NONE,               WZYX),
+
+   /* compressed */
+   _T(ETC1_RGB8, ETC1, NONE, WZYX),
+   _T(ETC2_RGB8, ETC2_RGB8, NONE, WZYX),
+   _T(ETC2_SRGB8, ETC2_RGB8, NONE, WZYX),
+   _T(ETC2_RGB8A1, ETC2_RGB8A1, NONE, WZYX),
+   _T(ETC2_SRGB8A1, ETC2_RGB8A1, NONE, WZYX),
+   _T(ETC2_RGBA8, ETC2_RGBA8, NONE, WZYX),
+   _T(ETC2_SRGBA8, ETC2_RGBA8, NONE, WZYX),
+   _T(ETC2_R11_UNORM, ETC2_R11_UNORM, NONE, WZYX),
+   _T(ETC2_R11_SNORM, ETC2_R11_SNORM, NONE, WZYX),
+   _T(ETC2_RG11_UNORM, ETC2_RG11_UNORM, NONE, WZYX),
+   _T(ETC2_RG11_SNORM, ETC2_RG11_SNORM, NONE, WZYX),
+
+   _T(DXT1_RGB,   DXT1, NONE, WZYX),
+   _T(DXT1_SRGB,  DXT1, NONE, WZYX),
+   _T(DXT1_RGBA,  DXT1, NONE, WZYX),
+   _T(DXT1_SRGBA, DXT1, NONE, WZYX),
+   _T(DXT3_RGBA,  DXT3, NONE, WZYX),
+   _T(DXT3_SRGBA, DXT3, NONE, WZYX),
+   _T(DXT5_RGBA,  DXT5, NONE, WZYX),
+   _T(DXT5_SRGBA, DXT5, NONE, WZYX),
+
+   _T(BPTC_RGBA_UNORM, BPTC,        NONE, WZYX),
+   _T(BPTC_SRGBA,      BPTC,        NONE, WZYX),
+   _T(BPTC_RGB_FLOAT,  BPTC_FLOAT,  NONE, WZYX),
+   _T(BPTC_RGB_UFLOAT, BPTC_UFLOAT, NONE, WZYX),
+
+   _T(RGTC1_UNORM, RGTC1_UNORM, NONE, WZYX),
+   _T(RGTC1_SNORM, RGTC1_SNORM, NONE, WZYX),
+   _T(RGTC2_UNORM, RGTC2_UNORM, NONE, WZYX),
+   _T(RGTC2_SNORM, RGTC2_SNORM, NONE, WZYX),
+   _T(LATC1_UNORM, RGTC1_UNORM, NONE, WZYX),
+   _T(LATC1_SNORM, RGTC1_SNORM, NONE, WZYX),
+   _T(LATC2_UNORM, RGTC2_UNORM, NONE, WZYX),
+   _T(LATC2_SNORM, RGTC2_SNORM, NONE, WZYX),
+
+   _T(ASTC_4x4,   ASTC_4x4,   NONE, WZYX),
+   _T(ASTC_5x4,   ASTC_5x4,   NONE, WZYX),
+   _T(ASTC_5x5,   ASTC_5x5,   NONE, WZYX),
+   _T(ASTC_6x5,   ASTC_6x5,   NONE, WZYX),
+   _T(ASTC_6x6,   ASTC_6x6,   NONE, WZYX),
+   _T(ASTC_8x5,   ASTC_8x5,   NONE, WZYX),
+   _T(ASTC_8x6,   ASTC_8x6,   NONE, WZYX),
+   _T(ASTC_8x8,   ASTC_8x8,   NONE, WZYX),
+   _T(ASTC_10x5,  ASTC_10x5,  NONE, WZYX),
+   _T(ASTC_10x6,  ASTC_10x6,  NONE, WZYX),
+   _T(ASTC_10x8,  ASTC_10x8,  NONE, WZYX),
+   _T(ASTC_10x10, ASTC_10x10, NONE, WZYX),
+   _T(ASTC_12x10, ASTC_12x10, NONE, WZYX),
+   _T(ASTC_12x12, ASTC_12x12, NONE, WZYX),
+
+   _T(ASTC_4x4_SRGB,   ASTC_4x4,   NONE, WZYX),
+   _T(ASTC_5x4_SRGB,   ASTC_5x4,   NONE, WZYX),
+   _T(ASTC_5x5_SRGB,   ASTC_5x5,   NONE, WZYX),
+   _T(ASTC_6x5_SRGB,   ASTC_6x5,   NONE, WZYX),
+   _T(ASTC_6x6_SRGB,   ASTC_6x6,   NONE, WZYX),
+   _T(ASTC_8x5_SRGB,   ASTC_8x5,   NONE, WZYX),
+   _T(ASTC_8x6_SRGB,   ASTC_8x6,   NONE, WZYX),
+   _T(ASTC_8x8_SRGB,   ASTC_8x8,   NONE, WZYX),
+   _T(ASTC_10x5_SRGB,  ASTC_10x5,  NONE, WZYX),
+   _T(ASTC_10x6_SRGB,  ASTC_10x6,  NONE, WZYX),
+   _T(ASTC_10x8_SRGB,  ASTC_10x8,  NONE, WZYX),
+   _T(ASTC_10x10_SRGB, ASTC_10x10, NONE, WZYX),
+   _T(ASTC_12x10_SRGB, ASTC_12x10, NONE, WZYX),
+   _T(ASTC_12x12_SRGB, ASTC_12x12, NONE, WZYX),
 };
+/* clang-format on */
 
 /* convert pipe format to vertex buffer format: */
 enum a4xx_vtx_fmt
index 0bef048..bd92c5f 100644 (file)
@@ -58,16 +58,18 @@ fd5_context_destroy(struct pipe_context *pctx)
        free(fd5_ctx);
 }
 
+/* clang-format off */
 static const uint8_t primtypes[] = {
-               [PIPE_PRIM_POINTS]         = DI_PT_POINTLIST,
-               [PIPE_PRIM_LINES]          = DI_PT_LINELIST,
-               [PIPE_PRIM_LINE_STRIP]     = DI_PT_LINESTRIP,
-               [PIPE_PRIM_LINE_LOOP]      = DI_PT_LINELOOP,
-               [PIPE_PRIM_TRIANGLES]      = DI_PT_TRILIST,
-               [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP,
-               [PIPE_PRIM_TRIANGLE_FAN]   = DI_PT_TRIFAN,
-               [PIPE_PRIM_MAX]            = DI_PT_RECTLIST,  /* internal clear blits */
+   [PIPE_PRIM_POINTS]         = DI_PT_POINTLIST,
+   [PIPE_PRIM_LINES]          = DI_PT_LINELIST,
+   [PIPE_PRIM_LINE_STRIP]     = DI_PT_LINESTRIP,
+   [PIPE_PRIM_LINE_LOOP]      = DI_PT_LINELOOP,
+   [PIPE_PRIM_TRIANGLES]      = DI_PT_TRILIST,
+   [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP,
+   [PIPE_PRIM_TRIANGLE_FAN]   = DI_PT_TRIFAN,
+   [PIPE_PRIM_MAX]            = DI_PT_RECTLIST,  /* internal clear blits */
 };
+/* clang-format on */
 
 struct pipe_context *
 fd5_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags)
index f5a17ce..847c379 100644 (file)
@@ -72,270 +72,272 @@ struct fd5_format {
                .swap = swapfmt \
        }
 
+/* clang-format off */
 static struct fd5_format formats[PIPE_FORMAT_COUNT] = {
-       /* for blitting, treat PIPE_FORMAT_NONE as 8bit R8: */
-       _T(R8_UINT,    8_UINT,  R8_UINT,  WZYX),
-
-       /* 8-bit */
-       VT(R8_UNORM,   8_UNORM, R8_UNORM, WZYX),
-       VT(R8_SNORM,   8_SNORM, R8_SNORM, WZYX),
-       VT(R8_UINT,    8_UINT,  R8_UINT,  WZYX),
-       VT(R8_SINT,    8_SINT,  R8_SINT,  WZYX),
-       V_(R8_USCALED, 8_UINT,  NONE,     WZYX),
-       V_(R8_SSCALED, 8_SINT,  NONE,     WZYX),
-
-       _T(A8_UNORM,   8_UNORM, A8_UNORM, WZYX),
-       _T(L8_UNORM,   8_UNORM, R8_UNORM, WZYX),
-       _T(I8_UNORM,   8_UNORM, NONE,     WZYX),
-
-       _T(A8_UINT,    8_UINT,  NONE,     WZYX),
-       _T(A8_SINT,    8_SINT,  NONE,     WZYX),
-       _T(L8_UINT,    8_UINT,  NONE,     WZYX),
-       _T(L8_SINT,    8_SINT,  NONE,     WZYX),
-       _T(I8_UINT,    8_UINT,  NONE,     WZYX),
-       _T(I8_SINT,    8_SINT,  NONE,     WZYX),
-
-       _T(S8_UINT,    8_UINT,  R8_UNORM, WZYX),
-
-       /* 16-bit */
-       VT(R16_UNORM,   16_UNORM, R16_UNORM, WZYX),
-       VT(R16_SNORM,   16_SNORM, R16_SNORM, WZYX),
-       VT(R16_UINT,    16_UINT,  R16_UINT,  WZYX),
-       VT(R16_SINT,    16_SINT,  R16_SINT,  WZYX),
-       V_(R16_USCALED, 16_UINT,  NONE,      WZYX),
-       V_(R16_SSCALED, 16_SINT,  NONE,      WZYX),
-       VT(R16_FLOAT,   16_FLOAT, R16_FLOAT, WZYX),
-       _T(Z16_UNORM,   16_UNORM, R16_UNORM, WZYX),
-
-       _T(A16_UNORM,   16_UNORM, NONE,      WZYX),
-       _T(A16_SNORM,   16_SNORM, NONE,      WZYX),
-       _T(A16_UINT,    16_UINT,  NONE,      WZYX),
-       _T(A16_SINT,    16_SINT,  NONE,      WZYX),
-       _T(L16_UNORM,   16_UNORM, NONE,      WZYX),
-       _T(L16_SNORM,   16_SNORM, NONE,      WZYX),
-       _T(L16_UINT,    16_UINT,  NONE,      WZYX),
-       _T(L16_SINT,    16_SINT,  NONE,      WZYX),
-       _T(I16_UNORM,   16_UNORM, NONE,      WZYX),
-       _T(I16_SNORM,   16_SNORM, NONE,      WZYX),
-       _T(I16_UINT,    16_UINT,  NONE,      WZYX),
-       _T(I16_SINT,    16_SINT,  NONE,      WZYX),
-
-       VT(R8G8_UNORM,   8_8_UNORM, R8G8_UNORM, WZYX),
-       VT(R8G8_SNORM,   8_8_SNORM, R8G8_SNORM, WZYX),
-       VT(R8G8_UINT,    8_8_UINT,  R8G8_UINT,  WZYX),
-       VT(R8G8_SINT,    8_8_SINT,  R8G8_SINT,  WZYX),
-       V_(R8G8_USCALED, 8_8_UINT,  NONE,       WZYX),
-       V_(R8G8_SSCALED, 8_8_SINT,  NONE,       WZYX),
-
-       _T(L8A8_UINT,    8_8_UINT,  NONE,       WZYX),
-       _T(L8A8_SINT,    8_8_SINT,  NONE,       WZYX),
-
-       _T(B5G6R5_UNORM,   5_6_5_UNORM,   R5G6B5_UNORM,   WXYZ),
-       _T(B5G5R5A1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
-       _T(B5G5R5X1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
-       _T(B4G4R4A4_UNORM, 4_4_4_4_UNORM, R4G4B4A4_UNORM, WXYZ),
-
-       /* 24-bit */
-       V_(R8G8B8_UNORM,   8_8_8_UNORM, NONE, WZYX),
-       V_(R8G8B8_SNORM,   8_8_8_SNORM, NONE, WZYX),
-       V_(R8G8B8_UINT,    8_8_8_UINT,  NONE, WZYX),
-       V_(R8G8B8_SINT,    8_8_8_SINT,  NONE, WZYX),
-       V_(R8G8B8_USCALED, 8_8_8_UINT,  NONE, WZYX),
-       V_(R8G8B8_SSCALED, 8_8_8_SINT,  NONE, WZYX),
-
-       /* 32-bit */
-       VT(R32_UINT,    32_UINT,  R32_UINT, WZYX),
-       VT(R32_SINT,    32_SINT,  R32_SINT, WZYX),
-       V_(R32_USCALED, 32_UINT,  NONE,     WZYX),
-       V_(R32_SSCALED, 32_SINT,  NONE,     WZYX),
-       VT(R32_FLOAT,   32_FLOAT, R32_FLOAT,WZYX),
-       V_(R32_FIXED,   32_FIXED, NONE,     WZYX),
-
-       _T(A32_UINT,    32_UINT,  NONE,     WZYX),
-       _T(A32_SINT,    32_SINT,  NONE,     WZYX),
-       _T(L32_UINT,    32_UINT,  NONE,     WZYX),
-       _T(L32_SINT,    32_SINT,  NONE,     WZYX),
-       _T(I32_UINT,    32_UINT,  NONE,     WZYX),
-       _T(I32_SINT,    32_SINT,  NONE,     WZYX),
-
-       VT(R16G16_UNORM,   16_16_UNORM, R16G16_UNORM, WZYX),
-       VT(R16G16_SNORM,   16_16_SNORM, R16G16_SNORM, WZYX),
-       VT(R16G16_UINT,    16_16_UINT,  R16G16_UINT,  WZYX),
-       VT(R16G16_SINT,    16_16_SINT,  R16G16_SINT,  WZYX),
-       VT(R16G16_USCALED, 16_16_UINT,  NONE,         WZYX),
-       VT(R16G16_SSCALED, 16_16_SINT,  NONE,         WZYX),
-       VT(R16G16_FLOAT,   16_16_FLOAT, R16G16_FLOAT, WZYX),
-
-       _T(L16A16_UNORM,   16_16_UNORM, NONE,         WZYX),
-       _T(L16A16_SNORM,   16_16_SNORM, NONE,         WZYX),
-       _T(L16A16_UINT,    16_16_UINT,  NONE,         WZYX),
-       _T(L16A16_SINT,    16_16_SINT,  NONE,         WZYX),
-
-       VT(R8G8B8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(R8G8B8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(R8G8B8A8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(R8G8B8X8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
-       VT(R8G8B8A8_SNORM,   8_8_8_8_SNORM, R8G8B8A8_SNORM, WZYX),
-       VT(R8G8B8A8_UINT,    8_8_8_8_UINT,  R8G8B8A8_UINT,  WZYX),
-       VT(R8G8B8A8_SINT,    8_8_8_8_SINT,  R8G8B8A8_SINT,  WZYX),
-       V_(R8G8B8A8_USCALED, 8_8_8_8_UINT,  NONE,           WZYX),
-       V_(R8G8B8A8_SSCALED, 8_8_8_8_SINT,  NONE,           WZYX),
-
-       VT(B8G8R8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
-       _T(B8G8R8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
-       VT(B8G8R8A8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
-       _T(B8G8R8X8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
-
-       VT(A8B8G8R8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
-       _T(X8B8G8R8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
-       _T(A8B8G8R8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
-       _T(X8B8G8R8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
-
-       VT(A8R8G8B8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
-       _T(X8R8G8B8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
-       _T(A8R8G8B8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
-       _T(X8R8G8B8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
-
-       VT(R10G10B10A2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WZYX),
-       VT(B10G10R10A2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WXYZ),
-       _T(B10G10R10X2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WXYZ),
-       V_(R10G10B10A2_SNORM,   10_10_10_2_SNORM, NONE,              WZYX),
-       V_(B10G10R10A2_SNORM,   10_10_10_2_SNORM, NONE,              WXYZ),
-       VT(R10G10B10A2_UINT,    10_10_10_2_UINT,  R10G10B10A2_UINT,  WZYX),
-       VT(B10G10R10A2_UINT,    10_10_10_2_UINT,  R10G10B10A2_UINT,  WXYZ),
-       V_(R10G10B10A2_USCALED, 10_10_10_2_UINT,  NONE,              WZYX),
-       V_(B10G10R10A2_USCALED, 10_10_10_2_UINT,  NONE,              WXYZ),
-       V_(R10G10B10A2_SSCALED, 10_10_10_2_SINT,  NONE,              WZYX),
-       V_(B10G10R10A2_SSCALED, 10_10_10_2_SINT,  NONE,              WXYZ),
-
-       VT(R11G11B10_FLOAT, 11_11_10_FLOAT, R11G11B10_FLOAT, WZYX),
-       _T(R9G9B9E5_FLOAT,  9_9_9_E5_FLOAT, NONE,            WZYX),
-
-       _T(Z24X8_UNORM,       X8Z24_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(X24S8_UINT,        8_8_8_8_UINT, R8G8B8A8_UINT, XYZW),
-       _T(Z24_UNORM_S8_UINT, X8Z24_UNORM, R8G8B8A8_UNORM, WZYX),
-       _T(Z32_FLOAT,         32_FLOAT,    R8G8B8A8_UNORM, WZYX),
-       _T(Z32_FLOAT_S8X24_UINT, 32_FLOAT, R8G8B8A8_UNORM, WZYX),
-       _T(X32_S8X24_UINT,    8_UINT,      R8_UINT,        WZYX),
-
-       /* 48-bit */
-       V_(R16G16B16_UNORM,   16_16_16_UNORM, NONE, WZYX),
-       V_(R16G16B16_SNORM,   16_16_16_SNORM, NONE, WZYX),
-       V_(R16G16B16_UINT,    16_16_16_UINT,  NONE, WZYX),
-       V_(R16G16B16_SINT,    16_16_16_SINT,  NONE, WZYX),
-       V_(R16G16B16_USCALED, 16_16_16_UINT,  NONE, WZYX),
-       V_(R16G16B16_SSCALED, 16_16_16_SINT,  NONE, WZYX),
-       V_(R16G16B16_FLOAT,   16_16_16_FLOAT, NONE, WZYX),
-
-       /* 64-bit */
-       VT(R16G16B16A16_UNORM,   16_16_16_16_UNORM, R16G16B16A16_UNORM, WZYX),
-       VT(R16G16B16X16_UNORM,   16_16_16_16_UNORM, R16G16B16A16_UNORM, WZYX),
-       VT(R16G16B16A16_SNORM,   16_16_16_16_SNORM, R16G16B16A16_SNORM, WZYX),
-       VT(R16G16B16X16_SNORM,   16_16_16_16_SNORM, R16G16B16A16_SNORM, WZYX),
-       VT(R16G16B16A16_UINT,    16_16_16_16_UINT,  R16G16B16A16_UINT,  WZYX),
-       VT(R16G16B16X16_UINT,    16_16_16_16_UINT,  R16G16B16A16_UINT,  WZYX),
-       VT(R16G16B16A16_SINT,    16_16_16_16_SINT,  R16G16B16A16_SINT,  WZYX),
-       VT(R16G16B16X16_SINT,    16_16_16_16_SINT,  R16G16B16A16_SINT,  WZYX),
-       VT(R16G16B16A16_USCALED, 16_16_16_16_UINT,  NONE,               WZYX),
-       VT(R16G16B16A16_SSCALED, 16_16_16_16_SINT,  NONE,               WZYX),
-       VT(R16G16B16A16_FLOAT,   16_16_16_16_FLOAT, R16G16B16A16_FLOAT, WZYX),
-       VT(R16G16B16X16_FLOAT,   16_16_16_16_FLOAT, R16G16B16A16_FLOAT, WZYX),
-
-       VT(R32G32_UINT,    32_32_UINT,  R32G32_UINT, WZYX),
-       VT(R32G32_SINT,    32_32_SINT,  R32G32_SINT, WZYX),
-       V_(R32G32_USCALED, 32_32_UINT,  NONE,        WZYX),
-       V_(R32G32_SSCALED, 32_32_SINT,  NONE,        WZYX),
-       VT(R32G32_FLOAT,   32_32_FLOAT, R32G32_FLOAT,WZYX),
-       V_(R32G32_FIXED,   32_32_FIXED, NONE,        WZYX),
-
-       _T(L32A32_UINT,    32_32_UINT,  NONE,        WZYX),
-       _T(L32A32_SINT,    32_32_SINT,  NONE,        WZYX),
-
-       /* 96-bit */
-       VT(R32G32B32_UINT,    32_32_32_UINT,  NONE, WZYX),
-       VT(R32G32B32_SINT,    32_32_32_SINT,  NONE, WZYX),
-       V_(R32G32B32_USCALED, 32_32_32_UINT,  NONE, WZYX),
-       V_(R32G32B32_SSCALED, 32_32_32_SINT,  NONE, WZYX),
-       VT(R32G32B32_FLOAT,   32_32_32_FLOAT, NONE, WZYX),
-       V_(R32G32B32_FIXED,   32_32_32_FIXED, NONE, WZYX),
-
-       /* 128-bit */
-       VT(R32G32B32A32_UINT,    32_32_32_32_UINT,  R32G32B32A32_UINT,  WZYX),
-       _T(R32G32B32X32_UINT,    32_32_32_32_UINT,  R32G32B32A32_UINT,  WZYX),
-       VT(R32G32B32A32_SINT,    32_32_32_32_SINT,  R32G32B32A32_SINT,  WZYX),
-       _T(R32G32B32X32_SINT,    32_32_32_32_SINT,  R32G32B32A32_SINT,  WZYX),
-       V_(R32G32B32A32_USCALED, 32_32_32_32_UINT,  NONE,               WZYX),
-       V_(R32G32B32A32_SSCALED, 32_32_32_32_SINT,  NONE,               WZYX),
-       VT(R32G32B32A32_FLOAT,   32_32_32_32_FLOAT, R32G32B32A32_FLOAT, WZYX),
-       _T(R32G32B32X32_FLOAT,   32_32_32_32_FLOAT, R32G32B32A32_FLOAT, WZYX),
-       V_(R32G32B32A32_FIXED,   32_32_32_32_FIXED, NONE,               WZYX),
-
-       /* compressed */
-       _T(ETC1_RGB8, ETC1, NONE, WZYX),
-       _T(ETC2_RGB8, ETC2_RGB8, NONE, WZYX),
-       _T(ETC2_SRGB8, ETC2_RGB8, NONE, WZYX),
-       _T(ETC2_RGB8A1, ETC2_RGB8A1, NONE, WZYX),
-       _T(ETC2_SRGB8A1, ETC2_RGB8A1, NONE, WZYX),
-       _T(ETC2_RGBA8, ETC2_RGBA8, NONE, WZYX),
-       _T(ETC2_SRGBA8, ETC2_RGBA8, NONE, WZYX),
-       _T(ETC2_R11_UNORM, ETC2_R11_UNORM, NONE, WZYX),
-       _T(ETC2_R11_SNORM, ETC2_R11_SNORM, NONE, WZYX),
-       _T(ETC2_RG11_UNORM, ETC2_RG11_UNORM, NONE, WZYX),
-       _T(ETC2_RG11_SNORM, ETC2_RG11_SNORM, NONE, WZYX),
-
-       _T(DXT1_RGB,   DXT1, NONE, WZYX),
-       _T(DXT1_SRGB,  DXT1, NONE, WZYX),
-       _T(DXT1_RGBA,  DXT1, NONE, WZYX),
-       _T(DXT1_SRGBA, DXT1, NONE, WZYX),
-       _T(DXT3_RGBA,  DXT3, NONE, WZYX),
-       _T(DXT3_SRGBA, DXT3, NONE, WZYX),
-       _T(DXT5_RGBA,  DXT5, NONE, WZYX),
-       _T(DXT5_SRGBA, DXT5, NONE, WZYX),
-
-       _T(BPTC_RGBA_UNORM, BPTC,        NONE, WZYX),
-       _T(BPTC_SRGBA,      BPTC,        NONE, WZYX),
-       _T(BPTC_RGB_FLOAT,  BPTC_FLOAT,  NONE, WZYX),
-       _T(BPTC_RGB_UFLOAT, BPTC_UFLOAT, NONE, WZYX),
-
-       _T(RGTC1_UNORM, RGTC1_UNORM, NONE, WZYX),
-       _T(RGTC1_SNORM, RGTC1_SNORM, NONE, WZYX),
-       _T(RGTC2_UNORM, RGTC2_UNORM, NONE, WZYX),
-       _T(RGTC2_SNORM, RGTC2_SNORM, NONE, WZYX),
-       _T(LATC1_UNORM, RGTC1_UNORM, NONE, WZYX),
-       _T(LATC1_SNORM, RGTC1_SNORM, NONE, WZYX),
-       _T(LATC2_UNORM, RGTC2_UNORM, NONE, WZYX),
-       _T(LATC2_SNORM, RGTC2_SNORM, NONE, WZYX),
-
-       _T(ASTC_4x4,   ASTC_4x4,   NONE, WZYX),
-       _T(ASTC_5x4,   ASTC_5x4,   NONE, WZYX),
-       _T(ASTC_5x5,   ASTC_5x5,   NONE, WZYX),
-       _T(ASTC_6x5,   ASTC_6x5,   NONE, WZYX),
-       _T(ASTC_6x6,   ASTC_6x6,   NONE, WZYX),
-       _T(ASTC_8x5,   ASTC_8x5,   NONE, WZYX),
-       _T(ASTC_8x6,   ASTC_8x6,   NONE, WZYX),
-       _T(ASTC_8x8,   ASTC_8x8,   NONE, WZYX),
-       _T(ASTC_10x5,  ASTC_10x5,  NONE, WZYX),
-       _T(ASTC_10x6,  ASTC_10x6,  NONE, WZYX),
-       _T(ASTC_10x8,  ASTC_10x8,  NONE, WZYX),
-       _T(ASTC_10x10, ASTC_10x10, NONE, WZYX),
-       _T(ASTC_12x10, ASTC_12x10, NONE, WZYX),
-       _T(ASTC_12x12, ASTC_12x12, NONE, WZYX),
-
-       _T(ASTC_4x4_SRGB,   ASTC_4x4,   NONE, WZYX),
-       _T(ASTC_5x4_SRGB,   ASTC_5x4,   NONE, WZYX),
-       _T(ASTC_5x5_SRGB,   ASTC_5x5,   NONE, WZYX),
-       _T(ASTC_6x5_SRGB,   ASTC_6x5,   NONE, WZYX),
-       _T(ASTC_6x6_SRGB,   ASTC_6x6,   NONE, WZYX),
-       _T(ASTC_8x5_SRGB,   ASTC_8x5,   NONE, WZYX),
-       _T(ASTC_8x6_SRGB,   ASTC_8x6,   NONE, WZYX),
-       _T(ASTC_8x8_SRGB,   ASTC_8x8,   NONE, WZYX),
-       _T(ASTC_10x5_SRGB,  ASTC_10x5,  NONE, WZYX),
-       _T(ASTC_10x6_SRGB,  ASTC_10x6,  NONE, WZYX),
-       _T(ASTC_10x8_SRGB,  ASTC_10x8,  NONE, WZYX),
-       _T(ASTC_10x10_SRGB, ASTC_10x10, NONE, WZYX),
-       _T(ASTC_12x10_SRGB, ASTC_12x10, NONE, WZYX),
-       _T(ASTC_12x12_SRGB, ASTC_12x12, NONE, WZYX),
+   /* for blitting, treat PIPE_FORMAT_NONE as 8bit R8: */
+   _T(R8_UINT,    8_UINT,  R8_UINT,  WZYX),
+
+   /* 8-bit */
+   VT(R8_UNORM,   8_UNORM, R8_UNORM, WZYX),
+   VT(R8_SNORM,   8_SNORM, R8_SNORM, WZYX),
+   VT(R8_UINT,    8_UINT,  R8_UINT,  WZYX),
+   VT(R8_SINT,    8_SINT,  R8_SINT,  WZYX),
+   V_(R8_USCALED, 8_UINT,  NONE,     WZYX),
+   V_(R8_SSCALED, 8_SINT,  NONE,     WZYX),
+
+   _T(A8_UNORM,   8_UNORM, A8_UNORM, WZYX),
+   _T(L8_UNORM,   8_UNORM, R8_UNORM, WZYX),
+   _T(I8_UNORM,   8_UNORM, NONE,     WZYX),
+
+   _T(A8_UINT,    8_UINT,  NONE,     WZYX),
+   _T(A8_SINT,    8_SINT,  NONE,     WZYX),
+   _T(L8_UINT,    8_UINT,  NONE,     WZYX),
+   _T(L8_SINT,    8_SINT,  NONE,     WZYX),
+   _T(I8_UINT,    8_UINT,  NONE,     WZYX),
+   _T(I8_SINT,    8_SINT,  NONE,     WZYX),
+
+   _T(S8_UINT,    8_UINT,  R8_UNORM, WZYX),
+
+   /* 16-bit */
+   VT(R16_UNORM,   16_UNORM, R16_UNORM, WZYX),
+   VT(R16_SNORM,   16_SNORM, R16_SNORM, WZYX),
+   VT(R16_UINT,    16_UINT,  R16_UINT,  WZYX),
+   VT(R16_SINT,    16_SINT,  R16_SINT,  WZYX),
+   V_(R16_USCALED, 16_UINT,  NONE,      WZYX),
+   V_(R16_SSCALED, 16_SINT,  NONE,      WZYX),
+   VT(R16_FLOAT,   16_FLOAT, R16_FLOAT, WZYX),
+   _T(Z16_UNORM,   16_UNORM, R16_UNORM, WZYX),
+
+   _T(A16_UNORM,   16_UNORM, NONE,      WZYX),
+   _T(A16_SNORM,   16_SNORM, NONE,      WZYX),
+   _T(A16_UINT,    16_UINT,  NONE,      WZYX),
+   _T(A16_SINT,    16_SINT,  NONE,      WZYX),
+   _T(L16_UNORM,   16_UNORM, NONE,      WZYX),
+   _T(L16_SNORM,   16_SNORM, NONE,      WZYX),
+   _T(L16_UINT,    16_UINT,  NONE,      WZYX),
+   _T(L16_SINT,    16_SINT,  NONE,      WZYX),
+   _T(I16_UNORM,   16_UNORM, NONE,      WZYX),
+   _T(I16_SNORM,   16_SNORM, NONE,      WZYX),
+   _T(I16_UINT,    16_UINT,  NONE,      WZYX),
+   _T(I16_SINT,    16_SINT,  NONE,      WZYX),
+
+   VT(R8G8_UNORM,   8_8_UNORM, R8G8_UNORM, WZYX),
+   VT(R8G8_SNORM,   8_8_SNORM, R8G8_SNORM, WZYX),
+   VT(R8G8_UINT,    8_8_UINT,  R8G8_UINT,  WZYX),
+   VT(R8G8_SINT,    8_8_SINT,  R8G8_SINT,  WZYX),
+   V_(R8G8_USCALED, 8_8_UINT,  NONE,       WZYX),
+   V_(R8G8_SSCALED, 8_8_SINT,  NONE,       WZYX),
+
+   _T(L8A8_UINT,    8_8_UINT,  NONE,       WZYX),
+   _T(L8A8_SINT,    8_8_SINT,  NONE,       WZYX),
+
+   _T(B5G6R5_UNORM,   5_6_5_UNORM,   R5G6B5_UNORM,   WXYZ),
+   _T(B5G5R5A1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
+   _T(B5G5R5X1_UNORM, 5_5_5_1_UNORM, R5G5B5A1_UNORM, WXYZ),
+   _T(B4G4R4A4_UNORM, 4_4_4_4_UNORM, R4G4B4A4_UNORM, WXYZ),
+
+   /* 24-bit */
+   V_(R8G8B8_UNORM,   8_8_8_UNORM, NONE, WZYX),
+   V_(R8G8B8_SNORM,   8_8_8_SNORM, NONE, WZYX),
+   V_(R8G8B8_UINT,    8_8_8_UINT,  NONE, WZYX),
+   V_(R8G8B8_SINT,    8_8_8_SINT,  NONE, WZYX),
+   V_(R8G8B8_USCALED, 8_8_8_UINT,  NONE, WZYX),
+   V_(R8G8B8_SSCALED, 8_8_8_SINT,  NONE, WZYX),
+
+   /* 32-bit */
+   VT(R32_UINT,    32_UINT,  R32_UINT, WZYX),
+   VT(R32_SINT,    32_SINT,  R32_SINT, WZYX),
+   V_(R32_USCALED, 32_UINT,  NONE,     WZYX),
+   V_(R32_SSCALED, 32_SINT,  NONE,     WZYX),
+   VT(R32_FLOAT,   32_FLOAT, R32_FLOAT,WZYX),
+   V_(R32_FIXED,   32_FIXED, NONE,     WZYX),
+
+   _T(A32_UINT,    32_UINT,  NONE,     WZYX),
+   _T(A32_SINT,    32_SINT,  NONE,     WZYX),
+   _T(L32_UINT,    32_UINT,  NONE,     WZYX),
+   _T(L32_SINT,    32_SINT,  NONE,     WZYX),
+   _T(I32_UINT,    32_UINT,  NONE,     WZYX),
+   _T(I32_SINT,    32_SINT,  NONE,     WZYX),
+
+   VT(R16G16_UNORM,   16_16_UNORM, R16G16_UNORM, WZYX),
+   VT(R16G16_SNORM,   16_16_SNORM, R16G16_SNORM, WZYX),
+   VT(R16G16_UINT,    16_16_UINT,  R16G16_UINT,  WZYX),
+   VT(R16G16_SINT,    16_16_SINT,  R16G16_SINT,  WZYX),
+   VT(R16G16_USCALED, 16_16_UINT,  NONE,         WZYX),
+   VT(R16G16_SSCALED, 16_16_SINT,  NONE,         WZYX),
+   VT(R16G16_FLOAT,   16_16_FLOAT, R16G16_FLOAT, WZYX),
+
+   _T(L16A16_UNORM,   16_16_UNORM, NONE,         WZYX),
+   _T(L16A16_SNORM,   16_16_SNORM, NONE,         WZYX),
+   _T(L16A16_UINT,    16_16_UINT,  NONE,         WZYX),
+   _T(L16A16_SINT,    16_16_SINT,  NONE,         WZYX),
+
+   VT(R8G8B8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(R8G8B8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(R8G8B8A8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(R8G8B8X8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WZYX),
+   VT(R8G8B8A8_SNORM,   8_8_8_8_SNORM, R8G8B8A8_SNORM, WZYX),
+   VT(R8G8B8A8_UINT,    8_8_8_8_UINT,  R8G8B8A8_UINT,  WZYX),
+   VT(R8G8B8A8_SINT,    8_8_8_8_SINT,  R8G8B8A8_SINT,  WZYX),
+   V_(R8G8B8A8_USCALED, 8_8_8_8_UINT,  NONE,           WZYX),
+   V_(R8G8B8A8_SSCALED, 8_8_8_8_SINT,  NONE,           WZYX),
+
+   VT(B8G8R8A8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
+   _T(B8G8R8X8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
+   VT(B8G8R8A8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
+   _T(B8G8R8X8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, WXYZ),
+
+   VT(A8B8G8R8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
+   _T(X8B8G8R8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
+   _T(A8B8G8R8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
+   _T(X8B8G8R8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, XYZW),
+
+   VT(A8R8G8B8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
+   _T(X8R8G8B8_UNORM,   8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
+   _T(A8R8G8B8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
+   _T(X8R8G8B8_SRGB,    8_8_8_8_UNORM, R8G8B8A8_UNORM, ZYXW),
+
+   VT(R10G10B10A2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WZYX),
+   VT(B10G10R10A2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WXYZ),
+   _T(B10G10R10X2_UNORM,   10_10_10_2_UNORM, R10G10B10A2_UNORM, WXYZ),
+   V_(R10G10B10A2_SNORM,   10_10_10_2_SNORM, NONE,              WZYX),
+   V_(B10G10R10A2_SNORM,   10_10_10_2_SNORM, NONE,              WXYZ),
+   VT(R10G10B10A2_UINT,    10_10_10_2_UINT,  R10G10B10A2_UINT,  WZYX),
+   VT(B10G10R10A2_UINT,    10_10_10_2_UINT,  R10G10B10A2_UINT,  WXYZ),
+   V_(R10G10B10A2_USCALED, 10_10_10_2_UINT,  NONE,              WZYX),
+   V_(B10G10R10A2_USCALED, 10_10_10_2_UINT,  NONE,              WXYZ),
+   V_(R10G10B10A2_SSCALED, 10_10_10_2_SINT,  NONE,              WZYX),
+   V_(B10G10R10A2_SSCALED, 10_10_10_2_SINT,  NONE,              WXYZ),
+
+   VT(R11G11B10_FLOAT, 11_11_10_FLOAT, R11G11B10_FLOAT, WZYX),
+   _T(R9G9B9E5_FLOAT,  9_9_9_E5_FLOAT, NONE,            WZYX),
+
+   _T(Z24X8_UNORM,       X8Z24_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(X24S8_UINT,        8_8_8_8_UINT, R8G8B8A8_UINT, XYZW),
+   _T(Z24_UNORM_S8_UINT, X8Z24_UNORM, R8G8B8A8_UNORM, WZYX),
+   _T(Z32_FLOAT,         32_FLOAT,    R8G8B8A8_UNORM, WZYX),
+   _T(Z32_FLOAT_S8X24_UINT, 32_FLOAT, R8G8B8A8_UNORM, WZYX),
+   _T(X32_S8X24_UINT,    8_UINT,      R8_UINT,        WZYX),
+
+   /* 48-bit */
+   V_(R16G16B16_UNORM,   16_16_16_UNORM, NONE, WZYX),
+   V_(R16G16B16_SNORM,   16_16_16_SNORM, NONE, WZYX),
+   V_(R16G16B16_UINT,    16_16_16_UINT,  NONE, WZYX),
+   V_(R16G16B16_SINT,    16_16_16_SINT,  NONE, WZYX),
+   V_(R16G16B16_USCALED, 16_16_16_UINT,  NONE, WZYX),
+   V_(R16G16B16_SSCALED, 16_16_16_SINT,  NONE, WZYX),
+   V_(R16G16B16_FLOAT,   16_16_16_FLOAT, NONE, WZYX),
+
+   /* 64-bit */
+   VT(R16G16B16A16_UNORM,   16_16_16_16_UNORM, R16G16B16A16_UNORM, WZYX),
+   VT(R16G16B16X16_UNORM,   16_16_16_16_UNORM, R16G16B16A16_UNORM, WZYX),
+   VT(R16G16B16A16_SNORM,   16_16_16_16_SNORM, R16G16B16A16_SNORM, WZYX),
+   VT(R16G16B16X16_SNORM,   16_16_16_16_SNORM, R16G16B16A16_SNORM, WZYX),
+   VT(R16G16B16A16_UINT,    16_16_16_16_UINT,  R16G16B16A16_UINT,  WZYX),
+   VT(R16G16B16X16_UINT,    16_16_16_16_UINT,  R16G16B16A16_UINT,  WZYX),
+   VT(R16G16B16A16_SINT,    16_16_16_16_SINT,  R16G16B16A16_SINT,  WZYX),
+   VT(R16G16B16X16_SINT,    16_16_16_16_SINT,  R16G16B16A16_SINT,  WZYX),
+   VT(R16G16B16A16_USCALED, 16_16_16_16_UINT,  NONE,               WZYX),
+   VT(R16G16B16A16_SSCALED, 16_16_16_16_SINT,  NONE,               WZYX),
+   VT(R16G16B16A16_FLOAT,   16_16_16_16_FLOAT, R16G16B16A16_FLOAT, WZYX),
+   VT(R16G16B16X16_FLOAT,   16_16_16_16_FLOAT, R16G16B16A16_FLOAT, WZYX),
+
+   VT(R32G32_UINT,    32_32_UINT,  R32G32_UINT, WZYX),
+   VT(R32G32_SINT,    32_32_SINT,  R32G32_SINT, WZYX),
+   V_(R32G32_USCALED, 32_32_UINT,  NONE,        WZYX),
+   V_(R32G32_SSCALED, 32_32_SINT,  NONE,        WZYX),
+   VT(R32G32_FLOAT,   32_32_FLOAT, R32G32_FLOAT,WZYX),
+   V_(R32G32_FIXED,   32_32_FIXED, NONE,        WZYX),
+
+   _T(L32A32_UINT,    32_32_UINT,  NONE,        WZYX),
+   _T(L32A32_SINT,    32_32_SINT,  NONE,        WZYX),
+
+   /* 96-bit */
+   VT(R32G32B32_UINT,    32_32_32_UINT,  NONE, WZYX),
+   VT(R32G32B32_SINT,    32_32_32_SINT,  NONE, WZYX),
+   V_(R32G32B32_USCALED, 32_32_32_UINT,  NONE, WZYX),
+   V_(R32G32B32_SSCALED, 32_32_32_SINT,  NONE, WZYX),
+   VT(R32G32B32_FLOAT,   32_32_32_FLOAT, NONE, WZYX),
+   V_(R32G32B32_FIXED,   32_32_32_FIXED, NONE, WZYX),
+
+   /* 128-bit */
+   VT(R32G32B32A32_UINT,    32_32_32_32_UINT,  R32G32B32A32_UINT,  WZYX),
+   _T(R32G32B32X32_UINT,    32_32_32_32_UINT,  R32G32B32A32_UINT,  WZYX),
+   VT(R32G32B32A32_SINT,    32_32_32_32_SINT,  R32G32B32A32_SINT,  WZYX),
+   _T(R32G32B32X32_SINT,    32_32_32_32_SINT,  R32G32B32A32_SINT,  WZYX),
+   V_(R32G32B32A32_USCALED, 32_32_32_32_UINT,  NONE,               WZYX),
+   V_(R32G32B32A32_SSCALED, 32_32_32_32_SINT,  NONE,               WZYX),
+   VT(R32G32B32A32_FLOAT,   32_32_32_32_FLOAT, R32G32B32A32_FLOAT, WZYX),
+   _T(R32G32B32X32_FLOAT,   32_32_32_32_FLOAT, R32G32B32A32_FLOAT, WZYX),
+   V_(R32G32B32A32_FIXED,   32_32_32_32_FIXED, NONE,               WZYX),
+
+   /* compressed */
+   _T(ETC1_RGB8, ETC1, NONE, WZYX),
+   _T(ETC2_RGB8, ETC2_RGB8, NONE, WZYX),
+   _T(ETC2_SRGB8, ETC2_RGB8, NONE, WZYX),
+   _T(ETC2_RGB8A1, ETC2_RGB8A1, NONE, WZYX),
+   _T(ETC2_SRGB8A1, ETC2_RGB8A1, NONE, WZYX),
+   _T(ETC2_RGBA8, ETC2_RGBA8, NONE, WZYX),
+   _T(ETC2_SRGBA8, ETC2_RGBA8, NONE, WZYX),
+   _T(ETC2_R11_UNORM, ETC2_R11_UNORM, NONE, WZYX),
+   _T(ETC2_R11_SNORM, ETC2_R11_SNORM, NONE, WZYX),
+   _T(ETC2_RG11_UNORM, ETC2_RG11_UNORM, NONE, WZYX),
+   _T(ETC2_RG11_SNORM, ETC2_RG11_SNORM, NONE, WZYX),
+
+   _T(DXT1_RGB,   DXT1, NONE, WZYX),
+   _T(DXT1_SRGB,  DXT1, NONE, WZYX),
+   _T(DXT1_RGBA,  DXT1, NONE, WZYX),
+   _T(DXT1_SRGBA, DXT1, NONE, WZYX),
+   _T(DXT3_RGBA,  DXT3, NONE, WZYX),
+   _T(DXT3_SRGBA, DXT3, NONE, WZYX),
+   _T(DXT5_RGBA,  DXT5, NONE, WZYX),
+   _T(DXT5_SRGBA, DXT5, NONE, WZYX),
+
+   _T(BPTC_RGBA_UNORM, BPTC,        NONE, WZYX),
+   _T(BPTC_SRGBA,      BPTC,        NONE, WZYX),
+   _T(BPTC_RGB_FLOAT,  BPTC_FLOAT,  NONE, WZYX),
+   _T(BPTC_RGB_UFLOAT, BPTC_UFLOAT, NONE, WZYX),
+
+   _T(RGTC1_UNORM, RGTC1_UNORM, NONE, WZYX),
+   _T(RGTC1_SNORM, RGTC1_SNORM, NONE, WZYX),
+   _T(RGTC2_UNORM, RGTC2_UNORM, NONE, WZYX),
+   _T(RGTC2_SNORM, RGTC2_SNORM, NONE, WZYX),
+   _T(LATC1_UNORM, RGTC1_UNORM, NONE, WZYX),
+   _T(LATC1_SNORM, RGTC1_SNORM, NONE, WZYX),
+   _T(LATC2_UNORM, RGTC2_UNORM, NONE, WZYX),
+   _T(LATC2_SNORM, RGTC2_SNORM, NONE, WZYX),
+
+   _T(ASTC_4x4,   ASTC_4x4,   NONE, WZYX),
+   _T(ASTC_5x4,   ASTC_5x4,   NONE, WZYX),
+   _T(ASTC_5x5,   ASTC_5x5,   NONE, WZYX),
+   _T(ASTC_6x5,   ASTC_6x5,   NONE, WZYX),
+   _T(ASTC_6x6,   ASTC_6x6,   NONE, WZYX),
+   _T(ASTC_8x5,   ASTC_8x5,   NONE, WZYX),
+   _T(ASTC_8x6,   ASTC_8x6,   NONE, WZYX),
+   _T(ASTC_8x8,   ASTC_8x8,   NONE, WZYX),
+   _T(ASTC_10x5,  ASTC_10x5,  NONE, WZYX),
+   _T(ASTC_10x6,  ASTC_10x6,  NONE, WZYX),
+   _T(ASTC_10x8,  ASTC_10x8,  NONE, WZYX),
+   _T(ASTC_10x10, ASTC_10x10, NONE, WZYX),
+   _T(ASTC_12x10, ASTC_12x10, NONE, WZYX),
+   _T(ASTC_12x12, ASTC_12x12, NONE, WZYX),
+
+   _T(ASTC_4x4_SRGB,   ASTC_4x4,   NONE, WZYX),
+   _T(ASTC_5x4_SRGB,   ASTC_5x4,   NONE, WZYX),
+   _T(ASTC_5x5_SRGB,   ASTC_5x5,   NONE, WZYX),
+   _T(ASTC_6x5_SRGB,   ASTC_6x5,   NONE, WZYX),
+   _T(ASTC_6x6_SRGB,   ASTC_6x6,   NONE, WZYX),
+   _T(ASTC_8x5_SRGB,   ASTC_8x5,   NONE, WZYX),
+   _T(ASTC_8x6_SRGB,   ASTC_8x6,   NONE, WZYX),
+   _T(ASTC_8x8_SRGB,   ASTC_8x8,   NONE, WZYX),
+   _T(ASTC_10x5_SRGB,  ASTC_10x5,  NONE, WZYX),
+   _T(ASTC_10x6_SRGB,  ASTC_10x6,  NONE, WZYX),
+   _T(ASTC_10x8_SRGB,  ASTC_10x8,  NONE, WZYX),
+   _T(ASTC_10x10_SRGB, ASTC_10x10, NONE, WZYX),
+   _T(ASTC_12x10_SRGB, ASTC_12x10, NONE, WZYX),
+   _T(ASTC_12x12_SRGB, ASTC_12x12, NONE, WZYX),
 };
+/* clang-format on */
 
 /* convert pipe format to vertex buffer format: */
 enum a5xx_vtx_fmt
index 7b088ff..4d8ad8f 100644 (file)
@@ -65,21 +65,23 @@ fd6_context_destroy(struct pipe_context *pctx)
        free(fd6_ctx);
 }
 
+/* clang-format off */
 static const uint8_t primtypes[] = {
-               [PIPE_PRIM_POINTS]                      = DI_PT_POINTLIST,
-               [PIPE_PRIM_LINES]                       = DI_PT_LINELIST,
-               [PIPE_PRIM_LINE_STRIP]                  = DI_PT_LINESTRIP,
-               [PIPE_PRIM_LINE_LOOP]                   = DI_PT_LINELOOP,
-               [PIPE_PRIM_TRIANGLES]                   = DI_PT_TRILIST,
-               [PIPE_PRIM_TRIANGLE_STRIP]              = DI_PT_TRISTRIP,
-               [PIPE_PRIM_TRIANGLE_FAN]                = DI_PT_TRIFAN,
-               [PIPE_PRIM_LINES_ADJACENCY]             = DI_PT_LINE_ADJ,
-               [PIPE_PRIM_LINE_STRIP_ADJACENCY]        = DI_PT_LINESTRIP_ADJ,
-               [PIPE_PRIM_TRIANGLES_ADJACENCY]         = DI_PT_TRI_ADJ,
-               [PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY]    = DI_PT_TRISTRIP_ADJ,
-               [PIPE_PRIM_PATCHES]                     = DI_PT_PATCHES0,
-               [PIPE_PRIM_MAX]                         = DI_PT_RECTLIST,  /* internal clear blits */
+   [PIPE_PRIM_POINTS]                      = DI_PT_POINTLIST,
+   [PIPE_PRIM_LINES]                       = DI_PT_LINELIST,
+   [PIPE_PRIM_LINE_STRIP]                  = DI_PT_LINESTRIP,
+   [PIPE_PRIM_LINE_LOOP]                   = DI_PT_LINELOOP,
+   [PIPE_PRIM_TRIANGLES]                   = DI_PT_TRILIST,
+   [PIPE_PRIM_TRIANGLE_STRIP]              = DI_PT_TRISTRIP,
+   [PIPE_PRIM_TRIANGLE_FAN]                = DI_PT_TRIFAN,
+   [PIPE_PRIM_LINES_ADJACENCY]             = DI_PT_LINE_ADJ,
+   [PIPE_PRIM_LINE_STRIP_ADJACENCY]        = DI_PT_LINESTRIP_ADJ,
+   [PIPE_PRIM_TRIANGLES_ADJACENCY]         = DI_PT_TRI_ADJ,
+   [PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY]    = DI_PT_TRISTRIP_ADJ,
+   [PIPE_PRIM_PATCHES]                     = DI_PT_PATCHES0,
+   [PIPE_PRIM_MAX]                         = DI_PT_RECTLIST,  /* internal clear blits */
 };
+/* clang-format on */
 
 static void *
 fd6_vertex_state_create(struct pipe_context *pctx, unsigned num_elements,
index 0f6b704..69d635c 100644 (file)
@@ -61,280 +61,282 @@ struct fd6_format {
 #define VT_(pipe, fmt, swapfmt) FMT(pipe, fmt, fmt, NONE, swapfmt)
 #define V__(pipe, fmt, swapfmt) FMT(pipe, fmt, NONE, NONE, swapfmt)
 
+/* clang-format off */
 static struct fd6_format formats[PIPE_FORMAT_COUNT] = {
-       /* 8-bit */
-       VTC(R8_UNORM,   8_UNORM,                     WZYX),
-       VTC(R8_SNORM,   8_SNORM,                     WZYX),
-       VTC(R8_UINT,    8_UINT,                      WZYX),
-       VTC(R8_SINT,    8_SINT,                      WZYX),
-       V__(R8_USCALED, 8_UINT,                      WZYX),
-       V__(R8_SSCALED, 8_SINT,                      WZYX),
-
-       FMT(A8_UNORM,   NONE, 8_UNORM, A8_UNORM,     WZYX),
-       _TC(L8_UNORM,   8_UNORM,                     WZYX),
-       _T_(I8_UNORM,   8_UNORM,                     WZYX),
-
-       _T_(A8_UINT,    8_UINT,                      WZYX),
-       _T_(A8_SINT,    8_SINT,                      WZYX),
-       _T_(L8_UINT,    8_UINT,                      WZYX),
-       _T_(L8_SINT,    8_SINT,                      WZYX),
-       _T_(I8_UINT,    8_UINT,                      WZYX),
-       _T_(I8_SINT,    8_SINT,                      WZYX),
-
-       _TC(S8_UINT,    8_UINT,                      WZYX),
-
-       /* 16-bit */
-       VTC(R16_UNORM,   16_UNORM,                   WZYX),
-       VTC(R16_SNORM,   16_SNORM,                   WZYX),
-       VTC(R16_UINT,    16_UINT,                    WZYX),
-       VTC(R16_SINT,    16_SINT,                    WZYX),
-       V__(R16_USCALED, 16_UINT,                    WZYX),
-       V__(R16_SSCALED, 16_SINT,                    WZYX),
-       VTC(R16_FLOAT,   16_FLOAT,                   WZYX),
-       _TC(Z16_UNORM,   16_UNORM,                   WZYX),
-
-       _T_(A16_UNORM,   16_UNORM,                   WZYX),
-       _T_(A16_SNORM,   16_SNORM,                   WZYX),
-       _T_(A16_UINT,    16_UINT,                    WZYX),
-       _T_(A16_SINT,    16_SINT,                    WZYX),
-       _T_(L16_UNORM,   16_UNORM,                   WZYX),
-       _T_(L16_SNORM,   16_SNORM,                   WZYX),
-       _T_(L16_UINT,    16_UINT,                    WZYX),
-       _T_(L16_SINT,    16_SINT,                    WZYX),
-       _T_(I16_UNORM,   16_UNORM,                   WZYX),
-       _T_(I16_SNORM,   16_SNORM,                   WZYX),
-       _T_(I16_UINT,    16_UINT,                    WZYX),
-       _T_(I16_SINT,    16_SINT,                    WZYX),
-
-       VTC(R8G8_UNORM,   8_8_UNORM,                 WZYX),
-       VTC(R8G8_SNORM,   8_8_SNORM,                 WZYX),
-       VTC(R8G8_UINT,    8_8_UINT,                  WZYX),
-       VTC(R8G8_SINT,    8_8_SINT,                  WZYX),
-       V__(R8G8_USCALED, 8_8_UINT,                  WZYX),
-       V__(R8G8_SSCALED, 8_8_SINT,                  WZYX),
-
-       _T_(L8A8_UINT,    8_8_UINT,                  WZYX),
-       _T_(L8A8_SINT,    8_8_SINT,                  WZYX),
-
-       _TC(B5G6R5_UNORM,   5_6_5_UNORM,             WXYZ),
-       _TC(B5G5R5A1_UNORM, 5_5_5_1_UNORM,           WXYZ),
-       _TC(B5G5R5X1_UNORM, 5_5_5_1_UNORM,           WXYZ),
-       _TC(B4G4R4A4_UNORM, 4_4_4_4_UNORM,           WXYZ),
-
-       /* 24-bit */
-       V__(R8G8B8_UNORM,   8_8_8_UNORM,             WZYX),
-       V__(R8G8B8_SNORM,   8_8_8_SNORM,             WZYX),
-       V__(R8G8B8_UINT,    8_8_8_UINT,              WZYX),
-       V__(R8G8B8_SINT,    8_8_8_SINT,              WZYX),
-       V__(R8G8B8_USCALED, 8_8_8_UINT,              WZYX),
-       V__(R8G8B8_SSCALED, 8_8_8_SINT,              WZYX),
-
-       /* 32-bit */
-       V__(R32_UNORM,   32_UNORM,                   WZYX),
-       V__(R32_SNORM,   32_SNORM,                   WZYX),
-       VTC(R32_UINT,    32_UINT,                    WZYX),
-       VTC(R32_SINT,    32_SINT,                    WZYX),
-       V__(R32_USCALED, 32_UINT,                    WZYX),
-       V__(R32_SSCALED, 32_SINT,                    WZYX),
-       VTC(R32_FLOAT,   32_FLOAT,                   WZYX),
-       V__(R32_FIXED,   32_FIXED,                   WZYX),
-
-       _T_(A32_UINT,    32_UINT,                    WZYX),
-       _T_(A32_SINT,    32_SINT,                    WZYX),
-       _T_(L32_UINT,    32_UINT,                    WZYX),
-       _T_(L32_SINT,    32_SINT,                    WZYX),
-       _T_(I32_UINT,    32_UINT,                    WZYX),
-       _T_(I32_SINT,    32_SINT,                    WZYX),
-
-       VTC(R16G16_UNORM,   16_16_UNORM,             WZYX),
-       VTC(R16G16_SNORM,   16_16_SNORM,             WZYX),
-       VTC(R16G16_UINT,    16_16_UINT,              WZYX),
-       VTC(R16G16_SINT,    16_16_SINT,              WZYX),
-       VT_(R16G16_USCALED, 16_16_UINT,              WZYX),
-       VT_(R16G16_SSCALED, 16_16_SINT,              WZYX),
-       VTC(R16G16_FLOAT,   16_16_FLOAT,             WZYX),
-
-       _T_(L16A16_UNORM,   16_16_UNORM,             WZYX),
-       _T_(L16A16_SNORM,   16_16_SNORM,             WZYX),
-       _T_(L16A16_UINT,    16_16_UINT,              WZYX),
-       _T_(L16A16_SINT,    16_16_SINT,              WZYX),
-
-       VTC(R8G8B8A8_UNORM,   8_8_8_8_UNORM,         WZYX),
-       _TC(R8G8B8X8_UNORM,   8_8_8_8_UNORM,         WZYX),
-       _TC(R8G8B8A8_SRGB,    8_8_8_8_UNORM,         WZYX),
-       _TC(R8G8B8X8_SRGB,    8_8_8_8_UNORM,         WZYX),
-       VTC(R8G8B8A8_SNORM,   8_8_8_8_SNORM,         WZYX),
-       VTC(R8G8B8A8_UINT,    8_8_8_8_UINT,          WZYX),
-       VTC(R8G8B8A8_SINT,    8_8_8_8_SINT,          WZYX),
-       V__(R8G8B8A8_USCALED, 8_8_8_8_UINT,          WZYX),
-       V__(R8G8B8A8_SSCALED, 8_8_8_8_SINT,          WZYX),
-
-       VTC(B8G8R8A8_UNORM,   8_8_8_8_UNORM,         WXYZ),
-       _TC(B8G8R8X8_UNORM,   8_8_8_8_UNORM,         WXYZ),
-       VTC(B8G8R8A8_SRGB,    8_8_8_8_UNORM,         WXYZ),
-       _TC(B8G8R8X8_SRGB,    8_8_8_8_UNORM,         WXYZ),
-
-       VTC(A8B8G8R8_UNORM,   8_8_8_8_UNORM,         XYZW),
-       _TC(X8B8G8R8_UNORM,   8_8_8_8_UNORM,         XYZW),
-       _TC(A8B8G8R8_SRGB,    8_8_8_8_UNORM,         XYZW),
-       _TC(X8B8G8R8_SRGB,    8_8_8_8_UNORM,         XYZW),
-
-       VTC(A8R8G8B8_UNORM,   8_8_8_8_UNORM,         ZYXW),
-       _TC(X8R8G8B8_UNORM,   8_8_8_8_UNORM,         ZYXW),
-       _TC(A8R8G8B8_SRGB,    8_8_8_8_UNORM,         ZYXW),
-       _TC(X8R8G8B8_SRGB,    8_8_8_8_UNORM,         ZYXW),
-
-       FMT(R10G10B10A2_UNORM, 10_10_10_2_UNORM, 10_10_10_2_UNORM, 10_10_10_2_UNORM_DEST, WZYX),
-       FMT(B10G10R10A2_UNORM, 10_10_10_2_UNORM, 10_10_10_2_UNORM, 10_10_10_2_UNORM_DEST, WXYZ),
-       FMT(B10G10R10X2_UNORM, NONE,             10_10_10_2_UNORM, 10_10_10_2_UNORM_DEST, WXYZ),
-       V__(R10G10B10A2_SNORM,   10_10_10_2_SNORM,   WZYX),
-       V__(B10G10R10A2_SNORM,   10_10_10_2_SNORM,   WXYZ),
-       VTC(R10G10B10A2_UINT,    10_10_10_2_UINT,    WZYX),
-       VTC(B10G10R10A2_UINT,    10_10_10_2_UINT,    WXYZ),
-       V__(R10G10B10A2_USCALED, 10_10_10_2_UINT,    WZYX),
-       V__(B10G10R10A2_USCALED, 10_10_10_2_UINT,    WXYZ),
-       V__(R10G10B10A2_SSCALED, 10_10_10_2_SINT,    WZYX),
-       V__(B10G10R10A2_SSCALED, 10_10_10_2_SINT,    WXYZ),
-
-       VTC(R11G11B10_FLOAT, 11_11_10_FLOAT,         WZYX),
-       _T_(R9G9B9E5_FLOAT,  9_9_9_E5_FLOAT,         WZYX),
-
-       _TC(Z24X8_UNORM,          Z24_UNORM_S8_UINT, WZYX),
-       _TC(X24S8_UINT,           8_8_8_8_UINT,      WZYX),
-       _TC(Z24_UNORM_S8_UINT,    Z24_UNORM_S8_UINT, WZYX),
-       _TC(Z32_FLOAT,            32_FLOAT,          WZYX),
-       _TC(Z32_FLOAT_S8X24_UINT, 32_FLOAT,          WZYX),
-       _TC(X32_S8X24_UINT,       8_UINT,            WZYX),
-
-       /* special format for blits: */
-       _TC(Z24_UNORM_S8_UINT_AS_R8G8B8A8, Z24_UNORM_S8_UINT_AS_R8G8B8A8, WZYX),
-
-       /* 48-bit */
-       V__(R16G16B16_UNORM,   16_16_16_UNORM,       WZYX),
-       V__(R16G16B16_SNORM,   16_16_16_SNORM,       WZYX),
-       V__(R16G16B16_UINT,    16_16_16_UINT,        WZYX),
-       V__(R16G16B16_SINT,    16_16_16_SINT,        WZYX),
-       V__(R16G16B16_USCALED, 16_16_16_UINT,        WZYX),
-       V__(R16G16B16_SSCALED, 16_16_16_SINT,        WZYX),
-       V__(R16G16B16_FLOAT,   16_16_16_FLOAT,       WZYX),
-
-       /* 64-bit */
-       VTC(R16G16B16A16_UNORM,   16_16_16_16_UNORM, WZYX),
-       VTC(R16G16B16X16_UNORM,   16_16_16_16_UNORM, WZYX),
-       VTC(R16G16B16A16_SNORM,   16_16_16_16_SNORM, WZYX),
-       VTC(R16G16B16X16_SNORM,   16_16_16_16_SNORM, WZYX),
-       VTC(R16G16B16A16_UINT,    16_16_16_16_UINT,  WZYX),
-       VTC(R16G16B16X16_UINT,    16_16_16_16_UINT,  WZYX),
-       VTC(R16G16B16A16_SINT,    16_16_16_16_SINT,  WZYX),
-       VTC(R16G16B16X16_SINT,    16_16_16_16_SINT,  WZYX),
-       VT_(R16G16B16A16_USCALED, 16_16_16_16_UINT,  WZYX),
-       VT_(R16G16B16A16_SSCALED, 16_16_16_16_SINT,  WZYX),
-       VTC(R16G16B16A16_FLOAT,   16_16_16_16_FLOAT, WZYX),
-       VTC(R16G16B16X16_FLOAT,   16_16_16_16_FLOAT, WZYX),
-
-       V__(R32G32_UNORM,   32_32_UNORM,             WZYX),
-       V__(R32G32_SNORM,   32_32_SNORM,             WZYX),
-       VTC(R32G32_UINT,    32_32_UINT,              WZYX),
-       VTC(R32G32_SINT,    32_32_SINT,              WZYX),
-       V__(R32G32_USCALED, 32_32_UINT,              WZYX),
-       V__(R32G32_SSCALED, 32_32_SINT,              WZYX),
-       VTC(R32G32_FLOAT,   32_32_FLOAT,             WZYX),
-       V__(R32G32_FIXED,   32_32_FIXED,             WZYX),
-
-       _T_(L32A32_UINT,    32_32_UINT,              WZYX),
-       _T_(L32A32_SINT,    32_32_SINT,              WZYX),
-
-       /* 96-bit */
-       V__(R32G32B32_UNORM,   32_32_32_UNORM,       WZYX),
-       V__(R32G32B32_SNORM,   32_32_32_SNORM,       WZYX),
-       VT_(R32G32B32_UINT,    32_32_32_UINT,        WZYX),
-       VT_(R32G32B32_SINT,    32_32_32_SINT,        WZYX),
-       V__(R32G32B32_USCALED, 32_32_32_UINT,        WZYX),
-       V__(R32G32B32_SSCALED, 32_32_32_SINT,        WZYX),
-       VT_(R32G32B32_FLOAT,   32_32_32_FLOAT,       WZYX),
-       V__(R32G32B32_FIXED,   32_32_32_FIXED,       WZYX),
-
-       /* 128-bit */
-       V__(R32G32B32A32_UNORM,   32_32_32_32_UNORM, WZYX),
-       V__(R32G32B32A32_SNORM,   32_32_32_32_SNORM, WZYX),
-       VTC(R32G32B32A32_UINT,    32_32_32_32_UINT,  WZYX),
-       _TC(R32G32B32X32_UINT,    32_32_32_32_UINT,  WZYX),
-       VTC(R32G32B32A32_SINT,    32_32_32_32_SINT,  WZYX),
-       _TC(R32G32B32X32_SINT,    32_32_32_32_SINT,  WZYX),
-       V__(R32G32B32A32_USCALED, 32_32_32_32_UINT,  WZYX),
-       V__(R32G32B32A32_SSCALED, 32_32_32_32_SINT,  WZYX),
-       VTC(R32G32B32A32_FLOAT,   32_32_32_32_FLOAT, WZYX),
-       _TC(R32G32B32X32_FLOAT,   32_32_32_32_FLOAT, WZYX),
-       V__(R32G32B32A32_FIXED,   32_32_32_32_FIXED, WZYX),
-
-       /* compressed */
-       _T_(ETC1_RGB8, ETC1,                         WZYX),
-       _T_(ETC2_RGB8, ETC2_RGB8,                    WZYX),
-       _T_(ETC2_SRGB8, ETC2_RGB8,                   WZYX),
-       _T_(ETC2_RGB8A1, ETC2_RGB8A1,                WZYX),
-       _T_(ETC2_SRGB8A1, ETC2_RGB8A1,               WZYX),
-       _T_(ETC2_RGBA8, ETC2_RGBA8,                  WZYX),
-       _T_(ETC2_SRGBA8, ETC2_RGBA8,                 WZYX),
-       _T_(ETC2_R11_UNORM, ETC2_R11_UNORM,          WZYX),
-       _T_(ETC2_R11_SNORM, ETC2_R11_SNORM,          WZYX),
-       _T_(ETC2_RG11_UNORM, ETC2_RG11_UNORM,        WZYX),
-       _T_(ETC2_RG11_SNORM, ETC2_RG11_SNORM,        WZYX),
-
-       _T_(DXT1_RGB,   DXT1,                        WZYX),
-       _T_(DXT1_SRGB,  DXT1,                        WZYX),
-       _T_(DXT1_RGBA,  DXT1,                        WZYX),
-       _T_(DXT1_SRGBA, DXT1,                        WZYX),
-       _T_(DXT3_RGBA,  DXT3,                        WZYX),
-       _T_(DXT3_SRGBA, DXT3,                        WZYX),
-       _T_(DXT5_RGBA,  DXT5,                        WZYX),
-       _T_(DXT5_SRGBA, DXT5,                        WZYX),
-
-       _T_(BPTC_RGBA_UNORM, BPTC,                   WZYX),
-       _T_(BPTC_SRGBA,      BPTC,                   WZYX),
-       _T_(BPTC_RGB_FLOAT,  BPTC_FLOAT,             WZYX),
-       _T_(BPTC_RGB_UFLOAT, BPTC_UFLOAT,            WZYX),
-
-       _T_(RGTC1_UNORM, RGTC1_UNORM,                WZYX),
-       _T_(RGTC1_SNORM, RGTC1_SNORM,                WZYX),
-       _T_(RGTC2_UNORM, RGTC2_UNORM,                WZYX),
-       _T_(RGTC2_SNORM, RGTC2_SNORM,                WZYX),
-       _T_(LATC1_UNORM, RGTC1_UNORM,                WZYX),
-       _T_(LATC1_SNORM, RGTC1_SNORM,                WZYX),
-       _T_(LATC2_UNORM, RGTC2_UNORM,                WZYX),
-       _T_(LATC2_SNORM, RGTC2_SNORM,                WZYX),
-
-       _T_(ASTC_4x4,   ASTC_4x4,                    WZYX),
-       _T_(ASTC_5x4,   ASTC_5x4,                    WZYX),
-       _T_(ASTC_5x5,   ASTC_5x5,                    WZYX),
-       _T_(ASTC_6x5,   ASTC_6x5,                    WZYX),
-       _T_(ASTC_6x6,   ASTC_6x6,                    WZYX),
-       _T_(ASTC_8x5,   ASTC_8x5,                    WZYX),
-       _T_(ASTC_8x6,   ASTC_8x6,                    WZYX),
-       _T_(ASTC_8x8,   ASTC_8x8,                    WZYX),
-       _T_(ASTC_10x5,  ASTC_10x5,                   WZYX),
-       _T_(ASTC_10x6,  ASTC_10x6,                   WZYX),
-       _T_(ASTC_10x8,  ASTC_10x8,                   WZYX),
-       _T_(ASTC_10x10, ASTC_10x10,                  WZYX),
-       _T_(ASTC_12x10, ASTC_12x10,                  WZYX),
-       _T_(ASTC_12x12, ASTC_12x12,                  WZYX),
-
-       _T_(ASTC_4x4_SRGB,   ASTC_4x4,               WZYX),
-       _T_(ASTC_5x4_SRGB,   ASTC_5x4,               WZYX),
-       _T_(ASTC_5x5_SRGB,   ASTC_5x5,               WZYX),
-       _T_(ASTC_6x5_SRGB,   ASTC_6x5,               WZYX),
-       _T_(ASTC_6x6_SRGB,   ASTC_6x6,               WZYX),
-       _T_(ASTC_8x5_SRGB,   ASTC_8x5,               WZYX),
-       _T_(ASTC_8x6_SRGB,   ASTC_8x6,               WZYX),
-       _T_(ASTC_8x8_SRGB,   ASTC_8x8,               WZYX),
-       _T_(ASTC_10x5_SRGB,  ASTC_10x5,              WZYX),
-       _T_(ASTC_10x6_SRGB,  ASTC_10x6,              WZYX),
-       _T_(ASTC_10x8_SRGB,  ASTC_10x8,              WZYX),
-       _T_(ASTC_10x10_SRGB, ASTC_10x10,             WZYX),
-       _T_(ASTC_12x10_SRGB, ASTC_12x10,             WZYX),
-       _T_(ASTC_12x12_SRGB, ASTC_12x12,             WZYX),
-
-       _T_(R8_G8B8_420_UNORM, R8_G8B8_2PLANE_420_UNORM, WZYX),
+   /* 8-bit */
+   VTC(R8_UNORM,   8_UNORM,                     WZYX),
+   VTC(R8_SNORM,   8_SNORM,                     WZYX),
+   VTC(R8_UINT,    8_UINT,                      WZYX),
+   VTC(R8_SINT,    8_SINT,                      WZYX),
+   V__(R8_USCALED, 8_UINT,                      WZYX),
+   V__(R8_SSCALED, 8_SINT,                      WZYX),
+
+   FMT(A8_UNORM,   NONE, 8_UNORM, A8_UNORM,     WZYX),
+   _TC(L8_UNORM,   8_UNORM,                     WZYX),
+   _T_(I8_UNORM,   8_UNORM,                     WZYX),
+
+   _T_(A8_UINT,    8_UINT,                      WZYX),
+   _T_(A8_SINT,    8_SINT,                      WZYX),
+   _T_(L8_UINT,    8_UINT,                      WZYX),
+   _T_(L8_SINT,    8_SINT,                      WZYX),
+   _T_(I8_UINT,    8_UINT,                      WZYX),
+   _T_(I8_SINT,    8_SINT,                      WZYX),
+
+   _TC(S8_UINT,    8_UINT,                      WZYX),
+
+   /* 16-bit */
+   VTC(R16_UNORM,   16_UNORM,                   WZYX),
+   VTC(R16_SNORM,   16_SNORM,                   WZYX),
+   VTC(R16_UINT,    16_UINT,                    WZYX),
+   VTC(R16_SINT,    16_SINT,                    WZYX),
+   V__(R16_USCALED, 16_UINT,                    WZYX),
+   V__(R16_SSCALED, 16_SINT,                    WZYX),
+   VTC(R16_FLOAT,   16_FLOAT,                   WZYX),
+   _TC(Z16_UNORM,   16_UNORM,                   WZYX),
+
+   _T_(A16_UNORM,   16_UNORM,                   WZYX),
+   _T_(A16_SNORM,   16_SNORM,                   WZYX),
+   _T_(A16_UINT,    16_UINT,                    WZYX),
+   _T_(A16_SINT,    16_SINT,                    WZYX),
+   _T_(L16_UNORM,   16_UNORM,                   WZYX),
+   _T_(L16_SNORM,   16_SNORM,                   WZYX),
+   _T_(L16_UINT,    16_UINT,                    WZYX),
+   _T_(L16_SINT,    16_SINT,                    WZYX),
+   _T_(I16_UNORM,   16_UNORM,                   WZYX),
+   _T_(I16_SNORM,   16_SNORM,                   WZYX),
+   _T_(I16_UINT,    16_UINT,                    WZYX),
+   _T_(I16_SINT,    16_SINT,                    WZYX),
+
+   VTC(R8G8_UNORM,   8_8_UNORM,                 WZYX),
+   VTC(R8G8_SNORM,   8_8_SNORM,                 WZYX),
+   VTC(R8G8_UINT,    8_8_UINT,                  WZYX),
+   VTC(R8G8_SINT,    8_8_SINT,                  WZYX),
+   V__(R8G8_USCALED, 8_8_UINT,                  WZYX),
+   V__(R8G8_SSCALED, 8_8_SINT,                  WZYX),
+
+   _T_(L8A8_UINT,    8_8_UINT,                  WZYX),
+   _T_(L8A8_SINT,    8_8_SINT,                  WZYX),
+
+   _TC(B5G6R5_UNORM,   5_6_5_UNORM,             WXYZ),
+   _TC(B5G5R5A1_UNORM, 5_5_5_1_UNORM,           WXYZ),
+   _TC(B5G5R5X1_UNORM, 5_5_5_1_UNORM,           WXYZ),
+   _TC(B4G4R4A4_UNORM, 4_4_4_4_UNORM,           WXYZ),
+
+   /* 24-bit */
+   V__(R8G8B8_UNORM,   8_8_8_UNORM,             WZYX),
+   V__(R8G8B8_SNORM,   8_8_8_SNORM,             WZYX),
+   V__(R8G8B8_UINT,    8_8_8_UINT,              WZYX),
+   V__(R8G8B8_SINT,    8_8_8_SINT,              WZYX),
+   V__(R8G8B8_USCALED, 8_8_8_UINT,              WZYX),
+   V__(R8G8B8_SSCALED, 8_8_8_SINT,              WZYX),
+
+   /* 32-bit */
+   V__(R32_UNORM,   32_UNORM,                   WZYX),
+   V__(R32_SNORM,   32_SNORM,                   WZYX),
+   VTC(R32_UINT,    32_UINT,                    WZYX),
+   VTC(R32_SINT,    32_SINT,                    WZYX),
+   V__(R32_USCALED, 32_UINT,                    WZYX),
+   V__(R32_SSCALED, 32_SINT,                    WZYX),
+   VTC(R32_FLOAT,   32_FLOAT,                   WZYX),
+   V__(R32_FIXED,   32_FIXED,                   WZYX),
+
+   _T_(A32_UINT,    32_UINT,                    WZYX),
+   _T_(A32_SINT,    32_SINT,                    WZYX),
+   _T_(L32_UINT,    32_UINT,                    WZYX),
+   _T_(L32_SINT,    32_SINT,                    WZYX),
+   _T_(I32_UINT,    32_UINT,                    WZYX),
+   _T_(I32_SINT,    32_SINT,                    WZYX),
+
+   VTC(R16G16_UNORM,   16_16_UNORM,             WZYX),
+   VTC(R16G16_SNORM,   16_16_SNORM,             WZYX),
+   VTC(R16G16_UINT,    16_16_UINT,              WZYX),
+   VTC(R16G16_SINT,    16_16_SINT,              WZYX),
+   VT_(R16G16_USCALED, 16_16_UINT,              WZYX),
+   VT_(R16G16_SSCALED, 16_16_SINT,              WZYX),
+   VTC(R16G16_FLOAT,   16_16_FLOAT,             WZYX),
+
+   _T_(L16A16_UNORM,   16_16_UNORM,             WZYX),
+   _T_(L16A16_SNORM,   16_16_SNORM,             WZYX),
+   _T_(L16A16_UINT,    16_16_UINT,              WZYX),
+   _T_(L16A16_SINT,    16_16_SINT,              WZYX),
+
+   VTC(R8G8B8A8_UNORM,   8_8_8_8_UNORM,         WZYX),
+   _TC(R8G8B8X8_UNORM,   8_8_8_8_UNORM,         WZYX),
+   _TC(R8G8B8A8_SRGB,    8_8_8_8_UNORM,         WZYX),
+   _TC(R8G8B8X8_SRGB,    8_8_8_8_UNORM,         WZYX),
+   VTC(R8G8B8A8_SNORM,   8_8_8_8_SNORM,         WZYX),
+   VTC(R8G8B8A8_UINT,    8_8_8_8_UINT,          WZYX),
+   VTC(R8G8B8A8_SINT,    8_8_8_8_SINT,          WZYX),
+   V__(R8G8B8A8_USCALED, 8_8_8_8_UINT,          WZYX),
+   V__(R8G8B8A8_SSCALED, 8_8_8_8_SINT,          WZYX),
+
+   VTC(B8G8R8A8_UNORM,   8_8_8_8_UNORM,         WXYZ),
+   _TC(B8G8R8X8_UNORM,   8_8_8_8_UNORM,         WXYZ),
+   VTC(B8G8R8A8_SRGB,    8_8_8_8_UNORM,         WXYZ),
+   _TC(B8G8R8X8_SRGB,    8_8_8_8_UNORM,         WXYZ),
+
+   VTC(A8B8G8R8_UNORM,   8_8_8_8_UNORM,         XYZW),
+   _TC(X8B8G8R8_UNORM,   8_8_8_8_UNORM,         XYZW),
+   _TC(A8B8G8R8_SRGB,    8_8_8_8_UNORM,         XYZW),
+   _TC(X8B8G8R8_SRGB,    8_8_8_8_UNORM,         XYZW),
+
+   VTC(A8R8G8B8_UNORM,   8_8_8_8_UNORM,         ZYXW),
+   _TC(X8R8G8B8_UNORM,   8_8_8_8_UNORM,         ZYXW),
+   _TC(A8R8G8B8_SRGB,    8_8_8_8_UNORM,         ZYXW),
+   _TC(X8R8G8B8_SRGB,    8_8_8_8_UNORM,         ZYXW),
+
+   FMT(R10G10B10A2_UNORM, 10_10_10_2_UNORM, 10_10_10_2_UNORM, 10_10_10_2_UNORM_DEST, WZYX),
+   FMT(B10G10R10A2_UNORM, 10_10_10_2_UNORM, 10_10_10_2_UNORM, 10_10_10_2_UNORM_DEST, WXYZ),
+   FMT(B10G10R10X2_UNORM, NONE,             10_10_10_2_UNORM, 10_10_10_2_UNORM_DEST, WXYZ),
+   V__(R10G10B10A2_SNORM,   10_10_10_2_SNORM,   WZYX),
+   V__(B10G10R10A2_SNORM,   10_10_10_2_SNORM,   WXYZ),
+   VTC(R10G10B10A2_UINT,    10_10_10_2_UINT,    WZYX),
+   VTC(B10G10R10A2_UINT,    10_10_10_2_UINT,    WXYZ),
+   V__(R10G10B10A2_USCALED, 10_10_10_2_UINT,    WZYX),
+   V__(B10G10R10A2_USCALED, 10_10_10_2_UINT,    WXYZ),
+   V__(R10G10B10A2_SSCALED, 10_10_10_2_SINT,    WZYX),
+   V__(B10G10R10A2_SSCALED, 10_10_10_2_SINT,    WXYZ),
+
+   VTC(R11G11B10_FLOAT, 11_11_10_FLOAT,         WZYX),
+   _T_(R9G9B9E5_FLOAT,  9_9_9_E5_FLOAT,         WZYX),
+
+   _TC(Z24X8_UNORM,          Z24_UNORM_S8_UINT, WZYX),
+   _TC(X24S8_UINT,           8_8_8_8_UINT,      WZYX),
+   _TC(Z24_UNORM_S8_UINT,    Z24_UNORM_S8_UINT, WZYX),
+   _TC(Z32_FLOAT,            32_FLOAT,          WZYX),
+   _TC(Z32_FLOAT_S8X24_UINT, 32_FLOAT,          WZYX),
+   _TC(X32_S8X24_UINT,       8_UINT,            WZYX),
+
+   /* special format for blits: */
+   _TC(Z24_UNORM_S8_UINT_AS_R8G8B8A8, Z24_UNORM_S8_UINT_AS_R8G8B8A8, WZYX),
+
+   /* 48-bit */
+   V__(R16G16B16_UNORM,   16_16_16_UNORM,       WZYX),
+   V__(R16G16B16_SNORM,   16_16_16_SNORM,       WZYX),
+   V__(R16G16B16_UINT,    16_16_16_UINT,        WZYX),
+   V__(R16G16B16_SINT,    16_16_16_SINT,        WZYX),
+   V__(R16G16B16_USCALED, 16_16_16_UINT,        WZYX),
+   V__(R16G16B16_SSCALED, 16_16_16_SINT,        WZYX),
+   V__(R16G16B16_FLOAT,   16_16_16_FLOAT,       WZYX),
+
+   /* 64-bit */
+   VTC(R16G16B16A16_UNORM,   16_16_16_16_UNORM, WZYX),
+   VTC(R16G16B16X16_UNORM,   16_16_16_16_UNORM, WZYX),
+   VTC(R16G16B16A16_SNORM,   16_16_16_16_SNORM, WZYX),
+   VTC(R16G16B16X16_SNORM,   16_16_16_16_SNORM, WZYX),
+   VTC(R16G16B16A16_UINT,    16_16_16_16_UINT,  WZYX),
+   VTC(R16G16B16X16_UINT,    16_16_16_16_UINT,  WZYX),
+   VTC(R16G16B16A16_SINT,    16_16_16_16_SINT,  WZYX),
+   VTC(R16G16B16X16_SINT,    16_16_16_16_SINT,  WZYX),
+   VT_(R16G16B16A16_USCALED, 16_16_16_16_UINT,  WZYX),
+   VT_(R16G16B16A16_SSCALED, 16_16_16_16_SINT,  WZYX),
+   VTC(R16G16B16A16_FLOAT,   16_16_16_16_FLOAT, WZYX),
+   VTC(R16G16B16X16_FLOAT,   16_16_16_16_FLOAT, WZYX),
+
+   V__(R32G32_UNORM,   32_32_UNORM,             WZYX),
+   V__(R32G32_SNORM,   32_32_SNORM,             WZYX),
+   VTC(R32G32_UINT,    32_32_UINT,              WZYX),
+   VTC(R32G32_SINT,    32_32_SINT,              WZYX),
+   V__(R32G32_USCALED, 32_32_UINT,              WZYX),
+   V__(R32G32_SSCALED, 32_32_SINT,              WZYX),
+   VTC(R32G32_FLOAT,   32_32_FLOAT,             WZYX),
+   V__(R32G32_FIXED,   32_32_FIXED,             WZYX),
+
+   _T_(L32A32_UINT,    32_32_UINT,              WZYX),
+   _T_(L32A32_SINT,    32_32_SINT,              WZYX),
+
+   /* 96-bit */
+   V__(R32G32B32_UNORM,   32_32_32_UNORM,       WZYX),
+   V__(R32G32B32_SNORM,   32_32_32_SNORM,       WZYX),
+   VT_(R32G32B32_UINT,    32_32_32_UINT,        WZYX),
+   VT_(R32G32B32_SINT,    32_32_32_SINT,        WZYX),
+   V__(R32G32B32_USCALED, 32_32_32_UINT,        WZYX),
+   V__(R32G32B32_SSCALED, 32_32_32_SINT,        WZYX),
+   VT_(R32G32B32_FLOAT,   32_32_32_FLOAT,       WZYX),
+   V__(R32G32B32_FIXED,   32_32_32_FIXED,       WZYX),
+
+   /* 128-bit */
+   V__(R32G32B32A32_UNORM,   32_32_32_32_UNORM, WZYX),
+   V__(R32G32B32A32_SNORM,   32_32_32_32_SNORM, WZYX),
+   VTC(R32G32B32A32_UINT,    32_32_32_32_UINT,  WZYX),
+   _TC(R32G32B32X32_UINT,    32_32_32_32_UINT,  WZYX),
+   VTC(R32G32B32A32_SINT,    32_32_32_32_SINT,  WZYX),
+   _TC(R32G32B32X32_SINT,    32_32_32_32_SINT,  WZYX),
+   V__(R32G32B32A32_USCALED, 32_32_32_32_UINT,  WZYX),
+   V__(R32G32B32A32_SSCALED, 32_32_32_32_SINT,  WZYX),
+   VTC(R32G32B32A32_FLOAT,   32_32_32_32_FLOAT, WZYX),
+   _TC(R32G32B32X32_FLOAT,   32_32_32_32_FLOAT, WZYX),
+   V__(R32G32B32A32_FIXED,   32_32_32_32_FIXED, WZYX),
+
+   /* compressed */
+   _T_(ETC1_RGB8, ETC1,                         WZYX),
+   _T_(ETC2_RGB8, ETC2_RGB8,                    WZYX),
+   _T_(ETC2_SRGB8, ETC2_RGB8,                   WZYX),
+   _T_(ETC2_RGB8A1, ETC2_RGB8A1,                WZYX),
+   _T_(ETC2_SRGB8A1, ETC2_RGB8A1,               WZYX),
+   _T_(ETC2_RGBA8, ETC2_RGBA8,                  WZYX),
+   _T_(ETC2_SRGBA8, ETC2_RGBA8,                 WZYX),
+   _T_(ETC2_R11_UNORM, ETC2_R11_UNORM,          WZYX),
+   _T_(ETC2_R11_SNORM, ETC2_R11_SNORM,          WZYX),
+   _T_(ETC2_RG11_UNORM, ETC2_RG11_UNORM,        WZYX),
+   _T_(ETC2_RG11_SNORM, ETC2_RG11_SNORM,        WZYX),
+
+   _T_(DXT1_RGB,   DXT1,                        WZYX),
+   _T_(DXT1_SRGB,  DXT1,                        WZYX),
+   _T_(DXT1_RGBA,  DXT1,                        WZYX),
+   _T_(DXT1_SRGBA, DXT1,                        WZYX),
+   _T_(DXT3_RGBA,  DXT3,                        WZYX),
+   _T_(DXT3_SRGBA, DXT3,                        WZYX),
+   _T_(DXT5_RGBA,  DXT5,                        WZYX),
+   _T_(DXT5_SRGBA, DXT5,                        WZYX),
+
+   _T_(BPTC_RGBA_UNORM, BPTC,                   WZYX),
+   _T_(BPTC_SRGBA,      BPTC,                   WZYX),
+   _T_(BPTC_RGB_FLOAT,  BPTC_FLOAT,             WZYX),
+   _T_(BPTC_RGB_UFLOAT, BPTC_UFLOAT,            WZYX),
+
+   _T_(RGTC1_UNORM, RGTC1_UNORM,                WZYX),
+   _T_(RGTC1_SNORM, RGTC1_SNORM,                WZYX),
+   _T_(RGTC2_UNORM, RGTC2_UNORM,                WZYX),
+   _T_(RGTC2_SNORM, RGTC2_SNORM,                WZYX),
+   _T_(LATC1_UNORM, RGTC1_UNORM,                WZYX),
+   _T_(LATC1_SNORM, RGTC1_SNORM,                WZYX),
+   _T_(LATC2_UNORM, RGTC2_UNORM,                WZYX),
+   _T_(LATC2_SNORM, RGTC2_SNORM,                WZYX),
+
+   _T_(ASTC_4x4,   ASTC_4x4,                    WZYX),
+   _T_(ASTC_5x4,   ASTC_5x4,                    WZYX),
+   _T_(ASTC_5x5,   ASTC_5x5,                    WZYX),
+   _T_(ASTC_6x5,   ASTC_6x5,                    WZYX),
+   _T_(ASTC_6x6,   ASTC_6x6,                    WZYX),
+   _T_(ASTC_8x5,   ASTC_8x5,                    WZYX),
+   _T_(ASTC_8x6,   ASTC_8x6,                    WZYX),
+   _T_(ASTC_8x8,   ASTC_8x8,                    WZYX),
+   _T_(ASTC_10x5,  ASTC_10x5,                   WZYX),
+   _T_(ASTC_10x6,  ASTC_10x6,                   WZYX),
+   _T_(ASTC_10x8,  ASTC_10x8,                   WZYX),
+   _T_(ASTC_10x10, ASTC_10x10,                  WZYX),
+   _T_(ASTC_12x10, ASTC_12x10,                  WZYX),
+   _T_(ASTC_12x12, ASTC_12x12,                  WZYX),
+
+   _T_(ASTC_4x4_SRGB,   ASTC_4x4,               WZYX),
+   _T_(ASTC_5x4_SRGB,   ASTC_5x4,               WZYX),
+   _T_(ASTC_5x5_SRGB,   ASTC_5x5,               WZYX),
+   _T_(ASTC_6x5_SRGB,   ASTC_6x5,               WZYX),
+   _T_(ASTC_6x6_SRGB,   ASTC_6x6,               WZYX),
+   _T_(ASTC_8x5_SRGB,   ASTC_8x5,               WZYX),
+   _T_(ASTC_8x6_SRGB,   ASTC_8x6,               WZYX),
+   _T_(ASTC_8x8_SRGB,   ASTC_8x8,               WZYX),
+   _T_(ASTC_10x5_SRGB,  ASTC_10x5,              WZYX),
+   _T_(ASTC_10x6_SRGB,  ASTC_10x6,              WZYX),
+   _T_(ASTC_10x8_SRGB,  ASTC_10x8,              WZYX),
+   _T_(ASTC_10x10_SRGB, ASTC_10x10,             WZYX),
+   _T_(ASTC_12x10_SRGB, ASTC_12x10,             WZYX),
+   _T_(ASTC_12x12_SRGB, ASTC_12x12,             WZYX),
+
+   _T_(R8_G8B8_420_UNORM, R8_G8B8_2PLANE_420_UNORM, WZYX),
 };
+/* clang-format on */
 
 /* convert pipe format to vertex buffer format: */
 enum a6xx_format
index 829e891..337aa08 100644 (file)
 #include "ir3/ir3_gallium.h"
 #include "a2xx/ir2.h"
 
+/* clang-format off */
 static const struct debug_named_value fd_debug_options[] = {
-               {"msgs",      FD_DBG_MSGS,   "Print debug messages"},
-               {"disasm",    FD_DBG_DISASM, "Dump TGSI and adreno shader disassembly (a2xx only, see IR3_SHADER_DEBUG)"},
-               {"dclear",    FD_DBG_DCLEAR, "Mark all state dirty after clear"},
-               {"ddraw",     FD_DBG_DDRAW,  "Mark all state dirty after draw"},
-               {"noscis",    FD_DBG_NOSCIS, "Disable scissor optimization"},
-               {"direct",    FD_DBG_DIRECT, "Force inline (SS_DIRECT) state loads"},
-               {"nobypass",  FD_DBG_NOBYPASS, "Disable GMEM bypass"},
-               {"perf",      FD_DBG_PERF,   "Enable performance warnings"},
-               {"nobin",     FD_DBG_NOBIN,  "Disable hw binning"},
-               {"nogmem",    FD_DBG_NOGMEM, "Disable GMEM rendering (bypass only)"},
-               {"serialc",   FD_DBG_SERIALC,"Disable asynchronous shader compile"},
-               {"shaderdb",  FD_DBG_SHADERDB, "Enable shaderdb output"},
-               {"flush",     FD_DBG_FLUSH,  "Force flush after every draw"},
-               {"deqp",      FD_DBG_DEQP,   "Enable dEQP hacks"},
-               {"inorder",   FD_DBG_INORDER,"Disable reordering for draws/blits"},
-               {"bstat",     FD_DBG_BSTAT,  "Print batch stats at context destroy"},
-               {"nogrow",    FD_DBG_NOGROW, "Disable \"growable\" cmdstream buffers, even if kernel supports it"},
-               {"lrz",       FD_DBG_LRZ,    "Enable experimental LRZ support (a5xx)"},
-               {"noindirect",FD_DBG_NOINDR, "Disable hw indirect draws (emulate on CPU)"},
-               {"noblit",    FD_DBG_NOBLIT, "Disable blitter (fallback to generic blit path)"},
-               {"hiprio",    FD_DBG_HIPRIO, "Force high-priority context"},
-               {"ttile",     FD_DBG_TTILE,  "Enable texture tiling (a2xx/a3xx/a5xx)"},
-               {"perfcntrs", FD_DBG_PERFC,  "Expose performance counters"},
-               {"noubwc",    FD_DBG_NOUBWC, "Disable UBWC for all internal buffers"},
-               {"nolrz",     FD_DBG_NOLRZ,  "Disable LRZ (a6xx)"},
-               {"notile",    FD_DBG_NOTILE, "Disable tiling for all internal buffers"},
-               {"layout",    FD_DBG_LAYOUT, "Dump resource layouts"},
-               {"nofp16",    FD_DBG_NOFP16, "Disable mediump precision lowering"},
-               {"nohw",      FD_DBG_NOHW,   "Disable submitting commands to the HW"},
-               DEBUG_NAMED_VALUE_END
+   {"msgs",      FD_DBG_MSGS,     "Print debug messages"},
+   {"disasm",    FD_DBG_DISASM,   "Dump TGSI and adreno shader disassembly (a2xx only, see IR3_SHADER_DEBUG)"},
+   {"dclear",    FD_DBG_DCLEAR,   "Mark all state dirty after clear"},
+   {"ddraw",     FD_DBG_DDRAW,    "Mark all state dirty after draw"},
+   {"noscis",    FD_DBG_NOSCIS,   "Disable scissor optimization"},
+   {"direct",    FD_DBG_DIRECT,   "Force inline (SS_DIRECT) state loads"},
+   {"nobypass",  FD_DBG_NOBYPASS, "Disable GMEM bypass"},
+   {"perf",      FD_DBG_PERF,     "Enable performance warnings"},
+   {"nobin",     FD_DBG_NOBIN,    "Disable hw binning"},
+   {"nogmem",    FD_DBG_NOGMEM,   "Disable GMEM rendering (bypass only)"},
+   {"serialc",   FD_DBG_SERIALC,"Disable asynchronous shader compile"},
+   {"shaderdb",  FD_DBG_SHADERDB, "Enable shaderdb output"},
+   {"flush",     FD_DBG_FLUSH,    "Force flush after every draw"},
+   {"deqp",      FD_DBG_DEQP,     "Enable dEQP hacks"},
+   {"inorder",   FD_DBG_INORDER,  "Disable reordering for draws/blits"},
+   {"bstat",     FD_DBG_BSTAT,    "Print batch stats at context destroy"},
+   {"nogrow",    FD_DBG_NOGROW,   "Disable \"growable\" cmdstream buffers, even if kernel supports it"},
+   {"lrz",       FD_DBG_LRZ,      "Enable experimental LRZ support (a5xx)"},
+   {"noindirect",FD_DBG_NOINDR,   "Disable hw indirect draws (emulate on CPU)"},
+   {"noblit",    FD_DBG_NOBLIT,   "Disable blitter (fallback to generic blit path)"},
+   {"hiprio",    FD_DBG_HIPRIO,   "Force high-priority context"},
+   {"ttile",     FD_DBG_TTILE,    "Enable texture tiling (a2xx/a3xx/a5xx)"},
+   {"perfcntrs", FD_DBG_PERFC,    "Expose performance counters"},
+   {"noubwc",    FD_DBG_NOUBWC,   "Disable UBWC for all internal buffers"},
+   {"nolrz",     FD_DBG_NOLRZ,    "Disable LRZ (a6xx)"},
+   {"notile",    FD_DBG_NOTILE,   "Disable tiling for all internal buffers"},
+   {"layout",    FD_DBG_LAYOUT,   "Dump resource layouts"},
+   {"nofp16",    FD_DBG_NOFP16,   "Disable mediump precision lowering"},
+   {"nohw",      FD_DBG_NOHW,     "Disable submitting commands to the HW"},
+   DEBUG_NAMED_VALUE_END
 };
+/* clang-format on */
 
 DEBUG_GET_ONCE_FLAGS_OPTION(fd_mesa_debug, "FD_MESA_DEBUG", fd_debug_options, 0)
 
index d7b5c9a..90b21a6 100644 (file)
@@ -61,37 +61,39 @@ enum adreno_stencil_op fd_stencil_op(unsigned op);
 
 #define MAX_RENDER_TARGETS A6XX_MAX_RENDER_TARGETS
 
+/* clang-format off */
 enum fd_debug_flag {
-       FD_DBG_MSGS         = BITFIELD_BIT(0),
-       FD_DBG_DISASM       = BITFIELD_BIT(1),
-       FD_DBG_DCLEAR       = BITFIELD_BIT(2),
-       FD_DBG_DDRAW        = BITFIELD_BIT(3),
-       FD_DBG_NOSCIS       = BITFIELD_BIT(4),
-       FD_DBG_DIRECT       = BITFIELD_BIT(5),
-       FD_DBG_NOBYPASS     = BITFIELD_BIT(6),
-       FD_DBG_PERF         = BITFIELD_BIT(7),
-       FD_DBG_NOBIN        = BITFIELD_BIT(8),
-       FD_DBG_NOGMEM       = BITFIELD_BIT(9),
-       FD_DBG_SERIALC      = BITFIELD_BIT(10),
-       FD_DBG_SHADERDB     = BITFIELD_BIT(11),
-       FD_DBG_FLUSH        = BITFIELD_BIT(12),
-       FD_DBG_DEQP         = BITFIELD_BIT(13),
-       FD_DBG_INORDER      = BITFIELD_BIT(14),
-       FD_DBG_BSTAT        = BITFIELD_BIT(15),
-       FD_DBG_NOGROW       = BITFIELD_BIT(16),
-       FD_DBG_LRZ          = BITFIELD_BIT(17),
-       FD_DBG_NOINDR       = BITFIELD_BIT(18),
-       FD_DBG_NOBLIT       = BITFIELD_BIT(19),
-       FD_DBG_HIPRIO       = BITFIELD_BIT(20),
-       FD_DBG_TTILE        = BITFIELD_BIT(21),
-       FD_DBG_PERFC        = BITFIELD_BIT(22),
-       FD_DBG_NOUBWC       = BITFIELD_BIT(23),
-       FD_DBG_NOLRZ        = BITFIELD_BIT(24),
-       FD_DBG_NOTILE       = BITFIELD_BIT(25),
-       FD_DBG_LAYOUT       = BITFIELD_BIT(26),
-       FD_DBG_NOFP16       = BITFIELD_BIT(27),
-       FD_DBG_NOHW         = BITFIELD_BIT(28),
+   FD_DBG_MSGS         = BITFIELD_BIT(0),
+   FD_DBG_DISASM       = BITFIELD_BIT(1),
+   FD_DBG_DCLEAR       = BITFIELD_BIT(2),
+   FD_DBG_DDRAW        = BITFIELD_BIT(3),
+   FD_DBG_NOSCIS       = BITFIELD_BIT(4),
+   FD_DBG_DIRECT       = BITFIELD_BIT(5),
+   FD_DBG_NOBYPASS     = BITFIELD_BIT(6),
+   FD_DBG_PERF         = BITFIELD_BIT(7),
+   FD_DBG_NOBIN        = BITFIELD_BIT(8),
+   FD_DBG_NOGMEM       = BITFIELD_BIT(9),
+   FD_DBG_SERIALC      = BITFIELD_BIT(10),
+   FD_DBG_SHADERDB     = BITFIELD_BIT(11),
+   FD_DBG_FLUSH        = BITFIELD_BIT(12),
+   FD_DBG_DEQP         = BITFIELD_BIT(13),
+   FD_DBG_INORDER      = BITFIELD_BIT(14),
+   FD_DBG_BSTAT        = BITFIELD_BIT(15),
+   FD_DBG_NOGROW       = BITFIELD_BIT(16),
+   FD_DBG_LRZ          = BITFIELD_BIT(17),
+   FD_DBG_NOINDR       = BITFIELD_BIT(18),
+   FD_DBG_NOBLIT       = BITFIELD_BIT(19),
+   FD_DBG_HIPRIO       = BITFIELD_BIT(20),
+   FD_DBG_TTILE        = BITFIELD_BIT(21),
+   FD_DBG_PERFC        = BITFIELD_BIT(22),
+   FD_DBG_NOUBWC       = BITFIELD_BIT(23),
+   FD_DBG_NOLRZ        = BITFIELD_BIT(24),
+   FD_DBG_NOTILE       = BITFIELD_BIT(25),
+   FD_DBG_LAYOUT       = BITFIELD_BIT(26),
+   FD_DBG_NOFP16       = BITFIELD_BIT(27),
+   FD_DBG_NOHW         = BITFIELD_BIT(28),
 };
+/* clang-format on */
 
 extern int fd_mesa_debug;
 extern bool fd_binning_enabled;
index b33642d..b60d25c 100644 (file)
@@ -32,51 +32,53 @@ static bool bin_debug = false;
 /* NOTE, non-interesting gmem keys (ie. things that are small enough to fit
  * in a single bin) are commented out, but retained for posterity.
  */
+/* clang-format off */
 static const struct gmem_key keys[] = {
-       { .minx=0, .miny=0, .width=1536, .height=2048, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {1,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       /* manhattan: */
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
-//     { .minx=0, .miny=0, .width=64, .height=64, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-//     { .minx=0, .miny=0, .width=32, .height=32, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-//     { .minx=0, .miny=0, .width=16, .height=16, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-//     { .minx=0, .miny=0, .width=8, .height=8, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-//     { .minx=0, .miny=0, .width=4, .height=4, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-//     { .minx=0, .miny=0, .width=2, .height=2, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-//     { .minx=0, .miny=0, .width=1, .height=1, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=4, .cbuf_cpp = {4,4,4,4,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
-//     { .minx=0, .miny=0, .width=64, .height=64, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {2,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       { .minx=0, .miny=0, .width=1024, .height=1024, .gmem_page_align=1, .nr_cbufs=0, .cbuf_cpp = {0,0,0,0,0,0,0,0,}, .zsbuf_cpp = {2,0,}},
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=0, .cbuf_cpp = {0,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
-       { .minx=0, .miny=0, .width=960, .height=540, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       { .minx=0, .miny=0, .width=480, .height=270, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-//     { .minx=0, .miny=0, .width=240, .height=135, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-//     { .minx=0, .miny=0, .width=120, .height=67, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-
-       /* trex: */
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {2,0,}},
-       { .minx=0, .miny=0, .width=960, .height=540, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {2,0,0,0,0,0,0,0,}, .zsbuf_cpp = {2,0,}},
-       { .minx=0, .miny=0, .width=1024, .height=1024, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {2,0,}},
-//     { .minx=0, .miny=0, .width=64, .height=64, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {2,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-
-       /* supertuxkart: */
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {2,0,}},
-       { .minx=0, .miny=0, .width=810, .height=810, .gmem_page_align=1, .nr_cbufs=2, .cbuf_cpp = {4,4,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
-//     { .minx=0, .miny=0, .width=405, .height=405, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {2,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       { .minx=0, .miny=0, .width=405, .height=405, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {8,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       { .minx=0, .miny=0, .width=810, .height=810, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {8,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
-       { .minx=0, .miny=0, .width=810, .height=810, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
-       { .minx=0, .miny=0, .width=810, .height=810, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       { .minx=0, .miny=0, .width=960, .height=540, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {2,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {8,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       { .minx=0, .miny=0, .width=960, .height=540, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {8,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=2, .cbuf_cpp = {4,4,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {8,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
-       { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
+   { .minx=0, .miny=0, .width=1536, .height=2048, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {1,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   /* manhattan: */
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
+// { .minx=0, .miny=0, .width=64, .height=64, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+// { .minx=0, .miny=0, .width=32, .height=32, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+// { .minx=0, .miny=0, .width=16, .height=16, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+// { .minx=0, .miny=0, .width=8, .height=8, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+// { .minx=0, .miny=0, .width=4, .height=4, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+// { .minx=0, .miny=0, .width=2, .height=2, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+// { .minx=0, .miny=0, .width=1, .height=1, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=4, .cbuf_cpp = {4,4,4,4,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
+// { .minx=0, .miny=0, .width=64, .height=64, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {2,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   { .minx=0, .miny=0, .width=1024, .height=1024, .gmem_page_align=1, .nr_cbufs=0, .cbuf_cpp = {0,0,0,0,0,0,0,0,}, .zsbuf_cpp = {2,0,}},
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=0, .cbuf_cpp = {0,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
+   { .minx=0, .miny=0, .width=960, .height=540, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   { .minx=0, .miny=0, .width=480, .height=270, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+// { .minx=0, .miny=0, .width=240, .height=135, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+// { .minx=0, .miny=0, .width=120, .height=67, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+
+   /* trex: */
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {2,0,}},
+   { .minx=0, .miny=0, .width=960, .height=540, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {2,0,0,0,0,0,0,0,}, .zsbuf_cpp = {2,0,}},
+   { .minx=0, .miny=0, .width=1024, .height=1024, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {2,0,}},
+// { .minx=0, .miny=0, .width=64, .height=64, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {2,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+
+   /* supertuxkart: */
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {2,0,}},
+   { .minx=0, .miny=0, .width=810, .height=810, .gmem_page_align=1, .nr_cbufs=2, .cbuf_cpp = {4,4,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
+// { .minx=0, .miny=0, .width=405, .height=405, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {2,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   { .minx=0, .miny=0, .width=405, .height=405, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {8,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   { .minx=0, .miny=0, .width=810, .height=810, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {8,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
+   { .minx=0, .miny=0, .width=810, .height=810, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
+   { .minx=0, .miny=0, .width=810, .height=810, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   { .minx=0, .miny=0, .width=960, .height=540, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {2,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {8,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   { .minx=0, .miny=0, .width=960, .height=540, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {8,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}},
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=2, .cbuf_cpp = {4,4,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {8,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
+   { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}},
 };
+/* clang-format on */
 
 struct gpu_info {
        const char *name;