1bf215546Sopenharmony_ci#ifndef STATE_XML
2bf215546Sopenharmony_ci#define STATE_XML
3bf215546Sopenharmony_ci
4bf215546Sopenharmony_ci/* Autogenerated file, DO NOT EDIT manually!
5bf215546Sopenharmony_ci
6bf215546Sopenharmony_ciThis file was generated by the rules-ng-ng headergen tool in this git repository:
7bf215546Sopenharmony_cihttp://0x04.net/cgit/index.cgi/rules-ng-ng
8bf215546Sopenharmony_cigit clone git://0x04.net/rules-ng-ng
9bf215546Sopenharmony_ci
10bf215546Sopenharmony_ciThe rules-ng-ng source files this header was generated from are:
11bf215546Sopenharmony_ci- state.xml     (  27197 bytes, from 2022-04-19 10:41:23)
12bf215546Sopenharmony_ci- common.xml    (  35468 bytes, from 2020-10-28 12:56:03)
13bf215546Sopenharmony_ci- common_3d.xml (  15058 bytes, from 2020-10-28 12:56:03)
14bf215546Sopenharmony_ci- state_hi.xml  (  34803 bytes, from 2020-10-28 12:56:03)
15bf215546Sopenharmony_ci- copyright.xml (   1597 bytes, from 2020-10-28 12:56:03)
16bf215546Sopenharmony_ci- state_2d.xml  (  51552 bytes, from 2020-10-28 12:56:03)
17bf215546Sopenharmony_ci- state_3d.xml  (  84410 bytes, from 2022-04-18 16:27:58)
18bf215546Sopenharmony_ci- state_blt.xml (  14252 bytes, from 2020-10-28 12:56:03)
19bf215546Sopenharmony_ci- state_vg.xml  (   5975 bytes, from 2020-10-28 12:56:03)
20bf215546Sopenharmony_ci
21bf215546Sopenharmony_ciCopyright (C) 2012-2022 by the following authors:
22bf215546Sopenharmony_ci- Wladimir J. van der Laan <laanwj@gmail.com>
23bf215546Sopenharmony_ci- Christian Gmeiner <christian.gmeiner@gmail.com>
24bf215546Sopenharmony_ci- Lucas Stach <l.stach@pengutronix.de>
25bf215546Sopenharmony_ci- Russell King <rmk@arm.linux.org.uk>
26bf215546Sopenharmony_ci
27bf215546Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining a
28bf215546Sopenharmony_cicopy of this software and associated documentation files (the "Software"),
29bf215546Sopenharmony_cito deal in the Software without restriction, including without limitation
30bf215546Sopenharmony_cithe rights to use, copy, modify, merge, publish, distribute, sub license,
31bf215546Sopenharmony_ciand/or sell copies of the Software, and to permit persons to whom the
32bf215546Sopenharmony_ciSoftware is furnished to do so, subject to the following conditions:
33bf215546Sopenharmony_ci
34bf215546Sopenharmony_ciThe above copyright notice and this permission notice (including the
35bf215546Sopenharmony_cinext paragraph) shall be included in all copies or substantial portions
36bf215546Sopenharmony_ciof the Software.
37bf215546Sopenharmony_ci
38bf215546Sopenharmony_ciTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
39bf215546Sopenharmony_ciIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
40bf215546Sopenharmony_ciFITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
41bf215546Sopenharmony_ciTHE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
42bf215546Sopenharmony_ciLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43bf215546Sopenharmony_ciFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
44bf215546Sopenharmony_ciDEALINGS IN THE SOFTWARE.
45bf215546Sopenharmony_ci*/
46bf215546Sopenharmony_ci
47bf215546Sopenharmony_ci
48bf215546Sopenharmony_ci#define VARYING_COMPONENT_USE_UNUSED				0x00000000
49bf215546Sopenharmony_ci#define VARYING_COMPONENT_USE_USED				0x00000001
50bf215546Sopenharmony_ci#define VARYING_COMPONENT_USE_POINTCOORD_X			0x00000002
51bf215546Sopenharmony_ci#define VARYING_COMPONENT_USE_POINTCOORD_Y			0x00000003
52bf215546Sopenharmony_ci#define FE_DATA_TYPE_BYTE					0x00000000
53bf215546Sopenharmony_ci#define FE_DATA_TYPE_UNSIGNED_BYTE				0x00000001
54bf215546Sopenharmony_ci#define FE_DATA_TYPE_SHORT					0x00000002
55bf215546Sopenharmony_ci#define FE_DATA_TYPE_UNSIGNED_SHORT				0x00000003
56bf215546Sopenharmony_ci#define FE_DATA_TYPE_INT					0x00000004
57bf215546Sopenharmony_ci#define FE_DATA_TYPE_UNSIGNED_INT				0x00000005
58bf215546Sopenharmony_ci#define FE_DATA_TYPE_INT_2_10_10_10_REV				0x00000006
59bf215546Sopenharmony_ci#define FE_DATA_TYPE_UNSIGNED_INT_2_10_10_10_REV		0x00000007
60bf215546Sopenharmony_ci#define FE_DATA_TYPE_FLOAT					0x00000008
61bf215546Sopenharmony_ci#define FE_DATA_TYPE_HALF_FLOAT					0x00000009
62bf215546Sopenharmony_ci#define FE_DATA_TYPE_FIXED					0x0000000b
63bf215546Sopenharmony_ci#define FE_DATA_TYPE_INT_10_10_10_2				0x0000000c
64bf215546Sopenharmony_ci#define FE_DATA_TYPE_UNSIGNED_INT_10_10_10_2			0x0000000d
65bf215546Sopenharmony_ci#define FE_DATA_TYPE_BYTE_I					0x0000000e
66bf215546Sopenharmony_ci#define FE_DATA_TYPE_SHORT_I					0x0000000f
67bf215546Sopenharmony_ci#define FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__MASK		0x000000ff
68bf215546Sopenharmony_ci#define FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__SHIFT		0
69bf215546Sopenharmony_ci#define FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE(x)		(((x) << FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__SHIFT) & FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__MASK)
70bf215546Sopenharmony_ci#define FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR__MASK		0x00ff0000
71bf215546Sopenharmony_ci#define FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR__SHIFT		16
72bf215546Sopenharmony_ci#define FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR(x)		(((x) << FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR__SHIFT) & FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR__MASK)
73bf215546Sopenharmony_ci#define VIVS_FE							0x00000000
74bf215546Sopenharmony_ci
75bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG(i0)		       (0x00000600 + 0x4*(i0))
76bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG__ESIZE			0x00000004
77bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG__LEN			0x00000010
78bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__MASK		0x0000000f
79bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__SHIFT		0
80bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__MASK)
81bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__MASK		0x00000030
82bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__SHIFT		4
83bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__MASK)
84bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NONCONSECUTIVE		0x00000080
85bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__MASK		0x00000700
86bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__SHIFT		8
87bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__MASK)
88bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__MASK			0x00003000
89bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__SHIFT		12
90bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__MASK)
91bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE__MASK		0x0000c000
92bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE__SHIFT		14
93bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE_OFF		0x00000000
94bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE_SIGN_EXTEND	0x00004000
95bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE_ON		0x00008000
96bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_START__MASK		0x00ff0000
97bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_START__SHIFT		16
98bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_START(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_START__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_START__MASK)
99bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_END__MASK			0xff000000
100bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_END__SHIFT		24
101bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_ELEMENT_CONFIG_END(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_END__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_END__MASK)
102bf215546Sopenharmony_ci
103bf215546Sopenharmony_ci#define VIVS_FE_CMD_STREAM_BASE_ADDR				0x00000640
104bf215546Sopenharmony_ci
105bf215546Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_BASE_ADDR				0x00000644
106bf215546Sopenharmony_ci
107bf215546Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL				0x00000648
108bf215546Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE__MASK			0x00000003
109bf215546Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE__SHIFT		0
110bf215546Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE_UNSIGNED_CHAR		0x00000000
111bf215546Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE_UNSIGNED_SHORT	0x00000001
112bf215546Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL_TYPE_UNSIGNED_INT		0x00000002
113bf215546Sopenharmony_ci#define VIVS_FE_INDEX_STREAM_CONTROL_PRIMITIVE_RESTART		0x00000100
114bf215546Sopenharmony_ci
115bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_STREAM_BASE_ADDR				0x0000064c
116bf215546Sopenharmony_ci
117bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_STREAM_CONTROL				0x00000650
118bf215546Sopenharmony_ci
119bf215546Sopenharmony_ci#define VIVS_FE_COMMAND_ADDRESS					0x00000654
120bf215546Sopenharmony_ci
121bf215546Sopenharmony_ci#define VIVS_FE_COMMAND_CONTROL					0x00000658
122bf215546Sopenharmony_ci#define VIVS_FE_COMMAND_CONTROL_PREFETCH__MASK			0x0000ffff
123bf215546Sopenharmony_ci#define VIVS_FE_COMMAND_CONTROL_PREFETCH__SHIFT			0
124bf215546Sopenharmony_ci#define VIVS_FE_COMMAND_CONTROL_PREFETCH(x)			(((x) << VIVS_FE_COMMAND_CONTROL_PREFETCH__SHIFT) & VIVS_FE_COMMAND_CONTROL_PREFETCH__MASK)
125bf215546Sopenharmony_ci#define VIVS_FE_COMMAND_CONTROL_ENABLE				0x00010000
126bf215546Sopenharmony_ci
127bf215546Sopenharmony_ci#define VIVS_FE_DMA_STATUS					0x0000065c
128bf215546Sopenharmony_ci
129bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE					0x00000660
130bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE__MASK			0x0000001f
131bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE__SHIFT		0
132bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_IDLE			0x00000000
133bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_DEC			0x00000001
134bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_ADR0			0x00000002
135bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_LOAD0			0x00000003
136bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_ADR1			0x00000004
137bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_LOAD1			0x00000005
138bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DADR			0x00000006
139bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DCMD			0x00000007
140bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DCNTL		0x00000008
141bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DIDXCNTL		0x00000009
142bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_INITREQDMA		0x0000000a
143bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_DRAWIDX		0x0000000b
144bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_DRAW			0x0000000c
145bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DRECT0		0x0000000d
146bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DRECT1		0x0000000e
147bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DDATA0		0x0000000f
148bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DDATA1		0x00000010
149bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_WAITFIFO		0x00000011
150bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_WAIT			0x00000012
151bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_LINK			0x00000013
152bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_END			0x00000014
153bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_STALL			0x00000015
154bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE__MASK		0x00000300
155bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE__SHIFT		8
156bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_IDLE		0x00000000
157bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_START		0x00000100
158bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_REQ		0x00000200
159bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_END		0x00000300
160bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE__MASK		0x00000c00
161bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE__SHIFT		10
162bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE_IDLE		0x00000000
163bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE_RAMVALID	0x00000400
164bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE_VALID		0x00000800
165bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE__MASK		0x00003000
166bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE__SHIFT		12
167bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE_IDLE		0x00000000
168bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE_WAITIDX		0x00001000
169bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE_CAL		0x00002000
170bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE__MASK			0x0000c000
171bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE__SHIFT		14
172bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE_IDLE			0x00000000
173bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE_LDADR			0x00004000
174bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE_IDXCALC		0x00008000
175bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE__MASK		0x00030000
176bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE__SHIFT		16
177bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE_IDLE		0x00000000
178bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE_CKCACHE		0x00010000
179bf215546Sopenharmony_ci#define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE_MISS		0x00020000
180bf215546Sopenharmony_ci
181bf215546Sopenharmony_ci#define VIVS_FE_DMA_ADDRESS					0x00000664
182bf215546Sopenharmony_ci
183bf215546Sopenharmony_ci#define VIVS_FE_DMA_LOW						0x00000668
184bf215546Sopenharmony_ci
185bf215546Sopenharmony_ci#define VIVS_FE_DMA_HIGH					0x0000066c
186bf215546Sopenharmony_ci
187bf215546Sopenharmony_ci#define VIVS_FE_AUTO_FLUSH					0x00000670
188bf215546Sopenharmony_ci
189bf215546Sopenharmony_ci#define VIVS_FE_PRIMITIVE_RESTART_INDEX				0x00000674
190bf215546Sopenharmony_ci
191bf215546Sopenharmony_ci#define VIVS_FE_UNK00678					0x00000678
192bf215546Sopenharmony_ci
193bf215546Sopenharmony_ci#define VIVS_FE_UNK0067C					0x0000067c
194bf215546Sopenharmony_ci
195bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_STREAMS(i0)			       (0x00000000 + 0x4*(i0))
196bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_STREAMS__ESIZE				0x00000004
197bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_STREAMS__LEN				0x00000008
198bf215546Sopenharmony_ci
199bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_STREAMS_BASE_ADDR(i0)		       (0x00000680 + 0x4*(i0))
200bf215546Sopenharmony_ci
201bf215546Sopenharmony_ci#define VIVS_FE_VERTEX_STREAMS_CONTROL(i0)		       (0x000006a0 + 0x4*(i0))
202bf215546Sopenharmony_ci
203bf215546Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB(i0)			       (0x00000000 + 0x4*(i0))
204bf215546Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB__ESIZE				0x00000004
205bf215546Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB__LEN				0x00000010
206bf215546Sopenharmony_ci
207bf215546Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB_UNK006C0(i0)		       (0x000006c0 + 0x4*(i0))
208bf215546Sopenharmony_ci
209bf215546Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB_UNK00700(i0)		       (0x00000700 + 0x4*(i0))
210bf215546Sopenharmony_ci
211bf215546Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB_UNK00740(i0)		       (0x00000740 + 0x4*(i0))
212bf215546Sopenharmony_ci
213bf215546Sopenharmony_ci#define VIVS_FE_GENERIC_ATTRIB_SCALE(i0)		       (0x00000780 + 0x4*(i0))
214bf215546Sopenharmony_ci
215bf215546Sopenharmony_ci#define VIVS_FE_HALTI5_ID_CONFIG				0x000007c4
216bf215546Sopenharmony_ci#define VIVS_FE_HALTI5_ID_CONFIG_VERTEX_ID_ENABLE		0x00000001
217bf215546Sopenharmony_ci#define VIVS_FE_HALTI5_ID_CONFIG_INSTANCE_ID_ENABLE		0x00000002
218bf215546Sopenharmony_ci#define VIVS_FE_HALTI5_ID_CONFIG_VERTEX_ID_REG__MASK		0x0000ff00
219bf215546Sopenharmony_ci#define VIVS_FE_HALTI5_ID_CONFIG_VERTEX_ID_REG__SHIFT		8
220bf215546Sopenharmony_ci#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)
221bf215546Sopenharmony_ci#define VIVS_FE_HALTI5_ID_CONFIG_INSTANCE_ID_REG__MASK		0x00ff0000
222bf215546Sopenharmony_ci#define VIVS_FE_HALTI5_ID_CONFIG_INSTANCE_ID_REG__SHIFT		16
223bf215546Sopenharmony_ci#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)
224bf215546Sopenharmony_ci
225bf215546Sopenharmony_ci#define VIVS_FE_HALTI5_UNK007D0(i0)			       (0x000007d0 + 0x4*(i0))
226bf215546Sopenharmony_ci#define VIVS_FE_HALTI5_UNK007D0__ESIZE				0x00000004
227bf215546Sopenharmony_ci#define VIVS_FE_HALTI5_UNK007D0__LEN				0x00000002
228bf215546Sopenharmony_ci
229bf215546Sopenharmony_ci#define VIVS_FE_HALTI5_UNK007D8					0x000007d8
230bf215546Sopenharmony_ci
231bf215546Sopenharmony_ci#define VIVS_FE_DESC_START					0x000007dc
232bf215546Sopenharmony_ci
233bf215546Sopenharmony_ci#define VIVS_FE_DESC_END					0x000007e0
234bf215546Sopenharmony_ci
235bf215546Sopenharmony_ci#define VIVS_FE_DESC_AVAIL					0x000007e4
236bf215546Sopenharmony_ci#define VIVS_FE_DESC_AVAIL_COUNT__MASK				0x0000007f
237bf215546Sopenharmony_ci#define VIVS_FE_DESC_AVAIL_COUNT__SHIFT				0
238bf215546Sopenharmony_ci#define VIVS_FE_DESC_AVAIL_COUNT(x)				(((x) << VIVS_FE_DESC_AVAIL_COUNT__SHIFT) & VIVS_FE_DESC_AVAIL_COUNT__MASK)
239bf215546Sopenharmony_ci
240bf215546Sopenharmony_ci#define VIVS_FE_FENCE_WAIT_DATA_LOW				0x000007e8
241bf215546Sopenharmony_ci
242bf215546Sopenharmony_ci#define VIVS_FE_FENCE_WAIT_DATA_HIGH				0x000007f4
243bf215546Sopenharmony_ci
244bf215546Sopenharmony_ci#define VIVS_FE_ROBUSTNESS_UNK007F8				0x000007f8
245bf215546Sopenharmony_ci
246bf215546Sopenharmony_ci#define VIVS_GL							0x00000000
247bf215546Sopenharmony_ci
248bf215546Sopenharmony_ci#define VIVS_GL_PIPE_SELECT					0x00003800
249bf215546Sopenharmony_ci#define VIVS_GL_PIPE_SELECT_PIPE__MASK				0x00000001
250bf215546Sopenharmony_ci#define VIVS_GL_PIPE_SELECT_PIPE__SHIFT				0
251bf215546Sopenharmony_ci#define VIVS_GL_PIPE_SELECT_PIPE(x)				(((x) << VIVS_GL_PIPE_SELECT_PIPE__SHIFT) & VIVS_GL_PIPE_SELECT_PIPE__MASK)
252bf215546Sopenharmony_ci
253bf215546Sopenharmony_ci#define VIVS_GL_EVENT						0x00003804
254bf215546Sopenharmony_ci#define VIVS_GL_EVENT_EVENT_ID__MASK				0x0000001f
255bf215546Sopenharmony_ci#define VIVS_GL_EVENT_EVENT_ID__SHIFT				0
256bf215546Sopenharmony_ci#define VIVS_GL_EVENT_EVENT_ID(x)				(((x) << VIVS_GL_EVENT_EVENT_ID__SHIFT) & VIVS_GL_EVENT_EVENT_ID__MASK)
257bf215546Sopenharmony_ci#define VIVS_GL_EVENT_FROM_FE					0x00000020
258bf215546Sopenharmony_ci#define VIVS_GL_EVENT_FROM_PE					0x00000040
259bf215546Sopenharmony_ci#define VIVS_GL_EVENT_FROM_BLT					0x00000080
260bf215546Sopenharmony_ci#define VIVS_GL_EVENT_SOURCE__MASK				0x00001f00
261bf215546Sopenharmony_ci#define VIVS_GL_EVENT_SOURCE__SHIFT				8
262bf215546Sopenharmony_ci#define VIVS_GL_EVENT_SOURCE(x)					(((x) << VIVS_GL_EVENT_SOURCE__SHIFT) & VIVS_GL_EVENT_SOURCE__MASK)
263bf215546Sopenharmony_ci
264bf215546Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN					0x00003808
265bf215546Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_FROM__MASK			0x0000001f
266bf215546Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_FROM__SHIFT			0
267bf215546Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_FROM(x)				(((x) << VIVS_GL_SEMAPHORE_TOKEN_FROM__SHIFT) & VIVS_GL_SEMAPHORE_TOKEN_FROM__MASK)
268bf215546Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_TO__MASK			0x00001f00
269bf215546Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_TO__SHIFT			8
270bf215546Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_TO(x)				(((x) << VIVS_GL_SEMAPHORE_TOKEN_TO__SHIFT) & VIVS_GL_SEMAPHORE_TOKEN_TO__MASK)
271bf215546Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_UNK28__MASK			0x30000000
272bf215546Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_UNK28__SHIFT			28
273bf215546Sopenharmony_ci#define VIVS_GL_SEMAPHORE_TOKEN_UNK28(x)			(((x) << VIVS_GL_SEMAPHORE_TOKEN_UNK28__SHIFT) & VIVS_GL_SEMAPHORE_TOKEN_UNK28__MASK)
274bf215546Sopenharmony_ci
275bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE					0x0000380c
276bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_DEPTH				0x00000001
277bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_COLOR				0x00000002
278bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_TEXTURE				0x00000004
279bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_PE2D				0x00000008
280bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_TEXTUREVS				0x00000010
281bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_SHADER_L1				0x00000020
282bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_SHADER_L2				0x00000040
283bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_UNK10				0x00000400
284bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_UNK11				0x00000800
285bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_DESCRIPTOR_UNK12			0x00001000
286bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_CACHE_DESCRIPTOR_UNK13			0x00002000
287bf215546Sopenharmony_ci
288bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_MMU					0x00003810
289bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_MMU_FLUSH_FEMMU				0x00000001
290bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_MMU_FLUSH_UNK1				0x00000002
291bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_MMU_FLUSH_UNK2				0x00000004
292bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_MMU_FLUSH_PEMMU				0x00000008
293bf215546Sopenharmony_ci#define VIVS_GL_FLUSH_MMU_FLUSH_UNK4				0x00000010
294bf215546Sopenharmony_ci
295bf215546Sopenharmony_ci#define VIVS_GL_VERTEX_ELEMENT_CONFIG				0x00003814
296bf215546Sopenharmony_ci#define VIVS_GL_VERTEX_ELEMENT_CONFIG_UNK0			0x00000001
297bf215546Sopenharmony_ci#define VIVS_GL_VERTEX_ELEMENT_CONFIG_REUSE			0x00000010
298bf215546Sopenharmony_ci
299bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG				0x00003818
300bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES__MASK		0x00000003
301bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES__SHIFT		0
302bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_NONE		0x00000000
303bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_2X		0x00000001
304bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_4X		0x00000002
305bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_MASK		0x00000008
306bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES__MASK		0x000000f0
307bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES__SHIFT		4
308bf215546Sopenharmony_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)
309bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES_MASK		0x00000100
310bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__MASK			0x00007000
311bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__SHIFT		12
312bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12(x)			(((x) << VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__SHIFT) & VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__MASK)
313bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12_MASK			0x00008000
314bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__MASK			0x00030000
315bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__SHIFT		16
316bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16(x)			(((x) << VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__SHIFT) & VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__MASK)
317bf215546Sopenharmony_ci#define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16_MASK			0x00080000
318bf215546Sopenharmony_ci
319bf215546Sopenharmony_ci#define VIVS_GL_VARYING_TOTAL_COMPONENTS			0x0000381c
320bf215546Sopenharmony_ci#define VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__MASK		0x000000ff
321bf215546Sopenharmony_ci#define VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__SHIFT		0
322bf215546Sopenharmony_ci#define VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM(x)			(((x) << VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__SHIFT) & VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__MASK)
323bf215546Sopenharmony_ci
324bf215546Sopenharmony_ci#define VIVS_GL_VARYING_NUM_COMPONENTS				0x00003820
325bf215546Sopenharmony_ci
326bf215546Sopenharmony_ci#define VIVS_GL_OCCLUSION_QUERY_ADDR				0x00003824
327bf215546Sopenharmony_ci
328bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE(i0)		       (0x00003828 + 0x4*(i0))
329bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE__ESIZE			0x00000004
330bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE__LEN			0x00000002
331bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP0__MASK		0x00000003
332bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP0__SHIFT		0
333bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP0(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP0__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP0__MASK)
334bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP1__MASK		0x0000000c
335bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP1__SHIFT		2
336bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP1(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP1__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP1__MASK)
337bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP2__MASK		0x00000030
338bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP2__SHIFT		4
339bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP2(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP2__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP2__MASK)
340bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP3__MASK		0x000000c0
341bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP3__SHIFT		6
342bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP3(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP3__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP3__MASK)
343bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP4__MASK		0x00000300
344bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP4__SHIFT		8
345bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP4(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP4__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP4__MASK)
346bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP5__MASK		0x00000c00
347bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP5__SHIFT		10
348bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP5(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP5__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP5__MASK)
349bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP6__MASK		0x00003000
350bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP6__SHIFT		12
351bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP6(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP6__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP6__MASK)
352bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP7__MASK		0x0000c000
353bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP7__SHIFT		14
354bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP7(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP7__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP7__MASK)
355bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP8__MASK		0x00030000
356bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP8__SHIFT		16
357bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP8(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP8__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP8__MASK)
358bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP9__MASK		0x000c0000
359bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP9__SHIFT		18
360bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP9(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP9__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP9__MASK)
361bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP10__MASK		0x00300000
362bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP10__SHIFT		20
363bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP10(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP10__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP10__MASK)
364bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP11__MASK		0x00c00000
365bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP11__SHIFT		22
366bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP11(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP11__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP11__MASK)
367bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP12__MASK		0x03000000
368bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP12__SHIFT		24
369bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP12(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP12__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP12__MASK)
370bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP13__MASK		0x0c000000
371bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP13__SHIFT		26
372bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP13(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP13__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP13__MASK)
373bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP14__MASK		0x30000000
374bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP14__SHIFT		28
375bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP14(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP14__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP14__MASK)
376bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP15__MASK		0xc0000000
377bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP15__SHIFT		30
378bf215546Sopenharmony_ci#define VIVS_GL_VARYING_COMPONENT_USE_COMP15(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP15__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP15__MASK)
379bf215546Sopenharmony_ci
380bf215546Sopenharmony_ci#define VIVS_GL_UNK0382C					0x0000382c
381bf215546Sopenharmony_ci
382bf215546Sopenharmony_ci#define VIVS_GL_OCCLUSION_QUERY_CONTROL				0x00003830
383bf215546Sopenharmony_ci
384bf215546Sopenharmony_ci#define VIVS_GL_VARYING_NUM_COMPONENTS2				0x00003834
385bf215546Sopenharmony_ci
386bf215546Sopenharmony_ci#define VIVS_GL_UNK03838					0x00003838
387bf215546Sopenharmony_ci
388bf215546Sopenharmony_ci#define VIVS_GL_API_MODE					0x0000384c
389bf215546Sopenharmony_ci#define VIVS_GL_API_MODE_OPENGL					0x00000000
390bf215546Sopenharmony_ci#define VIVS_GL_API_MODE_OPENVG					0x00000001
391bf215546Sopenharmony_ci#define VIVS_GL_API_MODE_OPENCL					0x00000002
392bf215546Sopenharmony_ci
393bf215546Sopenharmony_ci#define VIVS_GL_CONTEXT_POINTER					0x00003850
394bf215546Sopenharmony_ci
395bf215546Sopenharmony_ci#define VIVS_GL_UNK03854					0x00003854
396bf215546Sopenharmony_ci
397bf215546Sopenharmony_ci#define VIVS_GL_BUG_FIXES					0x00003860
398bf215546Sopenharmony_ci
399bf215546Sopenharmony_ci#define VIVS_GL_FENCE_OUT_ADDRESS				0x00003868
400bf215546Sopenharmony_ci
401bf215546Sopenharmony_ci#define VIVS_GL_FENCE_OUT_DATA_LOW				0x0000386c
402bf215546Sopenharmony_ci
403bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_UNK03884					0x00003884
404bf215546Sopenharmony_ci
405bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS				0x00003888
406bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_VS_PSIZE_OUT__MASK		0x0000007f
407bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_VS_PSIZE_OUT__SHIFT		0
408bf215546Sopenharmony_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)
409bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_PS_PCOORD_IN__MASK		0x00007f00
410bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_PS_PCOORD_IN__SHIFT		8
411bf215546Sopenharmony_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)
412bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_UNK16__MASK			0x007f0000
413bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_UNK16__SHIFT			16
414bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_UNK16(x)			(((x) << VIVS_GL_HALTI5_SH_SPECIALS_UNK16__SHIFT) & VIVS_GL_HALTI5_SH_SPECIALS_UNK16__MASK)
415bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_UNK24__MASK			0xff000000
416bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_UNK24__SHIFT			24
417bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_SH_SPECIALS_UNK24(x)			(((x) << VIVS_GL_HALTI5_SH_SPECIALS_UNK24__SHIFT) & VIVS_GL_HALTI5_SH_SPECIALS_UNK24__MASK)
418bf215546Sopenharmony_ci
419bf215546Sopenharmony_ci#define VIVS_GL_GS_UNK0388C					0x0000388c
420bf215546Sopenharmony_ci
421bf215546Sopenharmony_ci#define VIVS_GL_FENCE_OUT_DATA_HIGH				0x00003898
422bf215546Sopenharmony_ci
423bf215546Sopenharmony_ci#define VIVS_GL_SHADER_INDEX					0x0000389c
424bf215546Sopenharmony_ci
425bf215546Sopenharmony_ci#define VIVS_GL_GS_UNK038A0(i0)				       (0x000038a0 + 0x4*(i0))
426bf215546Sopenharmony_ci#define VIVS_GL_GS_UNK038A0__ESIZE				0x00000004
427bf215546Sopenharmony_ci#define VIVS_GL_GS_UNK038A0__LEN				0x00000008
428bf215546Sopenharmony_ci
429bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_UNK038C0(i0)			       (0x000038c0 + 0x4*(i0))
430bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_UNK038C0__ESIZE				0x00000004
431bf215546Sopenharmony_ci#define VIVS_GL_HALTI5_UNK038C0__LEN				0x00000010
432bf215546Sopenharmony_ci
433bf215546Sopenharmony_ci#define VIVS_GL_SECURITY_UNK3900				0x00003900
434bf215546Sopenharmony_ci
435bf215546Sopenharmony_ci#define VIVS_GL_SECURITY_UNK3904				0x00003904
436bf215546Sopenharmony_ci
437bf215546Sopenharmony_ci#define VIVS_GL_UNK03A00					0x00003a00
438bf215546Sopenharmony_ci
439bf215546Sopenharmony_ci#define VIVS_GL_UNK03A04					0x00003a04
440bf215546Sopenharmony_ci
441bf215546Sopenharmony_ci#define VIVS_GL_UNK03A08					0x00003a08
442bf215546Sopenharmony_ci
443bf215546Sopenharmony_ci#define VIVS_GL_UNK03A0C					0x00003a0c
444bf215546Sopenharmony_ci
445bf215546Sopenharmony_ci#define VIVS_GL_UNK03A10					0x00003a10
446bf215546Sopenharmony_ci
447bf215546Sopenharmony_ci#define VIVS_GL_STALL_TOKEN					0x00003c00
448bf215546Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_FROM__MASK				0x0000001f
449bf215546Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_FROM__SHIFT				0
450bf215546Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_FROM(x)				(((x) << VIVS_GL_STALL_TOKEN_FROM__SHIFT) & VIVS_GL_STALL_TOKEN_FROM__MASK)
451bf215546Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_TO__MASK				0x00001f00
452bf215546Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_TO__SHIFT				8
453bf215546Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_TO(x)				(((x) << VIVS_GL_STALL_TOKEN_TO__SHIFT) & VIVS_GL_STALL_TOKEN_TO__MASK)
454bf215546Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_FLIP0				0x40000000
455bf215546Sopenharmony_ci#define VIVS_GL_STALL_TOKEN_FLIP1				0x80000000
456bf215546Sopenharmony_ci
457bf215546Sopenharmony_ci#define VIVS_NFE						0x00000000
458bf215546Sopenharmony_ci
459bf215546Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS(i0)			       (0x00000000 + 0x4*(i0))
460bf215546Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS__ESIZE				0x00000004
461bf215546Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS__LEN				0x00000010
462bf215546Sopenharmony_ci
463bf215546Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS_BASE_ADDR(i0)		       (0x00014600 + 0x4*(i0))
464bf215546Sopenharmony_ci
465bf215546Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS_CONTROL(i0)		       (0x00014640 + 0x4*(i0))
466bf215546Sopenharmony_ci
467bf215546Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS_VERTEX_DIVISOR(i0)	       (0x00014680 + 0x4*(i0))
468bf215546Sopenharmony_ci
469bf215546Sopenharmony_ci#define VIVS_NFE_VERTEX_STREAMS_ROBUSTNESS_UNK146C0(i0)	       (0x000146c0 + 0x4*(i0))
470bf215546Sopenharmony_ci
471bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB(i0)			       (0x00000000 + 0x4*(i0))
472bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB__ESIZE				0x00000004
473bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB__LEN				0x00000020
474bf215546Sopenharmony_ci
475bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0(i0)		       (0x00017800 + 0x4*(i0))
476bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE__MASK		0x0000000f
477bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE__SHIFT		0
478bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE(x)			(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE__MASK)
479bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN__MASK		0x00000030
480bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN__SHIFT		4
481bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN(x)		(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN__MASK)
482bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM__MASK		0x00000700
483bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM__SHIFT		8
484bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM(x)		(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM__MASK)
485bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM__MASK		0x00003000
486bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM__SHIFT		12
487bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM(x)			(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM__MASK)
488bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NORMALIZE__MASK		0x0000c000
489bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NORMALIZE__SHIFT	14
490bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NORMALIZE_OFF		0x00000000
491bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NORMALIZE_ON		0x00008000
492bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START__MASK		0x00ff0000
493bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START__SHIFT		16
494bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START(x)		(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START__MASK)
495bf215546Sopenharmony_ci
496bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_UNK17880(i0)		       (0x00017880 + 0x4*(i0))
497bf215546Sopenharmony_ci
498bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_UNK17900(i0)		       (0x00017900 + 0x4*(i0))
499bf215546Sopenharmony_ci
500bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_UNK17980(i0)		       (0x00017980 + 0x4*(i0))
501bf215546Sopenharmony_ci
502bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_SCALE(i0)		       (0x00017a00 + 0x4*(i0))
503bf215546Sopenharmony_ci
504bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG1(i0)		       (0x00017a80 + 0x4*(i0))
505bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END__MASK		0x000000ff
506bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END__SHIFT		0
507bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END(x)			(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END__MASK)
508bf215546Sopenharmony_ci#define VIVS_NFE_GENERIC_ATTRIB_CONFIG1_NONCONSECUTIVE		0x00000800
509bf215546Sopenharmony_ci
510bf215546Sopenharmony_ci#define VIVS_DUMMY						0x00000000
511bf215546Sopenharmony_ci
512bf215546Sopenharmony_ci#define VIVS_DUMMY_DUMMY					0x0003fffc
513bf215546Sopenharmony_ci
514bf215546Sopenharmony_ci
515bf215546Sopenharmony_ci#endif /* STATE_XML */
516