1bf215546Sopenharmony_ci<vcxml gen="3.3" min_ver="33" max_ver="42">
2bf215546Sopenharmony_ci
3bf215546Sopenharmony_ci  <enum name="Compare Function" prefix="V3D_COMPARE_FUNC">
4bf215546Sopenharmony_ci    <value name="NEVER" value="0"/>
5bf215546Sopenharmony_ci    <value name="LESS" value="1"/>
6bf215546Sopenharmony_ci    <value name="EQUAL" value="2"/>
7bf215546Sopenharmony_ci    <value name="LEQUAL" value="3"/>
8bf215546Sopenharmony_ci    <value name="GREATER" value="4"/>
9bf215546Sopenharmony_ci    <value name="NOTEQUAL" value="5"/>
10bf215546Sopenharmony_ci    <value name="GEQUAL" value="6"/>
11bf215546Sopenharmony_ci    <value name="ALWAYS" value="7"/>
12bf215546Sopenharmony_ci  </enum>
13bf215546Sopenharmony_ci
14bf215546Sopenharmony_ci  <enum name="Blend Factor" prefix="V3D_BLEND_FACTOR">
15bf215546Sopenharmony_ci    <value name="ZERO" value="0"/>
16bf215546Sopenharmony_ci    <value name="ONE" value="1"/>
17bf215546Sopenharmony_ci    <value name="SRC_COLOR" value="2"/>
18bf215546Sopenharmony_ci    <value name="INV_SRC_COLOR" value="3"/>
19bf215546Sopenharmony_ci    <value name="DST_COLOR" value="4"/>
20bf215546Sopenharmony_ci    <value name="INV_DST_COLOR" value="5"/>
21bf215546Sopenharmony_ci    <value name="SRC_ALPHA" value="6"/>
22bf215546Sopenharmony_ci    <value name="INV_SRC_ALPHA" value="7"/>
23bf215546Sopenharmony_ci    <value name="DST_ALPHA" value="8"/>
24bf215546Sopenharmony_ci    <value name="INV_DST_ALPHA" value="9"/>
25bf215546Sopenharmony_ci    <value name="CONST_COLOR" value="10"/>
26bf215546Sopenharmony_ci    <value name="INV_CONST_COLOR" value="11"/>
27bf215546Sopenharmony_ci    <value name="CONST_ALPHA" value="12"/>
28bf215546Sopenharmony_ci    <value name="INV_CONST_ALPHA" value="13"/>
29bf215546Sopenharmony_ci    <value name="SRC_ALPHA_SATURATE" value="14"/>
30bf215546Sopenharmony_ci  </enum>
31bf215546Sopenharmony_ci
32bf215546Sopenharmony_ci  <enum name="Blend Mode" prefix="V3D_BLEND_MODE">
33bf215546Sopenharmony_ci    <value name="ADD" value="0"/>
34bf215546Sopenharmony_ci    <value name="SUB" value="1"/>
35bf215546Sopenharmony_ci    <value name="RSUB" value="2"/>
36bf215546Sopenharmony_ci    <value name="MIN" value="3"/>
37bf215546Sopenharmony_ci    <value name="MAX" value="4"/>
38bf215546Sopenharmony_ci    <value name="MUL" value="5"/>
39bf215546Sopenharmony_ci    <value name="SCREEN" value="6"/>
40bf215546Sopenharmony_ci    <value name="DARKEN" value="7"/>
41bf215546Sopenharmony_ci    <value name="LIGHTEN" value="8"/>
42bf215546Sopenharmony_ci  </enum>
43bf215546Sopenharmony_ci
44bf215546Sopenharmony_ci  <enum name="Stencil Op" prefix="V3D_STENCIL_OP">
45bf215546Sopenharmony_ci    <value name="ZERO" value="0"/>
46bf215546Sopenharmony_ci    <value name="KEEP" value="1"/>
47bf215546Sopenharmony_ci    <value name="REPLACE" value="2"/>
48bf215546Sopenharmony_ci    <value name="INCR" value="3"/>
49bf215546Sopenharmony_ci    <value name="DECR" value="4"/>
50bf215546Sopenharmony_ci    <value name="INVERT" value="5"/>
51bf215546Sopenharmony_ci    <value name="INCWRAP" value="6"/>
52bf215546Sopenharmony_ci    <value name="DECWRAP" value="7"/>
53bf215546Sopenharmony_ci  </enum>
54bf215546Sopenharmony_ci
55bf215546Sopenharmony_ci  <enum name="Primitive" prefix="V3D_PRIM">
56bf215546Sopenharmony_ci    <value name="POINTS" value="0"/>
57bf215546Sopenharmony_ci    <value name="LINES" value="1"/>
58bf215546Sopenharmony_ci    <value name="LINE_LOOP" value="2"/>
59bf215546Sopenharmony_ci    <value name="LINE_STRIP" value="3"/>
60bf215546Sopenharmony_ci    <value name="TRIANGLES" value="4"/>
61bf215546Sopenharmony_ci    <value name="TRIANGLE_STRIP" value="5"/>
62bf215546Sopenharmony_ci    <value name="TRIANGLE_FAN" value="6"/>
63bf215546Sopenharmony_ci    <value name="POINTS_TF" value="16"/>
64bf215546Sopenharmony_ci    <value name="LINES_TF" value="17"/>
65bf215546Sopenharmony_ci    <value name="LINE_LOOP_TF" value="18"/>
66bf215546Sopenharmony_ci    <value name="LINE_STRIP_TF" value="19"/>
67bf215546Sopenharmony_ci    <value name="TRIANGLES_TF" value="20"/>
68bf215546Sopenharmony_ci    <value name="TRIANGLE_STRIP_TF" value="21"/>
69bf215546Sopenharmony_ci    <value name="TRIANGLE_FAN_TF" value="22"/>
70bf215546Sopenharmony_ci  </enum>
71bf215546Sopenharmony_ci
72bf215546Sopenharmony_ci  <enum name="TMU Filter" prefix="V3D_TMU_FILTER" max_ver="33">
73bf215546Sopenharmony_ci    <!-- Names are mip filter, min filter, mag filter -->
74bf215546Sopenharmony_ci    <value name="MIN_LIN_MIP_NONE_MAG_LIN" value="0"/>
75bf215546Sopenharmony_ci    <value name="MIN_LIN_MIP_NONE_MAG_NEAR" value="1"/>
76bf215546Sopenharmony_ci    <value name="MIN_NEAR_MIP_NONE_MAG_LIN" value="2"/>
77bf215546Sopenharmony_ci    <value name="MIN_NEAR_MIP_NONE_MAG_NEAR" value="3"/>
78bf215546Sopenharmony_ci
79bf215546Sopenharmony_ci    <value name="MIN_NEAR_MIP_NEAR_MAG_LIN" value="4"/>
80bf215546Sopenharmony_ci    <value name="MIN_NEAR_MIP_NEAR_MAG_NEAR" value="5"/>
81bf215546Sopenharmony_ci    <value name="MIN_NEAR_MIP_LIN_MAG_LIN" value="6"/>
82bf215546Sopenharmony_ci    <value name="MIN_NEAR_MIP_LIN_MAG_NEAR" value="7"/>
83bf215546Sopenharmony_ci
84bf215546Sopenharmony_ci    <value name="MIN_LIN_MIP_NEAR_MAG_LIN" value="8"/>
85bf215546Sopenharmony_ci    <value name="MIN_LIN_MIP_NEAR_MAG_NEAR" value="9"/>
86bf215546Sopenharmony_ci    <value name="MIN_LIN_MIP_LIN_MAG_LIN" value="10"/>
87bf215546Sopenharmony_ci    <value name="MIN_LIN_MIP_LIN_MAG_NEAR" value="11"/>
88bf215546Sopenharmony_ci
89bf215546Sopenharmony_ci    <value name="ANISOTROPIC_2_1" value="12"/>
90bf215546Sopenharmony_ci    <value name="ANISOTROPIC_4_1" value="13"/>
91bf215546Sopenharmony_ci    <value name="ANISOTROPIC_8_1" value="14"/>
92bf215546Sopenharmony_ci    <value name="ANISOTROPIC_16_1" value="15"/>
93bf215546Sopenharmony_ci  </enum>
94bf215546Sopenharmony_ci
95bf215546Sopenharmony_ci  <enum name="Border Color Mode" prefix="V3D_BORDER_COLOR" min_ver="41">
96bf215546Sopenharmony_ci    <value name="0000" value="0"/>
97bf215546Sopenharmony_ci    <value name="0001" value="1"/>
98bf215546Sopenharmony_ci    <value name="1111" value="2"/>
99bf215546Sopenharmony_ci    <value name="Follows" value="7"/>
100bf215546Sopenharmony_ci  </enum>
101bf215546Sopenharmony_ci
102bf215546Sopenharmony_ci  <enum name="Wrap Mode" prefix="V3D_WRAP_MODE">
103bf215546Sopenharmony_ci      <value name="REPEAT" value="0"/>
104bf215546Sopenharmony_ci      <value name="CLAMP" value="1"/>
105bf215546Sopenharmony_ci      <value name="MIRROR" value="2"/>
106bf215546Sopenharmony_ci      <value name="BORDER" value="3"/>
107bf215546Sopenharmony_ci      <value name="MIRROR_ONCE" value="4"/>
108bf215546Sopenharmony_ci  </enum>
109bf215546Sopenharmony_ci
110bf215546Sopenharmony_ci  <enum name="TMU Op" prefix="V3D_TMU_OP" min_ver="41">
111bf215546Sopenharmony_ci    <value name="Write ADD, Read Prefetch" value="0"/>
112bf215546Sopenharmony_ci    <value name="Write SUB, Read Clear" value="1"/>
113bf215546Sopenharmony_ci    <value name="Write XCHG, Read Flush" value="2"/>
114bf215546Sopenharmony_ci    <value name="Write CMPXCHG, Read Flush" value="3"/>
115bf215546Sopenharmony_ci    <value name="Write UMIN, Full L1 Clear" value="4"/>
116bf215546Sopenharmony_ci    <value name="Write UMAX" value="5"/>
117bf215546Sopenharmony_ci    <value name="Write SMIN" value="6"/>
118bf215546Sopenharmony_ci    <value name="Write SMAX" value="7"/>
119bf215546Sopenharmony_ci    <value name="Write AND, Read INC" value="8"/>
120bf215546Sopenharmony_ci    <value name="Write OR, Read DEC" value="9"/>
121bf215546Sopenharmony_ci    <value name="Write XOR, Read NOT" value="10"/>
122bf215546Sopenharmony_ci    <value name="Regular" value="15"/>
123bf215546Sopenharmony_ci  </enum>
124bf215546Sopenharmony_ci
125bf215546Sopenharmony_ci  <enum name="Varying Flags Action" prefix="V3D_VARYING_FLAGS_ACTION">
126bf215546Sopenharmony_ci    <value name="unchanged" value="0"/>
127bf215546Sopenharmony_ci    <value name="zeroed" value="1"/>
128bf215546Sopenharmony_ci    <value name="set" value="2"/>
129bf215546Sopenharmony_ci  </enum>
130bf215546Sopenharmony_ci
131bf215546Sopenharmony_ci  <enum name="Memory Format" prefix="V3D_MEMORY_FORMAT">
132bf215546Sopenharmony_ci    <value name="Raster" value="0"/>
133bf215546Sopenharmony_ci    <value name="Lineartile" value="1"/>
134bf215546Sopenharmony_ci    <value name="UB-linear (1 UIF block wide)" value="2"/>
135bf215546Sopenharmony_ci    <value name="UB-linear (2 UIF blocks wide)" value="3"/>
136bf215546Sopenharmony_ci    <value name="UIF (No XOR)" value="4"/>
137bf215546Sopenharmony_ci    <value name="UIF (XOR)" value="5"/>
138bf215546Sopenharmony_ci  </enum>
139bf215546Sopenharmony_ci
140bf215546Sopenharmony_ci  <enum name="Decimate Mode" prefix="V3D_DECIMATE_MODE">
141bf215546Sopenharmony_ci    <value name="sample 0" value="0"/>
142bf215546Sopenharmony_ci    <value name="4x" value="1"/>
143bf215546Sopenharmony_ci    <value name="all samples" value="3"/>
144bf215546Sopenharmony_ci  </enum>
145bf215546Sopenharmony_ci
146bf215546Sopenharmony_ci  <enum name="Internal Type" prefix="V3D_INTERNAL_TYPE">
147bf215546Sopenharmony_ci    <value name="8i" value="0"/>
148bf215546Sopenharmony_ci    <value name="8ui" value="1"/>
149bf215546Sopenharmony_ci    <value name="8" value="2"/>
150bf215546Sopenharmony_ci    <value name="16i" value="4"/>
151bf215546Sopenharmony_ci    <value name="16ui" value="5"/>
152bf215546Sopenharmony_ci    <value name="16f" value="6"/>
153bf215546Sopenharmony_ci    <value name="32i" value="8"/>
154bf215546Sopenharmony_ci    <value name="32ui" value="9"/>
155bf215546Sopenharmony_ci    <value name="32f" value="10"/>
156bf215546Sopenharmony_ci  </enum>
157bf215546Sopenharmony_ci
158bf215546Sopenharmony_ci  <enum name="Internal BPP" prefix="V3D_INTERNAL_BPP">
159bf215546Sopenharmony_ci    <value name="32" value="0"/>
160bf215546Sopenharmony_ci    <value name="64" value="1"/>
161bf215546Sopenharmony_ci    <value name="128" value="2"/>
162bf215546Sopenharmony_ci  </enum>
163bf215546Sopenharmony_ci
164bf215546Sopenharmony_ci  <enum name="Internal Depth Type" prefix="V3D_INTERNAL_TYPE">
165bf215546Sopenharmony_ci    <value name="depth_32f" value="0"/>
166bf215546Sopenharmony_ci    <value name="depth_24" value="1"/>
167bf215546Sopenharmony_ci    <value name="depth_16" value="2"/>
168bf215546Sopenharmony_ci  </enum>
169bf215546Sopenharmony_ci
170bf215546Sopenharmony_ci  <enum name="Render Target Clamp" prefix="V3D_RENDER_TARGET_CLAMP" min_ver="41">
171bf215546Sopenharmony_ci    <value name="none" value="0"/> <!-- no clamping -->
172bf215546Sopenharmony_ci    <value name="norm" value="1"/> <!-- [0,1] for f16 -->
173bf215546Sopenharmony_ci    <value name="pos" value="2"/> <!-- [0, for f16 -->
174bf215546Sopenharmony_ci    <value name="int" value="3" min_ver="42"/> <!-- clamp to integer RT's range -->
175bf215546Sopenharmony_ci  </enum>
176bf215546Sopenharmony_ci
177bf215546Sopenharmony_ci  <!---
178bf215546Sopenharmony_ci    CL cache flush commands are not fully documented and subject to a
179bf215546Sopenharmony_ci    number of hardware issues that make them unreliable. Specifically:
180bf215546Sopenharmony_ci
181bf215546Sopenharmony_ci    * The L2T flush command has a 'deferred' bit to ensure the command
182bf215546Sopenharmony_ci      doesn't execute until all other commands in the CL have completed,
183bf215546Sopenharmony_ci      which is required to achieve the expected behavior. This bit comes
184bf215546Sopenharmony_ci      right after the mode field.
185bf215546Sopenharmony_ci
186bf215546Sopenharmony_ci    * GFXH-1895: Overlapping write combiner flush requests from different
187bf215546Sopenharmony_ci      sources are not safe. If two flush requests from different sources
188bf215546Sopenharmony_ci      overlap, the TMU may send the done signal for the first flush back to
189bf215546Sopenharmony_ci      the wrong source.
190bf215546Sopenharmony_ci
191bf215546Sopenharmony_ci    * GFXH-1888: It is possible for a regular access to sneak past a
192bf215546Sopenharmony_ci      pending L2T flush. If an L2T flush is requested via L2TCACTL while a
193bf215546Sopenharmony_ci      CLE-requested flush is in progress, it is possible for a regular
194bf215546Sopenharmony_ci      access to sneak through in the gap between the CLE flush and the
195bf215546Sopenharmony_ci      L2TCACTL flush.
196bf215546Sopenharmony_ci
197bf215546Sopenharmony_ci    * GFXH-1897: Writing 0 to L2TCACTL clobbers in-progress flush status.
198bf215546Sopenharmony_ci      Writing 0 to TMUWCF (bit 8) clears the TMUWCF bit, even if a write
199bf215546Sopenharmony_ci      combiner flush is still in progress. Similarly, writing 0 to L2TFLS
200bf215546Sopenharmony_ci      (bit 0) clears the L2TFLS bit, even if an L2T flush is still in
201bf215546Sopenharmony_ci      progress. Writing 0 to L2TFLM (bits 1..2) overwrites the flush mode,
202bf215546Sopenharmony_ci      even if a flush is not being requested (ie 0 is being written to
203bf215546Sopenharmony_ci      L2TFLS). If the last flush has not yet made it through the L2T
204bf215546Sopenharmony_ci      arbiter, this will change the mode of that flush.
205bf215546Sopenharmony_ci
206bf215546Sopenharmony_ci    GFXH-1888 and GFXH-1897 are problematic when we don't wait for L2T
207bf215546Sopenharmony_ci    flushes requested via LATCACTL to complete immediately.
208bf215546Sopenharmony_ci
209bf215546Sopenharmony_ci    Because of this, the driver will do all of its flushing via the kernel
210bf215546Sopenharmony_ci    using L2TCACTL instead of using the CL commands.
211bf215546Sopenharmony_ci  -->
212bf215546Sopenharmony_ci  <enum name="L2T Flush Mode" prefix="L2T_FLUSH_MODE">
213bf215546Sopenharmony_ci    <!-- invalidates all cache lines -->
214bf215546Sopenharmony_ci    <value name="flush" value="0"/>
215bf215546Sopenharmony_ci    <!-- Invalidates dirty cachelines without writeback -->
216bf215546Sopenharmony_ci    <value name="clear" value="1"/>
217bf215546Sopenharmony_ci    <!-- Writes back dirty cachelines and marks them clean, without
218bf215546Sopenharmony_ci         invalidating -->
219bf215546Sopenharmony_ci    <value name="clean" value="2"/>
220bf215546Sopenharmony_ci  </enum>
221bf215546Sopenharmony_ci
222bf215546Sopenharmony_ci  <enum name="Output Image Format" prefix="V3D_OUTPUT_IMAGE_FORMAT">
223bf215546Sopenharmony_ci    <!--
224bf215546Sopenharmony_ci	Formats appear with their channels named from the low bits to
225bf215546Sopenharmony_ci	the high bits.
226bf215546Sopenharmony_ci    -->
227bf215546Sopenharmony_ci    <value name="srgb8_alpha8" value="0"/>
228bf215546Sopenharmony_ci    <value name="srgb" value="1"/>
229bf215546Sopenharmony_ci    <value name="rgb10_a2ui" value="2"/>
230bf215546Sopenharmony_ci    <value name="rgb10_a2" value="3"/>
231bf215546Sopenharmony_ci    <value name="abgr1555" value="4"/>
232bf215546Sopenharmony_ci    <value name="alpha-masked abgr1555" value="5"/>
233bf215546Sopenharmony_ci    <value name="abgr4444" value="6"/>
234bf215546Sopenharmony_ci    <value name="bgr565" value="7"/>
235bf215546Sopenharmony_ci    <value name="r11f_g11f_b10f" value="8"/>
236bf215546Sopenharmony_ci    <value name="rgba32f"  value="9"/>
237bf215546Sopenharmony_ci    <value name="rg32f"    value="10"/>
238bf215546Sopenharmony_ci    <value name="r32f"     value="11"/>
239bf215546Sopenharmony_ci    <value name="rgba32i"  value="12"/>
240bf215546Sopenharmony_ci    <value name="rg32i"    value="13"/>
241bf215546Sopenharmony_ci    <value name="r32i"     value="14"/>
242bf215546Sopenharmony_ci    <value name="rgba32ui" value="15"/>
243bf215546Sopenharmony_ci    <value name="rg32ui"   value="16"/>
244bf215546Sopenharmony_ci    <value name="r32ui"    value="17"/>
245bf215546Sopenharmony_ci    <value name="rgba16f"  value="18"/>
246bf215546Sopenharmony_ci    <value name="rg16f"    value="19"/>
247bf215546Sopenharmony_ci    <value name="r16f"     value="20"/>
248bf215546Sopenharmony_ci    <value name="rgba16i"  value="21"/>
249bf215546Sopenharmony_ci    <value name="rg16i"    value="22"/>
250bf215546Sopenharmony_ci    <value name="r16i"     value="23"/>
251bf215546Sopenharmony_ci    <value name="rgba16ui" value="24"/>
252bf215546Sopenharmony_ci    <value name="rg16ui"   value="25"/>
253bf215546Sopenharmony_ci    <value name="r16ui"    value="26"/>
254bf215546Sopenharmony_ci    <value name="rgba8"    value="27"/>
255bf215546Sopenharmony_ci    <value name="rgb8"     value="28"/>
256bf215546Sopenharmony_ci    <value name="rg8"      value="29"/>
257bf215546Sopenharmony_ci    <value name="r8"       value="30"/>
258bf215546Sopenharmony_ci    <value name="rgba8i"   value="31"/>
259bf215546Sopenharmony_ci    <value name="rg8i"     value="32"/>
260bf215546Sopenharmony_ci    <value name="r8i"      value="33"/>
261bf215546Sopenharmony_ci    <value name="rgba8ui"  value="34"/>
262bf215546Sopenharmony_ci    <value name="rg8ui"    value="35"/>
263bf215546Sopenharmony_ci    <value name="r8ui"     value="36"/>
264bf215546Sopenharmony_ci    <value name="srgbx8"   value="37" max_ver="33"/>
265bf215546Sopenharmony_ci    <value name="rgbx8"    value="38" max_ver="33"/>
266bf215546Sopenharmony_ci    <value name="bstc"     value="39" min_ver="41"/>
267bf215546Sopenharmony_ci    <value name="d32f"     value="40" min_ver="41"/>
268bf215546Sopenharmony_ci    <value name="d24"      value="41" min_ver="41"/>
269bf215546Sopenharmony_ci    <value name="d16"      value="42" min_ver="41"/>
270bf215546Sopenharmony_ci    <value name="d24s8"    value="43" min_ver="41"/>
271bf215546Sopenharmony_ci    <value name="s8"       value="44" min_ver="41"/>
272bf215546Sopenharmony_ci    <value name="rgba5551" value="45" min_ver="41"/>
273bf215546Sopenharmony_ci  </enum>
274bf215546Sopenharmony_ci
275bf215546Sopenharmony_ci  <enum name="Z/S Output Image Format" prefix="V3D_OUTPUT_IMAGE_FORMAT_ZS" max_ver="33">
276bf215546Sopenharmony_ci    <value name="depth_component32f" value="0"/>
277bf215546Sopenharmony_ci    <value name="depth_component24" value="1"/> <!-- depth low, pad high -->
278bf215546Sopenharmony_ci    <value name="depth_component16" value="2"/>
279bf215546Sopenharmony_ci    <value name="depth24_stencil8" value="3"/> <!-- stencil low, depth high -->
280bf215546Sopenharmony_ci  </enum>
281bf215546Sopenharmony_ci
282bf215546Sopenharmony_ci  <enum name="Dither Mode" prefix="V3D_DITHER_MODE">
283bf215546Sopenharmony_ci    <value name="None" value="0"/>
284bf215546Sopenharmony_ci    <value name="RGB" value="1"/>
285bf215546Sopenharmony_ci    <value name="A" value="2"/>
286bf215546Sopenharmony_ci    <value name="RGBA" value="3"/>
287bf215546Sopenharmony_ci  </enum>
288bf215546Sopenharmony_ci
289bf215546Sopenharmony_ci  <enum name="Pack Mode" prefix="V3D_PACK_MODE">
290bf215546Sopenharmony_ci    <value name="16-way" value="0"/>
291bf215546Sopenharmony_ci    <value name="8-way" value="1"/>
292bf215546Sopenharmony_ci    <value name="4-way" value="2"/>
293bf215546Sopenharmony_ci    <value name="1-way" value="3"/>
294bf215546Sopenharmony_ci  </enum>
295bf215546Sopenharmony_ci
296bf215546Sopenharmony_ci  <enum name="TCS flush mode" prefix="V3D_TCS_FLUSH_MODE">
297bf215546Sopenharmony_ci    <value name="fully packed" value="0"/>
298bf215546Sopenharmony_ci    <value name="single patch" value="1"/>
299bf215546Sopenharmony_ci    <value name="packed complete patches" value="2"/>
300bf215546Sopenharmony_ci  </enum>
301bf215546Sopenharmony_ci
302bf215546Sopenharmony_ci  <enum name="Primitve counters" prefix="V3D_PRIM_COUNTS">
303bf215546Sopenharmony_ci    <value name="tf_words_buffer0" value="0"/>
304bf215546Sopenharmony_ci    <value name="tf_words_buffer1" value="1"/>
305bf215546Sopenharmony_ci    <value name="tf_words_buffer2" value="2"/>
306bf215546Sopenharmony_ci    <value name="tf_words_buffer3" value="3"/>
307bf215546Sopenharmony_ci    <value name="written" value="4"/>
308bf215546Sopenharmony_ci    <value name="tf_written" value="5"/>
309bf215546Sopenharmony_ci    <value name="tf_overflow" value="6"/>
310bf215546Sopenharmony_ci  </enum>
311bf215546Sopenharmony_ci
312bf215546Sopenharmony_ci  <enum name="Line Rasterization" prefix="V3D_LINE_RASTERIZATION">
313bf215546Sopenharmony_ci    <value name="diamond exit" value="0"/>
314bf215546Sopenharmony_ci    <value name="perp end caps" value="1"/>
315bf215546Sopenharmony_ci  </enum>
316bf215546Sopenharmony_ci
317bf215546Sopenharmony_ci  <packet code="0" name="Halt"/>
318bf215546Sopenharmony_ci  <packet code="1" name="NOP"/>
319bf215546Sopenharmony_ci  <packet code="4" name="Flush"/>
320bf215546Sopenharmony_ci  <packet code="5" name="Flush All State"/>
321bf215546Sopenharmony_ci  <packet code="6" name="Start Tile Binning"/>
322bf215546Sopenharmony_ci  <packet code="7" shortname="incr_semaphore" name="Increment Semaphore"/>
323bf215546Sopenharmony_ci  <packet code="8" shortname="wait_semaphore" name="Wait on Semaphore"/>
324bf215546Sopenharmony_ci  <packet code="9" shortname="wait_prev_frame" name="Wait for previous frame"/>
325bf215546Sopenharmony_ci  <packet code="10" shortname="enable_z_only" name="Enable Z-only rendering" cl="R"/>
326bf215546Sopenharmony_ci  <packet code="11" shortname="disable_z_only" name="Disable Z-only rendering" cl="R"/>
327bf215546Sopenharmony_ci  <packet code="12" shortname="end_z_only" name="End of Z-only rendering in frame"/>
328bf215546Sopenharmony_ci  <packet code="13" shortname="end_render" name="End of rendering"/>
329bf215546Sopenharmony_ci
330bf215546Sopenharmony_ci  <packet code="14" shortname="wait_transform_feedback" name="Wait for transform feedback" cl="B">
331bf215546Sopenharmony_ci    <field name="Block count" size="8" start="0" type="uint"/>
332bf215546Sopenharmony_ci  </packet>
333bf215546Sopenharmony_ci
334bf215546Sopenharmony_ci  <packet code="15" shortname="branch_sub_autochain" name="Branch to auto-chained sub-list">
335bf215546Sopenharmony_ci    <field name="address" size="32" start="0" type="address"/>
336bf215546Sopenharmony_ci  </packet>
337bf215546Sopenharmony_ci
338bf215546Sopenharmony_ci  <packet code="16" name="Branch">
339bf215546Sopenharmony_ci    <field name="address" size="32" start="0" type="address"/>
340bf215546Sopenharmony_ci  </packet>
341bf215546Sopenharmony_ci
342bf215546Sopenharmony_ci  <packet code="17" shortname="branch_sub" name="Branch to Sub-list">
343bf215546Sopenharmony_ci    <field name="address" size="32" start="0" type="address"/>
344bf215546Sopenharmony_ci  </packet>
345bf215546Sopenharmony_ci
346bf215546Sopenharmony_ci  <packet code="18" shortname="return" name="Return from sub-list"/>
347bf215546Sopenharmony_ci  <packet code="19" shortname="clear_vcd_cache" name="Flush VCD cache"/>
348bf215546Sopenharmony_ci
349bf215546Sopenharmony_ci  <packet code="20" shortname="generic_tile_list" name="Start Address of Generic Tile List">
350bf215546Sopenharmony_ci    <field name="start" size="32" start="0" type="address"/>
351bf215546Sopenharmony_ci    <field name="end" size="32" start="32" type="address"/>
352bf215546Sopenharmony_ci  </packet>
353bf215546Sopenharmony_ci
354bf215546Sopenharmony_ci  <packet code="21" shortname="branch_implicit_tile" name="Branch to Implicit Tile List">
355bf215546Sopenharmony_ci    <field name="tile list set number" size="8" start="0" type="uint"/>
356bf215546Sopenharmony_ci  </packet>
357bf215546Sopenharmony_ci
358bf215546Sopenharmony_ci  <packet code="22" shortname="branch_explicit_supertile" name="Branch to Explicit Supertile">
359bf215546Sopenharmony_ci    <field name="Absolute address of explicit supertile render list" size="32" start="24" type="address"/>
360bf215546Sopenharmony_ci    <field name="explicit supertile number" size="8" start="16" type="uint"/>
361bf215546Sopenharmony_ci    <field name="row number" size="8" start="8" type="uint"/>
362bf215546Sopenharmony_ci    <field name="column number" size="8" start="0" type="uint"/>
363bf215546Sopenharmony_ci  </packet>
364bf215546Sopenharmony_ci
365bf215546Sopenharmony_ci  <packet code="23" shortname="supertile_coords" name="Supertile Coordinates">
366bf215546Sopenharmony_ci    <field name="row number in supertiles" size="8" start="8" type="uint"/>
367bf215546Sopenharmony_ci    <field name="column number in supertiles" size="8" start="0" type="uint"/>
368bf215546Sopenharmony_ci  </packet>
369bf215546Sopenharmony_ci
370bf215546Sopenharmony_ci  <packet code="24" shortname="store_subsample" name="Store Multi-Sample Resolved Tile Color Buffer" cl="R" max_ver="33"/>
371bf215546Sopenharmony_ci
372bf215546Sopenharmony_ci  <packet code="25" shortname="store_subsample_ex" name="Store Multi-Sample Resolved Tile Color Buffer (extended)" cl="R" max_ver="33">
373bf215546Sopenharmony_ci    <field name="Disable Color Buffer write" size="8" start="8" type="uint"/>
374bf215546Sopenharmony_ci    <field name="Enable Z write" size="1" start="7" type="bool"/>
375bf215546Sopenharmony_ci    <field name="Enable Stencil write" size="1" start="6" type="bool"/>
376bf215546Sopenharmony_ci    <!-- bit 5 unused -->
377bf215546Sopenharmony_ci    <field name="Disable Color buffer(s) clear on write" size="1" start="4" type="bool"/>
378bf215546Sopenharmony_ci    <field name="Disable Stencil buffer clear on write" size="1" start="3" type="bool"/>
379bf215546Sopenharmony_ci    <field name="Disable Z buffer clear on write" size="1" start="2" type="bool"/>
380bf215546Sopenharmony_ci    <field name="Disable fast opportunistic write out in multisample mode" size="1" start="1" type="bool"/>
381bf215546Sopenharmony_ci    <field name="Last Tile of Frame" size="1" start="0" type="bool"/>
382bf215546Sopenharmony_ci  </packet>
383bf215546Sopenharmony_ci
384bf215546Sopenharmony_ci  <packet code="25" shortname="clear" name="Clear Tile Buffers" cl="R" min_ver="41">
385bf215546Sopenharmony_ci    <field name="Clear Z/Stencil Buffer" size="1" start="1" type="bool"/>
386bf215546Sopenharmony_ci    <field name="Clear all Render Targets" size="1" start="0" type="bool"/>
387bf215546Sopenharmony_ci  </packet>
388bf215546Sopenharmony_ci
389bf215546Sopenharmony_ci  <packet code="26" shortname="load" name="Reload Tile Color Buffer" cl="R" max_ver="33">
390bf215546Sopenharmony_ci    <field name="Disable Color Buffer load" size="8" start="8" type="uint"/>
391bf215546Sopenharmony_ci    <field name="Enable Z load" size="1" start="7" type="bool"/>
392bf215546Sopenharmony_ci    <field name="Enable Stencil load" size="1" start="6" type="bool"/>
393bf215546Sopenharmony_ci  </packet>
394bf215546Sopenharmony_ci
395bf215546Sopenharmony_ci  <packet code="26" shortname="end_loads" name="End of Loads" cl="R" min_ver="41"/>
396bf215546Sopenharmony_ci
397bf215546Sopenharmony_ci  <packet code="27" shortname="end_tile" name="End of Tile Marker" cl="R"/>
398bf215546Sopenharmony_ci
399bf215546Sopenharmony_ci  <packet code="29" shortname="store_general" name="Store Tile Buffer General" cl="R" max_ver="33">
400bf215546Sopenharmony_ci    <field name="Address" size="24" start="24" type="address"/>
401bf215546Sopenharmony_ci    <field name="Padded height of output image in UIF blocks" size="13" start="11" type="uint"/>
402bf215546Sopenharmony_ci    <field name="XOR UIF" size="1" start="10" type="bool"/>
403bf215546Sopenharmony_ci    <field name="Last Tile of Frame" size="1" start="8" type="bool"/>
404bf215546Sopenharmony_ci    <field name="Disable Color buffer(s) clear on write" size="1" start="7" type="bool"/>
405bf215546Sopenharmony_ci    <field name="Disable Stencil buffer clear on write" size="1" start="6" type="bool"/>
406bf215546Sopenharmony_ci    <field name="Disable Z buffer clear on write" size="1" start="5" type="bool"/>
407bf215546Sopenharmony_ci    <field name="Raw Mode" size="1" start="4" type="bool"/>
408bf215546Sopenharmony_ci    <field name="Buffer to Store" size="4" start="0" type="uint">
409bf215546Sopenharmony_ci      <value name="Render target 0" value="0"/>
410bf215546Sopenharmony_ci      <value name="Render target 1" value="1"/>
411bf215546Sopenharmony_ci      <value name="Render target 2" value="2"/>
412bf215546Sopenharmony_ci      <value name="Render target 3" value="3"/>
413bf215546Sopenharmony_ci      <value name="None" value="8"/>
414bf215546Sopenharmony_ci      <value name="Z" value="9"/>
415bf215546Sopenharmony_ci      <value name="Stencil" value="10"/>
416bf215546Sopenharmony_ci      <value name="Z+Stencil" value="11"/>
417bf215546Sopenharmony_ci    </field>
418bf215546Sopenharmony_ci  </packet>
419bf215546Sopenharmony_ci
420bf215546Sopenharmony_ci  <packet code="29" shortname="store" name="Store Tile Buffer General" cl="R" min_ver="41">
421bf215546Sopenharmony_ci    <field name="Address" size="32" start="64" type="address"/>
422bf215546Sopenharmony_ci
423bf215546Sopenharmony_ci    <!-- used for y flip -->
424bf215546Sopenharmony_ci    <field name="Height" size="16" start="48" type="uint"/>
425bf215546Sopenharmony_ci
426bf215546Sopenharmony_ci    <!-- height in ub for UIF, byte stride for raster -->
427bf215546Sopenharmony_ci    <field name="Height in UB or Stride" size="20" start="28" type="uint"/>
428bf215546Sopenharmony_ci
429bf215546Sopenharmony_ci    <field name="R/B swap" size="1" start="20" type="bool"/>
430bf215546Sopenharmony_ci    <field name="Channel Reverse" size="1" start="19" type="bool"/>
431bf215546Sopenharmony_ci    <field name="Clear buffer being stored" size="1" start="18" type="bool"/>
432bf215546Sopenharmony_ci    <field name="Output Image Format" size="6" start="12" type="Output Image Format"/>
433bf215546Sopenharmony_ci
434bf215546Sopenharmony_ci    <field name="Decimate mode" size="2" start="10" type="Decimate Mode"/>
435bf215546Sopenharmony_ci
436bf215546Sopenharmony_ci    <field name="Dither Mode" size="2" start="8" type="Dither Mode"/>
437bf215546Sopenharmony_ci
438bf215546Sopenharmony_ci    <field name="Flip Y" size="1" start="7" type="bool"/>
439bf215546Sopenharmony_ci
440bf215546Sopenharmony_ci    <field name="Memory Format" size="3" start="4" type="Memory Format"/>
441bf215546Sopenharmony_ci    <field name="Buffer to Store" size="4" start="0" type="uint">
442bf215546Sopenharmony_ci      <value name="Render target 0" value="0"/>
443bf215546Sopenharmony_ci      <value name="Render target 1" value="1"/>
444bf215546Sopenharmony_ci      <value name="Render target 2" value="2"/>
445bf215546Sopenharmony_ci      <value name="Render target 3" value="3"/>
446bf215546Sopenharmony_ci      <value name="None" value="8"/>
447bf215546Sopenharmony_ci      <value name="Z" value="9"/>
448bf215546Sopenharmony_ci      <value name="Stencil" value="10"/>
449bf215546Sopenharmony_ci      <value name="Z+Stencil" value="11"/>
450bf215546Sopenharmony_ci    </field>
451bf215546Sopenharmony_ci  </packet>
452bf215546Sopenharmony_ci
453bf215546Sopenharmony_ci  <packet code="30" shortname="load_general" name="Load Tile Buffer General" cl="R" max_ver="33">
454bf215546Sopenharmony_ci    <field name="Address" size="24" start="24" type="address"/>
455bf215546Sopenharmony_ci    <field name="Padded height of output image in UIF blocks" size="13" start="11" type="uint"/>
456bf215546Sopenharmony_ci    <field name="XOR UIF" size="1" start="10" type="bool"/>
457bf215546Sopenharmony_ci    <field name="Raw Mode" size="1" start="4" type="bool"/>
458bf215546Sopenharmony_ci    <field name="Buffer to Load" size="4" start="0" type="uint">
459bf215546Sopenharmony_ci      <value name="Render target 0" value="0"/>
460bf215546Sopenharmony_ci      <value name="Render target 1" value="1"/>
461bf215546Sopenharmony_ci      <value name="Render target 2" value="2"/>
462bf215546Sopenharmony_ci      <value name="Render target 3" value="3"/>
463bf215546Sopenharmony_ci      <value name="None" value="8"/>
464bf215546Sopenharmony_ci      <value name="Z" value="9"/>
465bf215546Sopenharmony_ci      <value name="Stencil" value="10"/>
466bf215546Sopenharmony_ci      <value name="Z+Stencil" value="11"/>
467bf215546Sopenharmony_ci    </field>
468bf215546Sopenharmony_ci  </packet>
469bf215546Sopenharmony_ci
470bf215546Sopenharmony_ci  <packet code="30" shortname="load" name="Load Tile Buffer General" cl="R" min_ver="41">
471bf215546Sopenharmony_ci    <field name="Address" size="32" start="64" type="address"/>
472bf215546Sopenharmony_ci
473bf215546Sopenharmony_ci    <!-- used for y flip -->
474bf215546Sopenharmony_ci    <field name="Height" size="16" start="48" type="uint"/>
475bf215546Sopenharmony_ci
476bf215546Sopenharmony_ci    <!-- height in ub for UIF, byte stride for raster -->
477bf215546Sopenharmony_ci    <field name="Height in UB or Stride" size="20" start="28" type="uint"/>
478bf215546Sopenharmony_ci
479bf215546Sopenharmony_ci    <field name="R/B swap" size="1" start="20" type="bool"/>
480bf215546Sopenharmony_ci    <field name="Channel Reverse" size="1" start="19" type="bool"/>
481bf215546Sopenharmony_ci    <field name="Force alpha 1" size="1" start="18" type="bool"/>
482bf215546Sopenharmony_ci
483bf215546Sopenharmony_ci    <field name="Input Image Format" size="6" start="12" type="Output Image Format"/>
484bf215546Sopenharmony_ci
485bf215546Sopenharmony_ci    <field name="Decimate mode" size="2" start="10" type="Decimate Mode"/>
486bf215546Sopenharmony_ci
487bf215546Sopenharmony_ci    <field name="Flip Y" size="1" start="7" type="bool"/>
488bf215546Sopenharmony_ci
489bf215546Sopenharmony_ci    <field name="Memory Format" size="3" start="4" type="Memory Format"/>
490bf215546Sopenharmony_ci    <field name="Buffer to Load" size="4" start="0" type="uint">
491bf215546Sopenharmony_ci      <value name="Render target 0" value="0"/>
492bf215546Sopenharmony_ci      <value name="Render target 1" value="1"/>
493bf215546Sopenharmony_ci      <value name="Render target 2" value="2"/>
494bf215546Sopenharmony_ci      <value name="Render target 3" value="3"/>
495bf215546Sopenharmony_ci      <value name="None" value="8"/>
496bf215546Sopenharmony_ci      <value name="Z" value="9"/>
497bf215546Sopenharmony_ci      <value name="Stencil" value="10"/>
498bf215546Sopenharmony_ci      <value name="Z+Stencil" value="11"/>
499bf215546Sopenharmony_ci    </field>
500bf215546Sopenharmony_ci  </packet>
501bf215546Sopenharmony_ci
502bf215546Sopenharmony_ci  <packet code="31" shortname="tf_draw_flush_and_count" name="Transform Feedback Flush and Count"/>
503bf215546Sopenharmony_ci
504bf215546Sopenharmony_ci  <packet code="32" name="Indexed Prim List" cl="B" max_ver="33">
505bf215546Sopenharmony_ci    <field name="Minimum index" size="32" start="104" type="uint"/>
506bf215546Sopenharmony_ci    <field name="Enable Primitive Restarts" size="1" start="103" type="bool"/>
507bf215546Sopenharmony_ci    <field name="Maximum index" size="31" start="72" type="uint"/>
508bf215546Sopenharmony_ci    <field name="Address of Indices List" size="32" start="40" type="address"/>
509bf215546Sopenharmony_ci    <field name="Length" size="32" start="8" type="uint"/>
510bf215546Sopenharmony_ci
511bf215546Sopenharmony_ci    <field name="Index type" size="2" start="6" type="uint">
512bf215546Sopenharmony_ci      <value name="Index type 8-bit" value="0"/>
513bf215546Sopenharmony_ci      <value name="Index type 16-bit" value="1"/>
514bf215546Sopenharmony_ci      <value name="Index type 32-bit" value="2"/>
515bf215546Sopenharmony_ci    </field>
516bf215546Sopenharmony_ci
517bf215546Sopenharmony_ci    <field name="mode" size="5" start="0" type="Primitive"/>
518bf215546Sopenharmony_ci  </packet>
519bf215546Sopenharmony_ci
520bf215546Sopenharmony_ci  <packet code="32" name="Indexed Prim List" cl="B" min_ver="41">
521bf215546Sopenharmony_ci    <field name="Index Offset" size="32" start="40" type="uint"/>
522bf215546Sopenharmony_ci
523bf215546Sopenharmony_ci    <field name="Enable Primitive Restarts" size="1" start="39" type="bool"/>
524bf215546Sopenharmony_ci    <field name="Length" size="31" start="8" type="uint"/>
525bf215546Sopenharmony_ci
526bf215546Sopenharmony_ci    <field name="Index type" size="2" start="6" type="uint">
527bf215546Sopenharmony_ci      <value name="Index type 8-bit" value="0"/>
528bf215546Sopenharmony_ci      <value name="Index type 16-bit" value="1"/>
529bf215546Sopenharmony_ci      <value name="Index type 32-bit" value="2"/>
530bf215546Sopenharmony_ci    </field>
531bf215546Sopenharmony_ci
532bf215546Sopenharmony_ci    <field name="mode" size="6" start="0" type="Primitive"/>
533bf215546Sopenharmony_ci  </packet>
534bf215546Sopenharmony_ci
535bf215546Sopenharmony_ci  <packet code="33" name="Indirect Indexed Instanced Prim List" cl="B" max_ver="33">
536bf215546Sopenharmony_ci    <field name="Stride in Multiples of 4 Bytes" size="8" start="104" type="uint"/>
537bf215546Sopenharmony_ci    <field name="Address of Indices List" size="32" start="72" type="address"/>
538bf215546Sopenharmony_ci    <field name="Address" size="32" start="40" type="address"/>
539bf215546Sopenharmony_ci    <field name="Enable Primitive Restarts" size="1" start="39" type="bool"/>
540bf215546Sopenharmony_ci    <field name="Number of Draw Indirect Indexed Records" size="31" start="8" type="uint"/>
541bf215546Sopenharmony_ci
542bf215546Sopenharmony_ci    <field name="Index type" size="2" start="6" type="uint">
543bf215546Sopenharmony_ci      <value name="Index type 8-bit" value="0"/>
544bf215546Sopenharmony_ci      <value name="Index type 16-bit" value="1"/>
545bf215546Sopenharmony_ci      <value name="Index type 32-bit" value="2"/>
546bf215546Sopenharmony_ci    </field>
547bf215546Sopenharmony_ci
548bf215546Sopenharmony_ci    <field name="mode" size="6" start="0" type="Primitive"/>
549bf215546Sopenharmony_ci  </packet>
550bf215546Sopenharmony_ci
551bf215546Sopenharmony_ci  <packet code="33" name="Indirect Indexed Instanced Prim List" cl="B" min_ver="41">
552bf215546Sopenharmony_ci    <field name="Stride in Multiples of 4 Bytes" size="8" start="72" type="uint"/>
553bf215546Sopenharmony_ci    <field name="Address" size="32" start="40" type="address"/>
554bf215546Sopenharmony_ci    <field name="Enable Primitive Restarts" size="1" start="39" type="bool"/>
555bf215546Sopenharmony_ci    <field name="Number of Draw Indirect Indexed Records" size="31" start="8" type="uint"/>
556bf215546Sopenharmony_ci
557bf215546Sopenharmony_ci    <field name="Index type" size="2" start="6" type="uint">
558bf215546Sopenharmony_ci      <value name="Index type 8-bit" value="0"/>
559bf215546Sopenharmony_ci      <value name="Index type 16-bit" value="1"/>
560bf215546Sopenharmony_ci      <value name="Index type 32-bit" value="2"/>
561bf215546Sopenharmony_ci    </field>
562bf215546Sopenharmony_ci
563bf215546Sopenharmony_ci    <field name="mode" size="6" start="0" type="Primitive"/>
564bf215546Sopenharmony_ci  </packet>
565bf215546Sopenharmony_ci
566bf215546Sopenharmony_ci  <packet code="34" name="Indexed Instanced Prim List" cl="B" max_ver="33">
567bf215546Sopenharmony_ci    <field name="Enable Primitive Restarts" size="1" start="135" type="bool"/>
568bf215546Sopenharmony_ci    <field name="Maximum index" size="31" start="104" type="uint"/>
569bf215546Sopenharmony_ci    <field name="Address of Indices List" size="32" start="72" type="address"/>
570bf215546Sopenharmony_ci    <field name="Number of Instances" size="32" start="40" type="uint"/>
571bf215546Sopenharmony_ci    <field name="Instance Length" size="32" start="8" type="uint"/>
572bf215546Sopenharmony_ci
573bf215546Sopenharmony_ci    <field name="Index type" size="2" start="6" type="uint">
574bf215546Sopenharmony_ci      <value name="Index type 8-bit" value="0"/>
575bf215546Sopenharmony_ci      <value name="Index type 16-bit" value="1"/>
576bf215546Sopenharmony_ci      <value name="Index type 32-bit" value="2"/>
577bf215546Sopenharmony_ci    </field>
578bf215546Sopenharmony_ci
579bf215546Sopenharmony_ci    <field name="mode" size="5" start="0" type="Primitive"/>
580bf215546Sopenharmony_ci  </packet>
581bf215546Sopenharmony_ci
582bf215546Sopenharmony_ci  <packet code="34" name="Indexed Instanced Prim List" cl="B" min_ver="41">
583bf215546Sopenharmony_ci    <field name="Index Offset" size="32" start="72" type="uint"/>
584bf215546Sopenharmony_ci    <field name="Number of Instances" size="32" start="40" type="uint"/>
585bf215546Sopenharmony_ci    <field name="Enable Primitive Restarts" size="1" start="39" type="bool"/>
586bf215546Sopenharmony_ci    <field name="Instance Length" size="31" start="8" type="uint"/>
587bf215546Sopenharmony_ci
588bf215546Sopenharmony_ci    <field name="Index type" size="2" start="6" type="uint">
589bf215546Sopenharmony_ci      <value name="Index type 8-bit" value="0"/>
590bf215546Sopenharmony_ci      <value name="Index type 16-bit" value="1"/>
591bf215546Sopenharmony_ci      <value name="Index type 32-bit" value="2"/>
592bf215546Sopenharmony_ci    </field>
593bf215546Sopenharmony_ci
594bf215546Sopenharmony_ci    <field name="mode" size="6" start="0" type="Primitive"/>
595bf215546Sopenharmony_ci  </packet>
596bf215546Sopenharmony_ci
597bf215546Sopenharmony_ci  <packet code="36" name="Vertex Array Prims" cl="B">
598bf215546Sopenharmony_ci    <field name="Index of First Vertex" size="32" start="40" type="uint"/>
599bf215546Sopenharmony_ci    <field name="Length" size="32" start="8" type="uint"/>
600bf215546Sopenharmony_ci
601bf215546Sopenharmony_ci    <field name="mode" size="8" start="0" type="Primitive"/>
602bf215546Sopenharmony_ci  </packet>
603bf215546Sopenharmony_ci
604bf215546Sopenharmony_ci  <packet code="37" name="Indirect Vertex Array Instanced Prims" cl="B">
605bf215546Sopenharmony_ci    <field name="Stride in Multiples of 4 Bytes" size="8" start="72" type="uint"/>
606bf215546Sopenharmony_ci    <field name="Address" size="32" start="40" type="address"/>
607bf215546Sopenharmony_ci    <field name="Number of Draw Indirect Array Records" size="32" start="8" type="uint"/>
608bf215546Sopenharmony_ci
609bf215546Sopenharmony_ci    <field name="mode" size="8" start="0" type="Primitive"/>
610bf215546Sopenharmony_ci  </packet>
611bf215546Sopenharmony_ci
612bf215546Sopenharmony_ci  <packet code="38" name="Vertex Array Instanced Prims" cl="B">
613bf215546Sopenharmony_ci    <field name="Index of First Vertex" size="32" start="72" type="uint"/>
614bf215546Sopenharmony_ci    <field name="Number of Instances" size="32" start="40" type="uint"/>
615bf215546Sopenharmony_ci    <field name="Instance Length" size="32" start="8" type="uint"/>
616bf215546Sopenharmony_ci
617bf215546Sopenharmony_ci    <field name="mode" size="8" start="0" type="Primitive"/>
618bf215546Sopenharmony_ci  </packet>
619bf215546Sopenharmony_ci
620bf215546Sopenharmony_ci  <packet code="39" name="Vertex Array Single Instance Prims" cl="B">
621bf215546Sopenharmony_ci    <field name="Index of First Vertex" size="32" start="72" type="uint"/>
622bf215546Sopenharmony_ci    <field name="Instance ID" size="32" start="40" type="uint"/>
623bf215546Sopenharmony_ci    <field name="Instance Length" size="32" start="8" type="uint"/>
624bf215546Sopenharmony_ci
625bf215546Sopenharmony_ci    <field name="mode" size="8" start="0" type="Primitive"/>
626bf215546Sopenharmony_ci  </packet>
627bf215546Sopenharmony_ci
628bf215546Sopenharmony_ci  <packet code="43" name="Base Vertex Base Instance" cl="B">
629bf215546Sopenharmony_ci    <field name="Base Instance" size="32" start="32" type="uint"/>
630bf215546Sopenharmony_ci
631bf215546Sopenharmony_ci    <field name="Base Vertex" size="32" start="0" type="uint"/>
632bf215546Sopenharmony_ci  </packet>
633bf215546Sopenharmony_ci
634bf215546Sopenharmony_ci  <packet code="44" name="Index Buffer Setup" cl="B" min_ver="41">
635bf215546Sopenharmony_ci    <field name="Address" size="32" start="0" type="address"/>
636bf215546Sopenharmony_ci    <field name="Size" size="32" start="32" type="uint"/>
637bf215546Sopenharmony_ci  </packet>
638bf215546Sopenharmony_ci
639bf215546Sopenharmony_ci  <packet code="54" name="Set InstanceID" cl="B" min_ver="41">
640bf215546Sopenharmony_ci    <field name="Instance ID" size="32" start="0" type="uint"/>
641bf215546Sopenharmony_ci  </packet>
642bf215546Sopenharmony_ci
643bf215546Sopenharmony_ci  <packet code="55" name="Set PrimitiveID" cl="B" min_ver="41">
644bf215546Sopenharmony_ci    <field name="Primitive ID" size="32" start="0" type="uint"/>
645bf215546Sopenharmony_ci  </packet>
646bf215546Sopenharmony_ci
647bf215546Sopenharmony_ci  <packet code="56" name="Prim List Format">
648bf215546Sopenharmony_ci    <field name="tri strip or fan" size="1" start="7" type="bool"/>
649bf215546Sopenharmony_ci    <field name="primitive type" size="6" start="0" type="uint">
650bf215546Sopenharmony_ci      <value name="List Points" value="0"/>
651bf215546Sopenharmony_ci      <value name="List Lines" value="1"/>
652bf215546Sopenharmony_ci      <value name="List Triangles" value="2"/>
653bf215546Sopenharmony_ci    </field>
654bf215546Sopenharmony_ci  </packet>
655bf215546Sopenharmony_ci
656bf215546Sopenharmony_ci  <packet code="57" name="Serial Number List Start">
657bf215546Sopenharmony_ci    <field name="address" size="26" start="6" type="address"/>
658bf215546Sopenharmony_ci    <field name="block size" size="2" start="0" type="uint">
659bf215546Sopenharmony_ci      <value name="block size 64b" value="0"/>
660bf215546Sopenharmony_ci      <value name="block size 128b" value="1"/>
661bf215546Sopenharmony_ci      <value name="block size 256b" value="2"/>
662bf215546Sopenharmony_ci    </field>
663bf215546Sopenharmony_ci  </packet>
664bf215546Sopenharmony_ci
665bf215546Sopenharmony_ci  <packet code="64" shortname="gl_shader" name="GL Shader State">
666bf215546Sopenharmony_ci    <field name="address" size="27" start="5" type="address"/>
667bf215546Sopenharmony_ci    <field name="number of attribute arrays" size="5" start="0" type="uint"/>
668bf215546Sopenharmony_ci  </packet>
669bf215546Sopenharmony_ci
670bf215546Sopenharmony_ci  <packet code="65" shortname="gl_t_shader" name="GL Shader State including TS" min_ver="41">
671bf215546Sopenharmony_ci    <field name="address" size="27" start="5" type="address"/>
672bf215546Sopenharmony_ci    <field name="number of attribute arrays" size="5" start="0" type="uint"/>
673bf215546Sopenharmony_ci  </packet>
674bf215546Sopenharmony_ci
675bf215546Sopenharmony_ci  <packet code="66" shortname="gl_g_shader" name="GL Shader State including GS" min_ver="41">
676bf215546Sopenharmony_ci    <field name="address" size="27" start="5" type="address"/>
677bf215546Sopenharmony_ci    <field name="number of attribute arrays" size="5" start="0" type="uint"/>
678bf215546Sopenharmony_ci  </packet>
679bf215546Sopenharmony_ci
680bf215546Sopenharmony_ci  <packet code="67" shortname="gl_tg_shader" name="GL Shader State including TS/GS" min_ver="41">
681bf215546Sopenharmony_ci    <field name="address" size="27" start="5" type="address"/>
682bf215546Sopenharmony_ci    <field name="number of attribute arrays" size="5" start="0" type="uint"/>
683bf215546Sopenharmony_ci  </packet>
684bf215546Sopenharmony_ci
685bf215546Sopenharmony_ci  <packet code="71" name="VCM Cache Size" min_ver="41">
686bf215546Sopenharmony_ci    <field name="Number of 16-vertex batches for rendering" size="4" start="4" type="uint"/>
687bf215546Sopenharmony_ci    <field name="Number of 16-vertex batches for binning" size="4" start="0" type="uint"/>
688bf215546Sopenharmony_ci  </packet>
689bf215546Sopenharmony_ci
690bf215546Sopenharmony_ci  <packet code="72" shortname="prim_counts_feedback" name="Primitive Counts Feedback">
691bf215546Sopenharmony_ci    <field name="address" size="27" start="5" type="address"/>
692bf215546Sopenharmony_ci    <field name="read/write 64byte" size="1" start="4" type="bool"/>
693bf215546Sopenharmony_ci    <field name="op" size="4" start="0" type="uint">
694bf215546Sopenharmony_ci      <!--
695bf215546Sopenharmony_ci	  dword 0-3 are words written to TFB 0-3.  4 is prims generated, 5 is prims written, 6 is
696bf215546Sopenharmony_ci	  prims overflowed
697bf215546Sopenharmony_ci      -->
698bf215546Sopenharmony_ci      <value name="store primitive counts" value="0"/>
699bf215546Sopenharmony_ci      <value name="store primitive counts and zero" value="1"/>
700bf215546Sopenharmony_ci      <!--
701bf215546Sopenharmony_ci	  write 4 pairs of TFB state: remaining TFB space in buffer n, current address in buffer n
702bf215546Sopenharmony_ci      -->
703bf215546Sopenharmony_ci      <value name="store buffer state" value="2"/>
704bf215546Sopenharmony_ci      <value name="store buffer state CL" value="3"/>
705bf215546Sopenharmony_ci      <!--
706bf215546Sopenharmony_ci	  Waits for buffer state stores to complete, then loads from
707bf215546Sopenharmony_ci	  the given buffer state.  This op can be offset by n to skip
708bf215546Sopenharmony_ci	  waiting for the last n.
709bf215546Sopenharmony_ci      -->
710bf215546Sopenharmony_ci      <value name="load buffer state" value="8"/>
711bf215546Sopenharmony_ci    </field>
712bf215546Sopenharmony_ci  </packet>
713bf215546Sopenharmony_ci
714bf215546Sopenharmony_ci  <packet code="73" name="VCM Cache Size" max_ver="33">
715bf215546Sopenharmony_ci    <field name="Number of 16-vertex batches for rendering" size="4" start="4" type="uint"/>
716bf215546Sopenharmony_ci    <field name="Number of 16-vertex batches for binning" size="4" start="0" type="uint"/>
717bf215546Sopenharmony_ci  </packet>
718bf215546Sopenharmony_ci
719bf215546Sopenharmony_ci  <packet code="73" name="Transform Feedback Buffer" min_ver="41">
720bf215546Sopenharmony_ci    <field name="Buffer Address" size="32" start="32" type="address"/>
721bf215546Sopenharmony_ci    <field name="Buffer Size in 32-bit words" size="30" start="2" type="uint"/>
722bf215546Sopenharmony_ci    <field name="Buffer Number" size="2" start="0" type="uint"/>
723bf215546Sopenharmony_ci  </packet>
724bf215546Sopenharmony_ci
725bf215546Sopenharmony_ci  <packet code="74" name="Transform Feedback Enable" max_ver="33">
726bf215546Sopenharmony_ci    <field name="number of 32-bit Output Buffer Address following" size="3" start="8" type="uint"/>
727bf215546Sopenharmony_ci    <field name="number of 16-bit Output Data Specs following" size="5" start="11" type="uint"/>
728bf215546Sopenharmony_ci  </packet>
729bf215546Sopenharmony_ci
730bf215546Sopenharmony_ci  <packet code="74" name="Transform Feedback Specs" min_ver="41">
731bf215546Sopenharmony_ci    <field name="Enable" size="1" start="7" type="bool"/>
732bf215546Sopenharmony_ci    <field name="Number of 16-bit Output Data Specs following" size="5" start="0" type="uint"/>
733bf215546Sopenharmony_ci  </packet>
734bf215546Sopenharmony_ci
735bf215546Sopenharmony_ci  <packet code="75" name="Flush Transform Feedback Data"/>
736bf215546Sopenharmony_ci
737bf215546Sopenharmony_ci  <packet code="76" name="L1 Cache Flush Control">
738bf215546Sopenharmony_ci    <field name="TMU Config Cache Clear" size="4" start="12" type="uint"/>
739bf215546Sopenharmony_ci    <field name="TMU Data Cache Clear" size="4" start="8" type="uint"/>
740bf215546Sopenharmony_ci    <field name="Uniforms Cache Clear" size="4" start="4" type="uint"/>
741bf215546Sopenharmony_ci    <field name="Instruction Cache Clear" size="4" start="0" type="uint"/>
742bf215546Sopenharmony_ci  </packet>
743bf215546Sopenharmony_ci
744bf215546Sopenharmony_ci  <packet code="77" name="L2T Cache Flush Control">
745bf215546Sopenharmony_ci    <field name="L2T Flush Mode" size="4" start="64" type="L2T Flush Mode"/>
746bf215546Sopenharmony_ci    <field name="L2T Flush End" size="32" start="32" type="address"/>
747bf215546Sopenharmony_ci    <field name="L2T Flush Start" size="32" start="0" type="address"/>
748bf215546Sopenharmony_ci  </packet>
749bf215546Sopenharmony_ci
750bf215546Sopenharmony_ci  <struct name="Transform Feedback Output Data Spec" max_ver="33">
751bf215546Sopenharmony_ci    <field name="First Shaded Vertex Value to output" size="8" start="0" type="uint"/>
752bf215546Sopenharmony_ci    <field name="Number of consecutive Vertex Values to output as 32-bit values" size="4" start="8" type="uint" minus_one="true"/>
753bf215546Sopenharmony_ci    <field name="Output Buffer to write to" size="2" start="12" type="uint"/>
754bf215546Sopenharmony_ci  </struct>
755bf215546Sopenharmony_ci
756bf215546Sopenharmony_ci  <struct name="Transform Feedback Output Data Spec" min_ver="41">
757bf215546Sopenharmony_ci    <field name="First Shaded Vertex Value to output" size="8" start="0" type="uint"/>
758bf215546Sopenharmony_ci    <field name="Number of consecutive Vertex Values to output as 32-bit values" size="4" start="8" type="uint" minus_one="true"/>
759bf215546Sopenharmony_ci    <field name="Output Buffer to write to" size="2" start="12" type="uint"/>
760bf215546Sopenharmony_ci    <field name="Stream number" size="2" start="14" type="uint"/>
761bf215546Sopenharmony_ci  </struct>
762bf215546Sopenharmony_ci
763bf215546Sopenharmony_ci  <struct name="Transform Feedback Output Address">
764bf215546Sopenharmony_ci    <field name="address" size="32" start="0" type="address"/>
765bf215546Sopenharmony_ci  </struct>
766bf215546Sopenharmony_ci
767bf215546Sopenharmony_ci  <packet code="80" name="Stencil Cfg">
768bf215546Sopenharmony_ci    <field name="Stencil Write Mask" size="8" start="32" type="uint"/>
769bf215546Sopenharmony_ci    <field name="Back Config" size="1" start="29" type="bool"/>
770bf215546Sopenharmony_ci    <field name="Front Config" size="1" start="28" type="bool"/>
771bf215546Sopenharmony_ci    <field name="Stencil Pass Op" size="3" start="25" type="Stencil Op"/>
772bf215546Sopenharmony_ci    <field name="Depth Test Fail Op" size="3" start="22" type="Stencil Op"/>
773bf215546Sopenharmony_ci    <field name="Stencil Test Fail Op" size="3" start="19" type="Stencil Op"/>
774bf215546Sopenharmony_ci    <field name="Stencil Test Function" size="3" start="16" type="Compare Function"/>
775bf215546Sopenharmony_ci    <field name="Stencil Test Mask" size="8" start="8" type="uint"/>
776bf215546Sopenharmony_ci    <field name="Stencil Ref Value" size="8" start="0" type="uint"/>
777bf215546Sopenharmony_ci  </packet>
778bf215546Sopenharmony_ci
779bf215546Sopenharmony_ci  <packet code="83" name="Blend Enables" min_ver="41">
780bf215546Sopenharmony_ci    <field name="Mask" size="8" start="0" type="uint"/>
781bf215546Sopenharmony_ci  </packet>
782bf215546Sopenharmony_ci
783bf215546Sopenharmony_ci  <packet code="84" name="Blend Cfg" max_ver="33">
784bf215546Sopenharmony_ci    <field name="Color blend dst factor" size="4" start="20" type="Blend Factor"/>
785bf215546Sopenharmony_ci    <field name="Color blend src factor" size="4" start="16" type="Blend Factor"/>
786bf215546Sopenharmony_ci    <field name="Color blend mode" size="4" start="12" type="Blend Mode"/>
787bf215546Sopenharmony_ci    <field name="Alpha blend dst factor" size="4" start="8" type="Blend Factor"/>
788bf215546Sopenharmony_ci    <field name="Alpha blend src factor" size="4" start="4" type="Blend Factor"/>
789bf215546Sopenharmony_ci    <field name="Alpha blend mode" size="4" start="0" type="Blend Mode"/>
790bf215546Sopenharmony_ci  </packet>
791bf215546Sopenharmony_ci
792bf215546Sopenharmony_ci  <packet code="84" name="Blend Cfg" min_ver="41">
793bf215546Sopenharmony_ci    <field name="Render Target Mask" size="4" start="24" type="uint"/>
794bf215546Sopenharmony_ci    <field name="Color blend dst factor" size="4" start="20" type="Blend Factor"/>
795bf215546Sopenharmony_ci    <field name="Color blend src factor" size="4" start="16" type="Blend Factor"/>
796bf215546Sopenharmony_ci    <field name="Color blend mode" size="4" start="12" type="Blend Mode"/>
797bf215546Sopenharmony_ci    <field name="Alpha blend dst factor" size="4" start="8" type="Blend Factor"/>
798bf215546Sopenharmony_ci    <field name="Alpha blend src factor" size="4" start="4" type="Blend Factor"/>
799bf215546Sopenharmony_ci    <field name="Alpha blend mode" size="4" start="0" type="Blend Mode"/>
800bf215546Sopenharmony_ci  </packet>
801bf215546Sopenharmony_ci
802bf215546Sopenharmony_ci  <packet code="86" shortname="blend_ccolor" name="Blend Constant Color">
803bf215546Sopenharmony_ci    <field name="Alpha (F16)" size="16" start="48" type="uint"/>
804bf215546Sopenharmony_ci    <field name="Blue (F16)" size="16" start="32" type="uint"/>
805bf215546Sopenharmony_ci    <field name="Green (F16)" size="16" start="16" type="uint"/>
806bf215546Sopenharmony_ci    <field name="Red (F16)" size="16" start="0" type="uint"/>
807bf215546Sopenharmony_ci  </packet>
808bf215546Sopenharmony_ci
809bf215546Sopenharmony_ci  <packet code="87" shortname="color_wmasks" name="Color Write Masks">
810bf215546Sopenharmony_ci    <field name="Mask" size="32" start="0" type="uint"/>
811bf215546Sopenharmony_ci  </packet>
812bf215546Sopenharmony_ci
813bf215546Sopenharmony_ci  <packet code="88" name="Zero All Centroid Flags" min_ver="41"/>
814bf215546Sopenharmony_ci
815bf215546Sopenharmony_ci  <packet code="89" name="Centroid Flags" min_ver="41">
816bf215546Sopenharmony_ci    <field name="Centroid Flags for varyings V0*24" size="24" start="8" type="uint"/>
817bf215546Sopenharmony_ci    <field name="Action for Centroid Flags of higher numbered varyings" size="2" start="6" type="Varying Flags Action"/>
818bf215546Sopenharmony_ci    <field name="Action for Centroid Flags of lower numbered varyings" size="2" start="4" type="Varying Flags Action"/>
819bf215546Sopenharmony_ci    <field name="Varying offset V0" size="4" start="0" type="uint"/>
820bf215546Sopenharmony_ci  </packet>
821bf215546Sopenharmony_ci
822bf215546Sopenharmony_ci  <packet code="91" name="Sample State" min_ver="41">
823bf215546Sopenharmony_ci    <field name="Coverage" size="16" start="16" type="f187"/>
824bf215546Sopenharmony_ci    <field name="Mask" size="4" start="0" type="uint"/>
825bf215546Sopenharmony_ci  </packet>
826bf215546Sopenharmony_ci
827bf215546Sopenharmony_ci  <packet code="92" shortname="occlusion_query_counter_enable" name="Occlusion Query Counter">
828bf215546Sopenharmony_ci    <field name="address" size="32" start="0" type="address"/>
829bf215546Sopenharmony_ci  </packet>
830bf215546Sopenharmony_ci
831bf215546Sopenharmony_ci  <packet code="96" name="Cfg Bits">
832bf215546Sopenharmony_ci    <field name="Direct3D Provoking Vertex" size="1" start="21" type="bool"/>
833bf215546Sopenharmony_ci    <field name="Direct3D 'Point-fill' mode" size="1" start="20" type="bool"/>
834bf215546Sopenharmony_ci    <field name="Blend enable" size="1" start="19" type="bool"/>
835bf215546Sopenharmony_ci    <field name="Stencil enable" size="1" start="18" type="bool"/>
836bf215546Sopenharmony_ci    <field name="Early Z updates enable" size="1" start="17" type="bool"/>
837bf215546Sopenharmony_ci    <field name="Early Z enable" size="1" start="16" type="bool"/>
838bf215546Sopenharmony_ci    <field name="Z updates enable" size="1" start="15" type="bool"/>
839bf215546Sopenharmony_ci    <field name="Depth-Test Function" size="3" start="12" type="Compare Function"/>
840bf215546Sopenharmony_ci    <field name="Direct3D Wireframe triangles mode" size="1" start="11" type="bool"/>
841bf215546Sopenharmony_ci    <field name="Rasterizer Oversample Mode" size="2" start="6" type="uint"/>
842bf215546Sopenharmony_ci    <field name="Line Rasterization" size="2" start="4" type="Line Rasterization"/>
843bf215546Sopenharmony_ci    <field name="Enable Depth Offset" size="1" start="3" type="bool"/>
844bf215546Sopenharmony_ci    <field name="Clockwise Primitives" size="1" start="2" type="bool"/>
845bf215546Sopenharmony_ci    <field name="Enable Reverse Facing Primitive" size="1" start="1" type="bool"/>
846bf215546Sopenharmony_ci    <field name="Enable Forward Facing Primitive" size="1" start="0" type="bool"/>
847bf215546Sopenharmony_ci  </packet>
848bf215546Sopenharmony_ci
849bf215546Sopenharmony_ci  <packet code="97" shortname="zero_all_flatshade_flags" name="Zero All Flat Shade Flags"/>
850bf215546Sopenharmony_ci
851bf215546Sopenharmony_ci  <packet code="98" shortname="flatshade_flags" name="Flat Shade Flags">
852bf215546Sopenharmony_ci    <field name="Flat Shade Flags for varyings V0*24" size="24" start="8" type="uint"/>
853bf215546Sopenharmony_ci    <field name="Action for Flat Shade Flags of higher numbered varyings" size="2" start="6" type="Varying Flags Action"/>
854bf215546Sopenharmony_ci    <field name="Action for Flat Shade Flags of lower numbered varyings" size="2" start="4" type="Varying Flags Action"/>
855bf215546Sopenharmony_ci    <field name="Varying offset V0" size="4" start="0" type="uint"/>
856bf215546Sopenharmony_ci  </packet>
857bf215546Sopenharmony_ci
858bf215546Sopenharmony_ci  <packet code="99" shortname="zero_all_noperspective_flags" name="Zero All Non-perspective Flags" min_ver="41"/>
859bf215546Sopenharmony_ci
860bf215546Sopenharmony_ci  <packet code="100" shortname="noperspective_flags" name="Non-perspective Flags" min_ver="41">
861bf215546Sopenharmony_ci    <field name="Non-perspective Flags for varyings V0*24" size="24" start="8" type="uint"/>
862bf215546Sopenharmony_ci    <field name="Action for Non-perspective Flags of higher numbered varyings" size="2" start="6" type="Varying Flags Action"/>
863bf215546Sopenharmony_ci    <field name="Action for Non-perspective Flags of lower numbered varyings" size="2" start="4" type="Varying Flags Action"/>
864bf215546Sopenharmony_ci    <field name="Varying offset V0" size="4" start="0" type="uint"/>
865bf215546Sopenharmony_ci  </packet>
866bf215546Sopenharmony_ci
867bf215546Sopenharmony_ci  <packet code="104" name="Point size">
868bf215546Sopenharmony_ci    <field name="Point Size" size="32" start="0" type="float"/>
869bf215546Sopenharmony_ci  </packet>
870bf215546Sopenharmony_ci
871bf215546Sopenharmony_ci  <packet code="105" name="Line width">
872bf215546Sopenharmony_ci    <field name="Line width" size="32" start="0" type="float"/>
873bf215546Sopenharmony_ci  </packet>
874bf215546Sopenharmony_ci
875bf215546Sopenharmony_ci  <packet name="Depth Offset" code="106" max_ver="33">
876bf215546Sopenharmony_ci    <field name="Depth Offset Units" size="16" start="16" type="f187"/>
877bf215546Sopenharmony_ci    <field name="Depth Offset Factor" size="16" start="0" type="f187"/>
878bf215546Sopenharmony_ci  </packet>
879bf215546Sopenharmony_ci
880bf215546Sopenharmony_ci  <packet name="Depth Offset" code="106" min_ver="41">
881bf215546Sopenharmony_ci    <field name="Limit" size="32" start="32" type="float"/>
882bf215546Sopenharmony_ci    <field name="Depth Offset Units" size="16" start="16" type="f187"/>
883bf215546Sopenharmony_ci    <field name="Depth Offset Factor" size="16" start="0" type="f187"/>
884bf215546Sopenharmony_ci  </packet>
885bf215546Sopenharmony_ci
886bf215546Sopenharmony_ci  <packet shortname="clip" name="clip_window" code="107">
887bf215546Sopenharmony_ci    <field name="Clip Window Height in pixels" size="16" start="48" type="uint"/>
888bf215546Sopenharmony_ci    <field name="Clip Window Width in pixels" size="16" start="32" type="uint"/>
889bf215546Sopenharmony_ci    <field name="Clip Window Bottom Pixel Coordinate" size="16" start="16" type="uint"/>
890bf215546Sopenharmony_ci    <field name="Clip Window Left Pixel Coordinate" size="16" start="0" type="uint"/>
891bf215546Sopenharmony_ci  </packet>
892bf215546Sopenharmony_ci
893bf215546Sopenharmony_ci  <packet name="Viewport Offset" code="108" max_ver="33">
894bf215546Sopenharmony_ci    <field name="Viewport Centre Y-coordinate" size="32" start="32" type="s24.8"/>
895bf215546Sopenharmony_ci    <field name="Viewport Centre X-coordinate" size="32" start="0" type="s24.8"/>
896bf215546Sopenharmony_ci  </packet>
897bf215546Sopenharmony_ci
898bf215546Sopenharmony_ci  <packet name="Viewport Offset" code="108" min_ver="41">
899bf215546Sopenharmony_ci    <field name="Coarse Y" size="10" start="54" type="uint"/>
900bf215546Sopenharmony_ci    <field name="Viewport Centre Y-coordinate" size="22" start="32" type="s14.8"/>
901bf215546Sopenharmony_ci    <field name="Coarse X" size="10" start="22" type="uint"/>
902bf215546Sopenharmony_ci    <field name="Viewport Centre X-coordinate" size="22" start="0" type="s14.8"/>
903bf215546Sopenharmony_ci  </packet>
904bf215546Sopenharmony_ci
905bf215546Sopenharmony_ci  <packet shortname="clipz" name="Clipper Z min/max clipping planes" code="109">
906bf215546Sopenharmony_ci    <field name="Maximum Zw" size="32" start="32" type="float"/>
907bf215546Sopenharmony_ci    <field name="Minimum Zw" size="32" start="0" type="float"/>
908bf215546Sopenharmony_ci  </packet>
909bf215546Sopenharmony_ci
910bf215546Sopenharmony_ci  <packet shortname="clipper_xy" name="Clipper XY Scaling" code="110" cl="B">
911bf215546Sopenharmony_ci    <field name="Viewport Half-Height in 1/256th of pixel" size="32" start="32" type="float"/>
912bf215546Sopenharmony_ci    <field name="Viewport Half-Width in 1/256th of pixel" size="32" start="0" type="float"/>
913bf215546Sopenharmony_ci  </packet>
914bf215546Sopenharmony_ci
915bf215546Sopenharmony_ci  <packet shortname="clipper_z" name="Clipper Z Scale and Offset" code="111" cl="B">
916bf215546Sopenharmony_ci    <field name="Viewport Z Offset (Zc to Zs)" size="32" start="32" type="float"/>
917bf215546Sopenharmony_ci    <field name="Viewport Z Scale (Zc to Zs)" size="32" start="0" type="float"/>
918bf215546Sopenharmony_ci  </packet>
919bf215546Sopenharmony_ci
920bf215546Sopenharmony_ci  <packet name="Number of Layers" code="119" min_ver="41">
921bf215546Sopenharmony_ci    <field name="Number of Layers" size="8" start="0" type="uint" minus_one="true"/>
922bf215546Sopenharmony_ci  </packet>
923bf215546Sopenharmony_ci
924bf215546Sopenharmony_ci  <packet code="120" name="Tile Binning Mode Cfg (Part1)" max_ver="33">
925bf215546Sopenharmony_ci    <field name="Double-buffer in non-ms mode" size="1" start="63" type="bool"/>
926bf215546Sopenharmony_ci    <field name="Multisample Mode (4x)" size="1" start="62" type="bool"/>
927bf215546Sopenharmony_ci
928bf215546Sopenharmony_ci    <field name="Maximum BPP of all render targets" size="2" start="60" type="Internal BPP"/>
929bf215546Sopenharmony_ci
930bf215546Sopenharmony_ci    <field name="Number of Render Targets" size="4" start="56" type="uint"/>
931bf215546Sopenharmony_ci    <field name="Height (in tiles)" size="12" start="44" type="uint"/>
932bf215546Sopenharmony_ci    <field name="Width (in tiles)" size="12" start="32" type="uint"/>
933bf215546Sopenharmony_ci
934bf215546Sopenharmony_ci    <field name="Tile State Data Array Base Address" size="26" start="6" type="address"/>
935bf215546Sopenharmony_ci
936bf215546Sopenharmony_ci    <field name="tile allocation block size" size="2" start="4" type="uint">
937bf215546Sopenharmony_ci      <value name="tile allocation block size 64b" value="0"/>
938bf215546Sopenharmony_ci      <value name="tile allocation block size 128b" value="1"/>
939bf215546Sopenharmony_ci      <value name="tile allocation block size 256b" value="2"/>
940bf215546Sopenharmony_ci    </field>
941bf215546Sopenharmony_ci    <field name="tile allocation initial block size" size="2" start="2" type="uint">
942bf215546Sopenharmony_ci      <value name="tile allocation initial block size 64b" value="0"/>
943bf215546Sopenharmony_ci      <value name="tile allocation initial block size 128b" value="1"/>
944bf215546Sopenharmony_ci      <value name="tile allocation initial block size 256b" value="2"/>
945bf215546Sopenharmony_ci    </field>
946bf215546Sopenharmony_ci    <field name="auto-initialize tile state data array" size="1" start="1" type="bool" default="1"/>
947bf215546Sopenharmony_ci    <field name="sub-id" size="1" start="0" type="uint" default="0"/>
948bf215546Sopenharmony_ci  </packet>
949bf215546Sopenharmony_ci
950bf215546Sopenharmony_ci  <packet code="120" name="Tile Binning Mode Cfg" min_ver="41">
951bf215546Sopenharmony_ci
952bf215546Sopenharmony_ci    <field name="Height (in pixels)" size="16" start="48" type="uint" minus_one="true"/>
953bf215546Sopenharmony_ci    <field name="Width (in pixels)" size="16" start="32" type="uint" minus_one="true"/>
954bf215546Sopenharmony_ci
955bf215546Sopenharmony_ci    <field name="Double-buffer in non-ms mode" size="1" start="15" type="bool"/>
956bf215546Sopenharmony_ci    <field name="Multisample Mode (4x)" size="1" start="14" type="bool"/>
957bf215546Sopenharmony_ci
958bf215546Sopenharmony_ci    <field name="Maximum BPP of all render targets" size="2" start="12" type="Internal BPP"/>
959bf215546Sopenharmony_ci
960bf215546Sopenharmony_ci    <field name="Number of Render Targets" size="4" start="8" type="uint" minus_one="true"/>
961bf215546Sopenharmony_ci
962bf215546Sopenharmony_ci    <field name="tile allocation block size" size="2" start="4" type="uint">
963bf215546Sopenharmony_ci      <value name="tile allocation block size 64b" value="0"/>
964bf215546Sopenharmony_ci      <value name="tile allocation block size 128b" value="1"/>
965bf215546Sopenharmony_ci      <value name="tile allocation block size 256b" value="2"/>
966bf215546Sopenharmony_ci    </field>
967bf215546Sopenharmony_ci    <field name="tile allocation initial block size" size="2" start="2" type="uint">
968bf215546Sopenharmony_ci      <value name="tile allocation initial block size 64b" value="0"/>
969bf215546Sopenharmony_ci      <value name="tile allocation initial block size 128b" value="1"/>
970bf215546Sopenharmony_ci      <value name="tile allocation initial block size 256b" value="2"/>
971bf215546Sopenharmony_ci    </field>
972bf215546Sopenharmony_ci  </packet>
973bf215546Sopenharmony_ci
974bf215546Sopenharmony_ci  <packet code="120" name="Tile Binning Mode Cfg (Part2)" cl="B" max_ver="33">
975bf215546Sopenharmony_ci    <field name="Tile Allocation Memory Address" size="32" start="32" type="address"/>
976bf215546Sopenharmony_ci    <field name="Tile Allocation Memory Size" size="32" start="0" type="uint"/>
977bf215546Sopenharmony_ci
978bf215546Sopenharmony_ci    <field name="sub-id" size="1" start="0" type="uint" default="1"/>
979bf215546Sopenharmony_ci  </packet>
980bf215546Sopenharmony_ci
981bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (Common)" cl="R" max_ver="33">
982bf215546Sopenharmony_ci    <field name="Disable Render Target Stores" size="8" start="56" type="uint"/>
983bf215546Sopenharmony_ci    <field name="Enable Z Store" size="1" start="55" type="bool"/>
984bf215546Sopenharmony_ci    <field name="Enable Stencil Store" size="1" start="54" type="bool"/>
985bf215546Sopenharmony_ci
986bf215546Sopenharmony_ci    <field name="Early-Z disable" size="1" start="46" type="bool"/>
987bf215546Sopenharmony_ci
988bf215546Sopenharmony_ci    <field name="Early-Z Test and Update Direction" size="1" start="45" type="uint">
989bf215546Sopenharmony_ci      <value name="Early-Z direction LT/LE" value="0"/>
990bf215546Sopenharmony_ci      <value name="Early-Z direction GT/GE" value="1"/>
991bf215546Sopenharmony_ci    </field>
992bf215546Sopenharmony_ci
993bf215546Sopenharmony_ci    <field name="Double-buffer in non-ms mode" size="1" start="43" type="bool"/>
994bf215546Sopenharmony_ci    <field name="Multisample Mode (4x)" size="1" start="42" type="bool"/>
995bf215546Sopenharmony_ci
996bf215546Sopenharmony_ci    <field name="Maximum BPP of all render targets" size="2" start="40" type="Internal BPP"/>
997bf215546Sopenharmony_ci
998bf215546Sopenharmony_ci    <field name="Image Height (pixels)" size="16" start="24" type="uint"/>
999bf215546Sopenharmony_ci    <field name="Image Width (pixels)" size="16" start="8" type="uint"/>
1000bf215546Sopenharmony_ci    <field name="Number of Render Targets" size="4" start="4" type="uint" minus_one="true"/>
1001bf215546Sopenharmony_ci
1002bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="0"/>
1003bf215546Sopenharmony_ci  </packet>
1004bf215546Sopenharmony_ci
1005bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (Common)" cl="R" min_ver="41">
1006bf215546Sopenharmony_ci    <field name="Pad" size="12" start="52" type="uint"/>
1007bf215546Sopenharmony_ci
1008bf215546Sopenharmony_ci    <field name="Early Depth/Stencil Clear" size="1" start="51" type="bool"/>
1009bf215546Sopenharmony_ci    <field name="Internal Depth Type" size="4" start="47" type="Internal Depth Type"/>
1010bf215546Sopenharmony_ci
1011bf215546Sopenharmony_ci    <field name="Early-Z disable" size="1" start="46" type="bool"/>
1012bf215546Sopenharmony_ci
1013bf215546Sopenharmony_ci    <field name="Early-Z Test and Update Direction" size="1" start="45" type="uint">
1014bf215546Sopenharmony_ci      <value name="Early-Z direction LT/LE" value="0"/>
1015bf215546Sopenharmony_ci      <value name="Early-Z direction GT/GE" value="1"/>
1016bf215546Sopenharmony_ci    </field>
1017bf215546Sopenharmony_ci
1018bf215546Sopenharmony_ci    <field name="Double-buffer in non-ms mode" size="1" start="43" type="bool"/>
1019bf215546Sopenharmony_ci    <field name="Multisample Mode (4x)" size="1" start="42" type="bool"/>
1020bf215546Sopenharmony_ci
1021bf215546Sopenharmony_ci    <field name="Maximum BPP of all render targets" size="2" start="40" type="Internal BPP"/>
1022bf215546Sopenharmony_ci
1023bf215546Sopenharmony_ci    <field name="Image Height (pixels)" size="16" start="24" type="uint"/>
1024bf215546Sopenharmony_ci    <field name="Image Width (pixels)" size="16" start="8" type="uint"/>
1025bf215546Sopenharmony_ci    <field name="Number of Render Targets" size="4" start="4" type="uint" minus_one="true"/>
1026bf215546Sopenharmony_ci
1027bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="0"/>
1028bf215546Sopenharmony_ci  </packet>
1029bf215546Sopenharmony_ci
1030bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (Color)" cl="R" max_ver="33">
1031bf215546Sopenharmony_ci    <field name="Address" size="32" start="32" type="address"/>
1032bf215546Sopenharmony_ci
1033bf215546Sopenharmony_ci    <field name="Pad" size="4" start="28" type="uint"/>
1034bf215546Sopenharmony_ci
1035bf215546Sopenharmony_ci    <field name="Flip Y" size="1" start="27" type="bool"/>
1036bf215546Sopenharmony_ci
1037bf215546Sopenharmony_ci    <field name="Memory Format" size="3" start="24" type="Memory Format"/>
1038bf215546Sopenharmony_ci
1039bf215546Sopenharmony_ci    <field name="Dither Mode" size="2" start="22" type="Dither Mode"/>
1040bf215546Sopenharmony_ci
1041bf215546Sopenharmony_ci    <field name="Output image format" size="6" start="16" type="Output Image Format"/>
1042bf215546Sopenharmony_ci
1043bf215546Sopenharmony_ci    <field name="Decimate mode" size="2" start="14" type="Decimate Mode"/>
1044bf215546Sopenharmony_ci
1045bf215546Sopenharmony_ci    <field name="Internal Type" size="4" start="10" type="Internal Type"/>
1046bf215546Sopenharmony_ci    <field name="Internal BPP" size="2" start="8" type="Internal BPP"/>
1047bf215546Sopenharmony_ci    <field name="Render Target Number" size="4" start="4" type="uint"/>
1048bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="2"/>
1049bf215546Sopenharmony_ci  </packet>
1050bf215546Sopenharmony_ci
1051bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (Color)" cl="R" min_ver="41">
1052bf215546Sopenharmony_ci
1053bf215546Sopenharmony_ci    <field name="Pad" size="28" start="36" type="uint"/>
1054bf215546Sopenharmony_ci
1055bf215546Sopenharmony_ci    <field name="Render Target 3 Clamp" size="2" start="34" type="Render Target Clamp"/>
1056bf215546Sopenharmony_ci    <field name="Render Target 3 Internal Type" size="4" start="30" type="Internal Type"/>
1057bf215546Sopenharmony_ci    <field name="Render Target 3 Internal BPP" size="2" start="28" type="Internal BPP"/>
1058bf215546Sopenharmony_ci
1059bf215546Sopenharmony_ci    <field name="Render Target 2 Clamp" size="2" start="26" type="Render Target Clamp"/>
1060bf215546Sopenharmony_ci    <field name="Render Target 2 Internal Type" size="4" start="22" type="Internal Type"/>
1061bf215546Sopenharmony_ci    <field name="Render Target 2 Internal BPP" size="2" start="20" type="Internal BPP"/>
1062bf215546Sopenharmony_ci
1063bf215546Sopenharmony_ci    <field name="Render Target 1 Clamp" size="2" start="18" type="Render Target Clamp"/>
1064bf215546Sopenharmony_ci    <field name="Render Target 1 Internal Type" size="4" start="14" type="Internal Type"/>
1065bf215546Sopenharmony_ci    <field name="Render Target 1 Internal BPP" size="2" start="12" type="Internal BPP"/>
1066bf215546Sopenharmony_ci
1067bf215546Sopenharmony_ci    <field name="Render Target 0 Clamp" size="2" start="10" type="Render Target Clamp"/>
1068bf215546Sopenharmony_ci    <field name="Render Target 0 Internal Type" size="4" start="6" type="Internal Type"/>
1069bf215546Sopenharmony_ci    <field name="Render Target 0 Internal BPP" size="2" start="4" type="Internal BPP"/>
1070bf215546Sopenharmony_ci
1071bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="1"/>
1072bf215546Sopenharmony_ci  </packet>
1073bf215546Sopenharmony_ci
1074bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (Z/Stencil)" cl="R" max_ver="33">
1075bf215546Sopenharmony_ci    <field name="Address" size="26" start="38" type="address"/>
1076bf215546Sopenharmony_ci
1077bf215546Sopenharmony_ci    <field name="Padded height of output image in UIF blocks" size="13" start="25" type="uint"/>
1078bf215546Sopenharmony_ci
1079bf215546Sopenharmony_ci    <field name="Memory Format" size="3" start="22" type="Memory Format"/>
1080bf215546Sopenharmony_ci
1081bf215546Sopenharmony_ci    <field name="Output image format" size="6" start="16" type="Z/S Output Image Format"/>
1082bf215546Sopenharmony_ci
1083bf215546Sopenharmony_ci    <field name="Decimate mode" size="2" start="14" type="uint"/>
1084bf215546Sopenharmony_ci
1085bf215546Sopenharmony_ci    <field name="Internal Type" size="4" start="10" type="Internal Depth Type"/>
1086bf215546Sopenharmony_ci
1087bf215546Sopenharmony_ci    <field name="Internal BPP (ignored)" size="2" start="8" type="uint"/>
1088bf215546Sopenharmony_ci    <!-- selects between Z/Stencil config packet and Separate Stencil packet. -->
1089bf215546Sopenharmony_ci    <field name="Z/Stencil ID" size="4" start="4" type="uint" default="0"/>
1090bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="1"/>
1091bf215546Sopenharmony_ci  </packet>
1092bf215546Sopenharmony_ci
1093bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (ZS Clear Values)" cl="R" max_ver="33">
1094bf215546Sopenharmony_ci    <field name="unused" size="16" start="48" type="uint"/>
1095bf215546Sopenharmony_ci
1096bf215546Sopenharmony_ci    <field name="Z Clear Value" size="32" start="16" type="float"/>
1097bf215546Sopenharmony_ci
1098bf215546Sopenharmony_ci    <field name="Stencil Clear Value" size="8" start="8" type="uint"/>
1099bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="3"/>
1100bf215546Sopenharmony_ci  </packet>
1101bf215546Sopenharmony_ci
1102bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (ZS Clear Values)" cl="R" min_ver="41">
1103bf215546Sopenharmony_ci    <field name="unused" size="16" start="48" type="uint"/>
1104bf215546Sopenharmony_ci
1105bf215546Sopenharmony_ci    <field name="Z Clear Value" size="32" start="16" type="float"/>
1106bf215546Sopenharmony_ci
1107bf215546Sopenharmony_ci    <field name="Stencil Clear Value" size="8" start="8" type="uint"/>
1108bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="2"/>
1109bf215546Sopenharmony_ci  </packet>
1110bf215546Sopenharmony_ci
1111bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (Clear Colors Part1)" cl="R" max_ver="33">
1112bf215546Sopenharmony_ci    <!-- Express this as a 56-bit field? -->
1113bf215546Sopenharmony_ci    <field name="Clear Color next 24 bits" size="24" start="40" type="uint"/>
1114bf215546Sopenharmony_ci    <field name="Clear Color low 32 bits" size="32" start="8" type="uint"/>
1115bf215546Sopenharmony_ci
1116bf215546Sopenharmony_ci    <field name="Render Target number" size="4" start="4" type="uint"/>
1117bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="4"/>
1118bf215546Sopenharmony_ci  </packet>
1119bf215546Sopenharmony_ci
1120bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (Clear Colors Part1)" cl="R" min_ver="41">
1121bf215546Sopenharmony_ci    <!-- Express this as a 56-bit field? -->
1122bf215546Sopenharmony_ci    <field name="Clear Color next 24 bits" size="24" start="40" type="uint"/>
1123bf215546Sopenharmony_ci    <field name="Clear Color low 32 bits" size="32" start="8" type="uint"/>
1124bf215546Sopenharmony_ci
1125bf215546Sopenharmony_ci    <field name="Render Target number" size="4" start="4" type="uint"/>
1126bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="3"/>
1127bf215546Sopenharmony_ci  </packet>
1128bf215546Sopenharmony_ci
1129bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (Clear Colors Part2)" cl="R" max_ver="33">
1130bf215546Sopenharmony_ci    <!-- Express this as a 56-bit field? -->
1131bf215546Sopenharmony_ci    <field name="Clear Color mid-high 24 bits" size="24" start="40" type="uint"/>
1132bf215546Sopenharmony_ci    <field name="Clear Color mid-low 32 bits" size="32" start="8" type="uint"/>
1133bf215546Sopenharmony_ci
1134bf215546Sopenharmony_ci    <field name="Render Target number" size="4" start="4" type="uint"/>
1135bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="5"/>
1136bf215546Sopenharmony_ci  </packet>
1137bf215546Sopenharmony_ci
1138bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (Clear Colors Part2)" cl="R" min_ver="41">
1139bf215546Sopenharmony_ci    <!-- Express this as a 56-bit field? -->
1140bf215546Sopenharmony_ci    <field name="Clear Color mid-high 24 bits" size="24" start="40" type="uint"/>
1141bf215546Sopenharmony_ci    <field name="Clear Color mid-low 32 bits" size="32" start="8" type="uint"/>
1142bf215546Sopenharmony_ci
1143bf215546Sopenharmony_ci    <field name="Render Target number" size="4" start="4" type="uint"/>
1144bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="4"/>
1145bf215546Sopenharmony_ci  </packet>
1146bf215546Sopenharmony_ci
1147bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (Clear Colors Part3)" cl="R" max_ver="33">
1148bf215546Sopenharmony_ci    <field name="pad" size="11" start="53" type="uint"/>
1149bf215546Sopenharmony_ci    <field name="UIF padded height in UIF blocks" size="13" start="40" type="uint"/>
1150bf215546Sopenharmony_ci    <!-- image height is for Y flipping -->
1151bf215546Sopenharmony_ci    <field name="Raster Row Stride or Image Height in Pixels" size="16" start="24" type="uint"/>
1152bf215546Sopenharmony_ci    <field name="Clear Color high 16 bits" size="16" start="8" type="uint"/>
1153bf215546Sopenharmony_ci
1154bf215546Sopenharmony_ci    <field name="Render Target number" size="4" start="4" type="uint"/>
1155bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="6"/>
1156bf215546Sopenharmony_ci  </packet>
1157bf215546Sopenharmony_ci
1158bf215546Sopenharmony_ci  <packet code="121" name="Tile Rendering Mode Cfg (Clear Colors Part3)" cl="R" min_ver="41">
1159bf215546Sopenharmony_ci    <field name="pad" size="11" start="53" type="uint"/>
1160bf215546Sopenharmony_ci    <field name="UIF padded height in UIF blocks" size="13" start="40" type="uint"/>
1161bf215546Sopenharmony_ci    <!-- image height is for Y flipping -->
1162bf215546Sopenharmony_ci    <field name="Raster Row Stride or Image Height in Pixels" size="16" start="24" type="uint"/>
1163bf215546Sopenharmony_ci    <field name="Clear Color high 16 bits" size="16" start="8" type="uint"/>
1164bf215546Sopenharmony_ci
1165bf215546Sopenharmony_ci    <field name="Render Target number" size="4" start="4" type="uint"/>
1166bf215546Sopenharmony_ci    <field name="sub-id" size="4" start="0" type="uint" default="5"/>
1167bf215546Sopenharmony_ci  </packet>
1168bf215546Sopenharmony_ci
1169bf215546Sopenharmony_ci  <packet code="124" shortname="tile_coords" name="Tile Coordinates">
1170bf215546Sopenharmony_ci    <field name="tile row number" size="12" start="12" type="uint"/>
1171bf215546Sopenharmony_ci    <field name="tile column number" size="12" start="0" type="uint"/>
1172bf215546Sopenharmony_ci  </packet>
1173bf215546Sopenharmony_ci
1174bf215546Sopenharmony_ci  <packet code="122" name="Multicore Rendering Supertile Cfg" cl="R">
1175bf215546Sopenharmony_ci    <field name="Number of Bin Tile Lists" size="3" start="61" type="uint" minus_one="true"/>
1176bf215546Sopenharmony_ci    <field name="Supertile Raster Order" size="1" start="60" type="bool"/>
1177bf215546Sopenharmony_ci    <field name="Multicore Enable" size="1" start="56" type="bool"/>
1178bf215546Sopenharmony_ci
1179bf215546Sopenharmony_ci    <field name="Total Frame Height in Tiles" size="12" start="44" type="uint"/>
1180bf215546Sopenharmony_ci    <field name="Total Frame Width in Tiles" size="12" start="32" type="uint"/>
1181bf215546Sopenharmony_ci
1182bf215546Sopenharmony_ci    <field name="Total Frame Height in Supertiles" size="8" start="24" type="uint"/>
1183bf215546Sopenharmony_ci    <field name="Total Frame Width in Supertiles" size="8" start="16" type="uint"/>
1184bf215546Sopenharmony_ci
1185bf215546Sopenharmony_ci    <field name="Supertile Height in Tiles" size="8" start="8" type="uint" minus_one="true"/>
1186bf215546Sopenharmony_ci    <field name="Supertile Width in Tiles" size="8" start="0" type="uint" minus_one="true"/>
1187bf215546Sopenharmony_ci  </packet>
1188bf215546Sopenharmony_ci
1189bf215546Sopenharmony_ci  <packet code="123" shortname="multicore_rendering_tile_list_base" name="Multicore Rendering Tile List Set Base" cl="R">
1190bf215546Sopenharmony_ci    <field name="address" size="26" start="6" type="address"/>
1191bf215546Sopenharmony_ci    <field name="Tile List Set Number" size="4" start="0" type="uint"/>
1192bf215546Sopenharmony_ci  </packet>
1193bf215546Sopenharmony_ci
1194bf215546Sopenharmony_ci  <!-- add fields -->
1195bf215546Sopenharmony_ci  <packet code="125" shortname="implicit_tile_coords" name="Tile Coordinates Implicit"/>
1196bf215546Sopenharmony_ci
1197bf215546Sopenharmony_ci  <packet code="126" name="Tile List Initial Block Size">
1198bf215546Sopenharmony_ci    <field name="Use auto-chained tile lists" size="1" start="2" type="bool"/>
1199bf215546Sopenharmony_ci
1200bf215546Sopenharmony_ci    <field name="Size of first block in chained tile lists" size="2" start="0" type="uint">
1201bf215546Sopenharmony_ci      <value name="tile allocation block size 64b" value="0"/>
1202bf215546Sopenharmony_ci      <value name="tile allocation block size 128b" value="1"/>
1203bf215546Sopenharmony_ci      <value name="tile allocation block size 256b" value="2"/>
1204bf215546Sopenharmony_ci    </field>
1205bf215546Sopenharmony_ci  </packet>
1206bf215546Sopenharmony_ci
1207bf215546Sopenharmony_ci  <struct name="GL Shader State Record" max_ver="33">
1208bf215546Sopenharmony_ci    <field name="Point size in shaded vertex data" size="1" start="0" type="bool"/>
1209bf215546Sopenharmony_ci    <field name="Enable clipping" size="1" start="1" type="bool"/>
1210bf215546Sopenharmony_ci    <field name="Vertex ID read by coordinate shader" size="1" start="2" type="bool"/>
1211bf215546Sopenharmony_ci    <field name="Instance ID read by coordinate shader" size="1" start="3" type="bool"/>
1212bf215546Sopenharmony_ci    <field name="Vertex ID read by vertex shader" size="1" start="4" type="bool"/>
1213bf215546Sopenharmony_ci    <field name="Instance ID read by vertex shader" size="1" start="5" type="bool"/>
1214bf215546Sopenharmony_ci    <field name="Fragment shader does Z writes" size="1" start="6" type="bool"/>
1215bf215546Sopenharmony_ci    <field name="Turn off early-z test" size="1" start="7" type="bool"/>
1216bf215546Sopenharmony_ci    <field name="Coordinate shader has separate input and output VPM blocks" size="1" start="8" type="bool"/>
1217bf215546Sopenharmony_ci    <field name="Vertex shader has separate input and output VPM blocks" size="1" start="9" type="bool"/>
1218bf215546Sopenharmony_ci    <field name="Fragment shader uses real pixel centre W in addition to centroid W2" size="1" start="10" type="bool"/>
1219bf215546Sopenharmony_ci
1220bf215546Sopenharmony_ci    <field name="Number of varyings in Fragment Shader" size="8" start="2b" type="uint"/>
1221bf215546Sopenharmony_ci    <field name="Coordinate Shader output VPM segment size" size="8" start="4b" type="uint"/>
1222bf215546Sopenharmony_ci    <field name="Coordinate Shader input VPM segment size" size="8" start="5b" type="uint"/>
1223bf215546Sopenharmony_ci    <field name="Vertex Shader output VPM segment size" size="8" start="6b" type="uint"/>
1224bf215546Sopenharmony_ci    <field name="Vertex Shader input VPM segment size" size="8" start="7b" type="uint"/>
1225bf215546Sopenharmony_ci    <field name="Address of default attribute values" size="32" start="8b" type="address"/>
1226bf215546Sopenharmony_ci    <field name="Fragment Shader Code Address" size="29" start="99" type="address"/>
1227bf215546Sopenharmony_ci    <field name="Fragment Shader 2-way threadable" size="1" start="96" type="bool"/>
1228bf215546Sopenharmony_ci    <field name="Fragment Shader 4-way threadable" size="1" start="97" type="bool"/>
1229bf215546Sopenharmony_ci    <field name="Fragment Shader Propagate NaNs" size="1" start="98" type="bool"/>
1230bf215546Sopenharmony_ci    <field name="Fragment Shader Uniforms Address" size="32" start="16b" type="address"/>
1231bf215546Sopenharmony_ci    <field name="Vertex Shader Code Address" size="32" start="20b" type="address"/>
1232bf215546Sopenharmony_ci    <field name="Vertex Shader 2-way threadable" size="1" start="160" type="bool"/>
1233bf215546Sopenharmony_ci    <field name="Vertex Shader 4-way threadable" size="1" start="161" type="bool"/>
1234bf215546Sopenharmony_ci    <field name="Vertex Shader Propagate NaNs" size="1" start="162" type="bool"/>
1235bf215546Sopenharmony_ci    <field name="Vertex Shader Uniforms Address" size="32" start="24b" type="address"/>
1236bf215546Sopenharmony_ci    <field name="Coordinate Shader Code Address" size="32" start="28b" type="address"/>
1237bf215546Sopenharmony_ci    <field name="Coordinate Shader 2-way threadable" size="1" start="224" type="bool"/>
1238bf215546Sopenharmony_ci    <field name="Coordinate Shader 4-way threadable" size="1" start="225" type="bool"/>
1239bf215546Sopenharmony_ci    <field name="Coordinate Shader Propagate NaNs" size="1" start="226" type="bool"/>
1240bf215546Sopenharmony_ci    <field name="Coordinate Shader Uniforms Address" size="32" start="32b" type="address"/>
1241bf215546Sopenharmony_ci  </struct>
1242bf215546Sopenharmony_ci
1243bf215546Sopenharmony_ci  <struct name="GL Shader State Record" min_ver="41">
1244bf215546Sopenharmony_ci    <field name="Point size in shaded vertex data" size="1" start="0" type="bool"/>
1245bf215546Sopenharmony_ci    <field name="Enable clipping" size="1" start="1" type="bool"/>
1246bf215546Sopenharmony_ci
1247bf215546Sopenharmony_ci    <field name="Vertex ID read by coordinate shader" size="1" start="2" type="bool"/>
1248bf215546Sopenharmony_ci    <field name="Instance ID read by coordinate shader" size="1" start="3" type="bool"/>
1249bf215546Sopenharmony_ci    <field name="Base Instance ID read by coordinate shader" size="1" start="4" type="bool"/>
1250bf215546Sopenharmony_ci    <field name="Vertex ID read by vertex shader" size="1" start="5" type="bool"/>
1251bf215546Sopenharmony_ci    <field name="Instance ID read by vertex shader" size="1" start="6" type="bool"/>
1252bf215546Sopenharmony_ci    <field name="Base Instance ID read by vertex shader" size="1" start="7" type="bool"/>
1253bf215546Sopenharmony_ci
1254bf215546Sopenharmony_ci    <field name="Fragment shader does Z writes" size="1" start="8" type="bool"/>
1255bf215546Sopenharmony_ci    <field name="Turn off early-z test" size="1" start="9" type="bool"/>
1256bf215546Sopenharmony_ci    <field name="Coordinate shader has separate input and output VPM blocks" size="1" start="10" type="bool"/>
1257bf215546Sopenharmony_ci    <field name="Vertex shader has separate input and output VPM blocks" size="1" start="11" type="bool"/>
1258bf215546Sopenharmony_ci    <field name="Fragment shader uses real pixel centre W in addition to centroid W2" size="1" start="12" type="bool"/>
1259bf215546Sopenharmony_ci    <field name="Enable Sample Rate Shading" size="1" start="13" type="bool"/>
1260bf215546Sopenharmony_ci    <field name="Any shader reads hardware-written Primitive ID" size="1" start="14" type="bool"/>
1261bf215546Sopenharmony_ci    <field name="Insert Primitive ID as first varying to fragment shader" size="1" start="15" type="bool"/>
1262bf215546Sopenharmony_ci    <field name="Turn off scoreboard" size="1" start="16" type="bool"/>
1263bf215546Sopenharmony_ci    <field name="Do scoreboard wait on first thread switch" size="1" start="17" type="bool"/>
1264bf215546Sopenharmony_ci    <field name="Disable implicit point/line varyings" size="1" start="18" type="bool"/>
1265bf215546Sopenharmony_ci    <field name="No prim pack" size="1" start="19" type="bool"/>
1266bf215546Sopenharmony_ci
1267bf215546Sopenharmony_ci    <field name="Number of varyings in Fragment Shader" size="8" start="3b" type="uint"/>
1268bf215546Sopenharmony_ci
1269bf215546Sopenharmony_ci    <field name="Coordinate Shader output VPM segment size" size="4" start="4b" type="uint"/>
1270bf215546Sopenharmony_ci    <field name="Min Coord Shader output segments required in play in addition to VCM cache size" size="4" start="36" type="uint"/>
1271bf215546Sopenharmony_ci
1272bf215546Sopenharmony_ci    <field name="Coordinate Shader input VPM segment size" size="4" start="5b" type="uint"/>
1273bf215546Sopenharmony_ci    <field name="Min Coord Shader input segments required in play" size="4" start="44" type="uint" minus_one="true"/>
1274bf215546Sopenharmony_ci
1275bf215546Sopenharmony_ci    <field name="Vertex Shader output VPM segment size" size="4" start="6b" type="uint"/>
1276bf215546Sopenharmony_ci    <field name="Min Vertex Shader output segments required in play in addition to VCM cache size" size="4" start="52" type="uint"/>
1277bf215546Sopenharmony_ci
1278bf215546Sopenharmony_ci    <field name="Vertex Shader input VPM segment size" size="4" start="7b" type="uint"/>
1279bf215546Sopenharmony_ci    <field name="Min Vertex Shader input segments required in play" size="4" start="60" type="uint" minus_one="true"/>
1280bf215546Sopenharmony_ci
1281bf215546Sopenharmony_ci    <field name="Address of default attribute values" size="32" start="8b" type="address"/>
1282bf215546Sopenharmony_ci
1283bf215546Sopenharmony_ci    <field name="Fragment Shader Code Address" size="29" start="99" type="address"/>
1284bf215546Sopenharmony_ci    <field name="Fragment Shader 4-way threadable" size="1" start="96" type="bool"/>
1285bf215546Sopenharmony_ci    <field name="Fragment Shader start in final thread section" size="1" start="97" type="bool"/>
1286bf215546Sopenharmony_ci    <field name="Fragment Shader Propagate NaNs" size="1" start="98" type="bool"/>
1287bf215546Sopenharmony_ci    <field name="Fragment Shader Uniforms Address" size="32" start="16b" type="address"/>
1288bf215546Sopenharmony_ci
1289bf215546Sopenharmony_ci    <field name="Vertex Shader Code Address" size="29" start="163" type="address"/>
1290bf215546Sopenharmony_ci    <field name="Vertex Shader 4-way threadable" size="1" start="160" type="bool"/>
1291bf215546Sopenharmony_ci    <field name="Vertex Shader start in final thread section" size="1" start="161" type="bool"/>
1292bf215546Sopenharmony_ci    <field name="Vertex Shader Propagate NaNs" size="1" start="162" type="bool"/>
1293bf215546Sopenharmony_ci    <field name="Vertex Shader Uniforms Address" size="32" start="24b" type="address"/>
1294bf215546Sopenharmony_ci
1295bf215546Sopenharmony_ci    <field name="Coordinate Shader Code Address" size="29" start="227" type="address"/>
1296bf215546Sopenharmony_ci    <field name="Coordinate Shader 4-way threadable" size="1" start="224" type="bool"/>
1297bf215546Sopenharmony_ci    <field name="Coordinate Shader start in final thread section" size="1" start="225" type="bool"/>
1298bf215546Sopenharmony_ci    <field name="Coordinate Shader Propagate NaNs" size="1" start="226" type="bool"/>
1299bf215546Sopenharmony_ci    <field name="Coordinate Shader Uniforms Address" size="32" start="32b" type="address"/>
1300bf215546Sopenharmony_ci  </struct>
1301bf215546Sopenharmony_ci
1302bf215546Sopenharmony_ci  <struct name="Geometry Shader State Record" min_ver="41">
1303bf215546Sopenharmony_ci    <field name="Geometry Bin Mode Shader Code Address" size="29" start="3" type="address"/>
1304bf215546Sopenharmony_ci    <field name="Geometry Bin Mode Shader 4-way threadable" size="1" start="0" type="bool"/>
1305bf215546Sopenharmony_ci    <field name="Geometry Bin Mode Shader Start in final thread section" size="1" start="1" type="bool"/>
1306bf215546Sopenharmony_ci    <field name="Geometry Bin Mode Shader Propagate NaNs" size="1" start="2" type="bool"/>
1307bf215546Sopenharmony_ci    <field name="Geometry Bin Mode Shader Uniforms Address" size="32" start="4b" type="address"/>
1308bf215546Sopenharmony_ci    <field name="Geometry Render Mode Shader Code Address" size="29" start="67" type="address"/>
1309bf215546Sopenharmony_ci    <field name="Geometry Render Mode Shader 4-way threadable" size="1" start="64" type="bool"/>
1310bf215546Sopenharmony_ci    <field name="Geometry Render Mode Shader Start in final thread section" size="1" start="65" type="bool"/>
1311bf215546Sopenharmony_ci    <field name="Geometry Render Mode Shader Propagate NaNs" size="1" start="66" type="bool"/>
1312bf215546Sopenharmony_ci    <field name="Geometry Render Mode Shader Uniforms Address" size="32" start="12b" type="address"/>
1313bf215546Sopenharmony_ci  </struct>
1314bf215546Sopenharmony_ci
1315bf215546Sopenharmony_ci  <struct name="Tessellation Shader State Record" min_ver="41">
1316bf215546Sopenharmony_ci    <field name="Tessellation Bin Mode Control Shader Code Address" size="29" start="3" type="address"/>
1317bf215546Sopenharmony_ci    <field name="Tessellation Bin Mode Control Shader 4-way threadable" size="1" start="0" type="bool"/>
1318bf215546Sopenharmony_ci    <field name="Tessellation Bin Mode Control Shader Start in final thread section" size="1" start="1" type="bool"/>
1319bf215546Sopenharmony_ci    <field name="Tessellation Bin Mode Control Shader Propagate NaNs" size="1" start="2" type="bool"/>
1320bf215546Sopenharmony_ci    <field name="Tessellation Bin Mode Control Shader Uniforms Address" size="32" start="4b" type="address"/>
1321bf215546Sopenharmony_ci    <field name="Tessellation Render Mode Control Shader Code Address" size="29" start="67" type="address"/>
1322bf215546Sopenharmony_ci    <field name="Tessellation Render Mode Control Shader 4-way threadable" size="1" start="64" type="bool"/>
1323bf215546Sopenharmony_ci    <field name="Tessellation Render Mode Control Shader Start in final thread section" size="1" start="65" type="bool"/>
1324bf215546Sopenharmony_ci    <field name="Tessellation Render Mode Control Shader Propagate NaNs" size="1" start="66" type="bool"/>
1325bf215546Sopenharmony_ci    <field name="Tessellation Render Mode Control Shader Uniforms Address" size="32" start="12b" type="address"/>
1326bf215546Sopenharmony_ci
1327bf215546Sopenharmony_ci    <field name="Tessellation Bin Mode Evaluation Shader Code Address" size="29" start="131" type="address"/>
1328bf215546Sopenharmony_ci    <field name="Tessellation Bin Mode Evaluation Shader 4-way threadable" size="1" start="128" type="bool"/>
1329bf215546Sopenharmony_ci    <field name="Tessellation Bin Mode Evaluation Shader Start in final thread section" size="1" start="129" type="bool"/>
1330bf215546Sopenharmony_ci    <field name="Tessellation Bin Mode Evaluation Shader Propagate NaNs" size="1" start="130" type="bool"/>
1331bf215546Sopenharmony_ci    <field name="Tessellation Bin Mode Evaluation Shader Uniforms Address" size="32" start="20b" type="address"/>
1332bf215546Sopenharmony_ci    <field name="Tessellation Render Mode Evaluation Shader Code Address" size="29" start="195" type="address"/>
1333bf215546Sopenharmony_ci    <field name="Tessellation Render Mode Evaluation Shader 4-way threadable" size="1" start="192" type="bool"/>
1334bf215546Sopenharmony_ci    <field name="Tessellation Render Mode Evaluation Shader Start in final thread section" size="1" start="193" type="bool"/>
1335bf215546Sopenharmony_ci    <field name="Tessellation Render Mode Evaluation Shader Propagate NaNs" size="1" start="194" type="bool"/>
1336bf215546Sopenharmony_ci    <field name="Tessellation Render Mode Evaluation Shader Uniforms Address" size="32" start="28b" type="address"/>
1337bf215546Sopenharmony_ci  </struct>
1338bf215546Sopenharmony_ci
1339bf215546Sopenharmony_ci  <struct name="Tessellation/Geometry Common Params" min_ver="41">
1340bf215546Sopenharmony_ci    <field name="Tessellation Type" size="2" start="1" type="uint">
1341bf215546Sopenharmony_ci      <value name="Tessellation Type Triangle" value="0"/>
1342bf215546Sopenharmony_ci      <value name="Tessellation Type Quads" value="1"/>
1343bf215546Sopenharmony_ci      <value name="Tessellation Type Isolines" value="2"/>
1344bf215546Sopenharmony_ci    </field>
1345bf215546Sopenharmony_ci
1346bf215546Sopenharmony_ci    <field name="Tessellation point mode" size="1" start="3" type="bool"/>
1347bf215546Sopenharmony_ci
1348bf215546Sopenharmony_ci    <field name="Tessellation Edge Spacing" size="2" start="4" type="uint">
1349bf215546Sopenharmony_ci      <value name="Tessellation Edge Spacing Even" value="0"/>
1350bf215546Sopenharmony_ci      <value name="Tessellation Edge Spacing Fractional Even" value="1"/>
1351bf215546Sopenharmony_ci      <value name="Tessellation Edge Spacing Fractional Odd" value="2"/>
1352bf215546Sopenharmony_ci    </field>
1353bf215546Sopenharmony_ci
1354bf215546Sopenharmony_ci    <field name="Tessellation clockwise" size="1" start="6" type="bool"/>
1355bf215546Sopenharmony_ci
1356bf215546Sopenharmony_ci    <field name="Tessellation Invocations" size="5" start="12" type="uint"/> <!-- 0 == 32 -->
1357bf215546Sopenharmony_ci
1358bf215546Sopenharmony_ci    <field name="Geometry Shader output format" size="2" start="17" type="uint">
1359bf215546Sopenharmony_ci      <value name="Geometry Shader Points" value="0"/>
1360bf215546Sopenharmony_ci      <value name="Geometry Shader Line Strip" value="1"/>
1361bf215546Sopenharmony_ci      <value name="Geometry Shader Tri Strip" value="2"/>
1362bf215546Sopenharmony_ci    </field>
1363bf215546Sopenharmony_ci
1364bf215546Sopenharmony_ci    <field name="Geometry Shader Instances" size="5" start="19" type="uint"/> <!-- 0 == 32 -->
1365bf215546Sopenharmony_ci
1366bf215546Sopenharmony_ci     <!-- This field should not be filled, but we need it in the struct description so
1367bf215546Sopenharmony_ci          we don't compute an incorrect packet size, since it uses an full byte.
1368bf215546Sopenharmony_ci      -->
1369bf215546Sopenharmony_ci    <field name="Reserved" size="8" start="24" type="uint"/>
1370bf215546Sopenharmony_ci
1371bf215546Sopenharmony_ci    <!-- followed by "Tessellation/Geometry Shader Params" for bin, then render -->
1372bf215546Sopenharmony_ci  </struct>
1373bf215546Sopenharmony_ci
1374bf215546Sopenharmony_ci  <struct name="Tessellation/Geometry Shader Params">
1375bf215546Sopenharmony_ci    <field name="TCS Batch Flush Mode" size="2" start="0" type="TCS flush mode"/>
1376bf215546Sopenharmony_ci    <field name="Per-patch data column depth" size="4" start="2" type="uint"/> <!-- 8-dword units, 0==16 -->
1377bf215546Sopenharmony_ci
1378bf215546Sopenharmony_ci    <field name="TCS output segment size in sectors" size="6" start="8" type="uint"/>
1379bf215546Sopenharmony_ci    <field name="TCS output segment pack mode" size="2" start="14" type="Pack Mode"/>
1380bf215546Sopenharmony_ci
1381bf215546Sopenharmony_ci    <field name="TES output segment size in sectors" size="6" start="16" type="uint"/>
1382bf215546Sopenharmony_ci    <field name="TES output segment pack mode" size="2" start="22" type="Pack Mode"/>
1383bf215546Sopenharmony_ci
1384bf215546Sopenharmony_ci    <field name="GS output segment size in sectors" size="6" start="24" type="uint"/>
1385bf215546Sopenharmony_ci    <field name="GS output segment pack mode" size="2" start="30" type="Pack Mode"/>
1386bf215546Sopenharmony_ci
1387bf215546Sopenharmony_ci    <field name="TBG max patches per TCS batch" size="4" start="32" type="uint" minus_one="true"/>
1388bf215546Sopenharmony_ci    <field name="TBG max extra vertex segs for patches after first" size="2" start="36" type="uint"/>
1389bf215546Sopenharmony_ci    <field name="TBG min TCS output segments required in play" size="2" start="38" type="uint" minus_one="true"/>
1390bf215546Sopenharmony_ci    <field name="TBG min per-patch data segments required in play" size="3" start="40" type="uint" minus_one="true"/>
1391bf215546Sopenharmony_ci    <field name="TPG max patches per TES batch" size="4" start="45" type="uint" minus_one="true"/>
1392bf215546Sopenharmony_ci    <field name="TPG max vertex segments per TES batch" size="2" start="49" type="uint"/>
1393bf215546Sopenharmony_ci    <field name="TPG max TCS output segments per TES batch" size="3" start="51" type="uint" minus_one="true"/>
1394bf215546Sopenharmony_ci    <field name="TPG min TES output segments required in play" size="3" start="54" type="uint" minus_one="true"/>
1395bf215546Sopenharmony_ci    <field name="GBG max TES output/vertex segments per GS batch" size="2" start="57" type="uint"/>
1396bf215546Sopenharmony_ci    <field name="GBG min GS output segments required in play" size="3" start="59" type="uint" minus_one="true"/>
1397bf215546Sopenharmony_ci  </struct>
1398bf215546Sopenharmony_ci
1399bf215546Sopenharmony_ci  <struct name="GL Shader State Attribute Record" max_ver="33">
1400bf215546Sopenharmony_ci    <field name="Address" size="32" start="0" type="address"/>
1401bf215546Sopenharmony_ci
1402bf215546Sopenharmony_ci    <field name="Vec size" size="2" start="32" type="uint"/>
1403bf215546Sopenharmony_ci    <field name="Type" size="3" start="34" type="uint">
1404bf215546Sopenharmony_ci      <value name="Attribute half-float" value="1"/>
1405bf215546Sopenharmony_ci      <value name="Attribute float" value="2"/>
1406bf215546Sopenharmony_ci      <value name="Attribute fixed" value="3"/>
1407bf215546Sopenharmony_ci      <value name="Attribute byte" value="4"/>
1408bf215546Sopenharmony_ci      <value name="Attribute short" value="5"/>
1409bf215546Sopenharmony_ci      <value name="Attribute int" value="6"/>
1410bf215546Sopenharmony_ci      <value name="Attribute int2_10_10_10" value="7"/>
1411bf215546Sopenharmony_ci    </field>
1412bf215546Sopenharmony_ci    <field name="Signed int type" size="1" start="37" type="bool"/>
1413bf215546Sopenharmony_ci    <field name="Normalized int type" size="1" start="38" type="bool"/>
1414bf215546Sopenharmony_ci    <field name="Read as int/uint" size="1" start="39" type="bool"/>
1415bf215546Sopenharmony_ci
1416bf215546Sopenharmony_ci    <field name="Number of values read by Coordinate shader" size="4" start="40" type="uint"/>
1417bf215546Sopenharmony_ci    <field name="Number of values read by Vertex shader" size="4" start="44" type="uint"/>
1418bf215546Sopenharmony_ci
1419bf215546Sopenharmony_ci    <field name="Instance Divisor" size="16" start="6b" type="uint"/>
1420bf215546Sopenharmony_ci    <field name="Stride" size="32" start="8b" type="uint"/>
1421bf215546Sopenharmony_ci  </struct>
1422bf215546Sopenharmony_ci
1423bf215546Sopenharmony_ci  <struct name="GL Shader State Attribute Record" min_ver="41">
1424bf215546Sopenharmony_ci    <field name="Address" size="32" start="0" type="address"/>
1425bf215546Sopenharmony_ci
1426bf215546Sopenharmony_ci    <field name="Vec size" size="2" start="32" type="uint"/>
1427bf215546Sopenharmony_ci    <field name="Type" size="3" start="34" type="uint">
1428bf215546Sopenharmony_ci      <value name="Attribute half-float" value="1"/>
1429bf215546Sopenharmony_ci      <value name="Attribute float" value="2"/>
1430bf215546Sopenharmony_ci      <value name="Attribute fixed" value="3"/>
1431bf215546Sopenharmony_ci      <value name="Attribute byte" value="4"/>
1432bf215546Sopenharmony_ci      <value name="Attribute short" value="5"/>
1433bf215546Sopenharmony_ci      <value name="Attribute int" value="6"/>
1434bf215546Sopenharmony_ci      <value name="Attribute int2_10_10_10" value="7"/>
1435bf215546Sopenharmony_ci    </field>
1436bf215546Sopenharmony_ci    <field name="Signed int type" size="1" start="37" type="bool"/>
1437bf215546Sopenharmony_ci    <field name="Normalized int type" size="1" start="38" type="bool"/>
1438bf215546Sopenharmony_ci    <field name="Read as int/uint" size="1" start="39" type="bool"/>
1439bf215546Sopenharmony_ci
1440bf215546Sopenharmony_ci    <field name="Number of values read by Coordinate shader" size="4" start="40" type="uint"/>
1441bf215546Sopenharmony_ci    <field name="Number of values read by Vertex shader" size="4" start="44" type="uint"/>
1442bf215546Sopenharmony_ci
1443bf215546Sopenharmony_ci    <field name="Instance Divisor" size="16" start="6b" type="uint"/>
1444bf215546Sopenharmony_ci    <field name="Stride" size="32" start="8b" type="uint"/>
1445bf215546Sopenharmony_ci    <field name="Maximum Index" size="32" start="12b" type="uint"/>
1446bf215546Sopenharmony_ci  </struct>
1447bf215546Sopenharmony_ci
1448bf215546Sopenharmony_ci  <struct name="VPM generic block write setup">
1449bf215546Sopenharmony_ci    <field name="id" size="2" start="30" type="uint" default="0"/>
1450bf215546Sopenharmony_ci    <field name="id0" size="3" start="27" type="uint" default="0"/>
1451bf215546Sopenharmony_ci
1452bf215546Sopenharmony_ci    <field name="horiz" size="1" start="24" type="bool"/>
1453bf215546Sopenharmony_ci    <field name="laned" size="1" start="23" type="bool"/>
1454bf215546Sopenharmony_ci    <field name="segs" size="1" start="22" type="bool"/>
1455bf215546Sopenharmony_ci    <field name="stride" size="7" start="15" type="int"/>
1456bf215546Sopenharmony_ci
1457bf215546Sopenharmony_ci    <field name="size" size="2" start="13" type="uint">
1458bf215546Sopenharmony_ci      <value name="VPM setup size 8-bit" value="0"/>
1459bf215546Sopenharmony_ci      <value name="VPM setup size 16-bit" value="1"/>
1460bf215546Sopenharmony_ci      <value name="VPM setup size 32-bit" value="2"/>
1461bf215546Sopenharmony_ci    </field>
1462bf215546Sopenharmony_ci
1463bf215546Sopenharmony_ci    <field name="addr" size="13" start="0" type="uint"/>
1464bf215546Sopenharmony_ci  </struct>
1465bf215546Sopenharmony_ci
1466bf215546Sopenharmony_ci  <struct name="VPM generic block read setup">
1467bf215546Sopenharmony_ci    <field name="id" size="2" start="30" type="uint" default="1"/>
1468bf215546Sopenharmony_ci
1469bf215546Sopenharmony_ci    <field name="horiz" size="1" start="29" type="bool"/>
1470bf215546Sopenharmony_ci    <field name="laned" size="1" start="28" type="bool"/>
1471bf215546Sopenharmony_ci    <field name="segs" size="1" start="27" type="bool"/>
1472bf215546Sopenharmony_ci    <field name="num" size="5" start="22" type="uint"/>
1473bf215546Sopenharmony_ci    <field name="stride" size="7" start="15" type="int"/>
1474bf215546Sopenharmony_ci
1475bf215546Sopenharmony_ci    <field name="size" size="2" start="13" type="uint">
1476bf215546Sopenharmony_ci      <value name="VPM setup size 8-bit" value="0"/>
1477bf215546Sopenharmony_ci      <value name="VPM setup size 16-bit" value="1"/>
1478bf215546Sopenharmony_ci      <value name="VPM setup size 32-bit" value="2"/>
1479bf215546Sopenharmony_ci    </field>
1480bf215546Sopenharmony_ci
1481bf215546Sopenharmony_ci    <field name="addr" size="13" start="0" type="uint"/>
1482bf215546Sopenharmony_ci  </struct>
1483bf215546Sopenharmony_ci
1484bf215546Sopenharmony_ci  <struct name="Texture Uniform Parameter 0 CFG_MODE=1" max_ver="33">
1485bf215546Sopenharmony_ci    <field name="Per-pixel mask enable" size="1" start="31" type="bool"/>
1486bf215546Sopenharmony_ci
1487bf215546Sopenharmony_ci    <field name="Texel offset for r coordinate" size="4" start="27" type="int"/>
1488bf215546Sopenharmony_ci    <field name="Texel offset for t coordinate" size="4" start="23" type="int"/>
1489bf215546Sopenharmony_ci    <field name="Texel offset for s coordinate" size="4" start="19" type="int"/>
1490bf215546Sopenharmony_ci
1491bf215546Sopenharmony_ci    <field name="R Wrap Mode" size="3" start="16" type="Wrap Mode"/>
1492bf215546Sopenharmony_ci    <field name="T Wrap Mode" size="3" start="13" type="Wrap Mode"/>
1493bf215546Sopenharmony_ci    <field name="S Wrap Mode" size="3" start="10" type="Wrap Mode"/>
1494bf215546Sopenharmony_ci
1495bf215546Sopenharmony_ci    <field name="New configuration mode" size="1" start="9" type="bool" default="1"/>
1496bf215546Sopenharmony_ci
1497bf215546Sopenharmony_ci    <field name="Shadow" size="1" start="8" type="bool"/>
1498bf215546Sopenharmony_ci    <field name="Coefficient lookup mode" size="1" start="7" type="bool"/>
1499bf215546Sopenharmony_ci    <field name="Disable AutoLOD, use bias only" size="1" start="6" type="bool"/>
1500bf215546Sopenharmony_ci    <field name="Bias supplied" size="1" start="5" type="bool"/>
1501bf215546Sopenharmony_ci    <field name="Gather sample mode" size="1" start="4" type="bool"/>
1502bf215546Sopenharmony_ci    <field name="Fetch sample mode" size="1" start="3" type="bool"/>
1503bf215546Sopenharmony_ci
1504bf215546Sopenharmony_ci    <field name="Lookup Type" size="3" start="0" type="uint">
1505bf215546Sopenharmony_ci      <value name="Texture 2D" value="0"/>
1506bf215546Sopenharmony_ci      <value name="Texture 2D array" value="1"/>
1507bf215546Sopenharmony_ci      <value name="Texture 3D" value="2"/>
1508bf215546Sopenharmony_ci      <value name="Texture Cube Map" value="3"/>
1509bf215546Sopenharmony_ci      <value name="Texture 1D" value="4"/>
1510bf215546Sopenharmony_ci      <value name="Texture 1D Array" value="5"/>
1511bf215546Sopenharmony_ci      <value name="Texture Child Image" value="6"/>
1512bf215546Sopenharmony_ci    </field>
1513bf215546Sopenharmony_ci  </struct>
1514bf215546Sopenharmony_ci
1515bf215546Sopenharmony_ci  <struct name="Texture Uniform Parameter 1 CFG_MODE=1" max_ver="33">
1516bf215546Sopenharmony_ci    <field name="Texture state record base address" size="28" start="4" type="address"/>
1517bf215546Sopenharmony_ci    <field name="Return words of texture data" size="4" start="0" type="uint"/>
1518bf215546Sopenharmony_ci  </struct>
1519bf215546Sopenharmony_ci
1520bf215546Sopenharmony_ci  <struct name="TMU Config Parameter 0" min_ver="41">
1521bf215546Sopenharmony_ci    <field name="Texture state address" size="32" start="0" type="address"/>
1522bf215546Sopenharmony_ci    <field name="Return words of texture data" size="4" start="0" type="uint"/>
1523bf215546Sopenharmony_ci  </struct>
1524bf215546Sopenharmony_ci
1525bf215546Sopenharmony_ci  <struct name="TMU Config Parameter 1" min_ver="41">
1526bf215546Sopenharmony_ci    <field name="Sampler state address" size="32" start="0" type="address"/>
1527bf215546Sopenharmony_ci    <field name="Per-pixel mask enable" size="1" start="2" type="bool"/>
1528bf215546Sopenharmony_ci    <field name="Unnormalized coordinates" size="1" start="1" type="bool"/>
1529bf215546Sopenharmony_ci    <field name="Output Type 32-bit" size="1" start="0" type="bool"/>
1530bf215546Sopenharmony_ci  </struct>
1531bf215546Sopenharmony_ci
1532bf215546Sopenharmony_ci  <struct name="TMU Config Parameter 2" min_ver="41" max_ver="41">
1533bf215546Sopenharmony_ci    <field name="Pad" size="8" start="24" type="uint"/>
1534bf215546Sopenharmony_ci    <field name="Op" size="4" start="20" type="TMU Op"/>
1535bf215546Sopenharmony_ci    <field name="Offset R" size="4" start="16" type="int"/>
1536bf215546Sopenharmony_ci    <field name="Offset T" size="4" start="12" type="int"/>
1537bf215546Sopenharmony_ci    <field name="Offset S" size="4" start="8" type="int"/>
1538bf215546Sopenharmony_ci    <field name="Gather Mode" size="1" start="7" type="bool"/>
1539bf215546Sopenharmony_ci    <field name="Gather Component" size="2" start="5" type="uint"/>
1540bf215546Sopenharmony_ci    <field name="Coefficient Mode" size="1" start="4" type="bool"/>
1541bf215546Sopenharmony_ci    <field name="Sample Number" size="2" start="2" type="uint"/>
1542bf215546Sopenharmony_ci    <field name="Disable AutoLOD" size="1" start="1" type="bool"/>
1543bf215546Sopenharmony_ci    <field name="Offset Format 8" size="1" start="0" type="bool"/>
1544bf215546Sopenharmony_ci  </struct>
1545bf215546Sopenharmony_ci
1546bf215546Sopenharmony_ci  <struct name="TMU Config Parameter 2" min_ver="42">
1547bf215546Sopenharmony_ci    <field name="Pad" size="7" start="25" type="uint"/>
1548bf215546Sopenharmony_ci    <field name="LOD Query" size="1" start="24" type="bool"/>
1549bf215546Sopenharmony_ci    <field name="Op" size="4" start="20" type="TMU Op"/>
1550bf215546Sopenharmony_ci    <field name="Offset R" size="4" start="16" type="int"/>
1551bf215546Sopenharmony_ci    <field name="Offset T" size="4" start="12" type="int"/>
1552bf215546Sopenharmony_ci    <field name="Offset S" size="4" start="8" type="int"/>
1553bf215546Sopenharmony_ci    <field name="Gather Mode" size="1" start="7" type="bool"/>
1554bf215546Sopenharmony_ci    <field name="Gather Component" size="2" start="5" type="uint"/>
1555bf215546Sopenharmony_ci    <field name="Coefficient Mode" size="1" start="4" type="bool"/>
1556bf215546Sopenharmony_ci    <field name="Sample Number" size="2" start="2" type="uint"/>
1557bf215546Sopenharmony_ci    <field name="Disable AutoLOD" size="1" start="1" type="bool"/>
1558bf215546Sopenharmony_ci    <field name="Offset Format 8" size="1" start="0" type="bool"/>
1559bf215546Sopenharmony_ci  </struct>
1560bf215546Sopenharmony_ci
1561bf215546Sopenharmony_ci  <struct name="Texture Shader State" max_ver="33">
1562bf215546Sopenharmony_ci    <field name="UIF XOR disable" size="1" start="255" type="bool"/>
1563bf215546Sopenharmony_ci    <field name="Level 0 is strictly UIF" size="1" start="254" type="bool"/>
1564bf215546Sopenharmony_ci    <field name="Level 0 XOR enable" size="1" start="252" type="bool"/>
1565bf215546Sopenharmony_ci    <field name="Level 0 UB_PAD" size="4" start="248" type="uint"/>
1566bf215546Sopenharmony_ci    <field name="Output 32-bit" size="1" start="246" type="bool"/>
1567bf215546Sopenharmony_ci    <field name="Sample Number" size="2" start="244" type="uint"/>
1568bf215546Sopenharmony_ci
1569bf215546Sopenharmony_ci    <field name="Base Level" size="4" start="240" type="uint"/>
1570bf215546Sopenharmony_ci    <field name="Fixed Bias" size="16" start="224" type="s8.8"/>
1571bf215546Sopenharmony_ci    <field name="Max Level-of-Detail" size="16" start="208" type="s8.8"/>
1572bf215546Sopenharmony_ci    <field name="Min Level-of-Detail" size="16" start="192" type="s8.8"/>
1573bf215546Sopenharmony_ci
1574bf215546Sopenharmony_ci    <field name="Border Color alpha" size="16" start="176" type="uint"/>
1575bf215546Sopenharmony_ci    <field name="Border Color blue" size="16" start="160" type="uint"/>
1576bf215546Sopenharmony_ci    <field name="Border Color green" size="16" start="144" type="uint"/>
1577bf215546Sopenharmony_ci    <field name="Border Color red" size="16" start="128" type="uint"/>
1578bf215546Sopenharmony_ci
1579bf215546Sopenharmony_ci    <field name="Flip S and T on incoming request" size="1" start="127" type="bool"/>
1580bf215546Sopenharmony_ci    <field name="Flip ETC Y" size="1" start="126" type="bool" default="1"/>
1581bf215546Sopenharmony_ci    <field name="Flip texture Y Axis" size="1" start="125" type="bool"/>
1582bf215546Sopenharmony_ci    <field name="Flip texture X Axis" size="1" start="124" type="bool"/>
1583bf215546Sopenharmony_ci
1584bf215546Sopenharmony_ci    <field name="Swizzle A" size="3" start="121" type="uint">
1585bf215546Sopenharmony_ci      <value name="Swizzle Zero" value="0"/>
1586bf215546Sopenharmony_ci      <value name="Swizzle One" value="1"/>
1587bf215546Sopenharmony_ci      <value name="Swizzle Red" value="2"/>
1588bf215546Sopenharmony_ci      <value name="Swizzle Green" value="3"/>
1589bf215546Sopenharmony_ci      <value name="Swizzle Blue" value="4"/>
1590bf215546Sopenharmony_ci      <value name="Swizzle Alpha" value="5"/>
1591bf215546Sopenharmony_ci    </field>
1592bf215546Sopenharmony_ci
1593bf215546Sopenharmony_ci    <field name="Swizzle B" size="3" start="118" type="uint"/>
1594bf215546Sopenharmony_ci    <field name="Swizzle G" size="3" start="115" type="uint"/>
1595bf215546Sopenharmony_ci    <field name="Swizzle R" size="3" start="112" type="uint"/>
1596bf215546Sopenharmony_ci
1597bf215546Sopenharmony_ci    <field name="Depth Compare Function" size="3" start="109" type="Compare Function"/>
1598bf215546Sopenharmony_ci
1599bf215546Sopenharmony_ci    <field name="sRGB" size="1" start="107" type="bool"/>
1600bf215546Sopenharmony_ci
1601bf215546Sopenharmony_ci    <field name="Texture type" size="7" start="100" type="uint"/>
1602bf215546Sopenharmony_ci
1603bf215546Sopenharmony_ci    <field name="Image Depth" size="14" start="86" type="uint"/>
1604bf215546Sopenharmony_ci    <field name="Image Height" size="14" start="72" type="uint"/>
1605bf215546Sopenharmony_ci    <field name="Image Width" size="14" start="58" type="uint"/>
1606bf215546Sopenharmony_ci
1607bf215546Sopenharmony_ci    <field name="Array Stride (64-byte aligned)" size="26" start="32" type="uint"/>
1608bf215546Sopenharmony_ci
1609bf215546Sopenharmony_ci    <field name="Texture base pointer" size="30" start="2" type="address"/>
1610bf215546Sopenharmony_ci
1611bf215546Sopenharmony_ci    <field name="Filter" size="4" start="0" type="TMU Filter"/>
1612bf215546Sopenharmony_ci  </struct>
1613bf215546Sopenharmony_ci
1614bf215546Sopenharmony_ci  <struct name="Texture Shader State" min_ver="41">
1615bf215546Sopenharmony_ci    <field name="Pad" size="56" start="136" type="uint"/>
1616bf215546Sopenharmony_ci    <field name="UIF XOR disable" size="1" start="135" type="bool"/>
1617bf215546Sopenharmony_ci    <field name="Level 0 is strictly UIF" size="1" start="134" type="bool"/>
1618bf215546Sopenharmony_ci    <field name="Level 0 XOR enable" size="1" start="132" type="bool"/>
1619bf215546Sopenharmony_ci    <field name="Level 0 UB_PAD" size="4" start="128" type="uint"/>
1620bf215546Sopenharmony_ci
1621bf215546Sopenharmony_ci    <field name="Base Level" size="4" start="124" type="uint"/>
1622bf215546Sopenharmony_ci    <field name="Max Level" size="4" start="120" type="uint"/>
1623bf215546Sopenharmony_ci
1624bf215546Sopenharmony_ci    <field name="Swizzle A" size="3" start="117" type="uint">
1625bf215546Sopenharmony_ci      <value name="Swizzle Zero" value="0"/>
1626bf215546Sopenharmony_ci      <value name="Swizzle One" value="1"/>
1627bf215546Sopenharmony_ci      <value name="Swizzle Red" value="2"/>
1628bf215546Sopenharmony_ci      <value name="Swizzle Green" value="3"/>
1629bf215546Sopenharmony_ci      <value name="Swizzle Blue" value="4"/>
1630bf215546Sopenharmony_ci      <value name="Swizzle Alpha" value="5"/>
1631bf215546Sopenharmony_ci    </field>
1632bf215546Sopenharmony_ci
1633bf215546Sopenharmony_ci    <field name="Swizzle B" size="3" start="114" type="uint"/>
1634bf215546Sopenharmony_ci    <field name="Swizzle G" size="3" start="111" type="uint"/>
1635bf215546Sopenharmony_ci    <field name="Swizzle R" size="3" start="108" type="uint"/>
1636bf215546Sopenharmony_ci    <field name="Extended" size="1" start="107" type="bool"/>
1637bf215546Sopenharmony_ci
1638bf215546Sopenharmony_ci    <field name="Texture type" size="7" start="100" type="uint"/>
1639bf215546Sopenharmony_ci    <field name="Image Depth" size="14" start="86" type="uint"/>
1640bf215546Sopenharmony_ci    <field name="Image Height" size="14" start="72" type="uint"/>
1641bf215546Sopenharmony_ci    <field name="Image Width" size="14" start="58" type="uint"/>
1642bf215546Sopenharmony_ci
1643bf215546Sopenharmony_ci    <field name="Array Stride (64-byte aligned)" size="26" start="32" type="uint"/>
1644bf215546Sopenharmony_ci
1645bf215546Sopenharmony_ci    <field name="Texture base pointer" size="32" start="0" type="address"/>
1646bf215546Sopenharmony_ci
1647bf215546Sopenharmony_ci    <field name="Reverse Standard Border Color" size="1" start="5" type="bool"/>
1648bf215546Sopenharmony_ci    <field name="AHDR" size="1" start="4" type="bool"/>
1649bf215546Sopenharmony_ci    <field name="sRGB" size="1" start="3" type="bool"/>
1650bf215546Sopenharmony_ci    <field name="Flip S and T on incoming request" size="1" start="2" type="bool"/>
1651bf215546Sopenharmony_ci    <field name="Flip texture Y Axis" size="1" start="1" type="bool"/>
1652bf215546Sopenharmony_ci    <field name="Flip texture X Axis" size="1" start="0" type="bool"/>
1653bf215546Sopenharmony_ci  </struct>
1654bf215546Sopenharmony_ci
1655bf215546Sopenharmony_ci  <struct name="Sampler State" min_ver="41">
1656bf215546Sopenharmony_ci    <field name="Border color word 3" size="32" start="160" type="uint"/>
1657bf215546Sopenharmony_ci    <field name="Border color word 2" size="32" start="128" type="uint"/>
1658bf215546Sopenharmony_ci    <field name="Border color word 1" size="32" start="96" type="uint"/>
1659bf215546Sopenharmony_ci    <field name="Border color word 0" size="32" start="64" type="uint"/>
1660bf215546Sopenharmony_ci
1661bf215546Sopenharmony_ci    <field name="Maximum Anisotropy" size="2" start="61" type="uint"/>
1662bf215546Sopenharmony_ci    <field name="Border Color Mode" size="3" start="58" type="Border Color Mode"/>
1663bf215546Sopenharmony_ci    <field name="Wrap I Border" size="1" start="57" type="bool"/>
1664bf215546Sopenharmony_ci    <field name="Wrap R" size="3" start="54" type="Wrap Mode"/>
1665bf215546Sopenharmony_ci    <field name="Wrap T" size="3" start="51" type="Wrap Mode"/>
1666bf215546Sopenharmony_ci    <field name="Wrap S" size="3" start="48" type="Wrap Mode"/>
1667bf215546Sopenharmony_ci
1668bf215546Sopenharmony_ci    <field name="Fixed Bias" size="16" start="32" type="s8.8"/>
1669bf215546Sopenharmony_ci    <field name="Max Level-of-Detail" size="12" start="20" type="u4.8"/>
1670bf215546Sopenharmony_ci    <field name="Min Level-of-Detail" size="12" start="8" type="u4.8"/>
1671bf215546Sopenharmony_ci
1672bf215546Sopenharmony_ci    <field name="sRGB Disable" size="1" start="7" type="bool"/>
1673bf215546Sopenharmony_ci
1674bf215546Sopenharmony_ci    <field name="Depth Compare Function" size="3" start="4" type="Compare Function"/>
1675bf215546Sopenharmony_ci
1676bf215546Sopenharmony_ci    <field name="Anisotropy Enable" size="1" start="3" type="bool"/>
1677bf215546Sopenharmony_ci    <field name="Mip filter Nearest" size="1" start="2" type="bool"/>
1678bf215546Sopenharmony_ci    <field name="Min filter Nearest" size="1" start="1" type="bool"/>
1679bf215546Sopenharmony_ci    <field name="Mag filter Nearest" size="1" start="0" type="bool"/>
1680bf215546Sopenharmony_ci  </struct>
1681bf215546Sopenharmony_ci
1682bf215546Sopenharmony_ci  <enum name="Texture Data Formats">
1683bf215546Sopenharmony_ci    <!--
1684bf215546Sopenharmony_ci	most formats here have R in the low bits, A in the high bits.
1685bf215546Sopenharmony_ci	Exceptions noted.
1686bf215546Sopenharmony_ci    -->
1687bf215546Sopenharmony_ci    <value name="Texture Data Format R8" value="0"/>
1688bf215546Sopenharmony_ci    <value name="Texture Data Format R8 SNORM" value="1"/>
1689bf215546Sopenharmony_ci    <value name="Texture Data Format RG8" value="2"/>
1690bf215546Sopenharmony_ci    <value name="Texture Data Format RG8 SNORM" value="3"/>
1691bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA8" value="4"/>
1692bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA8 SNORM" value="5"/>
1693bf215546Sopenharmony_ci    <value name="Texture Data Format RGB565" value="6"/> <!-- B in low bits -->
1694bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA4" value="7"/> <!-- A low, R high -->
1695bf215546Sopenharmony_ci    <value name="Texture Data Format RGB5_A1" value="8"/> <!-- A low, R high -->
1696bf215546Sopenharmony_ci    <value name="Texture Data Format RGB10_A2" value="9"/> <!-- R low, A high -->
1697bf215546Sopenharmony_ci    <value name="Texture Data Format R16" value="10"/>
1698bf215546Sopenharmony_ci    <value name="Texture Data Format R16 SNORM" value="11"/>
1699bf215546Sopenharmony_ci    <value name="Texture Data Format RG16" value="12"/>
1700bf215546Sopenharmony_ci    <value name="Texture Data Format RG16 SNORM" value="13"/>
1701bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA16" value="14"/>
1702bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA16 SNORM" value="15"/>
1703bf215546Sopenharmony_ci    <value name="Texture Data Format R16F" value="16"/>
1704bf215546Sopenharmony_ci    <value name="Texture Data Format RG16F" value="17"/>
1705bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA16F" value="18"/>
1706bf215546Sopenharmony_ci    <value name="Texture Data Format R11F_G11F_B10F" value="19"/>
1707bf215546Sopenharmony_ci    <value name="Texture Data Format RGB9_E5" value="20"/>
1708bf215546Sopenharmony_ci    <value name="Texture Data Format DEPTH COMP16" value="21"/>
1709bf215546Sopenharmony_ci    <value name="Texture Data Format DEPTH COMP24" value="22"/>
1710bf215546Sopenharmony_ci    <value name="Texture Data Format DEPTH COMP32F" value="23"/>
1711bf215546Sopenharmony_ci    <value name="Texture Data Format DEPTH24_X8" value="24"/> <!-- X low, D high -->
1712bf215546Sopenharmony_ci    <value name="Texture Data Format R4" value="25"/>
1713bf215546Sopenharmony_ci    <value name="Texture Data Format R1" value="26"/>
1714bf215546Sopenharmony_ci    <!-- generic unfiltered 8-bit sample -->
1715bf215546Sopenharmony_ci    <value name="Texture Data Format S8" value="27"/>
1716bf215546Sopenharmony_ci    <!-- generic unfiltered 16-bit sample -->
1717bf215546Sopenharmony_ci    <value name="Texture Data Format S16" value="28"/>
1718bf215546Sopenharmony_ci    <!-- generic unfiltered 32-bit sample -->
1719bf215546Sopenharmony_ci    <value name="Texture Data Format R32F" value="29"/>
1720bf215546Sopenharmony_ci    <!-- generic unfiltered 64-bit sample -->
1721bf215546Sopenharmony_ci    <value name="Texture Data Format RG32F" value="30"/>
1722bf215546Sopenharmony_ci    <!-- generic unfiltered 128-bit sample -->
1723bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA32F" value="31"/>
1724bf215546Sopenharmony_ci
1725bf215546Sopenharmony_ci    <value name="Texture Data Format RGB8_ETC2" value="32"/>
1726bf215546Sopenharmony_ci    <value name="Texture Data Format RGB8_PUNCHTHROUGH_ALPHA1" value="33"/>
1727bf215546Sopenharmony_ci
1728bf215546Sopenharmony_ci    <value name="Texture Data Format R11_EAC" value="34"/>
1729bf215546Sopenharmony_ci    <value name="Texture Data Format SIGNED_R11_EAC" value="35"/>
1730bf215546Sopenharmony_ci    <value name="Texture Data Format RG11_EAC" value="36"/>
1731bf215546Sopenharmony_ci    <value name="Texture Data Format SIGNED_RG11_EAC" value="37"/>
1732bf215546Sopenharmony_ci
1733bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA8_ETC2_EAC" value="38"/>
1734bf215546Sopenharmony_ci    <value name="Texture Data Format YCBCR_LUMA" value="39"/>
1735bf215546Sopenharmony_ci    <value name="Texture Data Format YCBCR_420_CHROMA" value="40"/>
1736bf215546Sopenharmony_ci
1737bf215546Sopenharmony_ci    <value name="Texture Data Format BC1" value="48"/>
1738bf215546Sopenharmony_ci    <value name="Texture Data Format BC2" value="49"/>
1739bf215546Sopenharmony_ci    <value name="Texture Data Format BC3" value="50"/>
1740bf215546Sopenharmony_ci
1741bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_4x4" value="64"/>
1742bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_5x4" value="65"/>
1743bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_5x5" value="66"/>
1744bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_6x5" value="67"/>
1745bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_6x6" value="68"/>
1746bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_8x5" value="69"/>
1747bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_8x6" value="70"/>
1748bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_8x8" value="71"/>
1749bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_10x5" value="72"/>
1750bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_10x6" value="73"/>
1751bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_10x8" value="74"/>
1752bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_10x10" value="75"/>
1753bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_12x10" value="76"/>
1754bf215546Sopenharmony_ci    <value name="Texture Data Format ASTC_12x12" value="77"/>
1755bf215546Sopenharmony_ci
1756bf215546Sopenharmony_ci    <value name="Texture Data Format R8I" value="96"/>
1757bf215546Sopenharmony_ci    <value name="Texture Data Format R8UI" value="97"/>
1758bf215546Sopenharmony_ci    <value name="Texture Data Format RG8I" value="98"/>
1759bf215546Sopenharmony_ci    <value name="Texture Data Format RG8UI" value="99"/>
1760bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA8I" value="100"/>
1761bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA8UI" value="101"/>
1762bf215546Sopenharmony_ci
1763bf215546Sopenharmony_ci    <value name="Texture Data Format R16I" value="102"/>
1764bf215546Sopenharmony_ci    <value name="Texture Data Format R16UI" value="103"/>
1765bf215546Sopenharmony_ci    <value name="Texture Data Format RG16I" value="104"/>
1766bf215546Sopenharmony_ci    <value name="Texture Data Format RG16UI" value="105"/>
1767bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA16I" value="106"/>
1768bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA16UI" value="107"/>
1769bf215546Sopenharmony_ci
1770bf215546Sopenharmony_ci    <value name="Texture Data Format R32I" value="108"/>
1771bf215546Sopenharmony_ci    <value name="Texture Data Format R32UI" value="109"/>
1772bf215546Sopenharmony_ci    <value name="Texture Data Format RG32I" value="110"/>
1773bf215546Sopenharmony_ci    <value name="Texture Data Format RG32UI" value="111"/>
1774bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA32I" value="112"/>
1775bf215546Sopenharmony_ci    <value name="Texture Data Format RGBA32UI" value="113"/>
1776bf215546Sopenharmony_ci    <value name="Texture Data Format RGB10_A2UI" value="114"/>
1777bf215546Sopenharmony_ci    <value name="Texture Data Format A1_RGB5" value="115"/>
1778bf215546Sopenharmony_ci
1779bf215546Sopenharmony_ci  </enum>
1780bf215546Sopenharmony_ci</vcxml>
1781