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);
}
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 */
_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),
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
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);
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);
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 <laanwj@gmail.com>
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 <laanwj@gmail.com>
- Christian Gmeiner <christian.gmeiner@gmail.com>
- Lucas Stach <l.stach@pengutronix.de>
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 <laanwj@gmail.com>
#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
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 <laanwj@gmail.com>
#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
#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
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 <laanwj@gmail.com>
- Christian Gmeiner <christian.gmeiner@gmail.com>
- Lucas Stach <l.stach@pengutronix.de>
#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
#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
#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
#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))
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 <laanwj@gmail.com>
#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
#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)
#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
#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
#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
#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
#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)
#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
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 <laanwj@gmail.com>
#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
#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)
#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
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 <laanwj@gmail.com>
#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)