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