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>
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)
* 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;
*/
#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;
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)
.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)
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)
.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
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)
.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
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,
#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
#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)
#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;
/* 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;