xref: /linux/drivers/gpu/drm/etnaviv/cmdstream.xml.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 #ifndef CMDSTREAM_XML
2 #define CMDSTREAM_XML
3 
4 /* Autogenerated file, DO NOT EDIT manually!
5 
6 This file was generated by the rules-ng-ng headergen tool in this git repository:
7 http://0x04.net/cgit/index.cgi/rules-ng-ng
8 git clone git://0x04.net/rules-ng-ng
9 
10 The rules-ng-ng source files this header was generated from are:
11 - cmdstream.xml (  16933 bytes, from 2023-12-11 15:50:17)
12 - copyright.xml (   1597 bytes, from 2016-11-10 13:58:32)
13 - common.xml    (  35664 bytes, from 2023-12-06 10:55:32)
14 
15 Copyright (C) 2012-2023 by the following authors:
16 - Wladimir J. van der Laan <laanwj@gmail.com>
17 - Christian Gmeiner <christian.gmeiner@gmail.com>
18 - Lucas Stach <l.stach@pengutronix.de>
19 - Russell King <rmk@arm.linux.org.uk>
20 
21 Permission is hereby granted, free of charge, to any person obtaining a
22 copy of this software and associated documentation files (the "Software"),
23 to deal in the Software without restriction, including without limitation
24 the rights to use, copy, modify, merge, publish, distribute, sub license,
25 and/or sell copies of the Software, and to permit persons to whom the
26 Software is furnished to do so, subject to the following conditions:
27 
28 The above copyright notice and this permission notice (including the
29 next paragraph) shall be included in all copies or substantial portions
30 of the Software.
31 
32 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
33 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
34 FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
35 THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
36 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
37 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
38 DEALINGS IN THE SOFTWARE.
39 */
40 
41 
42 #define FE_OPCODE_LOAD_STATE					0x00000001
43 #define FE_OPCODE_END						0x00000002
44 #define FE_OPCODE_NOP						0x00000003
45 #define FE_OPCODE_DRAW_2D					0x00000004
46 #define FE_OPCODE_DRAW_PRIMITIVES				0x00000005
47 #define FE_OPCODE_DRAW_INDEXED_PRIMITIVES			0x00000006
48 #define FE_OPCODE_WAIT						0x00000007
49 #define FE_OPCODE_LINK						0x00000008
50 #define FE_OPCODE_STALL						0x00000009
51 #define FE_OPCODE_CALL						0x0000000a
52 #define FE_OPCODE_RETURN					0x0000000b
53 #define FE_OPCODE_DRAW_INSTANCED				0x0000000c
54 #define FE_OPCODE_CHIP_SELECT					0x0000000d
55 #define FE_OPCODE_WAIT_FENCE					0x0000000f
56 #define FE_OPCODE_DRAW_INDIRECT					0x00000010
57 #define FE_OPCODE_SNAP_PAGES					0x00000013
58 #define PRIMITIVE_TYPE_POINTS					0x00000001
59 #define PRIMITIVE_TYPE_LINES					0x00000002
60 #define PRIMITIVE_TYPE_LINE_STRIP				0x00000003
61 #define PRIMITIVE_TYPE_TRIANGLES				0x00000004
62 #define PRIMITIVE_TYPE_TRIANGLE_STRIP				0x00000005
63 #define PRIMITIVE_TYPE_TRIANGLE_FAN				0x00000006
64 #define PRIMITIVE_TYPE_LINE_LOOP				0x00000007
65 #define PRIMITIVE_TYPE_QUADS					0x00000008
66 #define VIV_FE_LOAD_STATE					0x00000000
67 
68 #define VIV_FE_LOAD_STATE_HEADER				0x00000000
69 #define VIV_FE_LOAD_STATE_HEADER_OP__MASK			0xf8000000
70 #define VIV_FE_LOAD_STATE_HEADER_OP__SHIFT			27
71 #define VIV_FE_LOAD_STATE_HEADER_OP_LOAD_STATE			0x08000000
72 #define VIV_FE_LOAD_STATE_HEADER_FIXP				0x04000000
73 #define VIV_FE_LOAD_STATE_HEADER_COUNT__MASK			0x03ff0000
74 #define VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT			16
75 #define VIV_FE_LOAD_STATE_HEADER_COUNT(x)			(((x) << VIV_FE_LOAD_STATE_HEADER_COUNT__SHIFT) & VIV_FE_LOAD_STATE_HEADER_COUNT__MASK)
76 #define VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK			0x0000ffff
77 #define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT			0
78 #define VIV_FE_LOAD_STATE_HEADER_OFFSET(x)			(((x) << VIV_FE_LOAD_STATE_HEADER_OFFSET__SHIFT) & VIV_FE_LOAD_STATE_HEADER_OFFSET__MASK)
79 #define VIV_FE_LOAD_STATE_HEADER_OFFSET__SHR			2
80 
81 #define VIV_FE_END						0x00000000
82 
83 #define VIV_FE_END_HEADER					0x00000000
84 #define VIV_FE_END_HEADER_EVENT_ID__MASK			0x0000001f
85 #define VIV_FE_END_HEADER_EVENT_ID__SHIFT			0
86 #define VIV_FE_END_HEADER_EVENT_ID(x)				(((x) << VIV_FE_END_HEADER_EVENT_ID__SHIFT) & VIV_FE_END_HEADER_EVENT_ID__MASK)
87 #define VIV_FE_END_HEADER_EVENT_ENABLE				0x00000100
88 #define VIV_FE_END_HEADER_OP__MASK				0xf8000000
89 #define VIV_FE_END_HEADER_OP__SHIFT				27
90 #define VIV_FE_END_HEADER_OP_END				0x10000000
91 
92 #define VIV_FE_NOP						0x00000000
93 
94 #define VIV_FE_NOP_HEADER					0x00000000
95 #define VIV_FE_NOP_HEADER_OP__MASK				0xf8000000
96 #define VIV_FE_NOP_HEADER_OP__SHIFT				27
97 #define VIV_FE_NOP_HEADER_OP_NOP				0x18000000
98 
99 #define VIV_FE_DRAW_2D						0x00000000
100 
101 #define VIV_FE_DRAW_2D_HEADER					0x00000000
102 #define VIV_FE_DRAW_2D_HEADER_COUNT__MASK			0x0000ff00
103 #define VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT			8
104 #define VIV_FE_DRAW_2D_HEADER_COUNT(x)				(((x) << VIV_FE_DRAW_2D_HEADER_COUNT__SHIFT) & VIV_FE_DRAW_2D_HEADER_COUNT__MASK)
105 #define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK			0x07ff0000
106 #define VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT			16
107 #define VIV_FE_DRAW_2D_HEADER_DATA_COUNT(x)			(((x) << VIV_FE_DRAW_2D_HEADER_DATA_COUNT__SHIFT) & VIV_FE_DRAW_2D_HEADER_DATA_COUNT__MASK)
108 #define VIV_FE_DRAW_2D_HEADER_OP__MASK				0xf8000000
109 #define VIV_FE_DRAW_2D_HEADER_OP__SHIFT				27
110 #define VIV_FE_DRAW_2D_HEADER_OP_DRAW_2D			0x20000000
111 
112 #define VIV_FE_DRAW_2D_TOP_LEFT					0x00000008
113 #define VIV_FE_DRAW_2D_TOP_LEFT_X__MASK				0x0000ffff
114 #define VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT			0
115 #define VIV_FE_DRAW_2D_TOP_LEFT_X(x)				(((x) << VIV_FE_DRAW_2D_TOP_LEFT_X__SHIFT) & VIV_FE_DRAW_2D_TOP_LEFT_X__MASK)
116 #define VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK				0xffff0000
117 #define VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT			16
118 #define VIV_FE_DRAW_2D_TOP_LEFT_Y(x)				(((x) << VIV_FE_DRAW_2D_TOP_LEFT_Y__SHIFT) & VIV_FE_DRAW_2D_TOP_LEFT_Y__MASK)
119 
120 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT				0x0000000c
121 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK			0x0000ffff
122 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT			0
123 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT_X(x)			(((x) << VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__SHIFT) & VIV_FE_DRAW_2D_BOTTOM_RIGHT_X__MASK)
124 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK			0xffff0000
125 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT			16
126 #define VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y(x)			(((x) << VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__SHIFT) & VIV_FE_DRAW_2D_BOTTOM_RIGHT_Y__MASK)
127 
128 #define VIV_FE_DRAW_PRIMITIVES					0x00000000
129 
130 #define VIV_FE_DRAW_PRIMITIVES_HEADER				0x00000000
131 #define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__MASK			0xf8000000
132 #define VIV_FE_DRAW_PRIMITIVES_HEADER_OP__SHIFT			27
133 #define VIV_FE_DRAW_PRIMITIVES_HEADER_OP_DRAW_PRIMITIVES	0x28000000
134 
135 #define VIV_FE_DRAW_PRIMITIVES_COMMAND				0x00000004
136 #define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK		0x000000ff
137 #define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT		0
138 #define VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE(x)			(((x) << VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__SHIFT) & VIV_FE_DRAW_PRIMITIVES_COMMAND_TYPE__MASK)
139 
140 #define VIV_FE_DRAW_PRIMITIVES_START				0x00000008
141 
142 #define VIV_FE_DRAW_PRIMITIVES_COUNT				0x0000000c
143 
144 #define VIV_FE_DRAW_INDEXED_PRIMITIVES				0x00000000
145 
146 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER			0x00000000
147 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__MASK		0xf8000000
148 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP__SHIFT		27
149 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_HEADER_OP_DRAW_INDEXED_PRIMITIVES	0x30000000
150 
151 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND			0x00000004
152 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK	0x000000ff
153 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT	0
154 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE(x)		(((x) << VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__SHIFT) & VIV_FE_DRAW_INDEXED_PRIMITIVES_COMMAND_TYPE__MASK)
155 
156 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_START			0x00000008
157 
158 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_COUNT			0x0000000c
159 
160 #define VIV_FE_DRAW_INDEXED_PRIMITIVES_OFFSET			0x00000010
161 
162 #define VIV_FE_WAIT						0x00000000
163 
164 #define VIV_FE_WAIT_HEADER					0x00000000
165 #define VIV_FE_WAIT_HEADER_DELAY__MASK				0x0000ffff
166 #define VIV_FE_WAIT_HEADER_DELAY__SHIFT				0
167 #define VIV_FE_WAIT_HEADER_DELAY(x)				(((x) << VIV_FE_WAIT_HEADER_DELAY__SHIFT) & VIV_FE_WAIT_HEADER_DELAY__MASK)
168 #define VIV_FE_WAIT_HEADER_OP__MASK				0xf8000000
169 #define VIV_FE_WAIT_HEADER_OP__SHIFT				27
170 #define VIV_FE_WAIT_HEADER_OP_WAIT				0x38000000
171 
172 #define VIV_FE_LINK						0x00000000
173 
174 #define VIV_FE_LINK_HEADER					0x00000000
175 #define VIV_FE_LINK_HEADER_PREFETCH__MASK			0x0000ffff
176 #define VIV_FE_LINK_HEADER_PREFETCH__SHIFT			0
177 #define VIV_FE_LINK_HEADER_PREFETCH(x)				(((x) << VIV_FE_LINK_HEADER_PREFETCH__SHIFT) & VIV_FE_LINK_HEADER_PREFETCH__MASK)
178 #define VIV_FE_LINK_HEADER_OP__MASK				0xf8000000
179 #define VIV_FE_LINK_HEADER_OP__SHIFT				27
180 #define VIV_FE_LINK_HEADER_OP_LINK				0x40000000
181 
182 #define VIV_FE_LINK_ADDRESS					0x00000004
183 
184 #define VIV_FE_STALL						0x00000000
185 
186 #define VIV_FE_STALL_HEADER					0x00000000
187 #define VIV_FE_STALL_HEADER_OP__MASK				0xf8000000
188 #define VIV_FE_STALL_HEADER_OP__SHIFT				27
189 #define VIV_FE_STALL_HEADER_OP_STALL				0x48000000
190 
191 #define VIV_FE_STALL_TOKEN					0x00000004
192 #define VIV_FE_STALL_TOKEN_FROM__MASK				0x0000001f
193 #define VIV_FE_STALL_TOKEN_FROM__SHIFT				0
194 #define VIV_FE_STALL_TOKEN_FROM(x)				(((x) << VIV_FE_STALL_TOKEN_FROM__SHIFT) & VIV_FE_STALL_TOKEN_FROM__MASK)
195 #define VIV_FE_STALL_TOKEN_TO__MASK				0x00001f00
196 #define VIV_FE_STALL_TOKEN_TO__SHIFT				8
197 #define VIV_FE_STALL_TOKEN_TO(x)				(((x) << VIV_FE_STALL_TOKEN_TO__SHIFT) & VIV_FE_STALL_TOKEN_TO__MASK)
198 #define VIV_FE_STALL_TOKEN_UNK28__MASK				0x30000000
199 #define VIV_FE_STALL_TOKEN_UNK28__SHIFT				28
200 #define VIV_FE_STALL_TOKEN_UNK28(x)				(((x) << VIV_FE_STALL_TOKEN_UNK28__SHIFT) & VIV_FE_STALL_TOKEN_UNK28__MASK)
201 
202 #define VIV_FE_CALL						0x00000000
203 
204 #define VIV_FE_CALL_HEADER					0x00000000
205 #define VIV_FE_CALL_HEADER_PREFETCH__MASK			0x0000ffff
206 #define VIV_FE_CALL_HEADER_PREFETCH__SHIFT			0
207 #define VIV_FE_CALL_HEADER_PREFETCH(x)				(((x) << VIV_FE_CALL_HEADER_PREFETCH__SHIFT) & VIV_FE_CALL_HEADER_PREFETCH__MASK)
208 #define VIV_FE_CALL_HEADER_OP__MASK				0xf8000000
209 #define VIV_FE_CALL_HEADER_OP__SHIFT				27
210 #define VIV_FE_CALL_HEADER_OP_CALL				0x50000000
211 
212 #define VIV_FE_CALL_ADDRESS					0x00000004
213 
214 #define VIV_FE_CALL_RETURN_PREFETCH				0x00000008
215 
216 #define VIV_FE_CALL_RETURN_ADDRESS				0x0000000c
217 
218 #define VIV_FE_RETURN						0x00000000
219 
220 #define VIV_FE_RETURN_HEADER					0x00000000
221 #define VIV_FE_RETURN_HEADER_OP__MASK				0xf8000000
222 #define VIV_FE_RETURN_HEADER_OP__SHIFT				27
223 #define VIV_FE_RETURN_HEADER_OP_RETURN				0x58000000
224 
225 #define VIV_FE_CHIP_SELECT					0x00000000
226 
227 #define VIV_FE_CHIP_SELECT_HEADER				0x00000000
228 #define VIV_FE_CHIP_SELECT_HEADER_OP__MASK			0xf8000000
229 #define VIV_FE_CHIP_SELECT_HEADER_OP__SHIFT			27
230 #define VIV_FE_CHIP_SELECT_HEADER_OP_CHIP_SELECT		0x68000000
231 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP15			0x00008000
232 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP14			0x00004000
233 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP13			0x00002000
234 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP12			0x00001000
235 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP11			0x00000800
236 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP10			0x00000400
237 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP9			0x00000200
238 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP8			0x00000100
239 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP7			0x00000080
240 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP6			0x00000040
241 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP5			0x00000020
242 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP4			0x00000010
243 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP3			0x00000008
244 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP2			0x00000004
245 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP1			0x00000002
246 #define VIV_FE_CHIP_SELECT_HEADER_ENABLE_CHIP0			0x00000001
247 
248 #define VIV_FE_DRAW_INSTANCED					0x00000000
249 
250 #define VIV_FE_DRAW_INSTANCED_HEADER				0x00000000
251 #define VIV_FE_DRAW_INSTANCED_HEADER_OP__MASK			0xf8000000
252 #define VIV_FE_DRAW_INSTANCED_HEADER_OP__SHIFT			27
253 #define VIV_FE_DRAW_INSTANCED_HEADER_OP_DRAW_INSTANCED		0x60000000
254 #define VIV_FE_DRAW_INSTANCED_HEADER_INDEXED			0x00100000
255 #define VIV_FE_DRAW_INSTANCED_HEADER_TYPE__MASK			0x000f0000
256 #define VIV_FE_DRAW_INSTANCED_HEADER_TYPE__SHIFT		16
257 #define VIV_FE_DRAW_INSTANCED_HEADER_TYPE(x)			(((x) << VIV_FE_DRAW_INSTANCED_HEADER_TYPE__SHIFT) & VIV_FE_DRAW_INSTANCED_HEADER_TYPE__MASK)
258 #define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__MASK	0x0000ffff
259 #define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__SHIFT	0
260 #define VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO(x)	(((x) << VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__SHIFT) & VIV_FE_DRAW_INSTANCED_HEADER_INSTANCE_COUNT_LO__MASK)
261 
262 #define VIV_FE_DRAW_INSTANCED_COUNT				0x00000004
263 #define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__MASK	0xff000000
264 #define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__SHIFT	24
265 #define VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI(x)	(((x) << VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__SHIFT) & VIV_FE_DRAW_INSTANCED_COUNT_INSTANCE_COUNT_HI__MASK)
266 #define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__MASK		0x00ffffff
267 #define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__SHIFT		0
268 #define VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT(x)		(((x) << VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__SHIFT) & VIV_FE_DRAW_INSTANCED_COUNT_VERTEX_COUNT__MASK)
269 
270 #define VIV_FE_DRAW_INSTANCED_START				0x00000008
271 #define VIV_FE_DRAW_INSTANCED_START_INDEX__MASK			0xffffffff
272 #define VIV_FE_DRAW_INSTANCED_START_INDEX__SHIFT		0
273 #define VIV_FE_DRAW_INSTANCED_START_INDEX(x)			(((x) << VIV_FE_DRAW_INSTANCED_START_INDEX__SHIFT) & VIV_FE_DRAW_INSTANCED_START_INDEX__MASK)
274 
275 #define VIV_FE_WAIT_FENCE					0x00000000
276 
277 #define VIV_FE_WAIT_FENCE_HEADER				0x00000000
278 #define VIV_FE_WAIT_FENCE_HEADER_OP__MASK			0xf8000000
279 #define VIV_FE_WAIT_FENCE_HEADER_OP__SHIFT			27
280 #define VIV_FE_WAIT_FENCE_HEADER_OP_WAIT_FENCE			0x78000000
281 #define VIV_FE_WAIT_FENCE_HEADER_UNK16__MASK			0x00030000
282 #define VIV_FE_WAIT_FENCE_HEADER_UNK16__SHIFT			16
283 #define VIV_FE_WAIT_FENCE_HEADER_UNK16(x)			(((x) << VIV_FE_WAIT_FENCE_HEADER_UNK16__SHIFT) & VIV_FE_WAIT_FENCE_HEADER_UNK16__MASK)
284 #define VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__MASK		0x0000ffff
285 #define VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__SHIFT		0
286 #define VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT(x)			(((x) << VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__SHIFT) & VIV_FE_WAIT_FENCE_HEADER_WAITCOUNT__MASK)
287 
288 #define VIV_FE_WAIT_FENCE_ADDRESS				0x00000004
289 
290 #define VIV_FE_DRAW_INDIRECT					0x00000000
291 
292 #define VIV_FE_DRAW_INDIRECT_HEADER				0x00000000
293 #define VIV_FE_DRAW_INDIRECT_HEADER_OP__MASK			0xf8000000
294 #define VIV_FE_DRAW_INDIRECT_HEADER_OP__SHIFT			27
295 #define VIV_FE_DRAW_INDIRECT_HEADER_OP_DRAW_INDIRECT		0x80000000
296 #define VIV_FE_DRAW_INDIRECT_HEADER_INDEXED			0x00000100
297 #define VIV_FE_DRAW_INDIRECT_HEADER_TYPE__MASK			0x0000000f
298 #define VIV_FE_DRAW_INDIRECT_HEADER_TYPE__SHIFT			0
299 #define VIV_FE_DRAW_INDIRECT_HEADER_TYPE(x)			(((x) << VIV_FE_DRAW_INDIRECT_HEADER_TYPE__SHIFT) & VIV_FE_DRAW_INDIRECT_HEADER_TYPE__MASK)
300 
301 #define VIV_FE_DRAW_INDIRECT_ADDRESS				0x00000004
302 
303 #define VIV_FE_SNAP_PAGES					0x00000000
304 
305 #define VIV_FE_SNAP_PAGES_HEADER				0x00000000
306 #define VIV_FE_SNAP_PAGES_HEADER_OP__MASK			0xf8000000
307 #define VIV_FE_SNAP_PAGES_HEADER_OP__SHIFT			27
308 #define VIV_FE_SNAP_PAGES_HEADER_OP_SNAP_PAGES			0x98000000
309 #define VIV_FE_SNAP_PAGES_HEADER_UNK0__MASK			0x0000001f
310 #define VIV_FE_SNAP_PAGES_HEADER_UNK0__SHIFT			0
311 #define VIV_FE_SNAP_PAGES_HEADER_UNK0(x)			(((x) << VIV_FE_SNAP_PAGES_HEADER_UNK0__SHIFT) & VIV_FE_SNAP_PAGES_HEADER_UNK0__MASK)
312 
313 
314 #endif /* CMDSTREAM_XML */
315