18c2ecf20Sopenharmony_ci#ifndef STATE_XML
28c2ecf20Sopenharmony_ci#define STATE_XML
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci/* Autogenerated file, DO NOT EDIT manually!
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciThis file was generated by the rules-ng-ng headergen tool in this git repository:
78c2ecf20Sopenharmony_cihttp://0x04.net/cgit/index.cgi/rules-ng-ng
88c2ecf20Sopenharmony_cigit clone git://0x04.net/rules-ng-ng
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ciThe rules-ng-ng source files this header was generated from are:
118c2ecf20Sopenharmony_ci- state.xml     (  26087 bytes, from 2017-12-18 16:51:59)
128c2ecf20Sopenharmony_ci- common.xml    (  35468 bytes, from 2018-01-22 13:48:54)
138c2ecf20Sopenharmony_ci- common_3d.xml (  14615 bytes, from 2017-12-18 16:51:59)
148c2ecf20Sopenharmony_ci- state_hi.xml  (  30232 bytes, from 2018-02-15 15:48:01)
158c2ecf20Sopenharmony_ci- copyright.xml (   1597 bytes, from 2016-12-08 16:37:56)
168c2ecf20Sopenharmony_ci- state_2d.xml  (  51552 bytes, from 2016-12-08 16:37:56)
178c2ecf20Sopenharmony_ci- state_3d.xml  (  79992 bytes, from 2017-12-18 16:51:59)
188c2ecf20Sopenharmony_ci- state_blt.xml (  13405 bytes, from 2017-12-18 16:51:59)
198c2ecf20Sopenharmony_ci- state_vg.xml  (   5975 bytes, from 2016-12-08 16:37:56)
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ciCopyright (C) 2012-2017 by the following authors:
228c2ecf20Sopenharmony_ci- Wladimir J. van der Laan <laanwj@gmail.com>
238c2ecf20Sopenharmony_ci- Christian Gmeiner <christian.gmeiner@gmail.com>
248c2ecf20Sopenharmony_ci- Lucas Stach <l.stach@pengutronix.de>
258c2ecf20Sopenharmony_ci- Russell King <rmk@arm.linux.org.uk>
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining a
288c2ecf20Sopenharmony_cicopy of this software and associated documentation files (the "Software"),
298c2ecf20Sopenharmony_cito deal in the Software without restriction, including without limitation
308c2ecf20Sopenharmony_cithe rights to use, copy, modify, merge, publish, distribute, sub license,
318c2ecf20Sopenharmony_ciand/or sell copies of the Software, and to permit persons to whom the
328c2ecf20Sopenharmony_ciSoftware is furnished to do so, subject to the following conditions:
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciThe above copyright notice and this permission notice (including the
358c2ecf20Sopenharmony_cinext paragraph) shall be included in all copies or substantial portions
368c2ecf20Sopenharmony_ciof the Software.
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
398c2ecf20Sopenharmony_ciIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
408c2ecf20Sopenharmony_ciFITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
418c2ecf20Sopenharmony_ciTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
428c2ecf20Sopenharmony_ciLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
438c2ecf20Sopenharmony_ciFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
448c2ecf20Sopenharmony_ciDEALINGS IN THE SOFTWARE.
458c2ecf20Sopenharmony_ci*/
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci#define VARYING_COMPONENT_USE_UNUSED				0x00000000
498c2ecf20Sopenharmony_ci#define VARYING_COMPONENT_USE_USED				0x00000001
508c2ecf20Sopenharmony_ci#define VARYING_COMPONENT_USE_POINTCOORD_X			0x00000002
518c2ecf20Sopenharmony_ci#define VARYING_COMPONENT_USE_POINTCOORD_Y			0x00000003
528c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_BYTE					0x00000000
538c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_UNSIGNED_BYTE				0x00000001
548c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_SHORT					0x00000002
558c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_UNSIGNED_SHORT				0x00000003
568c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_INT					0x00000004
578c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_UNSIGNED_INT				0x00000005
588c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_FLOAT					0x00000008
598c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_HALF_FLOAT					0x00000009
608c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_FIXED					0x0000000b
618c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_INT_10_10_10_2				0x0000000c
628c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_UNSIGNED_INT_10_10_10_2			0x0000000d
638c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_BYTE_I					0x0000000e
648c2ecf20Sopenharmony_ci#define FE_DATA_TYPE_SHORT_I					0x0000000f
658c2ecf20Sopenharmony_ci#define FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__MASK		0x000000ff
668c2ecf20Sopenharmony_ci#define FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__SHIFT		0
678c2ecf20Sopenharmony_ci#define FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE(x)		(((x) << FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__SHIFT) & FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__MASK)
688c2ecf20Sopenharmony_ci#define FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR__MASK		0x00ff0000
698c2ecf20Sopenharmony_ci#define FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR__SHIFT		16
708c2ecf20Sopenharmony_ci#define FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR(x)		(((x) << FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR__SHIFT) & FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR__MASK)
718c2ecf20Sopenharmony_ci#define VIVS_FE							0x00000000
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG(i0)		       (0x00000600 + 0x4*(i0))
748c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG__ESIZE			0x00000004
758c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG__LEN			0x00000010
768c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__MASK		0x0000000f
778c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__SHIFT		0
788c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__MASK)
798c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__MASK		0x00000030
808c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__SHIFT		4
818c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__MASK)
828c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NONCONSECUTIVE		0x00000080
838c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__MASK		0x00000700
848c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__SHIFT		8
858c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__MASK)
868c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__MASK			0x00003000
878c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__SHIFT		12
888c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__MASK)
898c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE__MASK		0x0000c000
908c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE__SHIFT		14
918c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE_OFF		0x00000000
928c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE_ON		0x00008000
938c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_START__MASK		0x00ff0000
948c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_START__SHIFT		16
958c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_START(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_START__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_START__MASK)
968c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_END__MASK			0xff000000
978c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_END__SHIFT		24
988c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_END(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_END__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_END__MASK)
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci#define VIVS_FE_CMD_STREAM_BASE_ADDR				0x00000640
1018c2ecf20Sopenharmony_ci
1028c2ecf20Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_BASE_ADDR				0x00000644
1038c2ecf20Sopenharmony_ci
1048c2ecf20Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL				0x00000648
1058c2ecf20Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE__MASK			0x00000003
1068c2ecf20Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE__SHIFT		0
1078c2ecf20Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE_UNSIGNED_CHAR		0x00000000
1088c2ecf20Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE_UNSIGNED_SHORT	0x00000001
1098c2ecf20Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE_UNSIGNED_INT		0x00000002
1108c2ecf20Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL_PRIMITIVE_RESTART		0x00000100
1118c2ecf20Sopenharmony_ci
1128c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_STREAM_BASE_ADDR				0x0000064c
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_STREAM_CONTROL				0x00000650
1158c2ecf20Sopenharmony_ci
1168c2ecf20Sopenharmony_ci#define VIVS_FE_COMMAND_ADDRESS					0x00000654
1178c2ecf20Sopenharmony_ci
1188c2ecf20Sopenharmony_ci#define VIVS_FE_COMMAND_CONTROL					0x00000658
1198c2ecf20Sopenharmony_ci#define VIVS_FE_COMMAND_CONTROL_PREFETCH__MASK			0x0000ffff
1208c2ecf20Sopenharmony_ci#define VIVS_FE_COMMAND_CONTROL_PREFETCH__SHIFT			0
1218c2ecf20Sopenharmony_ci#define VIVS_FE_COMMAND_CONTROL_PREFETCH(x)			(((x) << VIVS_FE_COMMAND_CONTROL_PREFETCH__SHIFT) & VIVS_FE_COMMAND_CONTROL_PREFETCH__MASK)
1228c2ecf20Sopenharmony_ci#define VIVS_FE_COMMAND_CONTROL_ENABLE				0x00010000
1238c2ecf20Sopenharmony_ci
1248c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_STATUS					0x0000065c
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE					0x00000660
1278c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE__MASK			0x0000001f
1288c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE__SHIFT		0
1298c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_IDLE			0x00000000
1308c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_DEC			0x00000001
1318c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_ADR0			0x00000002
1328c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_LOAD0			0x00000003
1338c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_ADR1			0x00000004
1348c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_LOAD1			0x00000005
1358c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DADR			0x00000006
1368c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DCMD			0x00000007
1378c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DCNTL		0x00000008
1388c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DIDXCNTL		0x00000009
1398c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_INITREQDMA		0x0000000a
1408c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_DRAWIDX		0x0000000b
1418c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_DRAW			0x0000000c
1428c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DRECT0		0x0000000d
1438c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DRECT1		0x0000000e
1448c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DDATA0		0x0000000f
1458c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DDATA1		0x00000010
1468c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_WAITFIFO		0x00000011
1478c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_WAIT			0x00000012
1488c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_LINK			0x00000013
1498c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_END			0x00000014
1508c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_STALL			0x00000015
1518c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE__MASK		0x00000300
1528c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE__SHIFT		8
1538c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_IDLE		0x00000000
1548c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_START		0x00000100
1558c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_REQ		0x00000200
1568c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_END		0x00000300
1578c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE__MASK		0x00000c00
1588c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE__SHIFT		10
1598c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE_IDLE		0x00000000
1608c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE_RAMVALID	0x00000400
1618c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE_VALID		0x00000800
1628c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE__MASK		0x00003000
1638c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE__SHIFT		12
1648c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE_IDLE		0x00000000
1658c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE_WAITIDX		0x00001000
1668c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE_CAL		0x00002000
1678c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE__MASK			0x0000c000
1688c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE__SHIFT		14
1698c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE_IDLE			0x00000000
1708c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE_LDADR			0x00004000
1718c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE_IDXCALC		0x00008000
1728c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE__MASK		0x00030000
1738c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE__SHIFT		16
1748c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE_IDLE		0x00000000
1758c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE_CKCACHE		0x00010000
1768c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE_MISS		0x00020000
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_ADDRESS					0x00000664
1798c2ecf20Sopenharmony_ci
1808c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_LOW						0x00000668
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ci#define VIVS_FE_DMA_HIGH					0x0000066c
1838c2ecf20Sopenharmony_ci
1848c2ecf20Sopenharmony_ci#define VIVS_FE_AUTO_FLUSH					0x00000670
1858c2ecf20Sopenharmony_ci
1868c2ecf20Sopenharmony_ci#define VIVS_FE_PRIMITIVE_RESTART_INDEX				0x00000674
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_ci#define VIVS_FE_UNK00678					0x00000678
1898c2ecf20Sopenharmony_ci
1908c2ecf20Sopenharmony_ci#define VIVS_FE_UNK0067C					0x0000067c
1918c2ecf20Sopenharmony_ci
1928c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_STREAMS(i0)			       (0x00000000 + 0x4*(i0))
1938c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_STREAMS__ESIZE				0x00000004
1948c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_STREAMS__LEN				0x00000008
1958c2ecf20Sopenharmony_ci
1968c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_STREAMS_BASE_ADDR(i0)		       (0x00000680 + 0x4*(i0))
1978c2ecf20Sopenharmony_ci
1988c2ecf20Sopenharmony_ci#define VIVS_FE_VERTEX_STREAMS_CONTROL(i0)		       (0x000006a0 + 0x4*(i0))
1998c2ecf20Sopenharmony_ci
2008c2ecf20Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB(i0)			       (0x00000000 + 0x4*(i0))
2018c2ecf20Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB__ESIZE				0x00000004
2028c2ecf20Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB__LEN				0x00000010
2038c2ecf20Sopenharmony_ci
2048c2ecf20Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB_UNK006C0(i0)		       (0x000006c0 + 0x4*(i0))
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB_UNK00700(i0)		       (0x00000700 + 0x4*(i0))
2078c2ecf20Sopenharmony_ci
2088c2ecf20Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB_UNK00740(i0)		       (0x00000740 + 0x4*(i0))
2098c2ecf20Sopenharmony_ci
2108c2ecf20Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB_SCALE(i0)		       (0x00000780 + 0x4*(i0))
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ci#define VIVS_FE_HALTI5_UNK007C4					0x000007c4
2138c2ecf20Sopenharmony_ci
2148c2ecf20Sopenharmony_ci#define VIVS_FE_HALTI5_UNK007D0(i0)			       (0x000007d0 + 0x4*(i0))
2158c2ecf20Sopenharmony_ci#define VIVS_FE_HALTI5_UNK007D0__ESIZE				0x00000004
2168c2ecf20Sopenharmony_ci#define VIVS_FE_HALTI5_UNK007D0__LEN				0x00000002
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_ci#define VIVS_FE_HALTI5_UNK007D8					0x000007d8
2198c2ecf20Sopenharmony_ci
2208c2ecf20Sopenharmony_ci#define VIVS_FE_DESC_START					0x000007dc
2218c2ecf20Sopenharmony_ci
2228c2ecf20Sopenharmony_ci#define VIVS_FE_DESC_END					0x000007e0
2238c2ecf20Sopenharmony_ci
2248c2ecf20Sopenharmony_ci#define VIVS_FE_DESC_AVAIL					0x000007e4
2258c2ecf20Sopenharmony_ci#define VIVS_FE_DESC_AVAIL_COUNT__MASK				0x0000007f
2268c2ecf20Sopenharmony_ci#define VIVS_FE_DESC_AVAIL_COUNT__SHIFT				0
2278c2ecf20Sopenharmony_ci#define VIVS_FE_DESC_AVAIL_COUNT(x)				(((x) << VIVS_FE_DESC_AVAIL_COUNT__SHIFT) & VIVS_FE_DESC_AVAIL_COUNT__MASK)
2288c2ecf20Sopenharmony_ci
2298c2ecf20Sopenharmony_ci#define VIVS_FE_FENCE_WAIT_DATA_LOW				0x000007e8
2308c2ecf20Sopenharmony_ci
2318c2ecf20Sopenharmony_ci#define VIVS_FE_FENCE_WAIT_DATA_HIGH				0x000007f4
2328c2ecf20Sopenharmony_ci
2338c2ecf20Sopenharmony_ci#define VIVS_FE_ROBUSTNESS_UNK007F8				0x000007f8
2348c2ecf20Sopenharmony_ci
2358c2ecf20Sopenharmony_ci#define VIVS_GL							0x00000000
2368c2ecf20Sopenharmony_ci
2378c2ecf20Sopenharmony_ci#define VIVS_GL_PIPE_SELECT					0x00003800
2388c2ecf20Sopenharmony_ci#define VIVS_GL_PIPE_SELECT_PIPE__MASK				0x00000001
2398c2ecf20Sopenharmony_ci#define VIVS_GL_PIPE_SELECT_PIPE__SHIFT				0
2408c2ecf20Sopenharmony_ci#define VIVS_GL_PIPE_SELECT_PIPE(x)				(((x) << VIVS_GL_PIPE_SELECT_PIPE__SHIFT) & VIVS_GL_PIPE_SELECT_PIPE__MASK)
2418c2ecf20Sopenharmony_ci
2428c2ecf20Sopenharmony_ci#define VIVS_GL_EVENT						0x00003804
2438c2ecf20Sopenharmony_ci#define VIVS_GL_EVENT_EVENT_ID__MASK				0x0000001f
2448c2ecf20Sopenharmony_ci#define VIVS_GL_EVENT_EVENT_ID__SHIFT				0
2458c2ecf20Sopenharmony_ci#define VIVS_GL_EVENT_EVENT_ID(x)				(((x) << VIVS_GL_EVENT_EVENT_ID__SHIFT) & VIVS_GL_EVENT_EVENT_ID__MASK)
2468c2ecf20Sopenharmony_ci#define VIVS_GL_EVENT_FROM_FE					0x00000020
2478c2ecf20Sopenharmony_ci#define VIVS_GL_EVENT_FROM_PE					0x00000040
2488c2ecf20Sopenharmony_ci#define VIVS_GL_EVENT_FROM_BLT					0x00000080
2498c2ecf20Sopenharmony_ci#define VIVS_GL_EVENT_SOURCE__MASK				0x00001f00
2508c2ecf20Sopenharmony_ci#define VIVS_GL_EVENT_SOURCE__SHIFT				8
2518c2ecf20Sopenharmony_ci#define VIVS_GL_EVENT_SOURCE(x)					(((x) << VIVS_GL_EVENT_SOURCE__SHIFT) & VIVS_GL_EVENT_SOURCE__MASK)
2528c2ecf20Sopenharmony_ci
2538c2ecf20Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN					0x00003808
2548c2ecf20Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_FROM__MASK			0x0000001f
2558c2ecf20Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_FROM__SHIFT			0
2568c2ecf20Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_FROM(x)				(((x) << VIVS_GL_SEMAPHORE_TOKEN_FROM__SHIFT) & VIVS_GL_SEMAPHORE_TOKEN_FROM__MASK)
2578c2ecf20Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_TO__MASK			0x00001f00
2588c2ecf20Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_TO__SHIFT			8
2598c2ecf20Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_TO(x)				(((x) << VIVS_GL_SEMAPHORE_TOKEN_TO__SHIFT) & VIVS_GL_SEMAPHORE_TOKEN_TO__MASK)
2608c2ecf20Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_UNK28__MASK			0x30000000
2618c2ecf20Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_UNK28__SHIFT			28
2628c2ecf20Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_UNK28(x)			(((x) << VIVS_GL_SEMAPHORE_TOKEN_UNK28__SHIFT) & VIVS_GL_SEMAPHORE_TOKEN_UNK28__MASK)
2638c2ecf20Sopenharmony_ci
2648c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE					0x0000380c
2658c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_DEPTH				0x00000001
2668c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_COLOR				0x00000002
2678c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_TEXTURE				0x00000004
2688c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_PE2D				0x00000008
2698c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_TEXTUREVS				0x00000010
2708c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_SHADER_L1				0x00000020
2718c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_SHADER_L2				0x00000040
2728c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_UNK10				0x00000400
2738c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_UNK11				0x00000800
2748c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_DESCRIPTOR_UNK12			0x00001000
2758c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_DESCRIPTOR_UNK13			0x00002000
2768c2ecf20Sopenharmony_ci
2778c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_MMU					0x00003810
2788c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_MMU_FLUSH_FEMMU				0x00000001
2798c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_MMU_FLUSH_UNK1				0x00000002
2808c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_MMU_FLUSH_UNK2				0x00000004
2818c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_MMU_FLUSH_PEMMU				0x00000008
2828c2ecf20Sopenharmony_ci#define VIVS_GL_FLUSH_MMU_FLUSH_UNK4				0x00000010
2838c2ecf20Sopenharmony_ci
2848c2ecf20Sopenharmony_ci#define VIVS_GL_VERTEX_ELEMENT_CONFIG				0x00003814
2858c2ecf20Sopenharmony_ci
2868c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG				0x00003818
2878c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES__MASK		0x00000003
2888c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES__SHIFT		0
2898c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_NONE		0x00000000
2908c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_2X		0x00000001
2918c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_4X		0x00000002
2928c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_MASK		0x00000008
2938c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES__MASK		0x000000f0
2948c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES__SHIFT		4
2958c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES(x)		(((x) << VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES__SHIFT) & VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES__MASK)
2968c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES_MASK		0x00000100
2978c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__MASK			0x00007000
2988c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__SHIFT		12
2998c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12(x)			(((x) << VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__SHIFT) & VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__MASK)
3008c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12_MASK			0x00008000
3018c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__MASK			0x00030000
3028c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__SHIFT		16
3038c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16(x)			(((x) << VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__SHIFT) & VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__MASK)
3048c2ecf20Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16_MASK			0x00080000
3058c2ecf20Sopenharmony_ci
3068c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_TOTAL_COMPONENTS			0x0000381c
3078c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__MASK		0x000000ff
3088c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__SHIFT		0
3098c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM(x)			(((x) << VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__SHIFT) & VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__MASK)
3108c2ecf20Sopenharmony_ci
3118c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_NUM_COMPONENTS				0x00003820
3128c2ecf20Sopenharmony_ci
3138c2ecf20Sopenharmony_ci#define VIVS_GL_OCCLUSION_QUERY_ADDR				0x00003824
3148c2ecf20Sopenharmony_ci
3158c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE(i0)		       (0x00003828 + 0x4*(i0))
3168c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE__ESIZE			0x00000004
3178c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE__LEN			0x00000002
3188c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP0__MASK		0x00000003
3198c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP0__SHIFT		0
3208c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP0(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP0__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP0__MASK)
3218c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP1__MASK		0x0000000c
3228c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP1__SHIFT		2
3238c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP1(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP1__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP1__MASK)
3248c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP2__MASK		0x00000030
3258c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP2__SHIFT		4
3268c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP2(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP2__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP2__MASK)
3278c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP3__MASK		0x000000c0
3288c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP3__SHIFT		6
3298c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP3(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP3__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP3__MASK)
3308c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP4__MASK		0x00000300
3318c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP4__SHIFT		8
3328c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP4(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP4__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP4__MASK)
3338c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP5__MASK		0x00000c00
3348c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP5__SHIFT		10
3358c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP5(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP5__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP5__MASK)
3368c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP6__MASK		0x00003000
3378c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP6__SHIFT		12
3388c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP6(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP6__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP6__MASK)
3398c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP7__MASK		0x0000c000
3408c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP7__SHIFT		14
3418c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP7(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP7__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP7__MASK)
3428c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP8__MASK		0x00030000
3438c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP8__SHIFT		16
3448c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP8(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP8__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP8__MASK)
3458c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP9__MASK		0x000c0000
3468c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP9__SHIFT		18
3478c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP9(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP9__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP9__MASK)
3488c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP10__MASK		0x00300000
3498c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP10__SHIFT		20
3508c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP10(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP10__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP10__MASK)
3518c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP11__MASK		0x00c00000
3528c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP11__SHIFT		22
3538c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP11(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP11__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP11__MASK)
3548c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP12__MASK		0x03000000
3558c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP12__SHIFT		24
3568c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP12(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP12__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP12__MASK)
3578c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP13__MASK		0x0c000000
3588c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP13__SHIFT		26
3598c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP13(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP13__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP13__MASK)
3608c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP14__MASK		0x30000000
3618c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP14__SHIFT		28
3628c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP14(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP14__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP14__MASK)
3638c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP15__MASK		0xc0000000
3648c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP15__SHIFT		30
3658c2ecf20Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP15(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP15__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP15__MASK)
3668c2ecf20Sopenharmony_ci
3678c2ecf20Sopenharmony_ci#define VIVS_GL_UNK0382C					0x0000382c
3688c2ecf20Sopenharmony_ci
3698c2ecf20Sopenharmony_ci#define VIVS_GL_OCCLUSION_QUERY_CONTROL				0x00003830
3708c2ecf20Sopenharmony_ci
3718c2ecf20Sopenharmony_ci#define VIVS_GL_UNK03834					0x00003834
3728c2ecf20Sopenharmony_ci
3738c2ecf20Sopenharmony_ci#define VIVS_GL_UNK03838					0x00003838
3748c2ecf20Sopenharmony_ci
3758c2ecf20Sopenharmony_ci#define VIVS_GL_API_MODE					0x0000384c
3768c2ecf20Sopenharmony_ci#define VIVS_GL_API_MODE_OPENGL					0x00000000
3778c2ecf20Sopenharmony_ci#define VIVS_GL_API_MODE_OPENVG					0x00000001
3788c2ecf20Sopenharmony_ci#define VIVS_GL_API_MODE_OPENCL					0x00000002
3798c2ecf20Sopenharmony_ci
3808c2ecf20Sopenharmony_ci#define VIVS_GL_CONTEXT_POINTER					0x00003850
3818c2ecf20Sopenharmony_ci
3828c2ecf20Sopenharmony_ci#define VIVS_GL_UNK03854					0x00003854
3838c2ecf20Sopenharmony_ci
3848c2ecf20Sopenharmony_ci#define VIVS_GL_BUG_FIXES					0x00003860
3858c2ecf20Sopenharmony_ci
3868c2ecf20Sopenharmony_ci#define VIVS_GL_FENCE_OUT_ADDRESS				0x00003868
3878c2ecf20Sopenharmony_ci
3888c2ecf20Sopenharmony_ci#define VIVS_GL_FENCE_OUT_DATA_LOW				0x0000386c
3898c2ecf20Sopenharmony_ci
3908c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_UNK03884					0x00003884
3918c2ecf20Sopenharmony_ci
3928c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS				0x00003888
3938c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_VS_PSIZE_OUT__MASK		0x0000007f
3948c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_VS_PSIZE_OUT__SHIFT		0
3958c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_VS_PSIZE_OUT(x)		(((x) << VIVS_GL_HALTI5_SH_SPECIALS_VS_PSIZE_OUT__SHIFT) & VIVS_GL_HALTI5_SH_SPECIALS_VS_PSIZE_OUT__MASK)
3968c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_PS_PCOORD_IN__MASK		0x00007f00
3978c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_PS_PCOORD_IN__SHIFT		8
3988c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_PS_PCOORD_IN(x)		(((x) << VIVS_GL_HALTI5_SH_SPECIALS_PS_PCOORD_IN__SHIFT) & VIVS_GL_HALTI5_SH_SPECIALS_PS_PCOORD_IN__MASK)
3998c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_UNK16__MASK			0x007f0000
4008c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_UNK16__SHIFT			16
4018c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_UNK16(x)			(((x) << VIVS_GL_HALTI5_SH_SPECIALS_UNK16__SHIFT) & VIVS_GL_HALTI5_SH_SPECIALS_UNK16__MASK)
4028c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_UNK24__MASK			0xff000000
4038c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_UNK24__SHIFT			24
4048c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_UNK24(x)			(((x) << VIVS_GL_HALTI5_SH_SPECIALS_UNK24__SHIFT) & VIVS_GL_HALTI5_SH_SPECIALS_UNK24__MASK)
4058c2ecf20Sopenharmony_ci
4068c2ecf20Sopenharmony_ci#define VIVS_GL_GS_UNK0388C					0x0000388c
4078c2ecf20Sopenharmony_ci
4088c2ecf20Sopenharmony_ci#define VIVS_GL_FENCE_OUT_DATA_HIGH				0x00003898
4098c2ecf20Sopenharmony_ci
4108c2ecf20Sopenharmony_ci#define VIVS_GL_SHADER_INDEX					0x0000389c
4118c2ecf20Sopenharmony_ci
4128c2ecf20Sopenharmony_ci#define VIVS_GL_GS_UNK038A0(i0)				       (0x000038a0 + 0x4*(i0))
4138c2ecf20Sopenharmony_ci#define VIVS_GL_GS_UNK038A0__ESIZE				0x00000004
4148c2ecf20Sopenharmony_ci#define VIVS_GL_GS_UNK038A0__LEN				0x00000008
4158c2ecf20Sopenharmony_ci
4168c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_UNK038C0(i0)			       (0x000038c0 + 0x4*(i0))
4178c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_UNK038C0__ESIZE				0x00000004
4188c2ecf20Sopenharmony_ci#define VIVS_GL_HALTI5_UNK038C0__LEN				0x00000010
4198c2ecf20Sopenharmony_ci
4208c2ecf20Sopenharmony_ci#define VIVS_GL_SECURITY_UNK3900				0x00003900
4218c2ecf20Sopenharmony_ci
4228c2ecf20Sopenharmony_ci#define VIVS_GL_SECURITY_UNK3904				0x00003904
4238c2ecf20Sopenharmony_ci
4248c2ecf20Sopenharmony_ci#define VIVS_GL_UNK03A00					0x00003a00
4258c2ecf20Sopenharmony_ci
4268c2ecf20Sopenharmony_ci#define VIVS_GL_UNK03A04					0x00003a04
4278c2ecf20Sopenharmony_ci
4288c2ecf20Sopenharmony_ci#define VIVS_GL_UNK03A08					0x00003a08
4298c2ecf20Sopenharmony_ci
4308c2ecf20Sopenharmony_ci#define VIVS_GL_UNK03A0C					0x00003a0c
4318c2ecf20Sopenharmony_ci
4328c2ecf20Sopenharmony_ci#define VIVS_GL_UNK03A10					0x00003a10
4338c2ecf20Sopenharmony_ci
4348c2ecf20Sopenharmony_ci#define VIVS_GL_STALL_TOKEN					0x00003c00
4358c2ecf20Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_FROM__MASK				0x0000001f
4368c2ecf20Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_FROM__SHIFT				0
4378c2ecf20Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_FROM(x)				(((x) << VIVS_GL_STALL_TOKEN_FROM__SHIFT) & VIVS_GL_STALL_TOKEN_FROM__MASK)
4388c2ecf20Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_TO__MASK				0x00001f00
4398c2ecf20Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_TO__SHIFT				8
4408c2ecf20Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_TO(x)				(((x) << VIVS_GL_STALL_TOKEN_TO__SHIFT) & VIVS_GL_STALL_TOKEN_TO__MASK)
4418c2ecf20Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_FLIP0				0x40000000
4428c2ecf20Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_FLIP1				0x80000000
4438c2ecf20Sopenharmony_ci
4448c2ecf20Sopenharmony_ci#define VIVS_NFE						0x00000000
4458c2ecf20Sopenharmony_ci
4468c2ecf20Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS(i0)			       (0x00000000 + 0x4*(i0))
4478c2ecf20Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS__ESIZE				0x00000004
4488c2ecf20Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS__LEN				0x00000010
4498c2ecf20Sopenharmony_ci
4508c2ecf20Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS_BASE_ADDR(i0)		       (0x00014600 + 0x4*(i0))
4518c2ecf20Sopenharmony_ci
4528c2ecf20Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS_CONTROL(i0)		       (0x00014640 + 0x4*(i0))
4538c2ecf20Sopenharmony_ci
4548c2ecf20Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS_UNK14680(i0)		       (0x00014680 + 0x4*(i0))
4558c2ecf20Sopenharmony_ci
4568c2ecf20Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS_ROBUSTNESS_UNK146C0(i0)	       (0x000146c0 + 0x4*(i0))
4578c2ecf20Sopenharmony_ci
4588c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB(i0)			       (0x00000000 + 0x4*(i0))
4598c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB__ESIZE				0x00000004
4608c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB__LEN				0x00000020
4618c2ecf20Sopenharmony_ci
4628c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0(i0)		       (0x00017800 + 0x4*(i0))
4638c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE__MASK		0x0000000f
4648c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE__SHIFT		0
4658c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE(x)			(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE__MASK)
4668c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN__MASK		0x00000030
4678c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN__SHIFT		4
4688c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN(x)		(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN__MASK)
4698c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM__MASK		0x00000700
4708c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM__SHIFT		8
4718c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM(x)		(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM__MASK)
4728c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM__MASK		0x00003000
4738c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM__SHIFT		12
4748c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM(x)			(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM__MASK)
4758c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NORMALIZE__MASK		0x0000c000
4768c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NORMALIZE__SHIFT	14
4778c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NORMALIZE_OFF		0x00000000
4788c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NORMALIZE_ON		0x00008000
4798c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START__MASK		0x00ff0000
4808c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START__SHIFT		16
4818c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START(x)		(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START__MASK)
4828c2ecf20Sopenharmony_ci
4838c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_UNK17880(i0)		       (0x00017880 + 0x4*(i0))
4848c2ecf20Sopenharmony_ci
4858c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_UNK17900(i0)		       (0x00017900 + 0x4*(i0))
4868c2ecf20Sopenharmony_ci
4878c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_UNK17980(i0)		       (0x00017980 + 0x4*(i0))
4888c2ecf20Sopenharmony_ci
4898c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_SCALE(i0)		       (0x00017a00 + 0x4*(i0))
4908c2ecf20Sopenharmony_ci
4918c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG1(i0)		       (0x00017a80 + 0x4*(i0))
4928c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END__MASK		0x000000ff
4938c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END__SHIFT		0
4948c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END(x)			(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END__MASK)
4958c2ecf20Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG1_NONCONSECUTIVE		0x00000800
4968c2ecf20Sopenharmony_ci
4978c2ecf20Sopenharmony_ci#define VIVS_DUMMY						0x00000000
4988c2ecf20Sopenharmony_ci
4998c2ecf20Sopenharmony_ci#define VIVS_DUMMY_DUMMY					0x0003fffc
5008c2ecf20Sopenharmony_ci
5018c2ecf20Sopenharmony_ci
5028c2ecf20Sopenharmony_ci#endif /* STATE_XML */
503