From 7492685b1be0f1300ba910de07d0f409bddf3be3 Mon Sep 17 00:00:00 2001 From: Christian GMEINER Date: Mon, 19 Aug 2019 17:07:29 +0200 Subject: [PATCH] etnaviv: update headers from rnndb Update to etna_viv commit c51353e. Signed-off-by: Christian GMEINER Reviewed-by: Philipp Zabel Reviewed-by: Jonathan Marek --- src/gallium/drivers/etnaviv/etnaviv_context.c | 2 +- src/gallium/drivers/etnaviv/etnaviv_emit.c | 2 +- src/gallium/drivers/etnaviv/etnaviv_format.c | 28 ++-- src/gallium/drivers/etnaviv/etnaviv_shader.c | 2 +- .../drivers/etnaviv/etnaviv_texture_state.c | 2 + .../drivers/etnaviv/hw/cmdstream.xml.h | 6 +- src/gallium/drivers/etnaviv/hw/common.xml.h | 10 +- .../drivers/etnaviv/hw/common_3d.xml.h | 26 +--- src/gallium/drivers/etnaviv/hw/isa.xml.h | 7 +- src/gallium/drivers/etnaviv/hw/state.xml.h | 37 +++-- src/gallium/drivers/etnaviv/hw/state_3d.xml.h | 139 +++++++++++++----- .../drivers/etnaviv/hw/state_blt.xml.h | 47 ++++-- .../drivers/etnaviv/hw/texdesc_3d.xml.h | 11 +- 13 files changed, 204 insertions(+), 115 deletions(-) diff --git a/src/gallium/drivers/etnaviv/etnaviv_context.c b/src/gallium/drivers/etnaviv/etnaviv_context.c index e49aaacf8fc..6919d136747 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_context.c +++ b/src/gallium/drivers/etnaviv/etnaviv_context.c @@ -369,7 +369,7 @@ etna_cmd_stream_reset_notify(struct etna_cmd_stream *stream, void *priv) if (ctx->specs.halti >= 5) { /* Only on HALTI5+ */ etna_set_state(stream, VIVS_NTE_DESCRIPTOR_UNK14C40, 0x00000001); etna_set_state(stream, VIVS_FE_HALTI5_UNK007D8, 0x00000002); - etna_set_state(stream, VIVS_FE_HALTI5_UNK007C4, 0x00000000); + etna_set_state(stream, VIVS_FE_HALTI5_ID_CONFIG, 0x00000000); etna_set_state(stream, VIVS_PS_SAMPLER_BASE, 0x00000000); etna_set_state(stream, VIVS_VS_SAMPLER_BASE, 0x00000020); etna_set_state(stream, VIVS_SH_CONFIG, VIVS_SH_CONFIG_RTNE_ROUNDING); diff --git a/src/gallium/drivers/etnaviv/etnaviv_emit.c b/src/gallium/drivers/etnaviv/etnaviv_emit.c index 8581731a130..74bc372901e 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_emit.c +++ b/src/gallium/drivers/etnaviv/etnaviv_emit.c @@ -327,7 +327,7 @@ etna_emit_state(struct etna_context *ctx) } for (int x = 0; x < ctx->vertex_buffer.count; ++x) { if (ctx->vertex_buffer.cvb[x].FE_VERTEX_STREAM_BASE_ADDR.bo) { - /*14680*/ EMIT_STATE(NFE_VERTEX_STREAMS_UNK14680(x), ctx->vertex_buffer.cvb[x].FE_VERTEX_STREAM_UNK14680); + /*14680*/ EMIT_STATE(NFE_VERTEX_STREAMS_VERTEX_DIVISOR(x), ctx->vertex_buffer.cvb[x].FE_VERTEX_STREAM_UNK14680); } } } else if(ctx->specs.stream_count >= 1) { /* hw w/ multiple vertex streams */ diff --git a/src/gallium/drivers/etnaviv/etnaviv_format.c b/src/gallium/drivers/etnaviv/etnaviv_format.c index 15ad7afd4c1..de3121e568a 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_format.c +++ b/src/gallium/drivers/etnaviv/etnaviv_format.c @@ -263,20 +263,20 @@ static struct etna_format formats[PIPE_FORMAT_COUNT] = { _T(ASTC_12x10, ASTC_RGBA_12x10 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), _T(ASTC_12x12, ASTC_RGBA_12x12 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_4x4_SRGB, ASTC_SRGB8_ALPHA8_4x4 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_5x4_SRGB, ASTC_SRGB8_ALPHA8_5x4 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_5x5_SRGB, ASTC_SRGB8_ALPHA8_5x5 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_6x5_SRGB, ASTC_SRGB8_ALPHA8_6x5 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_6x6_SRGB, ASTC_SRGB8_ALPHA8_6x6 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_8x5_SRGB, ASTC_SRGB8_ALPHA8_8x5 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_8x6_SRGB, ASTC_SRGB8_ALPHA8_8x6 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_8x8_SRGB, ASTC_SRGB8_ALPHA8_8x8 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_10x5_SRGB, ASTC_SRGB8_ALPHA8_10x5 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_10x6_SRGB, ASTC_SRGB8_ALPHA8_10x6 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_10x8_SRGB, ASTC_SRGB8_ALPHA8_10x8 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_10x10_SRGB, ASTC_SRGB8_ALPHA8_10x10 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_12x10_SRGB, ASTC_SRGB8_ALPHA8_12x10 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), - _T(ASTC_12x12_SRGB, ASTC_SRGB8_ALPHA8_12x12 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_4x4_SRGB, ASTC_RGBA_4x4 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_5x4_SRGB, ASTC_RGBA_5x4 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_5x5_SRGB, ASTC_RGBA_5x5 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_6x5_SRGB, ASTC_RGBA_6x5 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_6x6_SRGB, ASTC_RGBA_6x6 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_8x5_SRGB, ASTC_RGBA_8x5 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_8x6_SRGB, ASTC_RGBA_8x6 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_8x8_SRGB, ASTC_RGBA_8x8 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_10x5_SRGB, ASTC_RGBA_10x5 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_10x6_SRGB, ASTC_RGBA_10x6 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_10x8_SRGB, ASTC_RGBA_10x8 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_10x10_SRGB, ASTC_RGBA_10x10 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_12x10_SRGB, ASTC_RGBA_12x10 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), + _T(ASTC_12x12_SRGB, ASTC_RGBA_12x12 | ASTC_FORMAT, SWIZ(X, Y, Z, W), NONE), /* YUV */ _T(YUYV, YUY2, SWIZ(X, Y, Z, W), YUY2), diff --git a/src/gallium/drivers/etnaviv/etnaviv_shader.c b/src/gallium/drivers/etnaviv/etnaviv_shader.c index 2a3a7569da7..a5310ddde29 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_shader.c +++ b/src/gallium/drivers/etnaviv/etnaviv_shader.c @@ -161,7 +161,7 @@ etna_link_shaders(struct etna_context *ctx, struct compiled_shader_state *cs, VIVS_PS_INPUT_COUNT_UNK8(fs->input_count_unk8); cs->PS_TEMP_REGISTER_CONTROL = VIVS_PS_TEMP_REGISTER_CONTROL_NUM_TEMPS(MAX2(fs->num_temps, link.num_varyings + 1)); - cs->PS_CONTROL = VIVS_PS_CONTROL_UNK1; /* XXX when can we set BYPASS? */ + cs->PS_CONTROL = VIVS_PS_CONTROL_SATURATE_RT0; /* XXX when can we set BYPASS? */ cs->PS_START_PC = 0; /* Precompute PS_INPUT_COUNT and TEMP_REGISTER_CONTROL in the case of MSAA diff --git a/src/gallium/drivers/etnaviv/etnaviv_texture_state.c b/src/gallium/drivers/etnaviv/etnaviv_texture_state.c index 5b3fbf46bf4..3937560b721 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_texture_state.c +++ b/src/gallium/drivers/etnaviv/etnaviv_texture_state.c @@ -104,6 +104,7 @@ etna_create_sampler_view_state(struct pipe_context *pctx, struct pipe_resource * const uint32_t format = translate_texture_format(so->format); const bool ext = !!(format & EXT_FORMAT); const bool astc = !!(format & ASTC_FORMAT); + const bool srgb = util_format_is_srgb(so->format); const uint32_t swiz = get_texture_swiz(so->format, so->swizzle_r, so->swizzle_g, so->swizzle_b, so->swizzle_a); @@ -172,6 +173,7 @@ etna_create_sampler_view_state(struct pipe_context *pctx, struct pipe_resource * COND(is_array, VIVS_TE_SAMPLER_CONFIG1_TEXTURE_ARRAY) | VIVS_TE_SAMPLER_CONFIG1_HALIGN(res->halign) | swiz; sv->TE_SAMPLER_ASTC0 = COND(astc, VIVS_NTE_SAMPLER_ASTC0_ASTC_FORMAT(format)) | + COND(astc && srgb, VIVS_NTE_SAMPLER_ASTC0_ASTC_SRGB) | VIVS_NTE_SAMPLER_ASTC0_UNK8(0xc) | VIVS_NTE_SAMPLER_ASTC0_UNK16(0xc) | VIVS_NTE_SAMPLER_ASTC0_UNK24(0xc); diff --git a/src/gallium/drivers/etnaviv/hw/cmdstream.xml.h b/src/gallium/drivers/etnaviv/hw/cmdstream.xml.h index 77cbebfe365..002b94b033d 100644 --- a/src/gallium/drivers/etnaviv/hw/cmdstream.xml.h +++ b/src/gallium/drivers/etnaviv/hw/cmdstream.xml.h @@ -8,9 +8,9 @@ http://0x04.net/cgit/index.cgi/rules-ng-ng git clone git://0x04.net/rules-ng-ng The rules-ng-ng source files this header was generated from are: -- cmdstream.xml ( 16930 bytes, from 2019-01-04 11:37:39) -- copyright.xml ( 1597 bytes, from 2018-02-10 13:09:26) -- common.xml ( 35468 bytes, from 2018-02-10 13:09:26) +- cmdstream.xml ( 16930 bytes, from 2019-01-07 09:52:31) +- copyright.xml ( 1597 bytes, from 2019-01-07 09:52:31) +- common.xml ( 35468 bytes, from 2019-01-07 09:52:31) Copyright (C) 2012-2019 by the following authors: - Wladimir J. van der Laan diff --git a/src/gallium/drivers/etnaviv/hw/common.xml.h b/src/gallium/drivers/etnaviv/hw/common.xml.h index b4a7dca85f3..81e855bd3f3 100644 --- a/src/gallium/drivers/etnaviv/hw/common.xml.h +++ b/src/gallium/drivers/etnaviv/hw/common.xml.h @@ -8,12 +8,12 @@ http://0x04.net/cgit/index.cgi/rules-ng-ng git clone git://0x04.net/rules-ng-ng The rules-ng-ng source files this header was generated from are: -- texdesc_3d.xml ( 3183 bytes, from 2018-02-10 13:09:26) -- copyright.xml ( 1597 bytes, from 2018-02-10 13:09:26) -- common.xml ( 35468 bytes, from 2018-02-10 13:09:26) -- common_3d.xml ( 14781 bytes, from 2019-06-02 11:12:51) +- texdesc_3d.xml ( 3183 bytes, from 2019-01-07 09:52:31) +- copyright.xml ( 1597 bytes, from 2019-01-07 09:52:31) +- common.xml ( 35468 bytes, from 2019-01-07 09:52:31) +- common_3d.xml ( 14322 bytes, from 2019-08-19 14:35:07) -Copyright (C) 2012-2018 by the following authors: +Copyright (C) 2012-2019 by the following authors: - Wladimir J. van der Laan - Christian Gmeiner - Lucas Stach diff --git a/src/gallium/drivers/etnaviv/hw/common_3d.xml.h b/src/gallium/drivers/etnaviv/hw/common_3d.xml.h index f51b92a9720..39e8bd69d24 100644 --- a/src/gallium/drivers/etnaviv/hw/common_3d.xml.h +++ b/src/gallium/drivers/etnaviv/hw/common_3d.xml.h @@ -8,10 +8,10 @@ http://0x04.net/cgit/index.cgi/rules-ng-ng git clone git://0x04.net/rules-ng-ng The rules-ng-ng source files this header was generated from are: -- texdesc_3d.xml ( 3183 bytes, from 2019-06-10 23:29:22) -- copyright.xml ( 1597 bytes, from 2019-06-10 23:29:22) -- common.xml ( 35468 bytes, from 2019-06-10 23:29:22) -- common_3d.xml ( 14984 bytes, from 2019-07-01 19:47:22) +- texdesc_3d.xml ( 3183 bytes, from 2019-01-07 09:52:31) +- copyright.xml ( 1597 bytes, from 2019-01-07 09:52:31) +- common.xml ( 35468 bytes, from 2019-01-07 09:52:31) +- common_3d.xml ( 14322 bytes, from 2019-08-19 14:35:07) Copyright (C) 2012-2019 by the following authors: - Wladimir J. van der Laan @@ -152,24 +152,10 @@ DEALINGS IN THE SOFTWARE. #define TEXTURE_FORMAT_ASTC_RGBA_10x10 0x0000000b #define TEXTURE_FORMAT_ASTC_RGBA_12x10 0x0000000c #define TEXTURE_FORMAT_ASTC_RGBA_12x12 0x0000000d -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_4x4 0x00000010 -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_5x4 0x00000011 -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_5x5 0x00000012 -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_6x5 0x00000013 -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_6x6 0x00000014 -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_8x5 0x00000015 -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_8x6 0x00000016 -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_8x8 0x00000017 -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_10x5 0x00000018 -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_10x6 0x00000019 -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_10x8 0x0000001a -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_10x10 0x0000001b -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_12x10 0x0000001c -#define TEXTURE_FORMAT_ASTC_SRGB8_ALPHA8_12x12 0x0000001d #define TE_SAMPLER_CONFIG2_UNK16 0x00010000 #define TE_SAMPLER_CONFIG2_UNK17 0x00020000 -#define TE_SAMPLER_CONFIG2_UNK18 0x00040000 -#define TE_SAMPLER_CONFIG2_UNK19 0x00080000 +#define TE_SAMPLER_CONFIG2_SIGNED_INT8 0x00040000 +#define TE_SAMPLER_CONFIG2_SIGNED_INT16 0x00080000 #define TE_SAMPLER_CONFIG2_UNK23 0x00800000 #define TE_SAMPLER_CONFIG3_MSAA 0x00000008 diff --git a/src/gallium/drivers/etnaviv/hw/isa.xml.h b/src/gallium/drivers/etnaviv/hw/isa.xml.h index 0eb8877fdf2..b5bf753c047 100644 --- a/src/gallium/drivers/etnaviv/hw/isa.xml.h +++ b/src/gallium/drivers/etnaviv/hw/isa.xml.h @@ -8,8 +8,8 @@ http://0x04.net/cgit/index.cgi/rules-ng-ng git clone git://0x04.net/rules-ng-ng The rules-ng-ng source files this header was generated from are: -- isa.xml ( 37821 bytes, from 2019-06-30 15:02:03) -- copyright.xml ( 1597 bytes, from 2019-06-10 23:29:22) +- isa.xml ( 38205 bytes, from 2019-08-19 14:35:07) +- copyright.xml ( 1597 bytes, from 2019-01-07 09:52:31) Copyright (C) 2012-2019 by the following authors: - Wladimir J. van der Laan @@ -74,6 +74,7 @@ DEALINGS IN THE SOFTWARE. #define INST_OPCODE_SQRT 0x00000021 #define INST_OPCODE_SIN 0x00000022 #define INST_OPCODE_COS 0x00000023 +#define INST_OPCODE_BRANCH2 0x00000024 #define INST_OPCODE_FLOOR 0x00000025 #define INST_OPCODE_CEIL 0x00000026 #define INST_OPCODE_SIGN 0x00000027 @@ -110,7 +111,7 @@ DEALINGS IN THE SOFTWARE. #define INST_OPCODE_IDIV2 0x00000046 #define INST_OPCODE_IDIV3 0x00000047 #define INST_OPCODE_IMOD0 0x00000048 -#define INST_OPCODE_IMOD1 0x00000049 +#define INST_OPCODE_TEXELFETCH 0x00000049 #define INST_OPCODE_IMOD2 0x0000004a #define INST_OPCODE_IMOD3 0x0000004b #define INST_OPCODE_IMADLO0 0x0000004c diff --git a/src/gallium/drivers/etnaviv/hw/state.xml.h b/src/gallium/drivers/etnaviv/hw/state.xml.h index e0adbca5a19..d296279990e 100644 --- a/src/gallium/drivers/etnaviv/hw/state.xml.h +++ b/src/gallium/drivers/etnaviv/hw/state.xml.h @@ -8,17 +8,17 @@ http://0x04.net/cgit/index.cgi/rules-ng-ng git clone git://0x04.net/rules-ng-ng The rules-ng-ng source files this header was generated from are: -- state.xml ( 26087 bytes, from 2018-02-10 13:09:26) -- common.xml ( 35468 bytes, from 2018-02-10 13:09:26) -- common_3d.xml ( 14781 bytes, from 2019-06-02 11:12:51) -- state_hi.xml ( 30232 bytes, from 2018-03-30 07:48:22) -- copyright.xml ( 1597 bytes, from 2018-02-10 13:09:26) -- state_2d.xml ( 51552 bytes, from 2018-02-10 13:09:26) -- state_3d.xml ( 80352 bytes, from 2019-04-23 18:58:17) -- state_blt.xml ( 13405 bytes, from 2018-02-10 13:09:26) -- state_vg.xml ( 5975 bytes, from 2018-02-10 13:09:26) - -Copyright (C) 2012-2018 by the following authors: +- state.xml ( 26666 bytes, from 2019-08-19 14:35:07) +- common.xml ( 35468 bytes, from 2019-01-07 09:52:31) +- common_3d.xml ( 14322 bytes, from 2019-08-19 14:35:07) +- state_hi.xml ( 30232 bytes, from 2019-01-07 09:52:31) +- copyright.xml ( 1597 bytes, from 2019-01-07 09:52:31) +- state_2d.xml ( 51552 bytes, from 2019-01-07 09:52:31) +- state_3d.xml ( 83505 bytes, from 2019-08-19 14:46:17) +- state_blt.xml ( 14252 bytes, from 2019-08-19 14:35:07) +- state_vg.xml ( 5975 bytes, from 2019-01-07 09:52:31) + +Copyright (C) 2012-2019 by the following authors: - Wladimir J. van der Laan - Christian Gmeiner - Lucas Stach @@ -55,6 +55,8 @@ DEALINGS IN THE SOFTWARE. #define FE_DATA_TYPE_UNSIGNED_SHORT 0x00000003 #define FE_DATA_TYPE_INT 0x00000004 #define FE_DATA_TYPE_UNSIGNED_INT 0x00000005 +#define FE_DATA_TYPE_INT_2_10_10_10_REV 0x00000006 +#define FE_DATA_TYPE_UNSIGNED_INT_2_10_10_10_REV 0x00000007 #define FE_DATA_TYPE_FLOAT 0x00000008 #define FE_DATA_TYPE_HALF_FLOAT 0x00000009 #define FE_DATA_TYPE_FIXED 0x0000000b @@ -89,6 +91,7 @@ DEALINGS IN THE SOFTWARE. #define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE__MASK 0x0000c000 #define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE__SHIFT 14 #define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE_OFF 0x00000000 +#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE_SIGN_EXTEND 0x00004000 #define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE_ON 0x00008000 #define VIVS_FE_VERTEX_ELEMENT_CONFIG_START__MASK 0x00ff0000 #define VIVS_FE_VERTEX_ELEMENT_CONFIG_START__SHIFT 16 @@ -209,7 +212,15 @@ DEALINGS IN THE SOFTWARE. #define VIVS_FE_GENERIC_ATTRIB_SCALE(i0) (0x00000780 + 0x4*(i0)) -#define VIVS_FE_HALTI5_UNK007C4 0x000007c4 +#define VIVS_FE_HALTI5_ID_CONFIG 0x000007c4 +#define VIVS_FE_HALTI5_ID_CONFIG_VERTEX_ID_ENABLE 0x00000001 +#define VIVS_FE_HALTI5_ID_CONFIG_INSTANCE_ID_ENABLE 0x00000002 +#define VIVS_FE_HALTI5_ID_CONFIG_VERTEX_ID_REG__MASK 0x0000ff00 +#define VIVS_FE_HALTI5_ID_CONFIG_VERTEX_ID_REG__SHIFT 8 +#define VIVS_FE_HALTI5_ID_CONFIG_VERTEX_ID_REG(x) (((x) << VIVS_FE_HALTI5_ID_CONFIG_VERTEX_ID_REG__SHIFT) & VIVS_FE_HALTI5_ID_CONFIG_VERTEX_ID_REG__MASK) +#define VIVS_FE_HALTI5_ID_CONFIG_INSTANCE_ID_REG__MASK 0x00ff0000 +#define VIVS_FE_HALTI5_ID_CONFIG_INSTANCE_ID_REG__SHIFT 16 +#define VIVS_FE_HALTI5_ID_CONFIG_INSTANCE_ID_REG(x) (((x) << VIVS_FE_HALTI5_ID_CONFIG_INSTANCE_ID_REG__SHIFT) & VIVS_FE_HALTI5_ID_CONFIG_INSTANCE_ID_REG__MASK) #define VIVS_FE_HALTI5_UNK007D0(i0) (0x000007d0 + 0x4*(i0)) #define VIVS_FE_HALTI5_UNK007D0__ESIZE 0x00000004 @@ -451,7 +462,7 @@ DEALINGS IN THE SOFTWARE. #define VIVS_NFE_VERTEX_STREAMS_CONTROL(i0) (0x00014640 + 0x4*(i0)) -#define VIVS_NFE_VERTEX_STREAMS_UNK14680(i0) (0x00014680 + 0x4*(i0)) +#define VIVS_NFE_VERTEX_STREAMS_VERTEX_DIVISOR(i0) (0x00014680 + 0x4*(i0)) #define VIVS_NFE_VERTEX_STREAMS_ROBUSTNESS_UNK146C0(i0) (0x000146c0 + 0x4*(i0)) diff --git a/src/gallium/drivers/etnaviv/hw/state_3d.xml.h b/src/gallium/drivers/etnaviv/hw/state_3d.xml.h index f7adf514875..222a3aa54a6 100644 --- a/src/gallium/drivers/etnaviv/hw/state_3d.xml.h +++ b/src/gallium/drivers/etnaviv/hw/state_3d.xml.h @@ -8,15 +8,15 @@ http://0x04.net/cgit/index.cgi/rules-ng-ng git clone git://0x04.net/rules-ng-ng The rules-ng-ng source files this header was generated from are: -- state.xml ( 26087 bytes, from 2019-07-31 15:09:17) -- common.xml ( 35468 bytes, from 2019-06-10 23:29:22) -- common_3d.xml ( 14988 bytes, from 2019-07-15 12:48:57) -- state_hi.xml ( 30232 bytes, from 2019-06-10 23:29:22) -- copyright.xml ( 1597 bytes, from 2019-06-10 23:29:22) -- state_2d.xml ( 51552 bytes, from 2019-06-10 23:29:22) -- state_3d.xml ( 80519 bytes, from 2019-07-31 15:09:17) -- state_blt.xml ( 13381 bytes, from 2019-07-04 11:45:35) -- state_vg.xml ( 5975 bytes, from 2019-06-10 23:29:22) +- state.xml ( 26666 bytes, from 2019-08-19 14:35:07) +- common.xml ( 35468 bytes, from 2019-01-07 09:52:31) +- common_3d.xml ( 14322 bytes, from 2019-08-19 14:35:07) +- state_hi.xml ( 30232 bytes, from 2019-01-07 09:52:31) +- copyright.xml ( 1597 bytes, from 2019-01-07 09:52:31) +- state_2d.xml ( 51552 bytes, from 2019-01-07 09:52:31) +- state_3d.xml ( 83505 bytes, from 2019-08-19 14:46:17) +- state_blt.xml ( 14252 bytes, from 2019-08-19 14:35:07) +- state_vg.xml ( 5975 bytes, from 2019-01-07 09:52:31) Copyright (C) 2012-2019 by the following authors: - Wladimir J. van der Laan @@ -81,23 +81,32 @@ DEALINGS IN THE SOFTWARE. #define RS_FORMAT_X8R8G8B8 0x00000005 #define RS_FORMAT_A8R8G8B8 0x00000006 #define RS_FORMAT_YUY2 0x00000007 -#define RS_FORMAT_A8 0x00000010 -#define RS_FORMAT_R16F 0x00000011 -#define RS_FORMAT_G16R16F 0x00000012 -#define RS_FORMAT_A16B16G16R16F 0x00000013 -#define RS_FORMAT_R32F 0x00000014 -#define RS_FORMAT_G32R32F 0x00000015 -#define RS_FORMAT_A2B10G10R10 0x00000016 -#define RS_FORMAT_R8I 0x00000017 -#define RS_FORMAT_G8R8I 0x00000018 -#define RS_FORMAT_A8B8G8R8I 0x00000019 -#define RS_FORMAT_R16I 0x0000001a -#define RS_FORMAT_G16R16I 0x0000001b -#define RS_FORMAT_A16B16G16R16I 0x0000001c -#define RS_FORMAT_B10G11R11F 0x0000001d -#define RS_FORMAT_A2B10G10R10UI 0x0000001e -#define RS_FORMAT_G8R8 0x0000001f -#define RS_FORMAT_R8 0x00000023 +#define RS_FORMAT_64BPP_CLEAR 0x00000015 +#define PE_FORMAT_X4R4G4B4 0x00000000 +#define PE_FORMAT_A4R4G4B4 0x00000001 +#define PE_FORMAT_X1R5G5B5 0x00000002 +#define PE_FORMAT_A1R5G5B5 0x00000003 +#define PE_FORMAT_R5G6B5 0x00000004 +#define PE_FORMAT_X8R8G8B8 0x00000005 +#define PE_FORMAT_A8R8G8B8 0x00000006 +#define PE_FORMAT_YUY2 0x00000007 +#define PE_FORMAT_A8 0x00000010 +#define PE_FORMAT_R16F 0x00000011 +#define PE_FORMAT_G16R16F 0x00000012 +#define PE_FORMAT_A16B16G16R16F 0x00000013 +#define PE_FORMAT_R32F 0x00000014 +#define PE_FORMAT_G32R32F 0x00000015 +#define PE_FORMAT_A2B10G10R10 0x00000016 +#define PE_FORMAT_R8I 0x00000017 +#define PE_FORMAT_G8R8I 0x00000018 +#define PE_FORMAT_A8B8G8R8I 0x00000019 +#define PE_FORMAT_R16I 0x0000001a +#define PE_FORMAT_G16R16I 0x0000001b +#define PE_FORMAT_A16B16G16R16I 0x0000001c +#define PE_FORMAT_B10G11R11F 0x0000001d +#define PE_FORMAT_A2B10G10R10UI 0x0000001e +#define PE_FORMAT_G8R8 0x0000001f +#define PE_FORMAT_R8 0x00000023 #define LOGIC_OP_CLEAR 0x00000000 #define LOGIC_OP_NOR 0x00000001 #define LOGIC_OP_AND_INVERTED 0x00000002 @@ -114,6 +123,13 @@ DEALINGS IN THE SOFTWARE. #define LOGIC_OP_OR_REVERSE 0x0000000d #define LOGIC_OP_OR 0x0000000e #define LOGIC_OP_SET 0x0000000f +#define COLOR_OUTPUT_MODE_NORMAL 0x00000000 +#define COLOR_OUTPUT_MODE_A2B10G10R10UI 0x00000001 +#define COLOR_OUTPUT_MODE_UIF32 0x00000002 +#define COLOR_OUTPUT_MODE_U8 0x00000003 +#define COLOR_OUTPUT_MODE_U16 0x00000004 +#define COLOR_OUTPUT_MODE_I8 0x00000005 +#define COLOR_OUTPUT_MODE_I16 0x00000006 #define VARYING_NUM_COMPONENTS_VAR0__MASK 0x00000007 #define VARYING_NUM_COMPONENTS_VAR0__SHIFT 0 #define VARYING_NUM_COMPONENTS_VAR0(x) (((x) << VARYING_NUM_COMPONENTS_VAR0__SHIFT) & VARYING_NUM_COMPONENTS_VAR0__MASK) @@ -587,7 +603,13 @@ DEALINGS IN THE SOFTWARE. #define VIVS_PS_CONTROL 0x00001010 #define VIVS_PS_CONTROL_BYPASS 0x00000001 -#define VIVS_PS_CONTROL_UNK1 0x00000002 +#define VIVS_PS_CONTROL_SATURATE_RT0 0x00000002 +#define VIVS_PS_CONTROL_SATURATE_RT1 0x00000004 +#define VIVS_PS_CONTROL_SATURATE_RT2 0x00000008 +#define VIVS_PS_CONTROL_SATURATE_RT3 0x00000010 +#define VIVS_PS_CONTROL_RT_COUNT__MASK 0x00000700 +#define VIVS_PS_CONTROL_RT_COUNT__SHIFT 8 +#define VIVS_PS_CONTROL_RT_COUNT(x) (((x) << VIVS_PS_CONTROL_RT_COUNT__SHIFT) & VIVS_PS_CONTROL_RT_COUNT__MASK) #define VIVS_PS_PERF_COUNTER 0x00001014 @@ -605,12 +627,37 @@ DEALINGS IN THE SOFTWARE. #define VIVS_PS_INST_ADDR 0x00001028 -#define VIVS_PS_UNK0102C 0x0000102c +#define VIVS_PS_CONTROL2 0x0000102c +#define VIVS_PS_CONTROL2_SATURATE_RT4 0x00000080 +#define VIVS_PS_CONTROL2_SATURATE_RT5 0x00008000 +#define VIVS_PS_CONTROL2_SATURATE_RT6 0x00800000 +#define VIVS_PS_CONTROL2_SATURATE_RT7 0x80000000 #define VIVS_PS_CONTROL_EXT 0x00001030 -#define VIVS_PS_CONTROL_EXT_COLOR_OUTPUT_COUNT__MASK 0x00000003 -#define VIVS_PS_CONTROL_EXT_COLOR_OUTPUT_COUNT__SHIFT 0 -#define VIVS_PS_CONTROL_EXT_COLOR_OUTPUT_COUNT(x) (((x) << VIVS_PS_CONTROL_EXT_COLOR_OUTPUT_COUNT__SHIFT) & VIVS_PS_CONTROL_EXT_COLOR_OUTPUT_COUNT__MASK) +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE0__MASK 0x00000007 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE0__SHIFT 0 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE0(x) (((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE0__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE0__MASK) +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE1__MASK 0x00000070 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE1__SHIFT 4 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE1(x) (((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE1__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE1__MASK) +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE2__MASK 0x00000700 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE2__SHIFT 8 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE2(x) (((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE2__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE2__MASK) +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE3__MASK 0x00007000 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE3__SHIFT 12 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE3(x) (((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE3__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE3__MASK) +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE4__MASK 0x00070000 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE4__SHIFT 16 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE4(x) (((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE4__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE4__MASK) +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE5__MASK 0x00700000 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE5__SHIFT 20 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE5(x) (((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE5__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE5__MASK) +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE6__MASK 0x07000000 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE6__SHIFT 24 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE6(x) (((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE6__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE6__MASK) +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE7__MASK 0x70000000 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE7__SHIFT 28 +#define VIVS_PS_CONTROL_EXT_OUTPUT_MODE7(x) (((x) << VIVS_PS_CONTROL_EXT_OUTPUT_MODE7__SHIFT) & VIVS_PS_CONTROL_EXT_OUTPUT_MODE7__MASK) #define VIVS_PS_UNK01034 0x00001034 @@ -1003,8 +1050,8 @@ DEALINGS IN THE SOFTWARE. #define VIVS_PE_LOGIC_OP_UNK24__SHIFT 24 #define VIVS_PE_LOGIC_OP_UNK24(x) (((x) << VIVS_PE_LOGIC_OP_UNK24__SHIFT) & VIVS_PE_LOGIC_OP_UNK24__MASK) #define VIVS_PE_LOGIC_OP_UNK24_MASK 0x08000000 -#define VIVS_PE_LOGIC_OP_UNK31_MASK 0x40000000 -#define VIVS_PE_LOGIC_OP_UNK31 0x80000000 +#define VIVS_PE_LOGIC_OP_SRGB_MASK 0x40000000 +#define VIVS_PE_LOGIC_OP_SRGB 0x80000000 #define VIVS_PE_DITHER(i0) (0x000014a8 + 0x4*(i0)) #define VIVS_PE_DITHER__ESIZE 0x00000004 @@ -1064,13 +1111,19 @@ DEALINGS IN THE SOFTWARE. #define VIVS_PE_RT_CONFIG_STRIDE__MASK 0x0000ffff #define VIVS_PE_RT_CONFIG_STRIDE__SHIFT 0 #define VIVS_PE_RT_CONFIG_STRIDE(x) (((x) << VIVS_PE_RT_CONFIG_STRIDE__SHIFT) & VIVS_PE_RT_CONFIG_STRIDE__MASK) -#define VIVS_PE_RT_CONFIG_UNK16__MASK 0xffff0000 -#define VIVS_PE_RT_CONFIG_UNK16__SHIFT 16 -#define VIVS_PE_RT_CONFIG_UNK16(x) (((x) << VIVS_PE_RT_CONFIG_UNK16__SHIFT) & VIVS_PE_RT_CONFIG_UNK16__MASK) +#define VIVS_PE_RT_CONFIG_FORMAT__MASK 0x001f0000 +#define VIVS_PE_RT_CONFIG_FORMAT__SHIFT 16 +#define VIVS_PE_RT_CONFIG_FORMAT(x) (((x) << VIVS_PE_RT_CONFIG_FORMAT__SHIFT) & VIVS_PE_RT_CONFIG_FORMAT__MASK) +#define VIVS_PE_RT_CONFIG_SUPER_TILED 0x04000000 +#define VIVS_PE_RT_CONFIG_UNK28 0x10000000 #define VIVS_PE_HALTI5_UNK14920(i0) (0x00014920 + 0x4*(i0)) #define VIVS_PE_HALTI5_UNK14920__ESIZE 0x00000004 #define VIVS_PE_HALTI5_UNK14920__LEN 0x00000007 +#define VIVS_PE_HALTI5_UNK14920_COMPONENTS__MASK 0x000000f0 +#define VIVS_PE_HALTI5_UNK14920_COMPONENTS__SHIFT 4 +#define VIVS_PE_HALTI5_UNK14920_COMPONENTS(x) (((x) << VIVS_PE_HALTI5_UNK14920_COMPONENTS__SHIFT) & VIVS_PE_HALTI5_UNK14920_COMPONENTS__MASK) +#define VIVS_PE_HALTI5_UNK14920_UNK8 0x00000100 #define VIVS_PE_HALTI5_UNK14940(i0) (0x00014940 + 0x4*(i0)) #define VIVS_PE_HALTI5_UNK14940__ESIZE 0x00000004 @@ -1607,9 +1660,10 @@ DEALINGS IN THE SOFTWARE. #define VIVS_NTE_SAMPLER_UNK10480(i0) (0x00010480 + 0x4*(i0)) #define VIVS_NTE_SAMPLER_ASTC0(i0) (0x00010500 + 0x4*(i0)) -#define VIVS_NTE_SAMPLER_ASTC0_ASTC_FORMAT__MASK 0x000000ff +#define VIVS_NTE_SAMPLER_ASTC0_ASTC_FORMAT__MASK 0x0000000f #define VIVS_NTE_SAMPLER_ASTC0_ASTC_FORMAT__SHIFT 0 #define VIVS_NTE_SAMPLER_ASTC0_ASTC_FORMAT(x) (((x) << VIVS_NTE_SAMPLER_ASTC0_ASTC_FORMAT__SHIFT) & VIVS_NTE_SAMPLER_ASTC0_ASTC_FORMAT__MASK) +#define VIVS_NTE_SAMPLER_ASTC0_ASTC_SRGB 0x00000010 #define VIVS_NTE_SAMPLER_ASTC0_UNK8__MASK 0x0000ff00 #define VIVS_NTE_SAMPLER_ASTC0_UNK8__SHIFT 8 #define VIVS_NTE_SAMPLER_ASTC0_UNK8(x) (((x) << VIVS_NTE_SAMPLER_ASTC0_UNK8__SHIFT) & VIVS_NTE_SAMPLER_ASTC0_UNK8__MASK) @@ -1733,6 +1787,17 @@ DEALINGS IN THE SOFTWARE. #define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MAG__MASK 0x00006000 #define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MAG__SHIFT 13 #define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MAG(x) (((x) << VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MAG__SHIFT) & VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_MAG__MASK) +#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_ENABLE 0x00020000 +#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC__MASK 0x001c0000 +#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC__SHIFT 18 +#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC_LE 0x00000000 +#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC_GE 0x00040000 +#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC_LT 0x00080000 +#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC_GT 0x000c0000 +#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC_EQ 0x00100000 +#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC_NE 0x00140000 +#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC_ALWAYS 0x00180000 +#define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_COMPARE_FUNC_NEVER 0x001c0000 #define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_UNK21 0x00200000 #define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_UNK22 0x00400000 #define VIVS_NTE_DESCRIPTOR_SAMP_CTRL0_RGB 0x00800000 diff --git a/src/gallium/drivers/etnaviv/hw/state_blt.xml.h b/src/gallium/drivers/etnaviv/hw/state_blt.xml.h index e2b9dff68d2..d01a5fc4dba 100644 --- a/src/gallium/drivers/etnaviv/hw/state_blt.xml.h +++ b/src/gallium/drivers/etnaviv/hw/state_blt.xml.h @@ -8,15 +8,15 @@ http://0x04.net/cgit/index.cgi/rules-ng-ng git clone git://0x04.net/rules-ng-ng The rules-ng-ng source files this header was generated from are: -- state.xml ( 26087 bytes, from 2019-06-10 23:29:22) -- common.xml ( 35468 bytes, from 2019-06-10 23:29:22) -- common_3d.xml ( 14984 bytes, from 2019-07-01 19:47:22) -- state_hi.xml ( 30232 bytes, from 2019-06-10 23:29:22) -- copyright.xml ( 1597 bytes, from 2019-06-10 23:29:22) -- state_2d.xml ( 51552 bytes, from 2019-06-10 23:29:22) -- state_3d.xml ( 79878 bytes, from 2019-07-01 19:47:36) -- state_blt.xml ( 13381 bytes, from 2019-07-01 19:46:55) -- state_vg.xml ( 5975 bytes, from 2019-06-10 23:29:22) +- state.xml ( 26666 bytes, from 2019-08-19 14:35:07) +- common.xml ( 35468 bytes, from 2019-01-07 09:52:31) +- common_3d.xml ( 14322 bytes, from 2019-08-19 14:35:07) +- state_hi.xml ( 30232 bytes, from 2019-01-07 09:52:31) +- copyright.xml ( 1597 bytes, from 2019-01-07 09:52:31) +- state_2d.xml ( 51552 bytes, from 2019-01-07 09:52:31) +- state_3d.xml ( 83505 bytes, from 2019-08-19 14:46:17) +- state_blt.xml ( 14252 bytes, from 2019-08-19 14:35:07) +- state_vg.xml ( 5975 bytes, from 2019-01-07 09:52:31) Copyright (C) 2012-2019 by the following authors: - Wladimir J. van der Laan @@ -47,10 +47,22 @@ DEALINGS IN THE SOFTWARE. #define BLT_TILING_LINEAR 0x00000000 #define BLT_TILING_SUPER_TILED 0x00000003 +#define BLT_FORMAT_X4R4G4B4 0x00000000 #define BLT_FORMAT_A4R4G4B4 0x00000001 +#define BLT_FORMAT_X1R5G5B5 0x00000002 +#define BLT_FORMAT_A1R5G5B5 0x00000003 +#define BLT_FORMAT_R5G6B5 0x00000004 #define BLT_FORMAT_X8R8G8B8 0x00000005 #define BLT_FORMAT_A8R8G8B8 0x00000006 +#define BLT_FORMAT_YUY2 0x00000007 +#define BLT_FORMAT_UYVY 0x00000008 +#define BLT_FORMAT_A8 0x00000010 +#define BLT_FORMAT_A2R10G10B10 0x00000016 +#define BLT_FORMAT_X24S8 0x00000017 +#define BLT_FORMAT_D16 0x00000018 #define BLT_FORMAT_A16R16G16B16 0x0000001c +#define BLT_FORMAT_A8L8 0x00000020 +#define BLT_FORMAT_L8 0x00000021 #define BLT_FORMAT_R8G8B8 0x00000022 #define BLT_FORMAT_R8 0x00000023 #define BLT_FORMAT_R8G8 0x00000024 @@ -59,7 +71,7 @@ DEALINGS IN THE SOFTWARE. #define BLT_IMAGE_CONFIG_COMPRESSION_FORMAT__MASK 0x000000f0 #define BLT_IMAGE_CONFIG_COMPRESSION_FORMAT__SHIFT 4 #define BLT_IMAGE_CONFIG_COMPRESSION_FORMAT(x) (((x) << BLT_IMAGE_CONFIG_COMPRESSION_FORMAT__SHIFT) & BLT_IMAGE_CONFIG_COMPRESSION_FORMAT__MASK) -#define BLT_IMAGE_CONFIG_UNK8 0x00000100 +#define BLT_IMAGE_CONFIG_SRGB 0x00000100 #define BLT_IMAGE_CONFIG_SWIZ_R__MASK 0x00000600 #define BLT_IMAGE_CONFIG_SWIZ_R__SHIFT 9 #define BLT_IMAGE_CONFIG_SWIZ_R(x) (((x) << BLT_IMAGE_CONFIG_SWIZ_R__SHIFT) & BLT_IMAGE_CONFIG_SWIZ_R__MASK) @@ -200,8 +212,19 @@ DEALINGS IN THE SOFTWARE. #define VIVS_BLT_YUV 0x00000000 #define VIVS_BLT_YUV_CONFIG 0x0001406c - -#define VIVS_BLT_YUV_UNK14070 0x00014070 +#define VIVS_BLT_YUV_CONFIG_ENABLE 0x00000001 +#define VIVS_BLT_YUV_CONFIG_SOURCE_FORMAT__MASK 0x00000030 +#define VIVS_BLT_YUV_CONFIG_SOURCE_FORMAT__SHIFT 4 +#define VIVS_BLT_YUV_CONFIG_SOURCE_FORMAT(x) (((x) << VIVS_BLT_YUV_CONFIG_SOURCE_FORMAT__SHIFT) & VIVS_BLT_YUV_CONFIG_SOURCE_FORMAT__MASK) +#define VIVS_BLT_YUV_CONFIG_UV_SWAP 0x00000100 + +#define VIVS_BLT_YUV_WINDOW_SIZE 0x00014070 +#define VIVS_BLT_YUV_WINDOW_SIZE_HEIGHT__MASK 0xffff0000 +#define VIVS_BLT_YUV_WINDOW_SIZE_HEIGHT__SHIFT 16 +#define VIVS_BLT_YUV_WINDOW_SIZE_HEIGHT(x) (((x) << VIVS_BLT_YUV_WINDOW_SIZE_HEIGHT__SHIFT) & VIVS_BLT_YUV_WINDOW_SIZE_HEIGHT__MASK) +#define VIVS_BLT_YUV_WINDOW_SIZE_WIDTH__MASK 0x0000ffff +#define VIVS_BLT_YUV_WINDOW_SIZE_WIDTH__SHIFT 0 +#define VIVS_BLT_YUV_WINDOW_SIZE_WIDTH(x) (((x) << VIVS_BLT_YUV_WINDOW_SIZE_WIDTH__SHIFT) & VIVS_BLT_YUV_WINDOW_SIZE_WIDTH__MASK) #define VIVS_BLT_YUV_SRC_YADDR 0x00014074 diff --git a/src/gallium/drivers/etnaviv/hw/texdesc_3d.xml.h b/src/gallium/drivers/etnaviv/hw/texdesc_3d.xml.h index 79bb812b8bb..a498762bf2d 100644 --- a/src/gallium/drivers/etnaviv/hw/texdesc_3d.xml.h +++ b/src/gallium/drivers/etnaviv/hw/texdesc_3d.xml.h @@ -8,10 +8,10 @@ http://0x04.net/cgit/index.cgi/rules-ng-ng git clone git://0x04.net/rules-ng-ng The rules-ng-ng source files this header was generated from are: -- texdesc_3d.xml ( 3183 bytes, from 2019-06-10 23:29:22) -- copyright.xml ( 1597 bytes, from 2019-06-10 23:29:22) -- common.xml ( 35468 bytes, from 2019-06-10 23:29:22) -- common_3d.xml ( 14984 bytes, from 2019-07-01 19:47:22) +- texdesc_3d.xml ( 3183 bytes, from 2019-01-07 09:52:31) +- copyright.xml ( 1597 bytes, from 2019-01-07 09:52:31) +- common.xml ( 35468 bytes, from 2019-01-07 09:52:31) +- common_3d.xml ( 14322 bytes, from 2019-08-19 14:35:07) Copyright (C) 2012-2019 by the following authors: - Wladimir J. van der Laan @@ -118,9 +118,10 @@ DEALINGS IN THE SOFTWARE. #define TEXDESC_STRIDE_YUV 0x00000054 #define TEXDESC_ASTC0 0x00000058 -#define TEXDESC_ASTC0_ASTC_FORMAT__MASK 0x000000ff +#define TEXDESC_ASTC0_ASTC_FORMAT__MASK 0x0000000f #define TEXDESC_ASTC0_ASTC_FORMAT__SHIFT 0 #define TEXDESC_ASTC0_ASTC_FORMAT(x) (((x) << TEXDESC_ASTC0_ASTC_FORMAT__SHIFT) & TEXDESC_ASTC0_ASTC_FORMAT__MASK) +#define TEXDESC_ASTC0_ASTC_SRGB 0x00000010 #define TEXDESC_ASTC0_UNK8__MASK 0x0000ff00 #define TEXDESC_ASTC0_UNK8__SHIFT 8 #define TEXDESC_ASTC0_UNK8(x) (((x) << TEXDESC_ASTC0_UNK8__SHIFT) & TEXDESC_ASTC0_UNK8__MASK) -- 2.30.2