From 8d31d16517d8334d0db93a85c1e2659bfad73996 Mon Sep 17 00:00:00 2001 From: Rob Clark Date: Fri, 5 Feb 2021 12:26:16 -0800 Subject: [PATCH] freedreno: Some manual reformatting Take care of a few things that clang-format makes a hash of. Signed-off-by: Rob Clark Part-of: --- .../drivers/freedreno/a2xx/fd2_context.c | 61 ++- src/gallium/drivers/freedreno/a2xx/fd2_draw.c | 18 +- src/gallium/drivers/freedreno/a2xx/fd2_util.c | 69 +-- .../drivers/freedreno/a3xx/fd3_context.c | 18 +- .../drivers/freedreno/a3xx/fd3_format.c | 376 +++++++------- .../drivers/freedreno/a4xx/fd4_context.c | 18 +- .../drivers/freedreno/a4xx/fd4_format.c | 456 ++++++++--------- .../drivers/freedreno/a5xx/fd5_context.c | 18 +- .../drivers/freedreno/a5xx/fd5_format.c | 460 ++++++++--------- .../drivers/freedreno/a6xx/fd6_context.c | 28 +- .../drivers/freedreno/a6xx/fd6_format.c | 478 +++++++++--------- .../drivers/freedreno/freedreno_screen.c | 62 +-- .../drivers/freedreno/freedreno_util.h | 60 +-- src/gallium/drivers/freedreno/gmemtool.c | 84 +-- 14 files changed, 1119 insertions(+), 1087 deletions(-) diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_context.c b/src/gallium/drivers/freedreno/a2xx/fd2_context.c index 3cda23d6d95..2d0dfcabf24 100644 --- a/src/gallium/drivers/freedreno/a2xx/fd2_context.c +++ b/src/gallium/drivers/freedreno/a2xx/fd2_context.c @@ -47,45 +47,50 @@ fd2_context_destroy(struct pipe_context *pctx) static struct pipe_resource * create_solid_vertexbuf(struct pipe_context *pctx) { - static const float init_shader_const[] = { - /* for clear/gmem2mem/mem2gmem (vertices): */ - -1.000000, +1.000000, +1.000000, - +1.000000, +1.000000, +1.000000, - -1.000000, -1.000000, +1.000000, - /* for mem2gmem: (tex coords) */ - +0.000000, +0.000000, - +1.000000, +0.000000, - +0.000000, +1.000000, - /* SCREEN_SCISSOR_BR value (must be at 60 byte offset in page) */ - 0.0, - /* zero indices dummy draw workaround (3 16-bit zeros) */ - 0.0, 0.0, - }; - struct pipe_resource *prsc = pipe_buffer_create(pctx->screen, + /* clang-format off */ + static const float init_shader_const[] = { + /* for clear/gmem2mem/mem2gmem (vertices): */ + -1.000000, +1.000000, +1.000000, + +1.000000, +1.000000, +1.000000, + -1.000000, -1.000000, +1.000000, + /* for mem2gmem: (tex coords) */ + +0.000000, +0.000000, + +1.000000, +0.000000, + +0.000000, +1.000000, + /* SCREEN_SCISSOR_BR value (must be at 60 byte offset in page) */ + 0.0, + /* zero indices dummy draw workaround (3 16-bit zeros) */ + 0.0, 0.0, + }; + /* clang-format on */ + + struct pipe_resource *prsc = pipe_buffer_create(pctx->screen, PIPE_BIND_CUSTOM, PIPE_USAGE_IMMUTABLE, sizeof(init_shader_const)); pipe_buffer_write(pctx, prsc, 0, sizeof(init_shader_const), init_shader_const); return prsc; } +/* clang-format off */ static const uint8_t a22x_primtypes[PIPE_PRIM_MAX] = { - [PIPE_PRIM_POINTS] = DI_PT_POINTLIST_PSIZE, - [PIPE_PRIM_LINES] = DI_PT_LINELIST, - [PIPE_PRIM_LINE_STRIP] = DI_PT_LINESTRIP, - [PIPE_PRIM_LINE_LOOP] = DI_PT_LINELOOP, - [PIPE_PRIM_TRIANGLES] = DI_PT_TRILIST, - [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP, - [PIPE_PRIM_TRIANGLE_FAN] = DI_PT_TRIFAN, + [PIPE_PRIM_POINTS] = DI_PT_POINTLIST_PSIZE, + [PIPE_PRIM_LINES] = DI_PT_LINELIST, + [PIPE_PRIM_LINE_STRIP] = DI_PT_LINESTRIP, + [PIPE_PRIM_LINE_LOOP] = DI_PT_LINELOOP, + [PIPE_PRIM_TRIANGLES] = DI_PT_TRILIST, + [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP, + [PIPE_PRIM_TRIANGLE_FAN] = DI_PT_TRIFAN, }; static const uint8_t a20x_primtypes[PIPE_PRIM_MAX] = { - [PIPE_PRIM_POINTS] = DI_PT_POINTLIST_PSIZE, - [PIPE_PRIM_LINES] = DI_PT_LINELIST, - [PIPE_PRIM_LINE_STRIP] = DI_PT_LINESTRIP, - [PIPE_PRIM_TRIANGLES] = DI_PT_TRILIST, - [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP, - [PIPE_PRIM_TRIANGLE_FAN] = DI_PT_TRIFAN, + [PIPE_PRIM_POINTS] = DI_PT_POINTLIST_PSIZE, + [PIPE_PRIM_LINES] = DI_PT_LINELIST, + [PIPE_PRIM_LINE_STRIP] = DI_PT_LINESTRIP, + [PIPE_PRIM_TRIANGLES] = DI_PT_TRILIST, + [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP, + [PIPE_PRIM_TRIANGLE_FAN] = DI_PT_TRIFAN, }; +/* clang-format on */ struct pipe_context * fd2_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags) diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_draw.c b/src/gallium/drivers/freedreno/a2xx/fd2_draw.c index 2a953852cbb..0b6e0f71693 100644 --- a/src/gallium/drivers/freedreno/a2xx/fd2_draw.c +++ b/src/gallium/drivers/freedreno/a2xx/fd2_draw.c @@ -183,15 +183,17 @@ fd2_draw_vbo(struct fd_context *ctx, const struct pipe_draw_info *pinfo, * 32766 works for all primitives (multiple of 2 and 3) */ if (pdraw->count > 32766) { - static const uint16_t step_tbl[PIPE_PRIM_MAX] = { - [0 ... PIPE_PRIM_MAX - 1] = 32766, - [PIPE_PRIM_LINE_STRIP] = 32765, - [PIPE_PRIM_TRIANGLE_STRIP] = 32764, + /* 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, - }; + /* 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; diff --git a/src/gallium/drivers/freedreno/a2xx/fd2_util.c b/src/gallium/drivers/freedreno/a2xx/fd2_util.c index c6e0c4a4d79..f4243043f64 100644 --- a/src/gallium/drivers/freedreno/a2xx/fd2_util.c +++ b/src/gallium/drivers/freedreno/a2xx/fd2_util.c @@ -81,39 +81,42 @@ pipe2surface(enum pipe_format format, struct surface_format *fmt) */ #define CASE(r, g, b, a) case (r | g << 8 | b << 16 | a << 24) - if (desc->channel[0].type == UTIL_FORMAT_TYPE_FLOAT) { - switch (channel_size) { - CASE(16, 0, 0, 0): return FMT_16_FLOAT; - CASE(16, 16, 0, 0): return FMT_16_16_FLOAT; - CASE(16, 16, 16, 0): return FMT_16_16_16_16_FLOAT; /* Note: only for vertex */ - CASE(16, 16, 16, 16): return FMT_16_16_16_16_FLOAT; - CASE(32, 0, 0, 0): return FMT_32_FLOAT; - CASE(32, 32, 0, 0): return FMT_32_32_FLOAT; - CASE(32, 32, 32, 0): return FMT_32_32_32_FLOAT; - CASE(32, 32, 32, 32): return FMT_32_32_32_32_FLOAT; - } - } else { - switch (channel_size) { - CASE( 8, 0, 0, 0): return FMT_8; - CASE( 8, 8, 0, 0): return FMT_8_8; - CASE( 8, 8, 8, 0): return FMT_8_8_8_8; /* Note: only for vertex */ - CASE( 8, 8, 8, 8): return FMT_8_8_8_8; - CASE(16, 0, 0, 0): return FMT_16; - CASE(16, 16, 0, 0): return FMT_16_16; - CASE(16, 16, 16, 0): return FMT_16_16_16_16; /* Note: only for vertex */ - CASE(16, 16, 16, 16): return FMT_16_16_16_16; - CASE(32, 0, 0, 0): return FMT_32; - CASE(32, 32, 0, 0): return FMT_32_32; - CASE(32, 32, 32, 0): return FMT_32_32_32_32; /* Note: only for vertex */ - CASE(32, 32, 32, 32): return FMT_32_32_32_32; - CASE( 4, 4, 4, 4): return FMT_4_4_4_4; - CASE( 5, 5, 5, 1): return FMT_1_5_5_5; - CASE( 5, 6, 5, 0): return FMT_5_6_5; - CASE(10, 10, 10, 2): return FMT_2_10_10_10; - CASE( 8, 24, 0, 0): return FMT_24_8; - CASE( 2, 3, 3, 0): return FMT_2_3_3; /* Note: R/B swapped */ - } - } + + /* clang-format off */ + if (desc->channel[0].type == UTIL_FORMAT_TYPE_FLOAT) { + switch (channel_size) { + CASE(16, 0, 0, 0): return FMT_16_FLOAT; + CASE(16, 16, 0, 0): return FMT_16_16_FLOAT; + CASE(16, 16, 16, 0): return FMT_16_16_16_16_FLOAT; /* Note: only for vertex */ + CASE(16, 16, 16, 16): return FMT_16_16_16_16_FLOAT; + CASE(32, 0, 0, 0): return FMT_32_FLOAT; + CASE(32, 32, 0, 0): return FMT_32_32_FLOAT; + CASE(32, 32, 32, 0): return FMT_32_32_32_FLOAT; + CASE(32, 32, 32, 32): return FMT_32_32_32_32_FLOAT; + } + } else { + switch (channel_size) { + CASE( 8, 0, 0, 0): return FMT_8; + CASE( 8, 8, 0, 0): return FMT_8_8; + CASE( 8, 8, 8, 0): return FMT_8_8_8_8; /* Note: only for vertex */ + CASE( 8, 8, 8, 8): return FMT_8_8_8_8; + CASE(16, 0, 0, 0): return FMT_16; + CASE(16, 16, 0, 0): return FMT_16_16; + CASE(16, 16, 16, 0): return FMT_16_16_16_16; /* Note: only for vertex */ + CASE(16, 16, 16, 16): return FMT_16_16_16_16; + CASE(32, 0, 0, 0): return FMT_32; + CASE(32, 32, 0, 0): return FMT_32_32; + CASE(32, 32, 32, 0): return FMT_32_32_32_32; /* Note: only for vertex */ + CASE(32, 32, 32, 32): return FMT_32_32_32_32; + CASE( 4, 4, 4, 4): return FMT_4_4_4_4; + CASE( 5, 5, 5, 1): return FMT_1_5_5_5; + CASE( 5, 6, 5, 0): return FMT_5_6_5; + CASE(10, 10, 10, 2): return FMT_2_10_10_10; + CASE( 8, 24, 0, 0): return FMT_24_8; + CASE( 2, 3, 3, 0): return FMT_2_3_3; /* Note: R/B swapped */ + } + } + /* clang-format on */ #undef CASE return ~0; diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_context.c b/src/gallium/drivers/freedreno/a3xx/fd3_context.c index 344c26604c6..bd4f40b6493 100644 --- a/src/gallium/drivers/freedreno/a3xx/fd3_context.c +++ b/src/gallium/drivers/freedreno/a3xx/fd3_context.c @@ -59,16 +59,18 @@ fd3_context_destroy(struct pipe_context *pctx) free(fd3_ctx); } +/* clang-format off */ static const uint8_t primtypes[] = { - [PIPE_PRIM_POINTS] = DI_PT_POINTLIST, - [PIPE_PRIM_LINES] = DI_PT_LINELIST, - [PIPE_PRIM_LINE_STRIP] = DI_PT_LINESTRIP, - [PIPE_PRIM_LINE_LOOP] = DI_PT_LINELOOP, - [PIPE_PRIM_TRIANGLES] = DI_PT_TRILIST, - [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP, - [PIPE_PRIM_TRIANGLE_FAN] = DI_PT_TRIFAN, - [PIPE_PRIM_MAX] = DI_PT_RECTLIST, /* internal clear blits */ + [PIPE_PRIM_POINTS] = DI_PT_POINTLIST, + [PIPE_PRIM_LINES] = DI_PT_LINELIST, + [PIPE_PRIM_LINE_STRIP] = DI_PT_LINESTRIP, + [PIPE_PRIM_LINE_LOOP] = DI_PT_LINELOOP, + [PIPE_PRIM_TRIANGLES] = DI_PT_TRILIST, + [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP, + [PIPE_PRIM_TRIANGLE_FAN] = DI_PT_TRIFAN, + [PIPE_PRIM_MAX] = DI_PT_RECTLIST, /* internal clear blits */ }; +/* clang-format on */ struct pipe_context * fd3_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags) diff --git a/src/gallium/drivers/freedreno/a3xx/fd3_format.c b/src/gallium/drivers/freedreno/a3xx/fd3_format.c index 10195c1eb7b..a6eed2e995c 100644 --- a/src/gallium/drivers/freedreno/a3xx/fd3_format.c +++ b/src/gallium/drivers/freedreno/a3xx/fd3_format.c @@ -69,225 +69,227 @@ struct fd3_format { .swap = swapfmt \ } +/* clang-format off */ static struct fd3_format formats[PIPE_FORMAT_COUNT] = { - /* 8-bit */ - VT(R8_UNORM, 8_UNORM, R8_UNORM, WZYX), - VT(R8_SNORM, 8_SNORM, NONE, WZYX), - VT(R8_UINT, 8_UINT, NONE, WZYX), - VT(R8_SINT, 8_SINT, NONE, WZYX), - V_(R8_USCALED, 8_UINT, NONE, WZYX), - V_(R8_SSCALED, 8_SINT, NONE, WZYX), + /* 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_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(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), + _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), + /* 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), + _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), + 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(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), + _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), + /* 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), + /* 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), + _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), + 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), + _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(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(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(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(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), + 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(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), + _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), + /* 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), + /* 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), + 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), + _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), + /* 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), + /* 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), + /* 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(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), + /* 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), + _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) diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_context.c b/src/gallium/drivers/freedreno/a4xx/fd4_context.c index 9bcd63531f4..e64fd11e018 100644 --- a/src/gallium/drivers/freedreno/a4xx/fd4_context.c +++ b/src/gallium/drivers/freedreno/a4xx/fd4_context.c @@ -59,16 +59,18 @@ fd4_context_destroy(struct pipe_context *pctx) free(fd4_ctx); } +/* clang-format off */ static const uint8_t primtypes[] = { - [PIPE_PRIM_POINTS] = DI_PT_POINTLIST, - [PIPE_PRIM_LINES] = DI_PT_LINELIST, - [PIPE_PRIM_LINE_STRIP] = DI_PT_LINESTRIP, - [PIPE_PRIM_LINE_LOOP] = DI_PT_LINELOOP, - [PIPE_PRIM_TRIANGLES] = DI_PT_TRILIST, - [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP, - [PIPE_PRIM_TRIANGLE_FAN] = DI_PT_TRIFAN, - [PIPE_PRIM_MAX] = DI_PT_RECTLIST, /* internal clear blits */ + [PIPE_PRIM_POINTS] = DI_PT_POINTLIST, + [PIPE_PRIM_LINES] = DI_PT_LINELIST, + [PIPE_PRIM_LINE_STRIP] = DI_PT_LINESTRIP, + [PIPE_PRIM_LINE_LOOP] = DI_PT_LINELOOP, + [PIPE_PRIM_TRIANGLES] = DI_PT_TRILIST, + [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP, + [PIPE_PRIM_TRIANGLE_FAN] = DI_PT_TRIFAN, + [PIPE_PRIM_MAX] = DI_PT_RECTLIST, /* internal clear blits */ }; +/* clang-format on */ struct pipe_context * fd4_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags) diff --git a/src/gallium/drivers/freedreno/a4xx/fd4_format.c b/src/gallium/drivers/freedreno/a4xx/fd4_format.c index 1a6157ff462..6fc340ae7bb 100644 --- a/src/gallium/drivers/freedreno/a4xx/fd4_format.c +++ b/src/gallium/drivers/freedreno/a4xx/fd4_format.c @@ -72,267 +72,269 @@ struct fd4_format { .swap = swapfmt \ } +/* clang-format off */ static struct fd4_format formats[PIPE_FORMAT_COUNT] = { - /* 8-bit */ - VT(R8_UNORM, 8_UNORM, R8_UNORM, WZYX), - VT(R8_SNORM, 8_SNORM, R8_SNORM, WZYX), - VT(R8_UINT, 8_UINT, R8_UINT, WZYX), - VT(R8_SINT, 8_SINT, R8_SINT, WZYX), - V_(R8_USCALED, 8_UINT, NONE, WZYX), - V_(R8_SSCALED, 8_SINT, NONE, WZYX), + /* 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_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(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), + _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), + /* 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), + _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), + 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(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), + _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), + /* 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), + /* 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), + _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), + 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), + _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(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(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(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(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(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), + 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), + _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), + /* 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), + /* 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), + 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), + _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), + /* 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), + /* 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), + /* 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(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(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(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, 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), + _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 diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_context.c b/src/gallium/drivers/freedreno/a5xx/fd5_context.c index 0bef048ca47..bd92c5fbae4 100644 --- a/src/gallium/drivers/freedreno/a5xx/fd5_context.c +++ b/src/gallium/drivers/freedreno/a5xx/fd5_context.c @@ -58,16 +58,18 @@ fd5_context_destroy(struct pipe_context *pctx) free(fd5_ctx); } +/* clang-format off */ static const uint8_t primtypes[] = { - [PIPE_PRIM_POINTS] = DI_PT_POINTLIST, - [PIPE_PRIM_LINES] = DI_PT_LINELIST, - [PIPE_PRIM_LINE_STRIP] = DI_PT_LINESTRIP, - [PIPE_PRIM_LINE_LOOP] = DI_PT_LINELOOP, - [PIPE_PRIM_TRIANGLES] = DI_PT_TRILIST, - [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP, - [PIPE_PRIM_TRIANGLE_FAN] = DI_PT_TRIFAN, - [PIPE_PRIM_MAX] = DI_PT_RECTLIST, /* internal clear blits */ + [PIPE_PRIM_POINTS] = DI_PT_POINTLIST, + [PIPE_PRIM_LINES] = DI_PT_LINELIST, + [PIPE_PRIM_LINE_STRIP] = DI_PT_LINESTRIP, + [PIPE_PRIM_LINE_LOOP] = DI_PT_LINELOOP, + [PIPE_PRIM_TRIANGLES] = DI_PT_TRILIST, + [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP, + [PIPE_PRIM_TRIANGLE_FAN] = DI_PT_TRIFAN, + [PIPE_PRIM_MAX] = DI_PT_RECTLIST, /* internal clear blits */ }; +/* clang-format on */ struct pipe_context * fd5_context_create(struct pipe_screen *pscreen, void *priv, unsigned flags) diff --git a/src/gallium/drivers/freedreno/a5xx/fd5_format.c b/src/gallium/drivers/freedreno/a5xx/fd5_format.c index f5a17cebb8b..847c379477c 100644 --- a/src/gallium/drivers/freedreno/a5xx/fd5_format.c +++ b/src/gallium/drivers/freedreno/a5xx/fd5_format.c @@ -72,270 +72,272 @@ struct fd5_format { .swap = swapfmt \ } +/* clang-format off */ static struct fd5_format formats[PIPE_FORMAT_COUNT] = { - /* for blitting, treat PIPE_FORMAT_NONE as 8bit R8: */ - _T(R8_UINT, 8_UINT, R8_UINT, WZYX), + /* 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), + /* 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_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(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), + _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), + /* 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), + _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), + 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(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), + _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), + /* 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), + /* 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), + _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), + 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), + _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(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(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(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(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(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), + 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), + _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), + /* 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), + /* 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), + 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), + _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), + /* 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), + /* 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), + /* 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(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(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(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, 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), + _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 diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_context.c b/src/gallium/drivers/freedreno/a6xx/fd6_context.c index 7b088ff6acb..4d8ad8f4c0e 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_context.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_context.c @@ -65,21 +65,23 @@ fd6_context_destroy(struct pipe_context *pctx) free(fd6_ctx); } +/* clang-format off */ static const uint8_t primtypes[] = { - [PIPE_PRIM_POINTS] = DI_PT_POINTLIST, - [PIPE_PRIM_LINES] = DI_PT_LINELIST, - [PIPE_PRIM_LINE_STRIP] = DI_PT_LINESTRIP, - [PIPE_PRIM_LINE_LOOP] = DI_PT_LINELOOP, - [PIPE_PRIM_TRIANGLES] = DI_PT_TRILIST, - [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP, - [PIPE_PRIM_TRIANGLE_FAN] = DI_PT_TRIFAN, - [PIPE_PRIM_LINES_ADJACENCY] = DI_PT_LINE_ADJ, - [PIPE_PRIM_LINE_STRIP_ADJACENCY] = DI_PT_LINESTRIP_ADJ, - [PIPE_PRIM_TRIANGLES_ADJACENCY] = DI_PT_TRI_ADJ, - [PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = DI_PT_TRISTRIP_ADJ, - [PIPE_PRIM_PATCHES] = DI_PT_PATCHES0, - [PIPE_PRIM_MAX] = DI_PT_RECTLIST, /* internal clear blits */ + [PIPE_PRIM_POINTS] = DI_PT_POINTLIST, + [PIPE_PRIM_LINES] = DI_PT_LINELIST, + [PIPE_PRIM_LINE_STRIP] = DI_PT_LINESTRIP, + [PIPE_PRIM_LINE_LOOP] = DI_PT_LINELOOP, + [PIPE_PRIM_TRIANGLES] = DI_PT_TRILIST, + [PIPE_PRIM_TRIANGLE_STRIP] = DI_PT_TRISTRIP, + [PIPE_PRIM_TRIANGLE_FAN] = DI_PT_TRIFAN, + [PIPE_PRIM_LINES_ADJACENCY] = DI_PT_LINE_ADJ, + [PIPE_PRIM_LINE_STRIP_ADJACENCY] = DI_PT_LINESTRIP_ADJ, + [PIPE_PRIM_TRIANGLES_ADJACENCY] = DI_PT_TRI_ADJ, + [PIPE_PRIM_TRIANGLE_STRIP_ADJACENCY] = DI_PT_TRISTRIP_ADJ, + [PIPE_PRIM_PATCHES] = DI_PT_PATCHES0, + [PIPE_PRIM_MAX] = DI_PT_RECTLIST, /* internal clear blits */ }; +/* clang-format on */ static void * fd6_vertex_state_create(struct pipe_context *pctx, unsigned num_elements, diff --git a/src/gallium/drivers/freedreno/a6xx/fd6_format.c b/src/gallium/drivers/freedreno/a6xx/fd6_format.c index 0f6b70472c1..69d635cc618 100644 --- a/src/gallium/drivers/freedreno/a6xx/fd6_format.c +++ b/src/gallium/drivers/freedreno/a6xx/fd6_format.c @@ -61,280 +61,282 @@ struct fd6_format { #define VT_(pipe, fmt, swapfmt) FMT(pipe, fmt, fmt, NONE, swapfmt) #define V__(pipe, fmt, swapfmt) FMT(pipe, fmt, NONE, NONE, swapfmt) +/* clang-format off */ static struct fd6_format formats[PIPE_FORMAT_COUNT] = { - /* 8-bit */ - VTC(R8_UNORM, 8_UNORM, WZYX), - VTC(R8_SNORM, 8_SNORM, WZYX), - VTC(R8_UINT, 8_UINT, WZYX), - VTC(R8_SINT, 8_SINT, WZYX), - V__(R8_USCALED, 8_UINT, WZYX), - V__(R8_SSCALED, 8_SINT, WZYX), + /* 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), + 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), + _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), + _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), + /* 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), + _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), + 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), + _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), + _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), + /* 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), + /* 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), + _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), + 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), + _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(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(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(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), + 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), + 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), + 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), + _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), + /* 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), + /* 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), + /* 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), + 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), + _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), + /* 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), + /* 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), + /* 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_(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_(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_(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, 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_(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), + _T_(R8_G8B8_420_UNORM, R8_G8B8_2PLANE_420_UNORM, WZYX), }; +/* clang-format on */ /* convert pipe format to vertex buffer format: */ enum a6xx_format diff --git a/src/gallium/drivers/freedreno/freedreno_screen.c b/src/gallium/drivers/freedreno/freedreno_screen.c index 829e891a26d..337aa0843fd 100644 --- a/src/gallium/drivers/freedreno/freedreno_screen.c +++ b/src/gallium/drivers/freedreno/freedreno_screen.c @@ -64,38 +64,40 @@ #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) diff --git a/src/gallium/drivers/freedreno/freedreno_util.h b/src/gallium/drivers/freedreno/freedreno_util.h index d7b5c9a082b..90b21a6ffb7 100644 --- a/src/gallium/drivers/freedreno/freedreno_util.h +++ b/src/gallium/drivers/freedreno/freedreno_util.h @@ -61,37 +61,39 @@ enum adreno_stencil_op fd_stencil_op(unsigned op); #define MAX_RENDER_TARGETS A6XX_MAX_RENDER_TARGETS +/* clang-format off */ enum fd_debug_flag { - FD_DBG_MSGS = BITFIELD_BIT(0), - FD_DBG_DISASM = BITFIELD_BIT(1), - FD_DBG_DCLEAR = BITFIELD_BIT(2), - FD_DBG_DDRAW = BITFIELD_BIT(3), - FD_DBG_NOSCIS = BITFIELD_BIT(4), - FD_DBG_DIRECT = BITFIELD_BIT(5), - FD_DBG_NOBYPASS = BITFIELD_BIT(6), - FD_DBG_PERF = BITFIELD_BIT(7), - FD_DBG_NOBIN = BITFIELD_BIT(8), - FD_DBG_NOGMEM = BITFIELD_BIT(9), - FD_DBG_SERIALC = BITFIELD_BIT(10), - FD_DBG_SHADERDB = BITFIELD_BIT(11), - FD_DBG_FLUSH = BITFIELD_BIT(12), - FD_DBG_DEQP = BITFIELD_BIT(13), - FD_DBG_INORDER = BITFIELD_BIT(14), - FD_DBG_BSTAT = BITFIELD_BIT(15), - FD_DBG_NOGROW = BITFIELD_BIT(16), - FD_DBG_LRZ = BITFIELD_BIT(17), - FD_DBG_NOINDR = BITFIELD_BIT(18), - FD_DBG_NOBLIT = BITFIELD_BIT(19), - FD_DBG_HIPRIO = BITFIELD_BIT(20), - FD_DBG_TTILE = BITFIELD_BIT(21), - FD_DBG_PERFC = BITFIELD_BIT(22), - FD_DBG_NOUBWC = BITFIELD_BIT(23), - FD_DBG_NOLRZ = BITFIELD_BIT(24), - FD_DBG_NOTILE = BITFIELD_BIT(25), - FD_DBG_LAYOUT = BITFIELD_BIT(26), - FD_DBG_NOFP16 = BITFIELD_BIT(27), - FD_DBG_NOHW = BITFIELD_BIT(28), + FD_DBG_MSGS = BITFIELD_BIT(0), + FD_DBG_DISASM = BITFIELD_BIT(1), + FD_DBG_DCLEAR = BITFIELD_BIT(2), + FD_DBG_DDRAW = BITFIELD_BIT(3), + FD_DBG_NOSCIS = BITFIELD_BIT(4), + FD_DBG_DIRECT = BITFIELD_BIT(5), + FD_DBG_NOBYPASS = BITFIELD_BIT(6), + FD_DBG_PERF = BITFIELD_BIT(7), + FD_DBG_NOBIN = BITFIELD_BIT(8), + FD_DBG_NOGMEM = BITFIELD_BIT(9), + FD_DBG_SERIALC = BITFIELD_BIT(10), + FD_DBG_SHADERDB = BITFIELD_BIT(11), + FD_DBG_FLUSH = BITFIELD_BIT(12), + FD_DBG_DEQP = BITFIELD_BIT(13), + FD_DBG_INORDER = BITFIELD_BIT(14), + FD_DBG_BSTAT = BITFIELD_BIT(15), + FD_DBG_NOGROW = BITFIELD_BIT(16), + FD_DBG_LRZ = BITFIELD_BIT(17), + FD_DBG_NOINDR = BITFIELD_BIT(18), + FD_DBG_NOBLIT = BITFIELD_BIT(19), + FD_DBG_HIPRIO = BITFIELD_BIT(20), + FD_DBG_TTILE = BITFIELD_BIT(21), + FD_DBG_PERFC = BITFIELD_BIT(22), + FD_DBG_NOUBWC = BITFIELD_BIT(23), + FD_DBG_NOLRZ = BITFIELD_BIT(24), + FD_DBG_NOTILE = BITFIELD_BIT(25), + FD_DBG_LAYOUT = BITFIELD_BIT(26), + FD_DBG_NOFP16 = BITFIELD_BIT(27), + FD_DBG_NOHW = BITFIELD_BIT(28), }; +/* clang-format on */ extern int fd_mesa_debug; extern bool fd_binning_enabled; diff --git a/src/gallium/drivers/freedreno/gmemtool.c b/src/gallium/drivers/freedreno/gmemtool.c index b33642d53d1..b60d25c96b7 100644 --- a/src/gallium/drivers/freedreno/gmemtool.c +++ b/src/gallium/drivers/freedreno/gmemtool.c @@ -32,51 +32,53 @@ static bool bin_debug = false; /* NOTE, non-interesting gmem keys (ie. things that are small enough to fit * in a single bin) are commented out, but retained for posterity. */ +/* clang-format off */ static const struct gmem_key keys[] = { - { .minx=0, .miny=0, .width=1536, .height=2048, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {1,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, - /* manhattan: */ - { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, - { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}}, -// { .minx=0, .miny=0, .width=64, .height=64, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, -// { .minx=0, .miny=0, .width=32, .height=32, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, -// { .minx=0, .miny=0, .width=16, .height=16, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, -// { .minx=0, .miny=0, .width=8, .height=8, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, -// { .minx=0, .miny=0, .width=4, .height=4, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, -// { .minx=0, .miny=0, .width=2, .height=2, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, -// { .minx=0, .miny=0, .width=1, .height=1, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, - { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=4, .cbuf_cpp = {4,4,4,4,0,0,0,0,}, .zsbuf_cpp = {4,0,}}, -// { .minx=0, .miny=0, .width=64, .height=64, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {2,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, - { .minx=0, .miny=0, .width=1024, .height=1024, .gmem_page_align=1, .nr_cbufs=0, .cbuf_cpp = {0,0,0,0,0,0,0,0,}, .zsbuf_cpp = {2,0,}}, - { .minx=0, .miny=0, .width=1920, .height=1080, .gmem_page_align=1, .nr_cbufs=0, .cbuf_cpp = {0,0,0,0,0,0,0,0,}, .zsbuf_cpp = {4,0,}}, - { .minx=0, .miny=0, .width=960, .height=540, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, - { .minx=0, .miny=0, .width=480, .height=270, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, -// { .minx=0, .miny=0, .width=240, .height=135, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, -// { .minx=0, .miny=0, .width=120, .height=67, .gmem_page_align=1, .nr_cbufs=1, .cbuf_cpp = {4,0,0,0,0,0,0,0,}, .zsbuf_cpp = {0,0,}}, + { .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,}}, + /* 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,}}, + /* 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;