mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
freedreno: Some manual reformatting
Take care of a few things that clang-format makes a hash of. Signed-off-by: Rob Clark <robdclark@chromium.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8883>
This commit is contained in:
parent
2fb3984805
commit
fdcae5b5b8
14 changed files with 1119 additions and 1087 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue