1a8c21a54SThe etnaviv authors #ifndef STATE_XML
2a8c21a54SThe etnaviv authors #define STATE_XML
3a8c21a54SThe etnaviv authors 
4a8c21a54SThe etnaviv authors /* Autogenerated file, DO NOT EDIT manually!
5a8c21a54SThe etnaviv authors 
6a8c21a54SThe etnaviv authors This file was generated by the rules-ng-ng headergen tool in this git repository:
7a8c21a54SThe etnaviv authors http://0x04.net/cgit/index.cgi/rules-ng-ng
8a8c21a54SThe etnaviv authors git clone git://0x04.net/rules-ng-ng
9a8c21a54SThe etnaviv authors 
10a8c21a54SThe etnaviv authors The rules-ng-ng source files this header was generated from are:
11059ad731SLucas Stach - state.xml     (  26087 bytes, from 2017-12-18 16:51:59)
12059ad731SLucas Stach - common.xml    (  35468 bytes, from 2018-01-22 13:48:54)
13059ad731SLucas Stach - common_3d.xml (  14615 bytes, from 2017-12-18 16:51:59)
14059ad731SLucas Stach - state_hi.xml  (  30232 bytes, from 2018-02-15 15:48:01)
15059ad731SLucas Stach - copyright.xml (   1597 bytes, from 2016-12-08 16:37:56)
16059ad731SLucas Stach - state_2d.xml  (  51552 bytes, from 2016-12-08 16:37:56)
17059ad731SLucas Stach - state_3d.xml  (  79992 bytes, from 2017-12-18 16:51:59)
18059ad731SLucas Stach - state_blt.xml (  13405 bytes, from 2017-12-18 16:51:59)
19059ad731SLucas Stach - state_vg.xml  (   5975 bytes, from 2016-12-08 16:37:56)
20a8c21a54SThe etnaviv authors 
21059ad731SLucas Stach Copyright (C) 2012-2017 by the following authors:
22059ad731SLucas Stach - Wladimir J. van der Laan <laanwj@gmail.com>
23059ad731SLucas Stach - Christian Gmeiner <christian.gmeiner@gmail.com>
24059ad731SLucas Stach - Lucas Stach <l.stach@pengutronix.de>
25059ad731SLucas Stach - Russell King <rmk@arm.linux.org.uk>
26059ad731SLucas Stach 
27059ad731SLucas Stach Permission is hereby granted, free of charge, to any person obtaining a
28059ad731SLucas Stach copy of this software and associated documentation files (the "Software"),
29059ad731SLucas Stach to deal in the Software without restriction, including without limitation
30059ad731SLucas Stach the rights to use, copy, modify, merge, publish, distribute, sub license,
31059ad731SLucas Stach and/or sell copies of the Software, and to permit persons to whom the
32059ad731SLucas Stach Software is furnished to do so, subject to the following conditions:
33059ad731SLucas Stach 
34059ad731SLucas Stach The above copyright notice and this permission notice (including the
35059ad731SLucas Stach next paragraph) shall be included in all copies or substantial portions
36059ad731SLucas Stach of the Software.
37059ad731SLucas Stach 
38059ad731SLucas Stach THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
39059ad731SLucas Stach IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
40059ad731SLucas Stach FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
41059ad731SLucas Stach THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
42059ad731SLucas Stach LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
43059ad731SLucas Stach FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
44059ad731SLucas Stach DEALINGS IN THE SOFTWARE.
45a8c21a54SThe etnaviv authors */
46a8c21a54SThe etnaviv authors 
47a8c21a54SThe etnaviv authors 
48a8c21a54SThe etnaviv authors #define VARYING_COMPONENT_USE_UNUSED				0x00000000
49a8c21a54SThe etnaviv authors #define VARYING_COMPONENT_USE_USED				0x00000001
50a8c21a54SThe etnaviv authors #define VARYING_COMPONENT_USE_POINTCOORD_X			0x00000002
51a8c21a54SThe etnaviv authors #define VARYING_COMPONENT_USE_POINTCOORD_Y			0x00000003
52059ad731SLucas Stach #define FE_DATA_TYPE_BYTE					0x00000000
53059ad731SLucas Stach #define FE_DATA_TYPE_UNSIGNED_BYTE				0x00000001
54059ad731SLucas Stach #define FE_DATA_TYPE_SHORT					0x00000002
55059ad731SLucas Stach #define FE_DATA_TYPE_UNSIGNED_SHORT				0x00000003
56059ad731SLucas Stach #define FE_DATA_TYPE_INT					0x00000004
57059ad731SLucas Stach #define FE_DATA_TYPE_UNSIGNED_INT				0x00000005
58059ad731SLucas Stach #define FE_DATA_TYPE_FLOAT					0x00000008
59059ad731SLucas Stach #define FE_DATA_TYPE_HALF_FLOAT					0x00000009
60059ad731SLucas Stach #define FE_DATA_TYPE_FIXED					0x0000000b
61059ad731SLucas Stach #define FE_DATA_TYPE_INT_10_10_10_2				0x0000000c
62059ad731SLucas Stach #define FE_DATA_TYPE_UNSIGNED_INT_10_10_10_2			0x0000000d
63059ad731SLucas Stach #define FE_DATA_TYPE_BYTE_I					0x0000000e
64059ad731SLucas Stach #define FE_DATA_TYPE_SHORT_I					0x0000000f
65a8c21a54SThe etnaviv authors #define FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__MASK		0x000000ff
66a8c21a54SThe etnaviv authors #define FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__SHIFT		0
67a8c21a54SThe etnaviv authors #define FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE(x)		(((x) << FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__SHIFT) & FE_VERTEX_STREAM_CONTROL_VERTEX_STRIDE__MASK)
68059ad731SLucas Stach #define FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR__MASK		0x00ff0000
69059ad731SLucas Stach #define FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR__SHIFT		16
70059ad731SLucas Stach #define FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR(x)		(((x) << FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR__SHIFT) & FE_VERTEX_STREAM_CONTROL_VERTEX_DIVISOR__MASK)
71a8c21a54SThe etnaviv authors #define VIVS_FE							0x00000000
72a8c21a54SThe etnaviv authors 
73a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG(i0)		       (0x00000600 + 0x4*(i0))
74a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG__ESIZE			0x00000004
75a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG__LEN			0x00000010
76a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__MASK		0x0000000f
77a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__SHIFT		0
78059ad731SLucas Stach #define VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_TYPE__MASK)
79a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__MASK		0x00000030
80a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__SHIFT		4
81a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_ENDIAN__MASK)
82a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_NONCONSECUTIVE		0x00000080
83a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__MASK		0x00000700
84a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__SHIFT		8
85a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_STREAM__MASK)
86a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__MASK			0x00003000
87a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__SHIFT		12
88a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_NUM__MASK)
89a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE__MASK		0x0000c000
90a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE__SHIFT		14
91a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE_OFF		0x00000000
92a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_NORMALIZE_ON		0x00008000
93a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_START__MASK		0x00ff0000
94a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_START__SHIFT		16
95a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_START(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_START__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_START__MASK)
96a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_END__MASK			0xff000000
97a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_END__SHIFT		24
98a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_ELEMENT_CONFIG_END(x)			(((x) << VIVS_FE_VERTEX_ELEMENT_CONFIG_END__SHIFT) & VIVS_FE_VERTEX_ELEMENT_CONFIG_END__MASK)
99a8c21a54SThe etnaviv authors 
100a8c21a54SThe etnaviv authors #define VIVS_FE_CMD_STREAM_BASE_ADDR				0x00000640
101a8c21a54SThe etnaviv authors 
102a8c21a54SThe etnaviv authors #define VIVS_FE_INDEX_STREAM_BASE_ADDR				0x00000644
103a8c21a54SThe etnaviv authors 
104a8c21a54SThe etnaviv authors #define VIVS_FE_INDEX_STREAM_CONTROL				0x00000648
105a8c21a54SThe etnaviv authors #define VIVS_FE_INDEX_STREAM_CONTROL_TYPE__MASK			0x00000003
106a8c21a54SThe etnaviv authors #define VIVS_FE_INDEX_STREAM_CONTROL_TYPE__SHIFT		0
107a8c21a54SThe etnaviv authors #define VIVS_FE_INDEX_STREAM_CONTROL_TYPE_UNSIGNED_CHAR		0x00000000
108a8c21a54SThe etnaviv authors #define VIVS_FE_INDEX_STREAM_CONTROL_TYPE_UNSIGNED_SHORT	0x00000001
109a8c21a54SThe etnaviv authors #define VIVS_FE_INDEX_STREAM_CONTROL_TYPE_UNSIGNED_INT		0x00000002
110059ad731SLucas Stach #define VIVS_FE_INDEX_STREAM_CONTROL_PRIMITIVE_RESTART		0x00000100
111a8c21a54SThe etnaviv authors 
112a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_STREAM_BASE_ADDR				0x0000064c
113a8c21a54SThe etnaviv authors 
114a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_STREAM_CONTROL				0x00000650
115a8c21a54SThe etnaviv authors 
116a8c21a54SThe etnaviv authors #define VIVS_FE_COMMAND_ADDRESS					0x00000654
117a8c21a54SThe etnaviv authors 
118a8c21a54SThe etnaviv authors #define VIVS_FE_COMMAND_CONTROL					0x00000658
119a8c21a54SThe etnaviv authors #define VIVS_FE_COMMAND_CONTROL_PREFETCH__MASK			0x0000ffff
120a8c21a54SThe etnaviv authors #define VIVS_FE_COMMAND_CONTROL_PREFETCH__SHIFT			0
121a8c21a54SThe etnaviv authors #define VIVS_FE_COMMAND_CONTROL_PREFETCH(x)			(((x) << VIVS_FE_COMMAND_CONTROL_PREFETCH__SHIFT) & VIVS_FE_COMMAND_CONTROL_PREFETCH__MASK)
122a8c21a54SThe etnaviv authors #define VIVS_FE_COMMAND_CONTROL_ENABLE				0x00010000
123a8c21a54SThe etnaviv authors 
124a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_STATUS					0x0000065c
125a8c21a54SThe etnaviv authors 
126a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE					0x00000660
127a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE__MASK			0x0000001f
128a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE__SHIFT		0
129a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_IDLE			0x00000000
130a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_DEC			0x00000001
131a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_ADR0			0x00000002
132a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_LOAD0			0x00000003
133a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_ADR1			0x00000004
134a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_LOAD1			0x00000005
135a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DADR			0x00000006
136a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DCMD			0x00000007
137a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DCNTL		0x00000008
138a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_3DIDXCNTL		0x00000009
139a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_INITREQDMA		0x0000000a
140a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_DRAWIDX		0x0000000b
141a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_DRAW			0x0000000c
142a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DRECT0		0x0000000d
143a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DRECT1		0x0000000e
144a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DDATA0		0x0000000f
145a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_2DDATA1		0x00000010
146a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_WAITFIFO		0x00000011
147a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_WAIT			0x00000012
148a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_LINK			0x00000013
149a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_END			0x00000014
150a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_STATE_STALL			0x00000015
151a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE__MASK		0x00000300
152a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE__SHIFT		8
153a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_IDLE		0x00000000
154a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_START		0x00000100
155a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_REQ		0x00000200
156a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_DMA_STATE_END		0x00000300
157a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE__MASK		0x00000c00
158a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE__SHIFT		10
159a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE_IDLE		0x00000000
160a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE_RAMVALID	0x00000400
161a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CMD_FETCH_STATE_VALID		0x00000800
162a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE__MASK		0x00003000
163a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE__SHIFT		12
164a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE_IDLE		0x00000000
165a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE_WAITIDX		0x00001000
166a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_REQ_DMA_STATE_CAL		0x00002000
167a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE__MASK			0x0000c000
168a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE__SHIFT		14
169a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE_IDLE			0x00000000
170a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE_LDADR			0x00004000
171a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_CAL_STATE_IDXCALC		0x00008000
172a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE__MASK		0x00030000
173a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE__SHIFT		16
174a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE_IDLE		0x00000000
175a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE_CKCACHE		0x00010000
176a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_DEBUG_STATE_VE_REQ_STATE_MISS		0x00020000
177a8c21a54SThe etnaviv authors 
178a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_ADDRESS					0x00000664
179a8c21a54SThe etnaviv authors 
180a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_LOW						0x00000668
181a8c21a54SThe etnaviv authors 
182a8c21a54SThe etnaviv authors #define VIVS_FE_DMA_HIGH					0x0000066c
183a8c21a54SThe etnaviv authors 
184a8c21a54SThe etnaviv authors #define VIVS_FE_AUTO_FLUSH					0x00000670
185a8c21a54SThe etnaviv authors 
186059ad731SLucas Stach #define VIVS_FE_PRIMITIVE_RESTART_INDEX				0x00000674
187059ad731SLucas Stach 
188a8c21a54SThe etnaviv authors #define VIVS_FE_UNK00678					0x00000678
189a8c21a54SThe etnaviv authors 
190a8c21a54SThe etnaviv authors #define VIVS_FE_UNK0067C					0x0000067c
191a8c21a54SThe etnaviv authors 
192a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_STREAMS(i0)			       (0x00000000 + 0x4*(i0))
193a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_STREAMS__ESIZE				0x00000004
194a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_STREAMS__LEN				0x00000008
195a8c21a54SThe etnaviv authors 
196a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_STREAMS_BASE_ADDR(i0)		       (0x00000680 + 0x4*(i0))
197a8c21a54SThe etnaviv authors 
198a8c21a54SThe etnaviv authors #define VIVS_FE_VERTEX_STREAMS_CONTROL(i0)		       (0x000006a0 + 0x4*(i0))
199a8c21a54SThe etnaviv authors 
200059ad731SLucas Stach #define VIVS_FE_GENERIC_ATTRIB(i0)			       (0x00000000 + 0x4*(i0))
201059ad731SLucas Stach #define VIVS_FE_GENERIC_ATTRIB__ESIZE				0x00000004
202059ad731SLucas Stach #define VIVS_FE_GENERIC_ATTRIB__LEN				0x00000010
203a8c21a54SThe etnaviv authors 
204059ad731SLucas Stach #define VIVS_FE_GENERIC_ATTRIB_UNK006C0(i0)		       (0x000006c0 + 0x4*(i0))
205a8c21a54SThe etnaviv authors 
206059ad731SLucas Stach #define VIVS_FE_GENERIC_ATTRIB_UNK00700(i0)		       (0x00000700 + 0x4*(i0))
207059ad731SLucas Stach 
208059ad731SLucas Stach #define VIVS_FE_GENERIC_ATTRIB_UNK00740(i0)		       (0x00000740 + 0x4*(i0))
209059ad731SLucas Stach 
210059ad731SLucas Stach #define VIVS_FE_GENERIC_ATTRIB_SCALE(i0)		       (0x00000780 + 0x4*(i0))
211059ad731SLucas Stach 
212059ad731SLucas Stach #define VIVS_FE_HALTI5_UNK007C4					0x000007c4
213059ad731SLucas Stach 
214059ad731SLucas Stach #define VIVS_FE_HALTI5_UNK007D0(i0)			       (0x000007d0 + 0x4*(i0))
215059ad731SLucas Stach #define VIVS_FE_HALTI5_UNK007D0__ESIZE				0x00000004
216059ad731SLucas Stach #define VIVS_FE_HALTI5_UNK007D0__LEN				0x00000002
217059ad731SLucas Stach 
218059ad731SLucas Stach #define VIVS_FE_HALTI5_UNK007D8					0x000007d8
219059ad731SLucas Stach 
220059ad731SLucas Stach #define VIVS_FE_DESC_START					0x000007dc
221059ad731SLucas Stach 
222059ad731SLucas Stach #define VIVS_FE_DESC_END					0x000007e0
223059ad731SLucas Stach 
224059ad731SLucas Stach #define VIVS_FE_DESC_AVAIL					0x000007e4
225059ad731SLucas Stach #define VIVS_FE_DESC_AVAIL_COUNT__MASK				0x0000007f
226059ad731SLucas Stach #define VIVS_FE_DESC_AVAIL_COUNT__SHIFT				0
227059ad731SLucas Stach #define VIVS_FE_DESC_AVAIL_COUNT(x)				(((x) << VIVS_FE_DESC_AVAIL_COUNT__SHIFT) & VIVS_FE_DESC_AVAIL_COUNT__MASK)
228059ad731SLucas Stach 
229059ad731SLucas Stach #define VIVS_FE_FENCE_WAIT_DATA_LOW				0x000007e8
230059ad731SLucas Stach 
231059ad731SLucas Stach #define VIVS_FE_FENCE_WAIT_DATA_HIGH				0x000007f4
232059ad731SLucas Stach 
233059ad731SLucas Stach #define VIVS_FE_ROBUSTNESS_UNK007F8				0x000007f8
234a8c21a54SThe etnaviv authors 
235a8c21a54SThe etnaviv authors #define VIVS_GL							0x00000000
236a8c21a54SThe etnaviv authors 
237a8c21a54SThe etnaviv authors #define VIVS_GL_PIPE_SELECT					0x00003800
238a8c21a54SThe etnaviv authors #define VIVS_GL_PIPE_SELECT_PIPE__MASK				0x00000001
239a8c21a54SThe etnaviv authors #define VIVS_GL_PIPE_SELECT_PIPE__SHIFT				0
240a8c21a54SThe etnaviv authors #define VIVS_GL_PIPE_SELECT_PIPE(x)				(((x) << VIVS_GL_PIPE_SELECT_PIPE__SHIFT) & VIVS_GL_PIPE_SELECT_PIPE__MASK)
241a8c21a54SThe etnaviv authors 
242a8c21a54SThe etnaviv authors #define VIVS_GL_EVENT						0x00003804
243a8c21a54SThe etnaviv authors #define VIVS_GL_EVENT_EVENT_ID__MASK				0x0000001f
244a8c21a54SThe etnaviv authors #define VIVS_GL_EVENT_EVENT_ID__SHIFT				0
245a8c21a54SThe etnaviv authors #define VIVS_GL_EVENT_EVENT_ID(x)				(((x) << VIVS_GL_EVENT_EVENT_ID__SHIFT) & VIVS_GL_EVENT_EVENT_ID__MASK)
246a8c21a54SThe etnaviv authors #define VIVS_GL_EVENT_FROM_FE					0x00000020
247a8c21a54SThe etnaviv authors #define VIVS_GL_EVENT_FROM_PE					0x00000040
248059ad731SLucas Stach #define VIVS_GL_EVENT_FROM_BLT					0x00000080
249a8c21a54SThe etnaviv authors #define VIVS_GL_EVENT_SOURCE__MASK				0x00001f00
250a8c21a54SThe etnaviv authors #define VIVS_GL_EVENT_SOURCE__SHIFT				8
251a8c21a54SThe etnaviv authors #define VIVS_GL_EVENT_SOURCE(x)					(((x) << VIVS_GL_EVENT_SOURCE__SHIFT) & VIVS_GL_EVENT_SOURCE__MASK)
252a8c21a54SThe etnaviv authors 
253a8c21a54SThe etnaviv authors #define VIVS_GL_SEMAPHORE_TOKEN					0x00003808
254a8c21a54SThe etnaviv authors #define VIVS_GL_SEMAPHORE_TOKEN_FROM__MASK			0x0000001f
255a8c21a54SThe etnaviv authors #define VIVS_GL_SEMAPHORE_TOKEN_FROM__SHIFT			0
256a8c21a54SThe etnaviv authors #define VIVS_GL_SEMAPHORE_TOKEN_FROM(x)				(((x) << VIVS_GL_SEMAPHORE_TOKEN_FROM__SHIFT) & VIVS_GL_SEMAPHORE_TOKEN_FROM__MASK)
257a8c21a54SThe etnaviv authors #define VIVS_GL_SEMAPHORE_TOKEN_TO__MASK			0x00001f00
258a8c21a54SThe etnaviv authors #define VIVS_GL_SEMAPHORE_TOKEN_TO__SHIFT			8
259a8c21a54SThe etnaviv authors #define VIVS_GL_SEMAPHORE_TOKEN_TO(x)				(((x) << VIVS_GL_SEMAPHORE_TOKEN_TO__SHIFT) & VIVS_GL_SEMAPHORE_TOKEN_TO__MASK)
260059ad731SLucas Stach #define VIVS_GL_SEMAPHORE_TOKEN_UNK28__MASK			0x30000000
261059ad731SLucas Stach #define VIVS_GL_SEMAPHORE_TOKEN_UNK28__SHIFT			28
262059ad731SLucas Stach #define VIVS_GL_SEMAPHORE_TOKEN_UNK28(x)			(((x) << VIVS_GL_SEMAPHORE_TOKEN_UNK28__SHIFT) & VIVS_GL_SEMAPHORE_TOKEN_UNK28__MASK)
263a8c21a54SThe etnaviv authors 
264a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_CACHE					0x0000380c
265a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_CACHE_DEPTH				0x00000001
266a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_CACHE_COLOR				0x00000002
267a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_CACHE_TEXTURE				0x00000004
268a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_CACHE_PE2D				0x00000008
269a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_CACHE_TEXTUREVS				0x00000010
270a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_CACHE_SHADER_L1				0x00000020
271a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_CACHE_SHADER_L2				0x00000040
272059ad731SLucas Stach #define VIVS_GL_FLUSH_CACHE_UNK10				0x00000400
273059ad731SLucas Stach #define VIVS_GL_FLUSH_CACHE_UNK11				0x00000800
274059ad731SLucas Stach #define VIVS_GL_FLUSH_CACHE_DESCRIPTOR_UNK12			0x00001000
275059ad731SLucas Stach #define VIVS_GL_FLUSH_CACHE_DESCRIPTOR_UNK13			0x00002000
276a8c21a54SThe etnaviv authors 
277a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_MMU					0x00003810
278a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_MMU_FLUSH_FEMMU				0x00000001
279a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_MMU_FLUSH_UNK1				0x00000002
280a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_MMU_FLUSH_UNK2				0x00000004
281a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_MMU_FLUSH_PEMMU				0x00000008
282a8c21a54SThe etnaviv authors #define VIVS_GL_FLUSH_MMU_FLUSH_UNK4				0x00000010
283a8c21a54SThe etnaviv authors 
284a8c21a54SThe etnaviv authors #define VIVS_GL_VERTEX_ELEMENT_CONFIG				0x00003814
285a8c21a54SThe etnaviv authors 
286a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG				0x00003818
287a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES__MASK		0x00000003
288a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES__SHIFT		0
289a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_NONE		0x00000000
290a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_2X		0x00000001
291a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_4X		0x00000002
292a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_SAMPLES_MASK		0x00000008
293a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES__MASK		0x000000f0
294a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES__SHIFT		4
295a8c21a54SThe etnaviv authors #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)
296a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_MSAA_ENABLES_MASK		0x00000100
297a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__MASK			0x00007000
298a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__SHIFT		12
299a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12(x)			(((x) << VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__SHIFT) & VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12__MASK)
300a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK12_MASK			0x00008000
301a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__MASK			0x00030000
302a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__SHIFT		16
303a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16(x)			(((x) << VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__SHIFT) & VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16__MASK)
304a8c21a54SThe etnaviv authors #define VIVS_GL_MULTI_SAMPLE_CONFIG_UNK16_MASK			0x00080000
305a8c21a54SThe etnaviv authors 
306a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_TOTAL_COMPONENTS			0x0000381c
307a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__MASK		0x000000ff
308a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__SHIFT		0
309a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM(x)			(((x) << VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__SHIFT) & VIVS_GL_VARYING_TOTAL_COMPONENTS_NUM__MASK)
310a8c21a54SThe etnaviv authors 
311a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_NUM_COMPONENTS				0x00003820
312059ad731SLucas Stach 
313059ad731SLucas Stach #define VIVS_GL_OCCLUSION_QUERY_ADDR				0x00003824
314a8c21a54SThe etnaviv authors 
315a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE(i0)		       (0x00003828 + 0x4*(i0))
316a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE__ESIZE			0x00000004
317a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE__LEN			0x00000002
318a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP0__MASK		0x00000003
319a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP0__SHIFT		0
320a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP0(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP0__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP0__MASK)
321a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP1__MASK		0x0000000c
322a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP1__SHIFT		2
323a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP1(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP1__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP1__MASK)
324a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP2__MASK		0x00000030
325a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP2__SHIFT		4
326a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP2(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP2__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP2__MASK)
327a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP3__MASK		0x000000c0
328a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP3__SHIFT		6
329a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP3(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP3__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP3__MASK)
330a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP4__MASK		0x00000300
331a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP4__SHIFT		8
332a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP4(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP4__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP4__MASK)
333a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP5__MASK		0x00000c00
334a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP5__SHIFT		10
335a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP5(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP5__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP5__MASK)
336a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP6__MASK		0x00003000
337a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP6__SHIFT		12
338a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP6(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP6__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP6__MASK)
339a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP7__MASK		0x0000c000
340a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP7__SHIFT		14
341a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP7(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP7__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP7__MASK)
342a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP8__MASK		0x00030000
343a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP8__SHIFT		16
344a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP8(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP8__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP8__MASK)
345a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP9__MASK		0x000c0000
346a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP9__SHIFT		18
347a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP9(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP9__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP9__MASK)
348a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP10__MASK		0x00300000
349a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP10__SHIFT		20
350a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP10(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP10__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP10__MASK)
351a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP11__MASK		0x00c00000
352a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP11__SHIFT		22
353a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP11(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP11__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP11__MASK)
354a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP12__MASK		0x03000000
355a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP12__SHIFT		24
356a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP12(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP12__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP12__MASK)
357a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP13__MASK		0x0c000000
358a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP13__SHIFT		26
359a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP13(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP13__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP13__MASK)
360a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP14__MASK		0x30000000
361a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP14__SHIFT		28
362a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP14(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP14__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP14__MASK)
363a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP15__MASK		0xc0000000
364a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP15__SHIFT		30
365a8c21a54SThe etnaviv authors #define VIVS_GL_VARYING_COMPONENT_USE_COMP15(x)			(((x) << VIVS_GL_VARYING_COMPONENT_USE_COMP15__SHIFT) & VIVS_GL_VARYING_COMPONENT_USE_COMP15__MASK)
366a8c21a54SThe etnaviv authors 
367059ad731SLucas Stach #define VIVS_GL_UNK0382C					0x0000382c
368059ad731SLucas Stach 
369059ad731SLucas Stach #define VIVS_GL_OCCLUSION_QUERY_CONTROL				0x00003830
370059ad731SLucas Stach 
371a8c21a54SThe etnaviv authors #define VIVS_GL_UNK03834					0x00003834
372a8c21a54SThe etnaviv authors 
373a8c21a54SThe etnaviv authors #define VIVS_GL_UNK03838					0x00003838
374a8c21a54SThe etnaviv authors 
375a8c21a54SThe etnaviv authors #define VIVS_GL_API_MODE					0x0000384c
376a8c21a54SThe etnaviv authors #define VIVS_GL_API_MODE_OPENGL					0x00000000
377a8c21a54SThe etnaviv authors #define VIVS_GL_API_MODE_OPENVG					0x00000001
378a8c21a54SThe etnaviv authors #define VIVS_GL_API_MODE_OPENCL					0x00000002
379a8c21a54SThe etnaviv authors 
380a8c21a54SThe etnaviv authors #define VIVS_GL_CONTEXT_POINTER					0x00003850
381a8c21a54SThe etnaviv authors 
382059ad731SLucas Stach #define VIVS_GL_UNK03854					0x00003854
383059ad731SLucas Stach 
384059ad731SLucas Stach #define VIVS_GL_BUG_FIXES					0x00003860
385059ad731SLucas Stach 
386059ad731SLucas Stach #define VIVS_GL_FENCE_OUT_ADDRESS				0x00003868
387059ad731SLucas Stach 
388059ad731SLucas Stach #define VIVS_GL_FENCE_OUT_DATA_LOW				0x0000386c
389059ad731SLucas Stach 
390059ad731SLucas Stach #define VIVS_GL_HALTI5_UNK03884					0x00003884
391059ad731SLucas Stach 
392059ad731SLucas Stach #define VIVS_GL_HALTI5_SH_SPECIALS				0x00003888
393059ad731SLucas Stach #define VIVS_GL_HALTI5_SH_SPECIALS_VS_PSIZE_OUT__MASK		0x0000007f
394059ad731SLucas Stach #define VIVS_GL_HALTI5_SH_SPECIALS_VS_PSIZE_OUT__SHIFT		0
395059ad731SLucas Stach #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)
396059ad731SLucas Stach #define VIVS_GL_HALTI5_SH_SPECIALS_PS_PCOORD_IN__MASK		0x00007f00
397059ad731SLucas Stach #define VIVS_GL_HALTI5_SH_SPECIALS_PS_PCOORD_IN__SHIFT		8
398059ad731SLucas Stach #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)
399059ad731SLucas Stach #define VIVS_GL_HALTI5_SH_SPECIALS_UNK16__MASK			0x007f0000
400059ad731SLucas Stach #define VIVS_GL_HALTI5_SH_SPECIALS_UNK16__SHIFT			16
401059ad731SLucas Stach #define VIVS_GL_HALTI5_SH_SPECIALS_UNK16(x)			(((x) << VIVS_GL_HALTI5_SH_SPECIALS_UNK16__SHIFT) & VIVS_GL_HALTI5_SH_SPECIALS_UNK16__MASK)
402059ad731SLucas Stach #define VIVS_GL_HALTI5_SH_SPECIALS_UNK24__MASK			0xff000000
403059ad731SLucas Stach #define VIVS_GL_HALTI5_SH_SPECIALS_UNK24__SHIFT			24
404059ad731SLucas Stach #define VIVS_GL_HALTI5_SH_SPECIALS_UNK24(x)			(((x) << VIVS_GL_HALTI5_SH_SPECIALS_UNK24__SHIFT) & VIVS_GL_HALTI5_SH_SPECIALS_UNK24__MASK)
405059ad731SLucas Stach 
406059ad731SLucas Stach #define VIVS_GL_GS_UNK0388C					0x0000388c
407059ad731SLucas Stach 
408059ad731SLucas Stach #define VIVS_GL_FENCE_OUT_DATA_HIGH				0x00003898
409059ad731SLucas Stach 
410059ad731SLucas Stach #define VIVS_GL_SHADER_INDEX					0x0000389c
411059ad731SLucas Stach 
412059ad731SLucas Stach #define VIVS_GL_GS_UNK038A0(i0)				       (0x000038a0 + 0x4*(i0))
413059ad731SLucas Stach #define VIVS_GL_GS_UNK038A0__ESIZE				0x00000004
414059ad731SLucas Stach #define VIVS_GL_GS_UNK038A0__LEN				0x00000008
415059ad731SLucas Stach 
416059ad731SLucas Stach #define VIVS_GL_HALTI5_UNK038C0(i0)			       (0x000038c0 + 0x4*(i0))
417059ad731SLucas Stach #define VIVS_GL_HALTI5_UNK038C0__ESIZE				0x00000004
418059ad731SLucas Stach #define VIVS_GL_HALTI5_UNK038C0__LEN				0x00000010
419059ad731SLucas Stach 
420059ad731SLucas Stach #define VIVS_GL_SECURITY_UNK3900				0x00003900
421059ad731SLucas Stach 
422059ad731SLucas Stach #define VIVS_GL_SECURITY_UNK3904				0x00003904
423059ad731SLucas Stach 
424a8c21a54SThe etnaviv authors #define VIVS_GL_UNK03A00					0x00003a00
425a8c21a54SThe etnaviv authors 
426059ad731SLucas Stach #define VIVS_GL_UNK03A04					0x00003a04
427059ad731SLucas Stach 
428059ad731SLucas Stach #define VIVS_GL_UNK03A08					0x00003a08
429059ad731SLucas Stach 
430059ad731SLucas Stach #define VIVS_GL_UNK03A0C					0x00003a0c
431059ad731SLucas Stach 
432059ad731SLucas Stach #define VIVS_GL_UNK03A10					0x00003a10
433059ad731SLucas Stach 
434a8c21a54SThe etnaviv authors #define VIVS_GL_STALL_TOKEN					0x00003c00
435a8c21a54SThe etnaviv authors #define VIVS_GL_STALL_TOKEN_FROM__MASK				0x0000001f
436a8c21a54SThe etnaviv authors #define VIVS_GL_STALL_TOKEN_FROM__SHIFT				0
437a8c21a54SThe etnaviv authors #define VIVS_GL_STALL_TOKEN_FROM(x)				(((x) << VIVS_GL_STALL_TOKEN_FROM__SHIFT) & VIVS_GL_STALL_TOKEN_FROM__MASK)
438a8c21a54SThe etnaviv authors #define VIVS_GL_STALL_TOKEN_TO__MASK				0x00001f00
439a8c21a54SThe etnaviv authors #define VIVS_GL_STALL_TOKEN_TO__SHIFT				8
440a8c21a54SThe etnaviv authors #define VIVS_GL_STALL_TOKEN_TO(x)				(((x) << VIVS_GL_STALL_TOKEN_TO__SHIFT) & VIVS_GL_STALL_TOKEN_TO__MASK)
441a8c21a54SThe etnaviv authors #define VIVS_GL_STALL_TOKEN_FLIP0				0x40000000
442a8c21a54SThe etnaviv authors #define VIVS_GL_STALL_TOKEN_FLIP1				0x80000000
443a8c21a54SThe etnaviv authors 
444059ad731SLucas Stach #define VIVS_NFE						0x00000000
445059ad731SLucas Stach 
446059ad731SLucas Stach #define VIVS_NFE_VERTEX_STREAMS(i0)			       (0x00000000 + 0x4*(i0))
447059ad731SLucas Stach #define VIVS_NFE_VERTEX_STREAMS__ESIZE				0x00000004
448059ad731SLucas Stach #define VIVS_NFE_VERTEX_STREAMS__LEN				0x00000010
449059ad731SLucas Stach 
450059ad731SLucas Stach #define VIVS_NFE_VERTEX_STREAMS_BASE_ADDR(i0)		       (0x00014600 + 0x4*(i0))
451059ad731SLucas Stach 
452059ad731SLucas Stach #define VIVS_NFE_VERTEX_STREAMS_CONTROL(i0)		       (0x00014640 + 0x4*(i0))
453059ad731SLucas Stach 
454059ad731SLucas Stach #define VIVS_NFE_VERTEX_STREAMS_UNK14680(i0)		       (0x00014680 + 0x4*(i0))
455059ad731SLucas Stach 
456059ad731SLucas Stach #define VIVS_NFE_VERTEX_STREAMS_ROBUSTNESS_UNK146C0(i0)	       (0x000146c0 + 0x4*(i0))
457059ad731SLucas Stach 
458059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB(i0)			       (0x00000000 + 0x4*(i0))
459059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB__ESIZE				0x00000004
460059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB__LEN				0x00000020
461059ad731SLucas Stach 
462059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0(i0)		       (0x00017800 + 0x4*(i0))
463059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE__MASK		0x0000000f
464059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE__SHIFT		0
465059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE(x)			(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_TYPE__MASK)
466059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN__MASK		0x00000030
467059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN__SHIFT		4
468059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN(x)		(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_ENDIAN__MASK)
469059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM__MASK		0x00000700
470059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM__SHIFT		8
471059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM(x)		(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_STREAM__MASK)
472059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM__MASK		0x00003000
473059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM__SHIFT		12
474059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM(x)			(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NUM__MASK)
475059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NORMALIZE__MASK		0x0000c000
476059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NORMALIZE__SHIFT	14
477059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NORMALIZE_OFF		0x00000000
478059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_NORMALIZE_ON		0x00008000
479059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START__MASK		0x00ff0000
480059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START__SHIFT		16
481059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START(x)		(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG0_START__MASK)
482059ad731SLucas Stach 
483059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_UNK17880(i0)		       (0x00017880 + 0x4*(i0))
484059ad731SLucas Stach 
485059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_UNK17900(i0)		       (0x00017900 + 0x4*(i0))
486059ad731SLucas Stach 
487059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_UNK17980(i0)		       (0x00017980 + 0x4*(i0))
488059ad731SLucas Stach 
489059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_SCALE(i0)		       (0x00017a00 + 0x4*(i0))
490059ad731SLucas Stach 
491059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG1(i0)		       (0x00017a80 + 0x4*(i0))
492059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END__MASK		0x000000ff
493059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END__SHIFT		0
494059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END(x)			(((x) << VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END__SHIFT) & VIVS_NFE_GENERIC_ATTRIB_CONFIG1_END__MASK)
495059ad731SLucas Stach #define VIVS_NFE_GENERIC_ATTRIB_CONFIG1_NONCONSECUTIVE		0x00000800
496059ad731SLucas Stach 
497a8c21a54SThe etnaviv authors #define VIVS_DUMMY						0x00000000
498a8c21a54SThe etnaviv authors 
499a8c21a54SThe etnaviv authors #define VIVS_DUMMY_DUMMY					0x0003fffc
500a8c21a54SThe etnaviv authors 
501a8c21a54SThe etnaviv authors 
502a8c21a54SThe etnaviv authors #endif /* STATE_XML */
503