• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<vcxml gen="2.1" min_ver="21" max_ver="21">
2
3  <enum name="Compare Function" prefix="V3D_COMPARE_FUNC">
4    <value name="NEVER" value="0"/>
5    <value name="LESS" value="1"/>
6    <value name="EQUAL" value="2"/>
7    <value name="LEQUAL" value="3"/>
8    <value name="GREATER" value="4"/>
9    <value name="NOTEQUAL" value="5"/>
10    <value name="GEQUAL" value="6"/>
11    <value name="ALWAYS" value="7"/>
12  </enum>
13
14  <enum name="Primitive" prefix="V3D_PRIM">
15    <value name="POINTS" value="0"/>
16    <value name="LINES" value="1"/>
17    <value name="LINE_LOOP" value="2"/>
18    <value name="LINE_STRIP" value="3"/>
19    <value name="TRIANGLES" value="4"/>
20    <value name="TRIANGLE_STRIP" value="5"/>
21    <value name="TRIANGLE_FAN" value="6"/>
22  </enum>
23
24  <packet name="Halt" code="0"/>
25  <packet name="NOP" code="1"/>
26  <packet name="Flush" code="4" cl="B"/>
27  <packet name="Flush All State" code="5" cl="B"/>
28  <packet name="Start Tile Binning" code="6" cl="B"/>
29  <packet name="Increment Semaphore" code="7"/>
30  <packet name="Wait on Semaphore" code="8"/>
31  <packet name="Branch" code="16">
32    <field name="Address" size="32" start="0" type="address"/>
33  </packet>
34  <packet name="Branch to sub-list" code="17">
35    <field name="Address" size="32" start="0" type="address"/>
36  </packet>
37  <packet name="Return from sub-list" code="18"/>
38
39  <packet name="Store Multi-sample Resolved Tile Color Buffer" code="24" cl="R"/>
40  <packet name="Store Multi-sample Resolved Tile Color Buffer and EOF" code="25" cl="R"/>
41
42  <packet name="Store Full Resolution Tile Buffer" cl="R" code="26">
43    <field name="Address" size="28" start="4" type="address"/>
44    <field name="Last Tile" size="1" start="3" type="bool"/>
45    <field name="Disable Clear on Write" size="1" start="2" type="bool"/>
46    <field name="Disable Z/Stencil Buffer write" size="1" start="1" type="bool"/>
47    <field name="Disable Color Buffer write" size="1" start="0" type="bool"/>
48  </packet>
49
50  <packet name="Re-load Full Resolution Tile Buffer" cl="R" code="27">
51    <field name="Address" size="28" start="4" type="address"/>
52    <field name="Disable Z/Stencil Buffer read" size="1" start="1" type="bool"/>
53    <field name="Disable Color Buffer read" size="1" start="0" type="bool"/>
54  </packet>
55
56  <packet name="Store Tile Buffer General" code="28" cl="R">
57    <field name="Memory base address of frame/tile dump buffer" size="28" start="20" type="address"/>
58    <field name="Last Tile of Frame" size="1" start="19" type="bool"/>
59    <field name="Disable VG-Mask buffer dump" size="1" start="18" type="bool"/>
60    <field name="Disable Z/Stencil buffer dump" size="1" start="17" type="bool"/>
61    <field name="Disable Color buffer dump" size="1" start="16" type="bool"/>
62    <field name="Disable VG-Mask buffer clear on store/dump" size="1" start="15" type="bool"/>
63    <field name="Disable Z/Stencil buffer clear on store/dump" size="1" start="14" type="bool"/>
64    <field name="Disable Color buffer clear on store/dump" size="1" start="13" type="bool"/>
65
66    <field name="Pixel Color Format" size="2" start="8" type="uint">
67      <value name="rgba8888" value="0"/>
68      <value name="bgr565 dithered" value="1"/>
69      <value name="bgr565 no dither" value="2"/>
70    </field>
71
72    <field name="Mode" size="2" start="6" type="uint">
73      <value name="Sample 0" value="0"/>
74      <value name="Decimate x4" value="1"/>
75      <value name="Decimate x16" value="2"/>
76    </field>
77
78    <field name="Format" size="2" start="4" type="uint">
79      <value name="Raster" value="0"/>
80      <value name="T" value="1"/>
81      <value name="LT" value="2"/>
82    </field>
83
84    <field name="Buffer to Store" size="3" start="0" type="uint">
85      <value name="None" value="0"/>
86      <value name="Color" value="1"/>
87      <value name="Z/stencil" value="2"/>
88      <value name="Z" value="3"/>
89      <value name="VG-Mask" value="4"/>
90    </field>
91  </packet>
92
93  <packet name="Load Tile Buffer General" code="29" cl="R">
94    <field name="Memory base address of frame/tile dump buffer" size="28" start="20" type="address"/>
95    <field name="Disable VG-Mask buffer load" size="1" start="18" type="bool"/>
96    <field name="Disable Z/Stencil buffer load" size="1" start="17" type="bool"/>
97    <field name="Disable Color buffer load" size="1" start="16" type="bool"/>
98
99    <field name="Pixel Color Format" size="2" start="8" type="uint">
100      <value name="rgba8888" value="0"/>
101      <value name="bgr565 dithered" value="1"/>
102      <value name="bgr565 no dither" value="2"/>
103    </field>
104
105    <field name="Mode" size="2" start="6" type="uint">
106      <value name="Sample 0" value="0"/>
107      <value name="Decimate x4" value="1"/>
108      <value name="Decimate x16" value="2"/>
109    </field>
110
111    <field name="Format" size="2" start="4" type="uint">
112      <value name="Raster" value="0"/>
113      <value name="T" value="1"/>
114      <value name="LT" value="2"/>
115    </field>
116
117    <field name="Buffer to Store" size="3" start="0" type="uint">
118      <value name="None" value="0"/>
119      <value name="Color" value="1"/>
120      <value name="Z/stencil" value="2"/>
121      <value name="Z" value="3"/>
122      <value name="VG-Mask" value="4"/>
123    </field>
124  </packet>
125
126  <packet name="Indexed Primitive List" code="32">
127    <field name="Maximum Index" size="32" start="72" type="uint"/>
128    <field name="Address of Indices List" size="32" start="40" type="uint"/>
129    <field name="Length" size="32" start="8" type="uint"/>
130    <field name="Index type" size="4" start="4" type="uint">
131      <value name="8-bit" value="0"/>
132      <value name="16-bit" value="1"/>
133    </field>
134    <field name="Primitive mode" size="4" start="0" type="Primitive"/>
135  </packet>
136
137  <packet name="Vertex Array Primitives" code="33">
138    <field name="Index of First Vertex" size="32" start="40" type="uint"/>
139    <field name="Length" size="32" start="8" type="uint"/>
140    <field name="Primitive mode" size="4" start="0" type="Primitive"/>
141  </packet>
142
143  <packet name="Primitive List Format" cl="R" code="56">
144    <field name="Data Type" size="4" start="4" type="uint">
145      <value name="16-bit index" value="1"/>
146      <value name="32-bit x/y" value="3"/>
147    </field>
148
149    <field name="Primitive Type" size="4" start="0" type="uint">
150      <value name="Points List" value="0"/>
151      <value name="Lines List" value="1"/>
152      <value name="Triangles List" value="2"/>
153      <value name="RHY List" value="3"/>
154    </field>
155  </packet>
156
157  <packet name="GL Shader State" code="64">
158    <!-- The address field will be filled in by kernel validation code. -->
159    <field name="Address" size="28" start="0" type="uint"/>
160    <field name="Extended shader record" size="1" start="3" type="bool"/>
161    <field name="Number of attribute arrays" size="3" start="0" type="uint"/>
162  </packet>
163
164  <packet name="Clear Colors" cl="R" code="114">
165    <field name="Clear Stencil" size="8" start="96" type="uint"/>
166    <field name="Clear VG Mask" size="8" start="88" type="uint"/>
167    <field name="Clear ZS" size="24" start="64" type="uint"/>
168    <field name="Clear Color" size="64" start="0" type="uint"/>
169  </packet>
170
171  <packet name="Configuration Bits" code="96">
172    <field name="Early Z updates enable" size="1" start="17" type="bool"/>
173    <field name="Early Z enable" size="1" start="16" type="bool"/>
174    <field name="Z updates enable" size="1" start="15" type="bool"/>
175    <field name="Depth-Test Function" size="3" start="12" type="Compare Function"/>
176    <field name="Coverage Read Mode" size="1" start="11" type="uint"/>
177    <!-- add values -->
178    <field name="Coverage Pipe Select" size="1" start="8" type="bool"/>
179    <field name="Rasteriser Oversample Mode" size="2" start="6" type="uint"/>
180    <!-- add values -->
181    <field name="Coverage Read Type" size="1" start="5" type="uint"/>
182    <!-- add values -->
183    <field name="Antialiased Points and Lines" size="1" start="4" type="bool"/>
184    <field name="Enable Depth Offset" size="1" start="3" type="bool"/>
185    <field name="Clockwise Primitives" size="1" start="2" type="bool"/>
186    <field name="Enable Reverse Facing Primitive" size="1" start="1" type="bool"/>
187    <field name="Enable Forward Facing Primitive" size="1" start="0" type="bool"/>
188  </packet>
189
190  <packet name="Flat Shade Flags" code="97">
191    <field name="Flat-shading Flags" size="32" start="0" type="uint"/>
192  </packet>
193
194  <packet name="Point size" code="98">
195    <field name="Point Size" size="32" start="0" type="float"/>
196  </packet>
197
198  <packet name="Line width" code="99">
199    <field name="Line width" size="32" start="0" type="float"/>
200  </packet>
201
202  <packet name="RHT X boundary" code="100">
203    <field name="RHT primitive X boundary" size="16" start="0" type="int"/>
204  </packet>
205
206  <packet name="Depth Offset" code="101">
207    <!-- these fields are both float-1-8-7 encoded (top 16 bits of a float32) -->
208    <field name="Depth Offset Units" size="16" start="16" type="uint"/>
209    <field name="Depth Offset Factor" size="16" start="0" type="uint"/>
210  </packet>
211
212  <packet name="Clip Window" code="102">
213    <field name="Clip Window Height in pixels" size="16" start="48" type="uint"/>
214    <field name="Clip Window Width in pixels" size="16" start="32" type="uint"/>
215    <field name="Clip Window Bottom Pixel Coordinate" size="16" start="16" type="uint"/>
216    <field name="Clip Window Left Pixel Coordinate" size="16" start="0" type="uint"/>
217  </packet>
218
219  <packet name="Viewport Offset" code="103">
220    <field name="Viewport Centre Y-coordinate" size="16" start="16" type="s12.4"/>
221    <field name="Viewport Centre X-coordinate" size="16" start="0" type="s12.4"/>
222  </packet>
223
224  <packet name="Z min and max clipping planes" code="104">
225    <field name="Maximum Zw" size="32" start="32" type="float"/>
226    <field name="Minimum Zw" size="32" start="0" type="float"/>
227  </packet>
228
229  <packet name="Clipper XY Scaling" code="105" cl="B">
230    <field name="Viewport Half-Height in 1/16th of pixel" size="32" start="32" type="float"/>
231    <field name="Viewport Half-Width in 1/16th of pixel" size="32" start="0" type="float"/>
232  </packet>
233
234  <packet name="Clipper Z Scale and Offset" code="106" cl="B">
235    <field name="Viewport Z Offset (Zc to Zs)" size="32" start="32" type="float"/>
236    <field name="Viewport Z Scale (Zc to Zs)" size="32" start="0" type="float"/>
237  </packet>
238
239  <packet name="Tile Binning Mode Configuration" code="112" cl="B">
240    <field name="Double-buffer in non-ms mode" size="1" start="119" type="bool"/>
241
242    <field name="Tile Allocation Block Size" size="2" start="117" type="uint">
243      <value name="block size 32" value="0"/>
244      <value name="block size 64" value="1"/>
245      <value name="block size 128" value="2"/>
246      <value name="block size 256" value="3"/>
247    </field>
248
249    <field name="Tile Allocation Initial Block Size" size="2" start="115" type="uint">
250      <value name="block size 32" value="0"/>
251      <value name="block size 64" value="1"/>
252      <value name="block size 128" value="2"/>
253      <value name="block size 256" value="3"/>
254    </field>
255
256    <field name="Auto-initialise Tile State Data Array" size="1" start="114" type="bool"/>
257    <field name="Tile Buffer 64-bit Color Depth" size="1" start="113" type="bool"/>
258    <field name="Multisample Mode (4x)" size="1" start="112" type="bool"/>
259
260    <field name="Height (in tiles)" size="8" start="104" type="uint"/>
261    <field name="Width (in tiles)" size="8" start="96" type="uint"/>
262
263    <field name="Tile State Data Array Address" size="32" start="64" type="uint"/>
264    <field name="Tile Allocation memory size" size="32" start="32" type="uint"/>
265    <field name="Tile Allocation memory address" size="32" start="0" type="uint"/>
266
267  </packet>
268
269  <packet name="Tile Rendering Mode Configuration" code="113" cl="R">
270    <field name="Double-buffer in non-ms mode" size="1" start="76" type="bool"/>
271    <field name="Early-Z/Early-Cov disable" size="1" start="75" type="bool"/>
272    <field name="Early-Z Update Direction GT/GE" size="1" start="74" type="bool"/>
273    <field name="Select Coverage Mode" size="1" start="73" type="bool"/>
274    <field name="Enable VG Mask Buffer" size="1" start="72" type="bool"/>
275    <field name="Memory Format" size="2" start="70" type="uint">
276      <value name="Raster" value="0"/>
277      <value name="T" value="1"/>
278      <value name="LT" value="2"/>
279    </field>
280    <field name="Decimate Mode" size="2" start="68" type="uint"/>
281
282    <field name="Non-HDR Frame Buffer Color Format" size="2" start="66" type="uint">
283      <value name="rendering config bgr565 dithered" value="0"/>
284      <value name="rendering config rgba8888" value="1"/>
285      <value name="rendering config bgr565 no dither" value="2"/>
286    </field>
287
288    <field name="Tile Buffer 64-bit Color Depth" size="1" start="65" type="bool"/>
289    <field name="Multisample Mode (4x)" size="1" start="64" type="bool"/>
290    <field name="Height (pixels)" size="16" start="48" type="uint"/>
291    <field name="Width (pixels)" size="16" start="32" type="uint"/>
292    <field name="Memory Address" size="32" start="0" type="address"/>
293  </packet>
294
295  <packet name="Tile Coordinates" code="115" cl="R">
296    <field name="Tile Row Number" size="8" start="8" type="uint"/>
297    <field name="Tile Column Number" size="8" start="0" type="uint"/>
298  </packet>
299
300  <packet name="Gem Relocations" code="254" cl="B">
301    <field name="buffer 1" size="32" start="32" type="uint"/>
302    <field name="buffer 0" size="32" start="0" type="uint"/>
303  </packet>
304
305  <struct name="Shader Record">
306    <field name="Fragment Shader is single threaded" size="1" start="0" type="bool"/>
307    <field name="Point Size included in shaded vertex data" size="1" start="1" type="bool"/>
308    <field name="Enable Clipping" size="1" start="2" type="bool"/>
309
310    <field name="Fragment Shader Number of Uniforms (not used currently)" size="16" start="2b" type="uint"/>
311    <field name="Fragment Shader Number of Varyings" size="8" start="3b" type="uint"/>
312    <field name="Fragment Shader Code Address" size="32" start="4b" type="address"/>
313    <!-- set up by the kernel -->
314    <field name="Fragment Shader Uniforms Address" size="32" start="8b" type="uint"/>
315
316    <field name="Vertex Shader Number of Uniforms (not used currently)" size="16" start="12b" type="uint"/>
317    <field name="Vertex Shader Attribute Array select bits" size="8" start="14b" type="uint"/>
318    <field name="Vertex Shader Total Attributes Size" size="8" start="15b" type="uint"/>
319    <field name="Vertex Shader Code Address" size="32" start="16b" type="address"/>
320    <!-- set up by the kernel -->
321    <field name="Vertex Shader Uniforms Address" size="32" start="16b" type="uint"/>
322
323    <field name="Coordinate Shader Number of Uniforms (not used currently)" size="16" start="24b" type="uint"/>
324    <field name="Coordinate Shader Attribute Array select bits" size="8" start="26b" type="uint"/>
325    <field name="Coordinate Shader Total Attributes Size" size="8" start="27b" type="uint"/>
326    <field name="Coordinate Shader Code Address" size="32" start="28b" type="address"/>
327    <!-- set up by the kernel -->
328    <field name="Coordinate Shader Uniforms Address" size="32" start="32b" type="uint"/>
329  </struct>
330
331  <struct name="Attribute Record">
332    <field name="Address" size="32" start="0b" type="address"/>
333    <field name="Number of Bytes minus 1" size="8" start="4b" type="uint"/>
334    <field name="Stride" size="8" start="5b" type="uint"/>
335    <field name="Vertex Shader VPM offset" size="8" start="6b" type="uint"/>
336    <field name="Coordinate Shader VPM offset" size="8" start="7b" type="uint"/>
337  </struct>
338
339</vcxml>
340