• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<?xml version='1.0' encoding='utf-8'?>
2<genxml name="GFX125" gen="12.5">
3  <import name="gen120.xml">
4    <exclude name="3D_CHICKEN3" />
5    <exclude name="GPGPU_WALKER" />
6    <exclude name="GT_MODE" />
7    <exclude name="MEDIA_CURBE_LOAD" />
8    <exclude name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" />
9    <exclude name="MEDIA_OBJECT" />
10    <exclude name="MEDIA_OBJECT_GRPID" />
11    <exclude name="MEDIA_OBJECT_PRT" />
12    <exclude name="MEDIA_OBJECT_WALKER" />
13    <exclude name="MEDIA_STATE_FLUSH" />
14    <exclude name="MEDIA_VFE_STATE" />
15  </import>
16  <enum name="L1_CACHE_CONTROL" prefix="L1CC">
17    <value name="WBP" value="0" />
18    <value name="UC" value="1" />
19    <value name="WB" value="2" />
20    <value name="WT" value="3" />
21    <value name="WS" value="4" />
22  </enum>
23  <enum name="PREF_SLM_ALLOCATION_SIZE">
24    <value name="SLM_ENCODES_0K" value="8" />
25    <value name="SLM_ENCODES_16K" value="9" />
26    <value name="SLM_ENCODES_32K" value="10" />
27    <value name="SLM_ENCODES_64K" value="11" />
28    <value name="SLM_ENCODES_96K" value="12" />
29    <value name="SLM_ENCODES_128K" value="13" />
30    <value name="SLM_ENCODES_192K" value="14" />
31    <value name="SLM_ENCODES_256K" value="15" />
32  </enum>
33  <enum name="STATE_SURFACE_TYPE">
34    <value name="SURFTYPE_1D" value="0" />
35    <value name="SURFTYPE_2D" value="1" />
36    <value name="SURFTYPE_3D" value="2" />
37    <value name="SURFTYPE_CUBE" value="3" />
38    <value name="SURFTYPE_BUFFER" value="4" />
39    <value name="SURFTYPE_RES5" value="5" />
40    <value name="SURFTYPE_SCRATCH" value="6" />
41    <value name="SURFTYPE_NULL" value="7" />
42  </enum>
43  <struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
44    <field name="Kernel Start Pointer" start="6" end="31" type="offset" />
45    <field name="Software Exception Enable" start="71" end="71" type="bool" />
46    <field name="Mask Stack Exception Enable" start="75" end="75" type="bool" />
47    <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool" />
48    <field name="Floating Point Mode" start="80" end="80" type="uint">
49      <value name="IEEE-754" value="0" />
50      <value name="Alternate" value="1" />
51    </field>
52    <field name="Single Program Flow" start="82" end="82" type="bool" />
53    <field name="Denorm Mode" start="83" end="83" type="uint">
54      <value name="Ftz" value="0" />
55      <value name="SetByKernel" value="1" />
56    </field>
57    <field name="Thread Preemption Disable" start="84" end="84" type="uint" />
58    <field name="Sampler Count" start="98" end="100" type="uint">
59      <value name="No samplers used" value="0" />
60      <value name="Between 1 and 4 samplers used" value="1" />
61      <value name="Between 5 and 8 samplers used" value="2" />
62      <value name="Between 9 and 12 samplers used" value="3" />
63      <value name="Between 13 and 16 samplers used" value="4" />
64    </field>
65    <field name="Sampler State Pointer" start="101" end="127" type="offset" />
66    <field name="Binding Table Entry Count" start="128" end="132" type="uint" />
67    <field name="Binding Table Pointer" start="133" end="148" type="offset" />
68    <field name="Number of Threads in GPGPU Thread Group" start="160" end="169" type="uint" />
69    <field name="Shared Local Memory Size" start="176" end="180" type="uint">
70      <value name="Encodes 0K" value="0" />
71      <value name="Encodes 1K" value="1" />
72      <value name="Encodes 2K" value="2" />
73      <value name="Encodes 4K" value="3" />
74      <value name="Encodes 8K" value="4" />
75      <value name="Encodes 16K" value="5" />
76      <value name="Encodes 32K" value="6" />
77      <value name="Encodes 64K" value="7" />
78    </field>
79    <field name="Barrier Enable" start="181" end="181" type="bool" />
80    <field name="Rounding Mode" start="182" end="183" type="uint">
81      <value name="RTNE" value="0" />
82      <value name="RU" value="1" />
83      <value name="RD" value="2" />
84      <value name="RTZ" value="3" />
85    </field>
86    <field name="Thread Group Dispatch Size" start="186" end="187" type="uint">
87      <value name="TG size 8" value="0" />
88      <value name="TG size 4" value="1" />
89      <value name="TG size 2" value="2" />
90      <value name="TG size 1" value="3" />
91    </field>
92    <field name="Number Of Barriers" start="188" end="190" type="uint" prefix="BARRIER_SIZE">
93      <value name="NONE" value="0" />
94      <value name="B1" value="1" />
95      <value name="B2" value="2" />
96      <value name="B4" value="3" />
97      <value name="B8" value="4" />
98      <value name="B16" value="5" />
99      <value name="B24" value="6" />
100      <value name="B32" value="7" />
101    </field>
102    <field name="BTD Mode" start="191" end="191" type="uint" />
103    <field name="Preferred SLM Allocation Size" start="192" end="195" type="uint" />
104  </struct>
105  <struct name="POSTSYNC_DATA" length="5">
106    <field name="Operation" start="0" end="1" type="uint" default="0">
107      <value name="No Write" value="0" />
108      <value name="Write Immediate Data" value="1" />
109      <value name="Write Timestamp" value="3" />
110    </field>
111    <field name="HDC Pipeline Flush" start="2" end="2" type="bool" />
112    <field name="L3 flush" start="3" end="3" type="bool" />
113    <field name="MOCS" start="4" end="10" type="uint" nonzero="true" />
114    <field name="Destination Address" start="32" end="95" type="address" />
115    <field name="Immediate Data" start="96" end="159" type="uint" />
116  </struct>
117  <struct name="COMPUTE_WALKER_BODY" length="38">
118    <field name="Indirect Data Length" start="32" end="48" type="uint" />
119    <field name="L3 prefetch disable" start="49" end="49" type="bool" />
120    <field name="Partition Type" start="62" end="63" type="uint">
121      <value name="PartitionX" value="1" />
122      <value name="PartitionY" value="2" />
123      <value name="PartitionZ" value="3" />
124    </field>
125    <field name="Indirect Data Start Address" start="70" end="95" type="offset" />
126    <field name="Message SIMD" start="113" end="114" type="uint">
127      <value name="SIMD8" value="0" />
128      <value name="SIMD16" value="1" />
129      <value name="SIMD32" value="2" />
130    </field>
131    <field name="Tile Layout" start="115" end="117" type="uint">
132      <value name="Linear" value="0" />
133      <value name="TileY 32bpe" value="1" />
134      <value name="TileY 64bpe" value="2" />
135      <value name="TileY 128bpe" value="3" />
136    </field>
137    <field name="Walk Order" start="118" end="120" type="uint">
138      <value name="Walk 012" value="0" />
139      <value name="Walk 021" value="1" />
140      <value name="Walk 102" value="2" />
141      <value name="Walk 120" value="3" />
142      <value name="Walk 201" value="4" />
143      <value name="Walk 210" value="5" />
144    </field>
145    <field name="Emit Inline Parameter" start="121" end="121" type="bool" />
146    <field name="Emit Local" start="122" end="124" type="uint">
147      <value name="Emit None" value="0" />
148      <value name="Emit X" value="1" />
149      <value name="Emit XY" value="3" />
150      <value name="Emit XYZ" value="7" />
151    </field>
152    <field name="Generate Local ID" start="125" end="125" type="bool" />
153    <field name="SIMD Size" start="126" end="127" type="uint">
154      <value name="SIMD8" value="0" />
155      <value name="SIMD16" value="1" />
156      <value name="SIMD32" value="2" />
157    </field>
158    <field name="Execution Mask" start="128" end="159" type="uint" />
159    <field name="Local X Maximum" start="160" end="169" type="uint" />
160    <field name="Local Y Maximum" start="170" end="179" type="uint" />
161    <field name="Local Z Maximum" start="180" end="189" type="uint" />
162    <field name="Thread Group ID X Dimension" start="192" end="223" type="uint" />
163    <field name="Thread Group ID Y Dimension" start="224" end="255" type="uint" />
164    <field name="Thread Group ID Z Dimension" start="256" end="287" type="uint" />
165    <field name="Thread Group ID Starting X" start="288" end="319" type="uint" />
166    <field name="Thread Group ID Starting Y" start="320" end="351" type="uint" />
167    <field name="Thread Group ID Starting Z" start="352" end="383" type="uint" />
168    <field name="Partition ID" start="384" end="415" type="uint" />
169    <field name="Partition Size" start="416" end="447" type="uint" />
170    <field name="Preempt X" start="448" end="479" type="uint" />
171    <field name="Preempt Y" start="480" end="511" type="uint" />
172    <field name="Preempt Z" start="512" end="543" type="uint" />
173    <field name="Interface Descriptor" start="544" end="799" type="INTERFACE_DESCRIPTOR_DATA" />
174    <field name="Post Sync" start="800" end="959" type="POSTSYNC_DATA" />
175    <group count="8" start="960" size="32">
176      <field name="Inline Data" start="0" end="31" type="uint" />
177    </group>
178  </struct>
179  <struct name="CPS_STATE" length="8">
180    <field name="MinCPSizeX" start="0" end="10" type="s3.7" />
181    <field name="Statistics Enable" start="11" end="11" type="bool" />
182    <field name="Coarse Pixel Shading Mode" start="12" end="13" type="uint">
183      <value name="CPS_MODE_NONE" value="0" />
184      <value name="CPS_MODE_CONSTANT" value="1" />
185      <value name="CPS_MODE_RADIAL" value="2" />
186    </field>
187    <field name="ScaleAxis" start="14" end="14" type="uint">
188      <value name="X axis" value="0" />
189      <value name="Y axis" value="1" />
190    </field>
191    <field name="MinCPSizeY" start="15" end="25" type="s3.7" />
192    <field name="Combiner1 Opcode for CPsize" start="26" end="28" type="uint">
193      <value name="PASSTHROUGH" value="0" />
194      <value name="OVERRIDE" value="1" />
195      <value name="HIGH_QUALITY" value="2" />
196      <value name="LOW_QUALITY" value="3" />
197      <value name="RELATIVE" value="4" />
198    </field>
199    <field name="Combiner0 Opcode for CPsize" start="29" end="31" type="uint">
200      <value name="PASSTHROUGH" value="0" />
201      <value name="OVERRIDE" value="1" />
202      <value name="HIGH_QUALITY" value="2" />
203      <value name="LOW_QUALITY" value="3" />
204      <value name="RELATIVE" value="4" />
205    </field>
206    <field name="MaxCPSizeX" start="32" end="42" type="s3.7" />
207    <field name="MaxCPSizeY" start="48" end="58" type="s3.7" />
208    <field name="Y_Focal" start="64" end="79" type="int" />
209    <field name="X_Focal" start="96" end="111" type="int" />
210    <field name="My" start="128" end="159" type="uint" />
211    <field name="Mx" start="160" end="191" type="uint" />
212    <field name="Rmin" start="192" end="223" type="uint" />
213    <field name="Aspect" start="224" end="255" type="uint" />
214  </struct>
215  <struct name="MEMORYADDRESSATTRIBUTES" length="1">
216    <field name="MOCS" start="0" end="6" type="uint" nonzero="true" />
217    <field name="Arbitration Priority Control" start="7" end="8" type="HEVC_ARBITRATION_PRIORITY" />
218    <field name="Memory Compression Enable" start="9" end="9" type="bool" />
219    <field name="Memory Compression Mode" start="10" end="10" type="uint" />
220    <field name="Row Store Scratch Buffer Cache Select" start="12" end="12" type="uint">
221      <value name="LLC" value="0" />
222      <value name="Internal Media Storage" value="1" />
223    </field>
224    <field name="Tiled Resource Mode" start="13" end="14" type="uint">
225      <value name="TRMODE_NONE" value="0" />
226      <value name="TRMODE_TILES" value="1" />
227      <value name="TRMODE_TILEX" value="2" />
228      <value name="TRMODE_TILEF" value="3" />
229    </field>
230  </struct>
231  <struct name="MI_MATH_ALU_INSTRUCTION" length="1">
232    <field name="Operand 2" start="0" end="9" type="uint" prefix="MI_ALU">
233      <value name="REG0" value="0x00" />
234      <value name="REG1" value="0x01" />
235      <value name="REG2" value="0x02" />
236      <value name="REG3" value="0x03" />
237      <value name="REG4" value="0x04" />
238      <value name="REG5" value="0x05" />
239      <value name="REG6" value="0x06" />
240      <value name="REG7" value="0x07" />
241      <value name="REG8" value="0x08" />
242      <value name="REG9" value="0x09" />
243      <value name="REG10" value="0x0a" />
244      <value name="REG11" value="0x0b" />
245      <value name="REG12" value="0x0c" />
246      <value name="REG13" value="0x0d" />
247      <value name="REG14" value="0x0e" />
248      <value name="REG15" value="0x0f" />
249      <value name="SRCA" value="0x20" />
250      <value name="SRCB" value="0x21" />
251      <value name="ACCU" value="0x31" />
252      <value name="ZF" value="0x32" />
253      <value name="CF" value="0x33" />
254    </field>
255    <field name="Operand 1" start="10" end="19" type="uint" prefix="MI_ALU">
256      <value name="REG0" value="0x00" />
257      <value name="REG1" value="0x01" />
258      <value name="REG2" value="0x02" />
259      <value name="REG3" value="0x03" />
260      <value name="REG4" value="0x04" />
261      <value name="REG5" value="0x05" />
262      <value name="REG6" value="0x06" />
263      <value name="REG7" value="0x07" />
264      <value name="REG8" value="0x08" />
265      <value name="REG9" value="0x09" />
266      <value name="REG10" value="0x0a" />
267      <value name="REG11" value="0x0b" />
268      <value name="REG12" value="0x0c" />
269      <value name="REG13" value="0x0d" />
270      <value name="REG14" value="0x0e" />
271      <value name="REG15" value="0x0f" />
272      <value name="SRCA" value="0x20" />
273      <value name="SRCB" value="0x21" />
274      <value name="ACCU" value="0x31" />
275      <value name="ZF" value="0x32" />
276      <value name="CF" value="0x33" />
277    </field>
278    <field name="ALU Opcode" start="20" end="31" type="uint" prefix="MI_ALU">
279      <value name="NOOP" value="0x000" />
280      <value name="FENCE_RD" value="0x001" />
281      <value name="FENCE_WR" value="0x002" />
282      <value name="LOAD" value="0x080" />
283      <value name="LOADINV" value="0x480" />
284      <value name="LOAD0" value="0x081" />
285      <value name="LOAD1" value="0x481" />
286      <value name="LOADIND" value="0x082" />
287      <value name="ADD" value="0x100" />
288      <value name="SUB" value="0x101" />
289      <value name="AND" value="0x102" />
290      <value name="OR" value="0x103" />
291      <value name="XOR" value="0x104" />
292      <value name="SHL" value="0x105" />
293      <value name="SHR" value="0x106" />
294      <value name="SAR" value="0x107" />
295      <value name="STORE" value="0x180" />
296      <value name="STOREINV" value="0x580" />
297      <value name="STOREIND" value="0x181" />
298    </field>
299  </struct>
300  <struct name="RENDER_SURFACE_STATE" length="16">
301    <field name="Cube Face Enable - Positive Z" start="0" end="0" type="bool" />
302    <field name="Cube Face Enable - Negative Z" start="1" end="1" type="bool" />
303    <field name="Cube Face Enable - Positive Y" start="2" end="2" type="bool" />
304    <field name="Cube Face Enable - Negative Y" start="3" end="3" type="bool" />
305    <field name="Cube Face Enable - Positive X" start="4" end="4" type="bool" />
306    <field name="Cube Face Enable - Negative X" start="5" end="5" type="bool" />
307    <field name="Media Boundary Pixel Mode" start="6" end="7" type="uint">
308      <value name="NORMAL_MODE" value="0" />
309      <value name="PROGRESSIVE_FRAME" value="2" />
310      <value name="INTERLACED_FRAME" value="3" />
311    </field>
312    <field name="Render Cache Read Write Mode" start="8" end="8" type="uint">
313      <value name="Write-Only Cache" value="0" />
314      <value name="Read-Write Cache" value="1" />
315    </field>
316    <field name="Sampler L2 Bypass Mode Disable" start="9" end="9" type="bool" />
317    <field name="Vertical Line Stride Offset" start="10" end="10" type="uint" />
318    <field name="Vertical Line Stride" start="11" end="11" type="uint" />
319    <field name="Tile Mode" start="12" end="13" type="uint">
320      <value name="LINEAR" value="0" />
321      <value name="TILE64" value="1" />
322      <value name="XMAJOR" value="2" />
323      <value name="TILE4" value="3" />
324    </field>
325    <field name="Surface Horizontal Alignment" start="14" end="15" type="uint">
326      <value name="HALIGN_16" value="0" />
327      <value name="HALIGN_32" value="1" />
328      <value name="HALIGN_64" value="2" />
329      <value name="HALIGN_128" value="3" />
330    </field>
331    <field name="Surface Vertical Alignment" start="16" end="17" type="uint">
332      <value name="VALIGN_4" value="1" />
333      <value name="VALIGN_8" value="2" />
334      <value name="VALIGN_16" value="3" />
335    </field>
336    <field name="Surface Format" start="18" end="26" type="uint" />
337    <field name="Surface Array" start="28" end="28" type="bool" />
338    <field name="Surface Type" start="29" end="31" type="STATE_SURFACE_TYPE" />
339    <field name="Surface QPitch" start="32" end="46" type="uint" />
340    <field name="Sample Tap Discard Disable" start="47" end="47" type="bool" />
341    <field name="Double Fetch Disable" start="49" end="49" type="bool" />
342    <field name="Corner Texel Mode" start="50" end="50" type="uint" />
343    <field name="Base Mip Level" start="51" end="55" type="u4.1" />
344    <field name="MOCS" start="56" end="62" type="uint" nonzero="true" />
345    <field name="Width" start="64" end="77" type="uint" />
346    <field name="Height" start="80" end="93" type="uint" />
347    <field name="Depth Stencil Resource" start="95" end="95" type="bool" />
348    <field name="Surface Pitch" start="96" end="113" type="uint" />
349    <field name="Null Probing Enable" start="114" end="114" type="uint" />
350    <field name="Depth" start="117" end="127" type="uint" />
351    <field name="Multisample Position Palette Index" start="128" end="130" type="uint" />
352    <field name="Number of Multisamples" start="131" end="133" type="uint">
353      <value name="MULTISAMPLECOUNT_1" value="0" />
354      <value name="MULTISAMPLECOUNT_2" value="1" />
355      <value name="MULTISAMPLECOUNT_4" value="2" />
356      <value name="MULTISAMPLECOUNT_8" value="3" />
357      <value name="MULTISAMPLECOUNT_16" value="4" />
358    </field>
359    <field name="Multisampled Surface Storage Format" start="134" end="134" type="uint">
360      <value name="MSFMT_MSS" value="0" />
361      <value name="MSFMT_DEPTH_STENCIL" value="1" />
362    </field>
363    <field name="Render Target View Extent" start="135" end="145" type="uint" />
364    <field name="Minimum Array Element" start="146" end="156" type="uint" />
365    <field name="Render Target And Sample Unorm Rotation" start="157" end="158" type="uint">
366      <value name="0DEG" value="0" />
367      <value name="90DEG" value="1" />
368      <value name="180DEG" value="2" />
369      <value name="270DEG" value="3" />
370    </field>
371    <field name="Decompress In L3" start="159" end="159" type="bool" />
372    <field name="MIP Count / LOD" start="160" end="163" type="uint" />
373    <field name="Surface Min LOD" start="164" end="167" type="uint" />
374    <field name="Mip Tail Start LOD" start="168" end="171" type="uint" />
375    <field name="Coherency Type" start="174" end="174" type="mbz" />
376    <field name="L1 Cache Control" start="176" end="178" type="L1_CACHE_CONTROL" />
377    <field name="EWA Disable For Cube" start="180" end="180" type="bool" />
378    <field name="Y Offset" start="181" end="183" type="uint" />
379    <field name="X Offset" start="185" end="191" type="uint" />
380    <field name="Auxiliary Surface Mode" start="192" end="194" type="uint">
381      <value name="AUX_NONE" value="0" />
382      <value name="AUX_CCS_D" value="1" />
383      <value name="AUX_APPEND" value="2" />
384      <value name="AUX_MCS_LCE" value="4" />
385      <value name="AUX_CCS_E" value="5" />
386    </field>
387    <field name="Y Offset for U or UV Plane" start="192" end="205" type="uint" />
388    <field name="Auxiliary Surface Pitch" start="195" end="204" type="uint" />
389    <field name="YUV Interpolation Enable" start="207" end="207" type="bool" />
390    <field name="Auxiliary Surface QPitch" start="208" end="222" type="uint" />
391    <field name="X Offset for U or UV Plane" start="208" end="221" type="uint" />
392    <field name="Half Pitch for Chroma" start="222" end="222" type="uint" />
393    <field name="Separate UV Plane Enable" start="223" end="223" type="bool" />
394    <field name="Resource Min LOD" start="224" end="235" type="u4.8" />
395    <field name="Shader Channel Select Alpha" start="240" end="242" type="Shader Channel Select" />
396    <field name="Shader Channel Select Blue" start="243" end="245" type="Shader Channel Select" />
397    <field name="Shader Channel Select Green" start="246" end="248" type="Shader Channel Select" />
398    <field name="Shader Channel Select Red" start="249" end="251" type="Shader Channel Select" />
399    <field name="Memory Compression Enable" start="254" end="254" type="bool" />
400    <field name="Memory Compression Mode" start="255" end="255" type="uint">
401      <value name="Media Compression" value="0" />
402      <value name="3D Compression" value="1" />
403    </field>
404    <field name="Surface Base Address" start="256" end="319" type="address" />
405    <field name="Clear Value Address Enable" start="330" end="330" type="bool" />
406    <field name="Caching Expanded Formats" start="331" end="331" type="uint" />
407    <field name="Auxiliary Surface Base Address" start="332" end="383" type="address" />
408    <field name="Compression Format" start="384" end="388" type="uint" />
409    <field name="Clear Value Address" start="390" end="431" type="address" />
410  </struct>
411  <struct name="SLICE_HASH_TABLE" length="224">
412    <group count="7" start="0" size="1024">
413      <group count="16" start="0" size="64">
414        <group count="16" start="0" size="4">
415          <field name="Entry" start="0" end="3" type="uint" />
416        </group>
417      </group>
418    </group>
419  </struct>
420  <struct name="VDENC_SURFACE_CONTROL_BITS" length="1">
421    <field name="MOCS" start="0" end="6" type="uint" nonzero="true" />
422    <field name="Arbitration Priority Control" start="7" end="8" type="uint">
423      <value name="Highest priority" value="0" />
424      <value name="Second highest priority" value="1" />
425      <value name="Third highest priority" value="2" />
426      <value name="Lowest priority" value="3" />
427    </field>
428    <field name="Memory Compression Enable" start="9" end="9" type="bool" />
429    <field name="Memory Compression Mode" start="10" end="10" type="uint" />
430    <field name="Cache Select" start="12" end="12" type="uint" />
431  </struct>
432  <instruction name="3DMESH_1D" bias="2" length="3">
433    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
434    <field name="Predicate Enable" start="8" end="8" type="bool" />
435    <field name="UAV Coherency Required" start="9" end="9" type="bool" />
436    <field name="Indirect Parameter Enable" start="10" end="10" type="bool" />
437    <field name="TBIMR Enabled" start="13" end="13" type="uint" />
438    <field name="Extended Parameter 0 Present" start="14" end="14" type="uint" />
439    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1" />
440    <field name="3D Command Opcode" start="24" end="26" type="uint" default="3" />
441    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
442    <field name="Command Type" start="29" end="31" type="uint" default="3" />
443    <field name="ThreadGroup Count X" start="32" end="63" type="uint" />
444    <field name="Starting ThreadGroup ID X" start="64" end="95" type="uint" />
445    <field name="Extended Parameter 0 (XP0)" start="96" end="127" type="uint" />
446  </instruction>
447  <instruction name="3DMESH_3D" bias="2" length="4">
448    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
449    <field name="Predicate Enable" start="8" end="8" type="bool" />
450    <field name="UAV Coherency Required" start="9" end="9" type="bool" />
451    <field name="Indirect Parameter Enable" start="10" end="10" type="bool" />
452    <field name="TBIMR Enabled" start="13" end="13" type="uint" />
453    <field name="Extended Parameter 0 Present" start="14" end="14" type="uint" />
454    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="2" />
455    <field name="3D Command Opcode" start="24" end="26" type="uint" default="3" />
456    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
457    <field name="Command Type" start="29" end="31" type="uint" default="3" />
458    <field name="ThreadGroup Count X" start="32" end="63" type="uint" />
459    <field name="ThreadGroup Count Y" start="64" end="95" type="uint" />
460    <field name="ThreadGroup Count Z" start="96" end="127" type="uint" />
461    <field name="Extended Parameter 0 (XP0)" start="128" end="159" type="uint" />
462  </instruction>
463  <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
464    <field name="DWord Length" start="0" end="7" type="uint" default="5" />
465    <field name="Predicate Enable" start="8" end="8" type="bool" />
466    <field name="UAV Coherency Required" start="9" end="9" type="bool" />
467    <field name="Indirect Parameter Enable" start="10" end="10" type="bool" />
468    <field name="Extended Parameters Present" start="11" end="11" type="uint" />
469    <field name="TBIMR Enable" start="13" end="13" type="uint" />
470    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="0" />
471    <field name="3D Command Opcode" start="24" end="26" type="uint" default="3" />
472    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
473    <field name="Command Type" start="29" end="31" type="uint" default="3" />
474    <field name="Primitive Topology Type" start="32" end="37" type="3D_Prim_Topo_Type" />
475    <field name="Vertex Access Type" start="40" end="40" type="uint">
476      <value name="SEQUENTIAL" value="0" />
477      <value name="RANDOM" value="1" />
478    </field>
479    <field name="End Offset Enable" start="41" end="41" type="bool" />
480    <field name="Vertex Count Per Instance" start="64" end="95" type="uint" />
481    <field name="Start Vertex Location" start="96" end="127" type="uint" />
482    <field name="Instance Count" start="128" end="159" type="uint" />
483    <field name="Start Instance Location" start="160" end="191" type="uint" />
484    <field name="Base Vertex Location" start="192" end="223" type="int" />
485    <field name="Extended Parameter 0" start="224" end="255" type="uint" />
486    <field name="Extended Parameter 1" start="256" end="287" type="uint" />
487    <field name="Extended Parameter 2" start="288" end="319" type="uint" />
488  </instruction>
489  <instruction name="3DPRIMITIVE_EXTENDED" bias="2" length="10" engine="render">
490    <field name="DWord Length" start="0" end="7" type="uint" default="8" />
491    <field name="Predicate Enable" start="8" end="8" type="bool" />
492    <field name="UAV Coherency Required" start="9" end="9" type="bool" />
493    <field name="Indirect Parameter Enable" start="10" end="10" type="bool" />
494    <field name="Extended Parameters Present" start="11" end="11" type="bool" default="1" />
495    <field name="TBIMR Enable" start="13" end="13" type="uint" />
496    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="0" />
497    <field name="3D Command Opcode" start="24" end="26" type="uint" default="3" />
498    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
499    <field name="Command Type" start="29" end="31" type="uint" default="3" />
500    <field name="Primitive Topology Type" start="32" end="37" type="3D_Prim_Topo_Type" />
501    <field name="Vertex Access Type" start="40" end="40" type="uint">
502      <value name="SEQUENTIAL" value="0" />
503      <value name="RANDOM" value="1" />
504    </field>
505    <field name="End Offset Enable" start="41" end="41" type="bool" />
506    <field name="Vertex Count Per Instance" start="64" end="95" type="uint" />
507    <field name="Start Vertex Location" start="96" end="127" type="uint" />
508    <field name="Instance Count" start="128" end="159" type="uint" />
509    <field name="Start Instance Location" start="160" end="191" type="uint" />
510    <field name="Base Vertex Location" start="192" end="223" type="int" />
511    <field name="Extended Parameter 0" start="224" end="255" type="uint" />
512    <field name="Extended Parameter 1" start="256" end="287" type="uint" />
513    <field name="Extended Parameter 2" start="288" end="319" type="uint" />
514  </instruction>
515  <instruction name="3DSTATE_3D_MODE" bias="2" length="5" engine="render">
516    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
517    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="30" />
518    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
519    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
520    <field name="Command Type" start="29" end="31" type="uint" default="3" />
521    <field name="Cross Slice Hashing Mode" start="32" end="33" type="uint">
522      <value name="Normal Mode" value="0" />
523      <value name="Disable" value="1" />
524      <value name="hashing 32x32" value="3" />
525    </field>
526    <field name="3D Scoreboard Hashing Mode" start="36" end="36" type="bool" />
527    <field name="Subslice Hashing Table Enable" start="37" end="37" type="bool" />
528    <field name="Slice Hashing Table Enable" start="38" end="38" type="bool" />
529    <field name="Cross Slice Hashing Mode Mask" start="48" end="49" type="int" />
530    <field name="3D Scoreboard Hashing Mode Mask" start="52" end="52" type="bool" />
531    <field name="Subslice Hashing Table Enable Mask" start="53" end="53" type="bool" />
532    <field name="Slice Hashing Table Enable Mask" start="54" end="54" type="bool" />
533    <field name="Fast Clear Optimization Enable" start="106" end="106" type="bool" />
534    <field name="Fast Clear Optimization Enable Mask" start="122" end="122" type="bool" />
535  </instruction>
536  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2" engine="render">
537    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
538    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="40" />
539    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
540    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
541    <field name="Command Type" start="29" end="31" type="uint" default="3" />
542    <field name="Pointer to DS Binding Table" start="37" end="52" type="offset" />
543  </instruction>
544  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2" engine="render">
545    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
546    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="41" />
547    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
548    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
549    <field name="Command Type" start="29" end="31" type="uint" default="3" />
550    <field name="Pointer to GS Binding Table" start="37" end="52" type="offset" />
551  </instruction>
552  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2" engine="render">
553    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
554    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="39" />
555    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
556    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
557    <field name="Command Type" start="29" end="31" type="uint" default="3" />
558    <field name="Pointer to HS Binding Table" start="37" end="52" type="offset" />
559  </instruction>
560  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2" engine="render">
561    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
562    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="42" />
563    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
564    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
565    <field name="Command Type" start="29" end="31" type="uint" default="3" />
566    <field name="Pointer to PS Binding Table" start="37" end="52" type="offset" />
567  </instruction>
568  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2" engine="render">
569    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
570    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="38" />
571    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
572    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
573    <field name="Command Type" start="29" end="31" type="uint" default="3" />
574    <field name="Pointer to VS Binding Table" start="37" end="52" type="offset" />
575  </instruction>
576  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4" engine="render|compute">
577    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
578    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="25" />
579    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
580    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
581    <field name="Command Type" start="29" end="31" type="uint" default="3" />
582    <field name="MOCS" start="32" end="38" type="uint" nonzero="true" />
583    <field name="Binding Table Pool Base Address" start="44" end="95" type="address" />
584    <field name="Binding Table Pool Buffer Size" start="108" end="127" type="uint">
585      <value name="No Valid Data" value="0" />
586    </field>
587  </instruction>
588  <instruction name="3DSTATE_BTD" bias="2" length="6" engine="render|compute">
589    <field name="DWord Length" start="0" end="7" type="uint" default="4" />
590    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6" />
591    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
592    <field name="Command SubType" start="27" end="28" type="uint" default="0" />
593    <field name="Command Type" start="29" end="31" type="uint" default="3" />
594    <field name="Dispatch Timeout Counter" start="32" end="33" type="uint">
595      <value name="64 clocks" value="0" />
596      <value name="128 clocks" value="1" />
597      <value name="192 clocks" value="2" />
598      <value name="256 clocks" value="3" />
599    </field>
600    <field name="AMFS Mode" start="35" end="36" type="uint" prefix="AMFS_MODE">
601      <value name="NORMAL" value="0" />
602      <value name="TOUCH" value="1" />
603      <value name="BACKFILL" value="2" />
604      <value name="FALLBACK" value="3" />
605    </field>
606    <field name="Per DSS Memory Backed Buffer Size" start="64" end="66" type="uint" />
607    <field name="Memory Backed Buffer Base Pointer" start="74" end="127" type="address" />
608    <field name="Scratch Space Buffer" start="138" end="159" type="uint" />
609  </instruction>
610  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4" engine="render|compute">
611    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
612    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="4" />
613    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
614    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
615    <field name="Command Type" start="29" end="31" type="uint" default="3" />
616    <field name="ChromaKey Table Index" start="62" end="63" type="uint" />
617    <field name="ChromaKey Low Value" start="64" end="95" type="uint" />
618    <field name="ChromaKey High Value" start="96" end="127" type="uint" />
619  </instruction>
620  <instruction name="3DSTATE_CLIP_MESH" bias="2" length="2">
621    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
622    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="129" />
623    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
624    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
625    <field name="Command Type" start="29" end="31" type="uint" default="3" />
626    <field name="User Clip Distance Cull Test Enable Bitmask" start="32" end="39" type="uint" />
627    <field name="User Clip Distance Clip Test Enable Bitmask" start="40" end="47" type="uint" />
628    <field name="Primitive Header Enable" start="48" end="48" type="uint" />
629  </instruction>
630  <instruction name="3DSTATE_CPSIZE_CONTROL_BUFFER" bias="2" length="8">
631    <field name="DWord Length" start="0" end="7" type="uint" default="6" />
632    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="131" />
633    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
634    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
635    <field name="Command Type" start="29" end="31" type="uint" default="3" />
636    <field name="Surface Pitch" start="32" end="48" type="uint" />
637    <field name="CPCB Compression Enable" start="57" end="57" type="bool" />
638    <field name="Surface Type" start="61" end="63" type="uint" />
639    <field name="Surface Base Address" start="64" end="127" type="address" />
640    <field name="Width" start="129" end="142" type="uint" />
641    <field name="Height" start="145" end="158" type="uint" />
642    <field name="MOCS" start="160" end="166" type="uint" />
643    <field name="Minimum Array Element" start="168" end="178" type="uint" />
644    <field name="Depth" start="180" end="190" type="uint" />
645    <field name="Mip Tail Start LOD" start="218" end="221" type="uint" />
646    <field name="Tiled Mode" start="222" end="223" type="uint">
647      <value name="TILE64" value="1" />
648      <value name="TILE4" value="3" />
649    </field>
650    <field name="Surface QPitch" start="224" end="238" type="uint" />
651    <field name="Surf LOD" start="240" end="243" type="uint" />
652    <field name="Render Target View Extent" start="245" end="255" type="uint" />
653  </instruction>
654  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="10" engine="render">
655    <field name="DWord Length" start="0" end="7" type="uint" default="8" />
656    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="5" />
657    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
658    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
659    <field name="Command Type" start="29" end="31" type="uint" default="3" />
660    <field name="Surface Pitch" start="32" end="49" type="uint" />
661    <field name="Control Surface Enable" start="51" end="51" type="bool" />
662    <field name="Depth Buffer Compression Enable" start="53" end="53" type="bool" />
663    <field name="Hierarchical Depth Buffer Enable" start="54" end="54" type="bool" />
664    <field name="Corner Texel Mode" start="55" end="55" type="bool" />
665    <field name="Surface Format" start="56" end="58" type="uint">
666      <value name="D32_FLOAT" value="1" />
667      <value name="D24_UNORM_X8_UINT" value="3" />
668      <value name="D16_UNORM" value="5" />
669    </field>
670    <field name="Null Page Coherency Enable" start="59" end="59" type="bool" />
671    <field name="Depth Write Enable" start="60" end="60" type="bool" />
672    <field name="Surface Type" start="61" end="63" type="uint">
673      <value name="SURFTYPE_2D" value="1" />
674      <value name="SURFTYPE_CUBE" value="3" />
675      <value name="SURFTYPE_NULL" value="7" />
676    </field>
677    <field name="Surface Base Address" start="64" end="127" type="address" />
678    <field name="Width" start="129" end="142" type="uint" />
679    <field name="Height" start="145" end="158" type="uint" />
680    <field name="MOCS" start="160" end="166" type="uint" nonzero="true" />
681    <field name="Minimum Array Element" start="168" end="178" type="uint" />
682    <field name="Depth" start="180" end="190" type="uint" />
683    <field name="Render Compression Format" start="192" end="196" type="uint" />
684    <field name="Compression Mode" start="197" end="197" type="bool" />
685    <field name="Mip Tail Start LOD" start="218" end="221" type="uint" />
686    <field name="Tiled Mode" start="222" end="223" type="uint">
687      <value name="TILE64" value="1" />
688      <value name="TILE4" value="3" />
689    </field>
690    <field name="Surface QPitch" start="224" end="238" type="uint" />
691    <field name="LOD" start="240" end="243" type="uint" />
692    <field name="Render Target View Extent" start="245" end="255" type="uint" />
693  </instruction>
694  <instruction name="3DSTATE_DS" bias="2" length="11" engine="render">
695    <field name="DWord Length" start="0" end="7" type="uint" default="9" />
696    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="29" />
697    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
698    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
699    <field name="Command Type" start="29" end="31" type="uint" default="3" />
700    <field name="Kernel Start Pointer" start="38" end="95" type="offset" />
701    <field name="Software Exception Enable" start="103" end="103" type="bool" />
702    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
703    <field name="Accesses UAV" start="110" end="110" type="bool" />
704    <field name="Floating Point Mode" start="112" end="112" type="uint">
705      <value name="IEEE-754" value="0" />
706      <value name="Alternate" value="1" />
707    </field>
708    <field name="Thread Dispatch Priority" start="113" end="113" type="uint">
709      <value name="High" value="1" />
710    </field>
711    <field name="Binding Table Entry Count" start="114" end="121" type="uint" />
712    <field name="Sampler Count" start="123" end="125" type="uint">
713      <value name="No Samplers" value="0" />
714      <value name="1-4 Samplers" value="1" />
715      <value name="5-8 Samplers" value="2" />
716      <value name="9-12 Samplers" value="3" />
717      <value name="13-16 Samplers" value="4" />
718    </field>
719    <field name="Vector Mask Enable" start="126" end="126" type="bool" />
720    <field name="Scratch Space Buffer" start="138" end="159" type="uint" />
721    <field name="Patch URB Entry Read Offset" start="196" end="201" type="uint" />
722    <field name="Patch URB Entry Read Length" start="203" end="209" type="uint" />
723    <field name="Dispatch GRF Start Register For URB Data" start="212" end="216" type="uint" />
724    <field name="Enable" start="224" end="224" type="bool" />
725    <field name="Cache Disable" start="225" end="225" type="bool" />
726    <field name="Compute W Coordinate Enable" start="226" end="226" type="bool" />
727    <field name="Dispatch Mode" start="227" end="228" type="uint" prefix="DISPATCH_MODE">
728      <value name="SIMD8_SINGLE_PATCH" value="1" />
729      <value name="SIMD8_SINGLE_OR_DUAL_PATCH" value="2" />
730    </field>
731    <field name="Primitive ID Not Required" start="233" end="233" type="bool" />
732    <field name="Statistics Enable" start="234" end="234" type="bool" />
733    <field name="Maximum Number of Threads" start="245" end="254" type="uint" />
734    <field name="User Clip Distance Cull Test Enable Bitmask" start="256" end="263" type="uint" />
735    <field name="User Clip Distance Clip Test Enable Bitmask" start="264" end="271" type="uint" />
736    <field name="Vertex URB Entry Output Length" start="272" end="276" type="uint" />
737    <field name="Vertex URB Entry Output Read Offset" start="277" end="282" type="uint" />
738    <field name="DUAL_PATCH Kernel Start Pointer" start="294" end="351" type="offset" />
739  </instruction>
740  <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
741    <field name="DWord Length" start="0" end="7" type="uint" default="8" />
742    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="17" />
743    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
744    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
745    <field name="Command Type" start="29" end="31" type="uint" default="3" />
746    <field name="Kernel Start Pointer" start="38" end="95" type="offset" />
747    <field name="Expected Vertex Count" start="96" end="101" type="uint" />
748    <field name="Software Exception Enable" start="103" end="103" type="bool" />
749    <field name="Mask Stack Exception Enable" start="107" end="107" type="bool" />
750    <field name="Accesses UAV" start="108" end="108" type="bool" />
751    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
752    <field name="Floating Point Mode" start="112" end="112" type="uint">
753      <value name="IEEE-754" value="0" />
754      <value name="Alternate" value="1" />
755    </field>
756    <field name="Thread Dispatch Priority" start="113" end="113" type="uint">
757      <value name="High" value="1" />
758    </field>
759    <field name="Binding Table Entry Count" start="114" end="121" type="uint" />
760    <field name="Sampler Count" start="123" end="125" type="uint">
761      <value name="No Samplers" value="0" />
762      <value name="1-4 Samplers" value="1" />
763      <value name="5-8 Samplers" value="2" />
764      <value name="9-12 Samplers" value="3" />
765      <value name="13-16 Samplers" value="4" />
766    </field>
767    <field name="Vector Mask Enable" start="126" end="126" type="bool" />
768    <field name="Single Program Flow" start="127" end="127" type="bool" />
769    <field name="Scratch Space Buffer" start="138" end="159" type="uint" />
770    <field name="Dispatch GRF Start Register For URB Data" start="192" end="195" type="uint" />
771    <field name="Vertex URB Entry Read Offset" start="196" end="201" type="uint" />
772    <field name="Include Vertex Handles" start="202" end="202" type="bool" />
773    <field name="Vertex URB Entry Read Length" start="203" end="208" type="uint" />
774    <field name="Output Topology" start="209" end="214" type="3D_Prim_Topo_Type" />
775    <field name="Output Vertex Size" start="215" end="220" type="uint" />
776    <field name="Dispatch GRF Start Register For URB Data [5:4]" start="221" end="222" type="uint" />
777    <field name="Enable" start="224" end="224" type="bool" />
778    <field name="Discard Adjacency" start="225" end="225" type="bool" />
779    <field name="Reorder Mode" start="226" end="226" type="uint">
780      <value name="LEADING" value="0" />
781      <value name="TRAILING" value="1" />
782    </field>
783    <field name="Hint" start="227" end="227" type="uint" />
784    <field name="Include Primitive ID" start="228" end="228" type="bool" />
785    <field name="Invocations Increment Value" start="229" end="233" type="uint" />
786    <field name="Statistics Enable" start="234" end="234" type="bool" />
787    <field name="Dispatch Mode" start="235" end="236" type="uint" prefix="DISPATCH_MODE">
788      <value name="SIMD8" value="3" />
789    </field>
790    <field name="Default Stream Id" start="237" end="238" type="uint" />
791    <field name="Instance Control" start="239" end="243" type="uint" />
792    <field name="Control Data Header Size" start="244" end="247" type="uint" />
793    <field name="Maximum Number of Threads" start="256" end="264" type="uint" />
794    <field name="Static Output Vertex Count" start="272" end="282" type="uint" />
795    <field name="Static Output" start="286" end="286" type="bool" />
796    <field name="Control Data Format" start="287" end="287" type="uint">
797      <value name="CUT" value="0" />
798      <value name="SID" value="1" />
799    </field>
800    <field name="User Clip Distance Cull Test Enable Bitmask" start="288" end="295" type="uint" />
801    <field name="User Clip Distance Clip Test Enable Bitmask" start="296" end="303" type="uint" />
802    <field name="Vertex URB Entry Output Length" start="304" end="308" type="uint" />
803    <field name="Vertex URB Entry Output Read Offset" start="309" end="314" type="uint" />
804  </instruction>
805  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5" engine="render">
806    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
807    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="7" />
808    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
809    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
810    <field name="Command Type" start="29" end="31" type="uint" default="3" />
811    <field name="Surface Pitch" start="32" end="48" type="uint" />
812    <field name="Hierarchical Depth Buffer Write Thru Enable" start="52" end="52" type="bool" />
813    <field name="Tiled Mode" start="54" end="55" type="uint">
814      <value name="TILE64" value="1" />
815      <value name="TILE4" value="3" />
816    </field>
817    <field name="MOCS" start="57" end="63" type="uint" nonzero="true" />
818    <field name="Surface Base Address" start="64" end="127" type="address" />
819    <field name="Surface QPitch" start="128" end="142" type="uint" />
820  </instruction>
821  <instruction name="3DSTATE_HS" bias="2" length="9" engine="render">
822    <field name="DWord Length" start="0" end="7" type="uint" default="7" />
823    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="27" />
824    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
825    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
826    <field name="Command Type" start="29" end="31" type="uint" default="3" />
827    <field name="Software Exception Enable" start="44" end="44" type="bool" />
828    <field name="Illegal Opcode Exception Enable" start="45" end="45" type="bool" />
829    <field name="Floating Point Mode" start="48" end="48" type="uint">
830      <value name="IEEE-754" value="0" />
831      <value name="alternate" value="1" />
832    </field>
833    <field name="Thread Dispatch Priority" start="49" end="49" type="uint">
834      <value name="High" value="1" />
835    </field>
836    <field name="Binding Table Entry Count" start="50" end="57" type="uint" />
837    <field name="Sampler Count" start="59" end="61" type="uint">
838      <value name="No Samplers" value="0" />
839      <value name="1-4 Samplers" value="1" />
840      <value name="5-8 Samplers" value="2" />
841      <value name="9-12 Samplers" value="3" />
842      <value name="13-16 Samplers" value="4" />
843    </field>
844    <field name="Instance Count" start="64" end="68" type="uint" />
845    <field name="Maximum Number of Threads" start="72" end="80" type="uint" />
846    <field name="Statistics Enable" start="93" end="93" type="bool" />
847    <field name="Enable" start="95" end="95" type="bool" />
848    <field name="Kernel Start Pointer" start="102" end="159" type="offset" />
849    <field name="Scratch Space Buffer" start="170" end="191" type="uint" />
850    <field name="Include Primitive ID" start="224" end="224" type="bool" />
851    <field name="Patch Count Threshold" start="225" end="227" type="uint" />
852    <field name="Vertex URB Entry Read Offset" start="228" end="233" type="uint" />
853    <field name="Vertex URB Entry Read Length" start="235" end="240" type="uint" />
854    <field name="Dispatch Mode" start="241" end="242" type="uint" prefix="DISPATCH_MODE">
855      <value name="SINGLE_PATCH" value="0" />
856      <value name="8_PATCH" value="2" />
857    </field>
858    <field name="Dispatch GRF Start Register For URB Data" start="243" end="247" type="uint" />
859    <field name="Include Vertex Handles" start="248" end="248" type="bool" />
860    <field name="Accesses UAV" start="249" end="249" type="bool" />
861    <field name="Vector Mask Enable" start="250" end="250" type="bool" />
862    <field name="Single Program Flow" start="251" end="251" type="bool" />
863    <field name="Dispatch GRF Start Register For URB Data [5]" start="252" end="252" type="uint" />
864  </instruction>
865  <instruction name="3DSTATE_MESH_CONTROL" bias="2" length="3">
866    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
867    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="119" />
868    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
869    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
870    <field name="Command Type" start="29" end="31" type="uint" default="3" />
871    <field name="Maximum Number of ThreadGroups" start="32" end="40" type="uint" />
872    <field name="Thread Dispatch Priority" start="60" end="60" type="uint">
873      <value name="High" value="1" />
874    </field>
875    <field name="Fused EU Dispatch" start="61" end="61" type="bool" />
876    <field name="Statistics Enable" start="62" end="62" type="bool" />
877    <field name="MeshShader Enable" start="63" end="63" type="uint" />
878    <field name="Scratch Space Buffer" start="74" end="95" type="uint" />
879  </instruction>
880  <instruction name="3DSTATE_MESH_DISTRIB" bias="2" length="2">
881    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
882    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="120" />
883    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
884    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
885    <field name="Command Type" start="29" end="31" type="uint" default="3" />
886    <field name="Mesh Distribution Disable" start="32" end="32" type="bool" />
887    <field name="Task Distribution Disable" start="33" end="33" type="bool" />
888    <field name="Distribution Mode" start="34" end="34" type="uint" prefix="MESH">
889      <value name="RR_FREE" value="1" />
890      <value name="RR_STRICT" value="0" />
891    </field>
892    <field name="Mesh Distribution Batch Size" start="36" end="39" type="uint" />
893    <field name="Task Distribution Batch Size" start="42" end="45" type="uint" />
894  </instruction>
895  <instruction name="3DSTATE_MESH_SHADER" bias="2" length="8">
896    <field name="DWord Length" start="0" end="7" type="uint" default="6" />
897    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="122" />
898    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
899    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
900    <field name="Command Type" start="29" end="31" type="uint" default="3" />
901    <field name="Kernel Start Pointer" start="38" end="95" type="offset" />
902    <field name="Local X Maximum" start="96" end="105" type="uint" />
903    <field name="Software Exception Enable" start="106" end="106" type="bool" />
904    <field name="Mask Stack Exception Enable" start="107" end="107" type="bool" />
905    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
906    <field name="Floating Point Mode" start="112" end="112" type="uint">
907      <value name="IEEE-754" value="0" />
908      <value name="Alternate" value="1" />
909    </field>
910    <field name="Single Program Flow" start="114" end="114" type="uint" />
911    <field name="Denorm Mode" start="115" end="115" type="uint">
912      <value name="Ftz" value="0" />
913      <value name="SetByKernel" value="1" />
914    </field>
915    <field name="Number of Threads in GPGPU Thread Group" start="128" end="137" type="uint" />
916    <field name="Shared Local Memory Size" start="144" end="148" type="uint" />
917    <field name="Barrier Enable" start="149" end="149" type="bool" />
918    <field name="Rounding Mode" start="150" end="151" type="uint">
919      <value name="RTNE" value="0" />
920      <value name="RU" value="1" />
921      <value name="RD" value="2" />
922      <value name="RTZ" value="3" />
923    </field>
924    <field name="Preferred SLM Allocation Size" start="152" end="155" type="PREF_SLM_ALLOCATION_SIZE" />
925    <field name="Number of Barriers" start="156" end="158" type="uint" />
926    <field name="Indirect Data Length" start="160" end="176" type="uint" />
927    <field name="L3 Prefetch Disable" start="177" end="177" type="bool" />
928    <field name="Emit Local ID X" start="178" end="178" type="bool" />
929    <field name="Emit Inline Parameter" start="179" end="179" type="bool" />
930    <field name="Systolic Mode Enable" start="180" end="180" type="bool" />
931    <field name="Accesses UAV" start="181" end="181" type="bool" />
932    <field name="XP0 Required" start="182" end="182" type="uint" />
933    <field name="Message SIMD" start="188" end="189" type="uint">
934      <value name="SIMD8" value="0" />
935      <value name="SIMD16" value="1" />
936      <value name="SIMD32" value="2" />
937    </field>
938    <field name="SIMD Size" start="190" end="191" type="uint">
939      <value name="SIMD8" value="0" />
940      <value name="SIMD16" value="1" />
941      <value name="SIMD32" value="2" />
942    </field>
943    <field name="Execution Mask" start="192" end="223" type="uint" />
944    <field name="Maximum Primitive Count" start="224" end="233" type="uint" />
945    <field name="Per-Primitive Data Pitch" start="236" end="240" type="uint" />
946    <field name="Per-Vertex Data Pitch" start="244" end="248" type="uint" />
947    <field name="Index Format" start="249" end="251" type="uint" prefix="INDEX">
948      <value name="U888X" value="0" />
949      <value name="U101010X" value="1" />
950      <value name="U8" value="4" />
951      <value name="U16" value="5" />
952      <value name="U32" value="3" />
953    </field>
954    <field name="Output Topology" start="252" end="253" type="uint" prefix="OUTPUT">
955      <value name="POINT" value="0" />
956      <value name="LINE" value="1" />
957      <value name="TRI" value="2" />
958    </field>
959    <field name="Per-Primitive Data Present" start="255" end="255" type="uint" />
960  </instruction>
961  <instruction name="3DSTATE_MESH_SHADER_DATA" bias="2" length="10">
962    <field name="DWord Length" start="0" end="7" type="uint" default="8" />
963    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="123" />
964    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
965    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
966    <field name="Command Type" start="29" end="31" type="uint" default="3" />
967    <field name="Indirect Data Start Address" start="38" end="63" type="offset" />
968    <group count="8" start="64" size="32">
969      <field name="Inline Data" start="0" end="31" type="uint" />
970    </group>
971  </instruction>
972  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2" engine="render|compute">
973    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
974    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="17" />
975    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
976    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
977    <field name="Command Type" start="29" end="31" type="uint" default="3" />
978    <field name="Monochrome Filter Height" start="32" end="34" type="uint" />
979    <field name="Monochrome Filter Width" start="35" end="37" type="uint" />
980  </instruction>
981  <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
982    <field name="DWord Length" start="0" end="7" type="uint" default="10" />
983    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="32" />
984    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
985    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
986    <field name="Command Type" start="29" end="31" type="uint" default="3" />
987    <field name="Kernel Start Pointer 0" start="38" end="95" type="offset" />
988    <field name="Software Exception Enable" start="103" end="103" type="bool" />
989    <field name="Mask Stack Exception Enable" start="107" end="107" type="bool" />
990    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
991    <field name="Rounding Mode" start="110" end="111" type="uint">
992      <value name="RTNE" value="0" />
993      <value name="RU" value="1" />
994      <value name="RD" value="2" />
995      <value name="RTZ" value="3" />
996    </field>
997    <field name="Floating Point Mode" start="112" end="112" type="uint">
998      <value name="IEEE-754" value="0" />
999      <value name="Alternate" value="1" />
1000    </field>
1001    <field name="Thread Dispatch Priority" start="113" end="113" type="uint">
1002      <value name="High" value="1" />
1003    </field>
1004    <field name="Binding Table Entry Count" start="114" end="121" type="uint" />
1005    <field name="Single Precision Denormal Mode" start="122" end="122" type="uint">
1006      <value name="Flushed to Zero" value="0" />
1007      <value name="Retained" value="1" />
1008    </field>
1009    <field name="Sampler Count" start="123" end="125" type="uint">
1010      <value name="No Samplers" value="0" />
1011      <value name="1-4 Samplers" value="1" />
1012      <value name="5-8 Samplers" value="2" />
1013      <value name="9-12 Samplers" value="3" />
1014      <value name="13-16 Samplers" value="4" />
1015    </field>
1016    <field name="Vector Mask Enable" start="126" end="126" type="bool" />
1017    <field name="Single Program Flow" start="127" end="127" type="bool" />
1018    <field name="Scratch Space Buffer" start="138" end="159" type="uint" />
1019    <field name="8 Pixel Dispatch Enable" start="192" end="192" type="bool" />
1020    <field name="16 Pixel Dispatch Enable" start="193" end="193" type="bool" />
1021    <field name="32 Pixel Dispatch Enable" start="194" end="194" type="bool" />
1022    <field name="Position XY Offset Select" start="195" end="196" type="uint">
1023      <value name="POSOFFSET_NONE" value="0" />
1024      <value name="POSOFFSET_CENTROID" value="2" />
1025      <value name="POSOFFSET_SAMPLE" value="3" />
1026    </field>
1027    <field name="Dual SIMD8 Dispatch Enable" start="197" end="197" type="bool" />
1028    <field name="Render Target Resolve Type" start="198" end="199" type="uint">
1029      <value name="RESOLVE_DISABLED" value="0" />
1030      <value name="RESOLVE_PARTIAL" value="1" />
1031      <value name="FAST_CLEAR_0" value="2" />
1032      <value name="RESOLVE_FULL" value="3" />
1033    </field>
1034    <field name="Render Target Fast Clear Enable" start="200" end="200" type="bool" />
1035    <field name="Overlapping Subspans Enable" start="201" end="201" type="bool" />
1036    <field name="Push Constant Enable" start="203" end="203" type="bool" />
1037    <field name="Maximum Number of Threads Per PSD" start="215" end="223" type="uint" />
1038    <field name="Dispatch GRF Start Register For Constant/Setup Data 2" start="224" end="230" type="uint" />
1039    <field name="Dispatch GRF Start Register For Constant/Setup Data 1" start="232" end="238" type="uint" />
1040    <field name="Dispatch GRF Start Register For Constant/Setup Data 0" start="240" end="246" type="uint" />
1041    <field name="Kernel Start Pointer 1" start="262" end="319" type="offset" />
1042    <field name="Kernel Start Pointer 2" start="326" end="383" type="offset" />
1043  </instruction>
1044  <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
1045    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1046    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="79" />
1047    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1048    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1049    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1050    <field name="Input Coverage Mask State" start="32" end="33" type="uint" prefix="ICMS">
1051      <value name="NONE" value="0" />
1052      <value name="NORMAL" value="1" />
1053      <value name="INNER_CONSERVATIVE" value="2" />
1054      <value name="DEPTH_COVERAGE" value="3" />
1055    </field>
1056    <field name="Pixel Shader Has UAV" start="34" end="34" type="bool" />
1057    <field name="Pixel Shader Pulls Bary" start="35" end="35" type="bool" />
1058    <field name="Pixel Shader Is Per Coarse Pixel" start="36" end="36" type="bool" />
1059    <field name="Pixel Shader Computes Stencil" start="37" end="37" type="bool" />
1060    <field name="Pixel Shader Is Per Sample" start="38" end="38" type="bool" />
1061    <field name="Pixel Shader Disables Alpha To Coverage" start="39" end="39" type="bool" />
1062    <field name="Attribute Enable" start="40" end="40" type="bool" />
1063    <field name="Simple PS Hint" start="41" end="41" type="bool" />
1064    <field name="Enable PS Dependency On CPsize Change" start="49" end="49" type="bool" />
1065    <field name="Pixel Shader Requires Subpixel Sample Offsets" start="50" end="50" type="bool" />
1066    <field name="Pixel Shader Requires Non-Perspective Bary Plane Coefficients" start="51" end="51" type="bool" />
1067    <field name="Pixel Shader Requires Perspective Bary Plane Coefficients" start="52" end="52" type="bool" />
1068    <field name="Pixel Shader Requires Source Depth and/or W Plane Coefficients" start="53" end="53" type="bool" />
1069    <field name="Pixel Shader Requires Requested Coarse Pixel Shading Size" start="54" end="54" type="bool" />
1070    <field name="Pixel Shader Uses Source W" start="55" end="55" type="bool" />
1071    <field name="Pixel Shader Uses Source Depth" start="56" end="56" type="bool" />
1072    <field name="Force Computed Depth" start="57" end="57" type="bool" />
1073    <field name="Pixel Shader Computed Depth Mode" start="58" end="59" type="uint">
1074      <value name="PSCDEPTH_OFF" value="0" />
1075      <value name="PSCDEPTH_ON" value="1" />
1076      <value name="PSCDEPTH_ON_GE" value="2" />
1077      <value name="PSCDEPTH_ON_LE" value="3" />
1078    </field>
1079    <field name="Pixel Shader Kills Pixel" start="60" end="60" type="bool" />
1080    <field name="oMask Present to Render Target" start="61" end="61" type="bool" />
1081    <field name="Pixel Shader Does not write to RT" start="62" end="62" type="mbz" />
1082    <field name="Pixel Shader Valid" start="63" end="63" type="bool" />
1083  </instruction>
1084  <instruction name="3DSTATE_SBE_MESH" bias="2" length="2">
1085    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1086    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="130" />
1087    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1088    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1089    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1090    <field name="Per-Vertex URB Entry Output Read Length" start="32" end="36" type="uint" />
1091    <field name="Per-Vertex URB Entry Output Read Offset" start="37" end="42" type="uint" />
1092    <field name="Per-Primitive URB Entry Output Read Length" start="43" end="47" type="uint" />
1093    <field name="Per-Primitive URB Entry Output Read Offset" start="48" end="53" type="uint" />
1094  </instruction>
1095  <instruction name="3DSTATE_SF" bias="2" length="4" engine="render">
1096    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
1097    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="19" />
1098    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1099    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1100    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1101    <field name="Viewport Transform Enable" start="33" end="33" type="bool" />
1102    <field name="Statistics Enable" start="42" end="42" type="bool" />
1103    <field name="Legacy Global Depth Bias Enable" start="43" end="43" type="bool" />
1104    <field name="Line Width" start="44" end="61" type="u11.7" />
1105    <field name="Line End Cap Antialiasing Region Width" start="80" end="81" type="uint">
1106      <value name="0.5 pixels" value="0" />
1107      <value name="1.0 pixels" value="1" />
1108      <value name="2.0 pixels" value="2" />
1109      <value name="4.0 pixels" value="3" />
1110    </field>
1111    <field name="Deref Block Size" start="93" end="94" type="uint">
1112      <value name="Block Deref Size 32" value="0" />
1113      <value name="Per Poly Deref Mode" value="1" />
1114      <value name="Block Deref Size 8" value="2" />
1115      <value name="Mesh Shader EODB" value="3" />
1116    </field>
1117    <field name="Point Width" start="96" end="106" type="u8.3" />
1118    <field name="Point Width Source" start="107" end="107" type="uint">
1119      <value name="Vertex" value="0" />
1120      <value name="State" value="1" />
1121    </field>
1122    <field name="Vertex Sub Pixel Precision Select" start="108" end="108" type="uint">
1123      <value name="8 Bit" value="0" />
1124      <value name="4 Bit" value="1" />
1125    </field>
1126    <field name="Smooth Point Enable" start="109" end="109" type="bool" />
1127    <field name="AA Line Distance Mode" start="110" end="110" type="uint">
1128      <value name="AALINEDISTANCE_TRUE" value="1" />
1129    </field>
1130    <field name="Triangle Fan Provoking Vertex Select" start="121" end="122" type="uint" />
1131    <field name="Line Strip/List Provoking Vertex Select" start="123" end="124" type="uint" />
1132    <field name="Triangle Strip/List Provoking Vertex Select" start="125" end="126" type="uint" />
1133    <field name="Last Pixel Enable" start="127" end="127" type="bool" />
1134  </instruction>
1135  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="8" engine="render">
1136    <field name="DWord Length" start="0" end="7" type="uint" default="6" />
1137    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6" />
1138    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1139    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1140    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1141    <field name="Surface Pitch" start="32" end="48" type="uint" />
1142    <field name="Corner Texel Mode" start="55" end="55" type="bool" />
1143    <field name="Control Surface Enable" start="56" end="56" type="bool" />
1144    <field name="Stencil Compression Enable" start="57" end="57" type="bool" />
1145    <field name="Null Page Coherency Enable" start="59" end="59" type="bool" />
1146    <field name="Stencil Write Enable" start="60" end="60" type="bool" />
1147    <field name="Surface Type" start="61" end="63" type="uint">
1148      <value name="SURFTYPE_2D" value="1" />
1149      <value name="SURFTYPE_CUBE" value="3" />
1150      <value name="SURFTYPE_NULL" value="7" />
1151    </field>
1152    <field name="Surface Base Address" start="64" end="127" type="address" />
1153    <field name="Width" start="129" end="142" type="uint" />
1154    <field name="Height" start="145" end="158" type="uint" />
1155    <field name="MOCS" start="160" end="166" type="uint" nonzero="true" />
1156    <field name="Minimum Array Element" start="168" end="178" type="uint" />
1157    <field name="Depth" start="180" end="190" type="uint" />
1158    <field name="Render Compression Format" start="192" end="196" type="uint" />
1159    <field name="Compression Mode" start="197" end="197" type="bool" />
1160    <field name="Mip Tail Start LOD" start="218" end="221" type="uint" />
1161    <field name="Tiled Mode" start="222" end="223" type="uint">
1162      <value name="TILE64" value="1" />
1163      <value name="TILE4" value="3" />
1164    </field>
1165    <field name="Surface QPitch" start="224" end="238" type="uint" />
1166    <field name="Surf LOD" start="240" end="243" type="uint" />
1167    <field name="Render Target View Extent" start="245" end="255" type="uint" />
1168  </instruction>
1169  <instruction name="3DSTATE_TASK_CONTROL" bias="2" length="3">
1170    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
1171    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="124" />
1172    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1173    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1174    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1175    <field name="Maximum Number of ThreadGroups" start="32" end="40" type="uint" />
1176    <field name="Thread Dispatch Priority" start="60" end="60" type="uint">
1177      <value name="High" value="1" />
1178    </field>
1179    <field name="Fused EU Dispatch" start="61" end="61" type="bool" />
1180    <field name="Statistics Enable" start="62" end="62" type="bool" />
1181    <field name="TaskShader Enable" start="63" end="63" type="uint" />
1182    <field name="Scratch Space Buffer" start="74" end="95" type="uint" />
1183  </instruction>
1184  <instruction name="3DSTATE_TASK_REDISTRIB" bias="2" length="2">
1185    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1186    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="121" />
1187    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1188    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1189    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1190    <field name="Task Redistribution Mode" start="32" end="33" type="uint">
1191      <value name="TASKREDISTRIB_OFF" value="0" />
1192      <value name="TASKREDISTRIB_RR_STRICT" value="1" />
1193      <value name="TASKREDISTRIB_RR_FREE" value="2" />
1194    </field>
1195    <field name="Task Redistribution Level" start="34" end="35" type="uint">
1196      <value name="TASKREDISTRIB_TASK" value="0" />
1197      <value name="TASKREDISTRIB_BOM" value="1" />
1198    </field>
1199    <field name="Target Mesh Batch Size" start="36" end="39" type="uint" />
1200    <field name="Small TaskThreshold" start="42" end="44" type="uint" />
1201    <field name="Local BOT Accumulator Threshold" start="48" end="49" type="uint">
1202      <value name="MULTIPLIER_0" value="0" />
1203      <value name="MULTIPLIER_1" value="1" />
1204      <value name="MULTIPLIER_2" value="2" />
1205      <value name="MULTIPLIER_4" value="3" />
1206    </field>
1207  </instruction>
1208  <instruction name="3DSTATE_TASK_SHADER" bias="2" length="7">
1209    <field name="DWord Length" start="0" end="7" type="uint" default="5" />
1210    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="125" />
1211    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1212    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1213    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1214    <field name="Kernel Start Pointer" start="38" end="95" type="offset" />
1215    <field name="Local X Maximum" start="96" end="105" type="uint" />
1216    <field name="Software Exception Enable" start="106" end="106" type="bool" />
1217    <field name="Mask Stack Exception Enable" start="107" end="107" type="bool" />
1218    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
1219    <field name="Floating Point Mode" start="112" end="112" type="uint">
1220      <value name="IEEE-754" value="0" />
1221      <value name="Alternate" value="1" />
1222    </field>
1223    <field name="Single Program Flow" start="114" end="114" type="uint" />
1224    <field name="Denorm Mode" start="115" end="115" type="uint">
1225      <value name="Ftz" value="0" />
1226      <value name="SetByKernel" value="1" />
1227    </field>
1228    <field name="Number of Threads in GPGPU Thread Group" start="128" end="137" type="uint" />
1229    <field name="Shared Local Memory Size" start="144" end="148" type="uint" />
1230    <field name="Barrier Enable" start="149" end="149" type="bool" />
1231    <field name="Rounding Mode" start="150" end="151" type="uint">
1232      <value name="RTNE" value="0" />
1233      <value name="RU" value="1" />
1234      <value name="RD" value="2" />
1235      <value name="RTZ" value="3" />
1236    </field>
1237    <field name="Preferred SLM Allocation Size" start="152" end="155" type="uint" />
1238    <field name="Number of Barriers" start="156" end="158" type="uint" />
1239    <field name="Indirect Data Length" start="160" end="176" type="uint" />
1240    <field name="L3 Prefetch Disable" start="177" end="177" type="bool" />
1241    <field name="Emit Local ID X" start="178" end="178" type="bool" />
1242    <field name="Emit Inline Parameter" start="179" end="179" type="bool" />
1243    <field name="Systolic Mode Enable" start="180" end="180" type="bool" />
1244    <field name="Accesses UAV" start="181" end="181" type="bool" />
1245    <field name="XP0 Required" start="182" end="182" type="uint" />
1246    <field name="Message SIMD" start="188" end="189" type="uint">
1247      <value name="SIMD8" value="0" />
1248      <value name="SIMD16" value="1" />
1249      <value name="SIMD32" value="2" />
1250    </field>
1251    <field name="SIMD Size" start="190" end="191" type="uint">
1252      <value name="SIMD8" value="0" />
1253      <value name="SIMD16" value="1" />
1254      <value name="SIMD32" value="2" />
1255    </field>
1256    <field name="Execution Mask" start="192" end="223" type="uint" />
1257  </instruction>
1258  <instruction name="3DSTATE_TASK_SHADER_DATA" bias="2" length="10">
1259    <field name="DWord Length" start="0" end="7" type="uint" default="8" />
1260    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="126" />
1261    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1262    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1263    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1264    <field name="Indirect Data Start Address" start="38" end="63" type="offset" />
1265    <group count="8" start="64" size="32">
1266      <field name="Inline Data" start="0" end="31" type="uint" />
1267    </group>
1268  </instruction>
1269  <instruction name="3DSTATE_TBIMR_TILE_PASS_INFO" bias="2" length="4">
1270    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
1271    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="110" />
1272    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1273    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1274    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1275    <field name="Tile Rectangle Height" start="32" end="46" type="uint" />
1276    <field name="Tile Rectangle Width" start="48" end="62" type="uint" />
1277    <field name="Vertical Tile Count" start="64" end="79" type="uint" />
1278    <field name="Horizontal Tile Count" start="80" end="95" type="uint" />
1279    <field name="Walk Pattern" start="96" end="96" type="uint" />
1280    <field name="Tile Box Check" start="98" end="98" type="uint" />
1281    <field name="TBIMR Batch Size" start="99" end="101" type="uint" />
1282  </instruction>
1283  <instruction name="3DSTATE_TE" bias="2" length="4" engine="render">
1284    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
1285    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="28" />
1286    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1287    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1288    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1289    <field name="TE Enable" start="32" end="32" type="bool" />
1290    <field name="TE Mode" start="33" end="34" type="uint">
1291      <value name="HW_TESS" value="0" />
1292    </field>
1293    <field name="TE Domain" start="36" end="37" type="uint">
1294      <value name="QUAD" value="0" />
1295      <value name="TRI" value="1" />
1296      <value name="ISOLINE" value="2" />
1297    </field>
1298    <field name="Output Topology" start="40" end="41" type="uint" prefix="OUTPUT">
1299      <value name="POINT" value="0" />
1300      <value name="LINE" value="1" />
1301      <value name="TRI_CW" value="2" />
1302      <value name="TRI_CCW" value="3" />
1303    </field>
1304    <field name="Partitioning" start="44" end="45" type="uint">
1305      <value name="INTEGER" value="0" />
1306      <value name="ODD_FRACTIONAL" value="1" />
1307      <value name="EVEN_FRACTIONAL" value="2" />
1308    </field>
1309    <field name="Tessellation Distribution Mode" start="46" end="47" type="uint">
1310      <value name="TEDMODE_OFF" value="0" />
1311      <value name="TEDMODE_RR_STRICT" value="1" />
1312      <value name="TEDMODE_RR_FREE" value="2" />
1313    </field>
1314    <field name="Tessellation Distribution Level" start="49" end="50" type="uint">
1315      <value name="TEDLEVEL_PATCH" value="0" />
1316    </field>
1317    <field name="Small Patch Threshold" start="56" end="57" type="uint">
1318      <value name="SPT_8_TRIANGLES" value="0" />
1319      <value name="SPT_16_TRIANGLES" value="1" />
1320      <value name="SPT_32_TRIANGLES" value="2" />
1321      <value name="SPT_64_TRIANGLES" value="3" />
1322    </field>
1323    <field name="Target Block Size" start="58" end="61" type="uint">
1324      <value name="64_TRIANGLES" value="0" />
1325      <value name="96_TRIANGLES" value="1" />
1326      <value name="128_TRIANGLES" value="2" />
1327      <value name="192_TRIANGLES" value="3" />
1328      <value name="256_TRIANGLES" value="4" />
1329      <value name="384_TRIANGLES" value="5" />
1330      <value name="512_TRIANGLES" value="6" />
1331      <value name="768_TRIANGLES" value="7" />
1332      <value name="1K_TRIANGLES" value="8" />
1333      <value name="1.5K_TRIANGLES" value="9" />
1334      <value name="2K_TRIANGLES" value="10" />
1335      <value name="3K_TRIANGLES" value="11" />
1336      <value name="4K_TRIANGLES" value="12" />
1337      <value name="6K_TRIANGLES" value="13" />
1338      <value name="8K_TRIANGLES" value="14" />
1339      <value name="12K_TRIANGLES" value="15" />
1340    </field>
1341    <field name="Local BOP Accumulator Threshold" start="62" end="63" type="uint">
1342      <value name="MULTIPLIER_0" value="0" />
1343      <value name="MULTIPLIER_1" value="1" />
1344      <value name="MULTIPLIER_2" value="2" />
1345      <value name="MULTIPLIER_3" value="3" />
1346    </field>
1347    <field name="Maximum Tessellation Factor Odd" start="64" end="95" type="float" />
1348    <field name="Maximum Tessellation Factor Not Odd" start="96" end="127" type="float" />
1349  </instruction>
1350  <instruction name="3DSTATE_URB_ALLOC_MESH" bias="2" length="3">
1351    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
1352    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="127" />
1353    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1354    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1355    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1356    <field name="MESH URB Entry Allocation Size" start="32" end="41" type="uint" />
1357    <field name="MESH URB Starting Address Slice0" start="42" end="49" type="uint" />
1358    <field name="MESH URB Starting Address SliceN" start="53" end="60" type="uint" />
1359    <field name="MESH Number of URB Entries Slice0" start="64" end="79" type="uint" />
1360    <field name="MESH Number of URB Entries SliceN" start="80" end="95" type="uint" />
1361  </instruction>
1362  <instruction name="3DSTATE_URB_ALLOC_TASK" bias="2" length="3">
1363    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
1364    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="128" />
1365    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1366    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1367    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1368    <field name="TASK URB Entry Allocation Size" start="32" end="41" type="uint" />
1369    <field name="TASK URB Starting Address Slice0" start="42" end="49" type="uint" />
1370    <field name="TASK URB Starting Address SliceN" start="53" end="60" type="uint" />
1371    <field name="TASK Number of URB Entries Slice0" start="64" end="79" type="uint" />
1372    <field name="TASK Number of URB Entries SliceN" start="80" end="95" type="uint" />
1373  </instruction>
1374  <instruction name="3DSTATE_VF" bias="2" length="2" engine="render">
1375    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1376    <field name="Indexed Draw Cut Index Enable" start="8" end="8" type="bool" />
1377    <field name="Component Packing Enable" start="9" end="9" type="bool" />
1378    <field name="Sequential Draw Cut Index Enable" start="10" end="10" type="bool" />
1379    <field name="VertexID Offset Enable" start="11" end="11" type="bool" />
1380    <field name="Geometry Distribution Enable" start="12" end="12" type="bool" />
1381    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="12" />
1382    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1383    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1384    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1385    <field name="Cut Index" start="32" end="63" type="uint" />
1386  </instruction>
1387  <instruction name="3DSTATE_VFG" bias="2" length="4">
1388    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
1389    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="87" />
1390    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1391    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1392    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1393    <field name="Distribution Granularity" start="32" end="33" type="uint">
1394      <value name="Batch Level Granularity" value="0" />
1395      <value name="Instance Level Granularity" value="1" />
1396      <value name="Draw Level Granularity" value="2" />
1397    </field>
1398    <field name="Granularity Threshold Disable" start="34" end="34" type="bool" />
1399    <field name="List Cut Index Enable" start="35" end="35" type="bool" />
1400    <field name="Distribution Mode" start="36" end="36" type="uint">
1401      <value name="RR_STRICT" value="0" />
1402      <value name="RR_FREE" value="1" />
1403    </field>
1404    <field name="List 1 Batch Size Scale" start="64" end="66" type="uint" />
1405    <field name="List 2 Batch Size Scale" start="72" end="74" type="uint" />
1406    <field name="List 3 Batch Size Scale" start="80" end="82" type="uint" />
1407    <field name="List N Batch Size Scale" start="88" end="90" type="uint" />
1408    <field name="Strip Batch Size Scale" start="96" end="98" type="uint" />
1409    <field name="Patch Batch Size Scale" start="104" end="106" type="uint" />
1410    <field name="Patch Batch Size Multiplier" start="112" end="116" type="uint" />
1411  </instruction>
1412  <instruction name="3DSTATE_VF_SGVS_2" bias="2" length="3" engine="render">
1413    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
1414    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="86" />
1415    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1416    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1417    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1418    <field name="XP0 Element Offset" start="32" end="37" type="uint" />
1419    <field name="XP0 Source Select" start="44" end="44" type="uint">
1420      <value name="VERTEX_LOCATION" value="1" />
1421      <value name="XP0_PARAMETER" value="0" />
1422    </field>
1423    <field name="XP0 Component Number" start="45" end="46" type="uint">
1424      <value name="COMP_0" value="0" />
1425      <value name="COMP_1" value="1" />
1426      <value name="COMP_2" value="2" />
1427      <value name="COMP_3" value="3" />
1428    </field>
1429    <field name="XP0 Enable" start="47" end="47" type="uint" />
1430    <field name="XP1 Element Offset" start="48" end="53" type="uint" />
1431    <field name="XP1 Source Select" start="60" end="60" type="uint">
1432      <value name="Starting Instance Location" value="1" />
1433      <value name="XP1_PARAMETER" value="0" />
1434    </field>
1435    <field name="XP1 Component Number" start="61" end="62" type="uint">
1436      <value name="COMP_0" value="0" />
1437      <value name="COMP_1" value="1" />
1438      <value name="COMP_2" value="2" />
1439      <value name="COMP_3" value="3" />
1440    </field>
1441    <field name="XP1 Enable" start="63" end="63" type="uint" />
1442    <field name="XP2 Element Offset" start="64" end="69" type="uint" />
1443    <field name="XP2 Component Number" start="77" end="78" type="uint">
1444      <value name="COMP_0" value="0" />
1445      <value name="COMP_1" value="1" />
1446      <value name="COMP_2" value="2" />
1447      <value name="COMP_3" value="3" />
1448    </field>
1449    <field name="XP2 Enable" start="79" end="79" type="uint" />
1450  </instruction>
1451  <instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
1452    <field name="DWord Length" start="0" end="7" type="uint" default="7" />
1453    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="16" />
1454    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1455    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1456    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1457    <field name="Kernel Start Pointer" start="38" end="95" type="offset" />
1458    <field name="Software Exception Enable" start="103" end="103" type="bool" />
1459    <field name="Accesses UAV" start="108" end="108" type="bool" />
1460    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
1461    <field name="Floating Point Mode" start="112" end="112" type="uint">
1462      <value name="IEEE-754" value="0" />
1463      <value name="Alternate" value="1" />
1464    </field>
1465    <field name="Thread Dispatch Priority" start="113" end="113" type="uint">
1466      <value name="High" value="1" />
1467    </field>
1468    <field name="Binding Table Entry Count" start="114" end="121" type="uint" />
1469    <field name="Sampler Count" start="123" end="125" type="uint">
1470      <value name="No Samplers" value="0" />
1471      <value name="1-4 Samplers" value="1" />
1472      <value name="5-8 Samplers" value="2" />
1473      <value name="9-12 Samplers" value="3" />
1474      <value name="13-16 Samplers" value="4" />
1475    </field>
1476    <field name="Vector Mask Enable" start="126" end="126" type="bool" />
1477    <field name="Scratch Space Buffer" start="138" end="159" type="uint" />
1478    <field name="Vertex URB Entry Read Offset" start="196" end="201" type="uint" />
1479    <field name="Vertex URB Entry Read Length" start="203" end="208" type="uint" />
1480    <field name="Dispatch GRF Start Register For URB Data" start="212" end="216" type="uint" />
1481    <field name="Enable" start="224" end="224" type="bool" />
1482    <field name="Vertex Cache Disable" start="225" end="225" type="bool" />
1483    <field name="SIMD8 Dispatch Enable" start="226" end="226" type="bool" />
1484    <field name="SIMD8 Single Instance Dispatch Enable" start="233" end="233" type="bool" />
1485    <field name="Statistics Enable" start="234" end="234" type="bool" />
1486    <field name="Maximum Number of Threads" start="246" end="255" type="uint" />
1487    <field name="User Clip Distance Cull Test Enable Bitmask" start="256" end="263" type="uint" />
1488    <field name="User Clip Distance Clip Test Enable Bitmask" start="264" end="271" type="uint" />
1489    <field name="Vertex URB Entry Output Length" start="272" end="276" type="uint" />
1490    <field name="Vertex URB Entry Output Read Offset" start="277" end="282" type="uint" />
1491  </instruction>
1492  <instruction name="3DSTATE_WM" bias="2" length="2" engine="render">
1493    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1494    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="20" />
1495    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1496    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1497    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1498    <field name="Force Kill Pixel Enable" start="32" end="33" type="uint">
1499      <value name="ForceOff" value="1" />
1500      <value name="ForceON" value="2" />
1501    </field>
1502    <field name="Point Rasterization Rule" start="34" end="34" type="uint">
1503      <value name="RASTRULE_UPPER_LEFT" value="0" />
1504      <value name="RASTRULE_UPPER_RIGHT" value="1" />
1505    </field>
1506    <field name="Line Stipple Enable" start="35" end="35" type="bool" />
1507    <field name="Polygon Stipple Enable" start="36" end="36" type="bool" />
1508    <field name="Line Antialiasing Region Width" start="38" end="39" type="uint">
1509      <value name="0.5 pixels" value="0" />
1510      <value name="1.0 pixels" value="1" />
1511      <value name="2.0 pixels" value="2" />
1512      <value name="4.0 pixels" value="3" />
1513    </field>
1514    <field name="Line End Cap Antialiasing Region Width" start="40" end="41" type="uint">
1515      <value name="0.5 pixels" value="0" />
1516      <value name="1.0 pixels" value="1" />
1517      <value name="2.0 pixels" value="2" />
1518      <value name="4.0 pixels" value="3" />
1519    </field>
1520    <field name="Barycentric Interpolation Mode" start="43" end="48" type="uint">
1521      <value name="BIM_PERSPECTIVE_PIXEL" value="1" />
1522      <value name="BIM_PERSPECTIVE_CENTROID" value="2" />
1523      <value name="BIM_PERSPECTIVE_SAMPLE" value="4" />
1524      <value name="BIM_LINEAR_PIXEL" value="8" />
1525      <value name="BIM_LINEAR_CENTROID" value="16" />
1526      <value name="BIM_LINEAR_SAMPLE" value="32" />
1527    </field>
1528    <field name="Position ZW Interpolation Mode" start="49" end="50" type="uint">
1529      <value name="INTERP_PIXEL" value="0" />
1530      <value name="INTERP_CENTROID" value="2" />
1531      <value name="INTERP_SAMPLE" value="3" />
1532    </field>
1533    <field name="Force Thread Dispatch Enable" start="51" end="52" type="uint">
1534      <value name="ForceOff" value="1" />
1535      <value name="ForceON" value="2" />
1536    </field>
1537    <field name="Early Depth/Stencil Control" start="53" end="54" type="uint">
1538      <value name="EDSC_NORMAL" value="0" />
1539      <value name="EDSC_PSEXEC" value="1" />
1540      <value name="EDSC_PREPS" value="2" />
1541    </field>
1542    <field name="Walker Direction" start="55" end="55" type="uint" default="0">
1543      <value name="Snake Walk" value="0" />
1544      <value name="Z Walk" value="1" />
1545    </field>
1546    <field name="Walking Granularity" start="56" end="57" type="uint" default="2">
1547      <value name="16x16 granularity" value="0" />
1548      <value name="32x32 granularity" value="1" />
1549      <value name="64x64 granularity" value="2" />
1550    </field>
1551    <field name="Legacy Diamond Line Rasterization" start="58" end="58" type="bool" />
1552    <field name="Legacy Hierarchical Depth Buffer Resolve Enable" start="59" end="59" type="bool" />
1553    <field name="Legacy Depth Buffer Resolve Enable" start="60" end="60" type="bool" />
1554    <field name="Legacy Depth Buffer Clear Enable" start="62" end="62" type="bool" />
1555    <field name="Statistics Enable" start="63" end="63" type="bool" />
1556  </instruction>
1557  <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="6" engine="render">
1558    <field name="DWord Length" start="0" end="7" type="uint" default="4" />
1559    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="82" />
1560    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1561    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1562    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1563    <field name="Number of Multisamples" start="45" end="47" type="uint" />
1564    <field name="Stencil Clear Value" start="48" end="55" type="uint" />
1565    <field name="Stencil Buffer Resolve Enable" start="56" end="56" type="bool" />
1566    <field name="Full Surface Depth and Stencil Clear" start="57" end="57" type="bool" />
1567    <field name="Pixel Position Offset Enable" start="58" end="58" type="bool" />
1568    <field name="Hierarchical Depth Buffer Resolve Enable" start="59" end="59" type="bool" />
1569    <field name="Depth Buffer Resolve Enable" start="60" end="60" type="bool" />
1570    <field name="Scissor Rectangle Enable" start="61" end="61" type="bool" />
1571    <field name="Depth Buffer Clear Enable" start="62" end="62" type="bool" />
1572    <field name="Stencil Buffer Clear Enable" start="63" end="63" type="bool" />
1573    <field name="Clear Rectangle X Min" start="64" end="79" type="uint" />
1574    <field name="Clear Rectangle Y Min" start="80" end="95" type="uint" />
1575    <field name="Clear Rectangle X Max" start="96" end="111" type="uint" />
1576    <field name="Clear Rectangle Y Max" start="112" end="127" type="uint" />
1577    <field name="Sample Mask" start="128" end="143" type="uint" />
1578  </instruction>
1579  <instruction name="CFE_STATE" bias="2" length="6">
1580    <field name="DWord Length" start="0" end="7" type="uint" default="4" />
1581    <field name="CFE SubOpcode Variant" start="16" end="17" type="uint" default="0" />
1582    <field name="CFE SubOpcode" start="18" end="23" type="uint" default="0" />
1583    <field name="Compute Command Opcode" start="24" end="26" type="uint" default="2" />
1584    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
1585    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1586    <field name="Scratch Space Buffer" start="42" end="63" type="uint" />
1587    <field name="Number of Walkers" start="99" end="101" type="uint" />
1588    <field name="Fused EU Dispatch" start="102" end="102" type="bool" />
1589    <field name="Single Slice Dispatch CCS Mode" start="109" end="109" type="bool" />
1590    <field name="Over Dispatch Control" start="110" end="111" type="uint">
1591      <value name="Over Dispatch None" value="0" />
1592      <value name="Over Dispatch Low" value="1" />
1593      <value name="Over Dispatch Normal" value="2" />
1594      <value name="Over Dispatch High" value="3" />
1595    </field>
1596    <field name="Maximum Number of Threads" start="112" end="127" type="uint" />
1597  </instruction>
1598  <instruction name="COMPUTE_WALKER" bias="2" length="39">
1599    <field name="DWord Length" start="0" end="7" type="uint" default="37" />
1600    <field name="Predicate Enable" start="8" end="8" type="bool" />
1601    <field name="Workload Partition Enable" start="9" end="9" type="bool" />
1602    <field name="Indirect Parameter Enable" start="10" end="10" type="bool" />
1603    <field name="Systolic Mode Enable" start="14" end="14" type="bool" />
1604    <field name="CFE SubOpcode Variant" start="16" end="17" type="uint" default="0" />
1605    <field name="CFE SubOpcode" start="18" end="23" type="uint" default="2" />
1606    <field name="Compute Command Opcode" start="24" end="26" type="uint" default="2" />
1607    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
1608    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1609    <field name="body" start="32" end="1248" type="COMPUTE_WALKER_BODY" />
1610  </instruction>
1611  <instruction name="EXECUTE_INDIRECT_DISPATCH" bias="2" length="44">
1612    <field name="DWord Length" start="0" end="7" type="uint" default="42" />
1613    <field name="Predicate Enable" start="8" end="8" type="bool" />
1614    <field name="MOCS" start="12" end="15" type="uint" nonzero="true" />
1615    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1" />
1616    <field name="3D Command Opcode" start="24" end="26" type="uint" default="4" />
1617    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1618    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1619    <field name="Max Count" start="32" end="63" type="uint" />
1620    <field name="Count Buffer Indirect Enable" start="64" end="64" type="bool" />
1621    <field name="Count Buffer Address" start="66" end="127" type="address" />
1622    <field name="Argument Buffer Start Address" start="130" end="191" type="address" />
1623    <field name="COMPUTE_WALKER_BODY" start="192" end="1407" type="COMPUTE_WALKER_BODY" />
1624  </instruction>
1625  <instruction name="EXECUTE_INDIRECT_DRAW" bias="2" length="6" engine="render">
1626    <field name="DWord Length" start="0" end="7" type="uint" default="4" />
1627    <field name="Predicate Enable" start="8" end="8" type="bool" />
1628    <field name="TBIMR Enabled" start="9" end="9" type="uint" />
1629    <field name="Argument Format" start="10" end="11" type="uint" prefix="XI">
1630      <value name="DRAW" value="0" />
1631      <value name="DRAWINDEXED" value="1" />
1632      <value name="MESH_3D" value="2" />
1633      <value name="MESH_1D" value="3" />
1634    </field>
1635    <field name="MOCS" start="12" end="15" type="uint" nonzero="true" />
1636    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="0" />
1637    <field name="3D Command Opcode" start="24" end="26" type="uint" default="4" />
1638    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1639    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1640    <field name="Max Count" start="32" end="63" type="uint" />
1641    <field name="Count Buffer Indirect Enable" start="64" end="64" type="bool" />
1642    <field name="Count Buffer Address" start="66" end="127" type="address" />
1643    <field name="Argument Buffer Start Address" start="130" end="191" type="address" />
1644  </instruction>
1645  <instruction name="HCP_FQM_STATE" bias="2" length="34" engine="video">
1646    <field name="DWord Length" start="0" end="11" type="uint" default="32" />
1647    <field name="SubOpcode" start="16" end="22" type="uint" default="5" />
1648    <field name="Media Command Opcode" start="23" end="26" type="uint" default="7" />
1649    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
1650    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1651    <field name="Intra/Inter" start="32" end="32" type="uint">
1652      <value name="Intra" value="0" />
1653      <value name="Inter" value="1" />
1654    </field>
1655    <field name="SizeID" start="33" end="34" type="uint" prefix="SZ">
1656      <value name="4x4" value="0" />
1657      <value name="8x8" value="1" />
1658      <value name="16x16" value="2" />
1659      <value name="32x32" value="3" />
1660    </field>
1661    <field name="Color Component" start="35" end="36" type="uint">
1662      <value name="Luma" value="0" />
1663      <value name="Chroma Cb" value="1" />
1664      <value name="Chroma Cr" value="2" />
1665    </field>
1666    <field name="FQM DC Value" start="48" end="63" type="uint" />
1667    <group count="128" start="64" size="8">
1668      <field name="Quantizer Matrix 8x8" start="0" end="7" type="uint" />
1669    </group>
1670  </instruction>
1671  <instruction name="MI_FLUSH_DW" bias="2" length="5" engine="blitter|compute|video">
1672    <field name="DWord Length" start="0" end="5" type="uint" default="3" />
1673    <field name="Video Pipeline Cache Invalidate" start="7" end="7" type="bool" />
1674    <field name="Notify Enable" start="8" end="8" type="bool" />
1675    <field name="Flush LLC" start="9" end="9" type="bool" />
1676    <field name="Post-Sync Operation" start="14" end="15" type="uint" />
1677    <field name="Flush CCS" start="16" end="16" type="bool" />
1678    <field name="TLB Invalidate" start="18" end="18" type="bool" />
1679    <field name="Store Data Index" start="21" end="21" type="uint" />
1680    <field name="MI Command Opcode" start="23" end="28" type="uint" default="38" />
1681    <field name="Command Type" start="29" end="31" type="uint" default="0" />
1682    <field name="Destination Address Type" start="34" end="34" type="uint" prefix="DAT">
1683      <value name="PPGTT" value="0" />
1684      <value name="GGTT" value="1" />
1685    </field>
1686    <field name="Address" start="35" end="79" type="address" />
1687    <field name="Immediate Data" start="96" end="159" type="uint" />
1688  </instruction>
1689  <instruction name="MI_MATH" bias="2">
1690    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1691    <field name="MOCS" start="8" end="14" type="uint" nonzero="true" />
1692    <field name="Predication Enable" start="15" end="15" type="bool" />
1693    <field name="MI Command Opcode" start="23" end="28" type="uint" default="26" />
1694    <field name="Command Type" start="29" end="31" type="uint" default="0" />
1695    <group count="0" start="32" size="32">
1696      <field name="Instruction" start="0" end="31" type="MI_MATH_ALU_INSTRUCTION" />
1697    </group>
1698  </instruction>
1699  <instruction name="MI_REPORT_PERF_COUNT" bias="2" length="4" engine="render|compute">
1700    <field name="DWord Length" start="0" end="5" type="uint" default="2" />
1701    <field name="MI Command Opcode" start="23" end="28" type="uint" default="40" />
1702    <field name="Command Type" start="29" end="31" type="uint" default="0" />
1703    <field name="Use Global GTT" start="32" end="32" type="bool" />
1704    <field name="Core Mode Enable" start="36" end="36" type="uint" />
1705    <field name="Memory Address" start="38" end="95" type="address" />
1706    <field name="Report ID" start="96" end="127" type="uint" />
1707  </instruction>
1708  <instruction name="MI_SET_PREDICATE" bias="1" length="1">
1709    <field name="Predicate Enable" start="0" end="3" type="uint">
1710      <value name="NOOP Never" value="0" />
1711      <value name="NOOP On Result2 Clear" value="1" />
1712      <value name="NOOP On Result2 Set" value="2" />
1713      <value name="NOOP On Result Clear" value="3" />
1714      <value name="NOOP On Result Set" value="4" />
1715      <value name="NOOP Always" value="15" />
1716    </field>
1717    <field name="MI Command Opcode" start="23" end="28" type="uint" default="1" />
1718    <field name="Command Type" start="29" end="31" type="uint" default="0" />
1719  </instruction>
1720  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render|compute">
1721    <field name="Pipeline Selection" start="0" end="1" type="uint">
1722      <value name="3D" value="0" />
1723      <value name="Media" value="1" />
1724      <value name="GPGPU" value="2" />
1725    </field>
1726    <field name="Media Sampler DOP Clock Gate Enable" start="4" end="4" type="bool" />
1727    <field name="Force Media Awake" start="5" end="5" type="bool" />
1728    <field name="Systolic Mode Enable" start="7" end="7" type="bool" />
1729    <field name="Mask Bits" start="8" end="15" type="uint" />
1730    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="4" />
1731    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
1732    <field name="Command SubType" start="27" end="28" type="uint" default="1" />
1733    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1734  </instruction>
1735  <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render|compute">
1736    <field name="DWord Length" start="0" end="7" type="uint" default="4" />
1737    <field name="HDC Pipeline Flush Enable" start="9" end="9" type="bool" />
1738    <field name="L3 Read Only Cache Invalidation Enable" start="10" end="10" type="bool" />
1739    <field name="Untyped Data Port Cache Flush Enable" start="11" end="11" type="bool" />
1740    <field name="CCS Flush Enable" start="13" end="13" type="bool" />
1741    <field name="Workload Partition ID Offset Enable" start="14" end="14" type="bool" />
1742    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="0" />
1743    <field name="3D Command Opcode" start="24" end="26" type="uint" default="2" />
1744    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1745    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1746    <field name="Depth Cache Flush Enable" start="32" end="32" type="bool" />
1747    <field name="Stall At Pixel Scoreboard" start="33" end="33" type="bool" />
1748    <field name="State Cache Invalidation Enable" start="34" end="34" type="bool" />
1749    <field name="Constant Cache Invalidation Enable" start="35" end="35" type="bool" />
1750    <field name="VF Cache Invalidation Enable" start="36" end="36" type="bool" />
1751    <field name="DC Flush Enable" start="37" end="37" type="bool" />
1752    <field name="Protected Memory Application ID" start="38" end="38" type="bool" />
1753    <field name="Pipe Control Flush Enable" start="39" end="39" type="bool" />
1754    <field name="Notify Enable" start="40" end="40" type="bool" />
1755    <field name="Indirect State Pointers Disable" start="41" end="41" type="bool" />
1756    <field name="Texture Cache Invalidation Enable" start="42" end="42" type="bool" />
1757    <field name="Instruction Cache Invalidate Enable" start="43" end="43" type="bool" />
1758    <field name="Render Target Cache Flush Enable" start="44" end="44" type="bool" />
1759    <field name="Depth Stall Enable" start="45" end="45" type="bool" />
1760    <field name="Post Sync Operation" start="46" end="47" type="uint">
1761      <value name="No Write" value="0" />
1762      <value name="Write Immediate Data" value="1" />
1763      <value name="Write PS Depth Count" value="2" />
1764      <value name="Write Timestamp" value="3" />
1765    </field>
1766    <field name="Generic Media State Clear" start="48" end="48" type="bool" />
1767    <field name="PSS Stall Sync Enable" start="49" end="49" type="bool" />
1768    <field name="TLB Invalidate" start="50" end="50" type="bool" />
1769    <field name="Depth Stall Sync Enable" start="51" end="51" type="bool" />
1770    <field name="Command Streamer Stall Enable" start="52" end="52" type="bool" />
1771    <field name="Store Data Index" start="53" end="53" type="uint" />
1772    <field name="Protected Memory Enable" start="54" end="54" type="bool" />
1773    <field name="LRI Post Sync Operation" start="55" end="55" type="uint">
1774      <value name="No LRI Operation" value="0" />
1775      <value name="MMIO Write Immediate Data" value="1" />
1776    </field>
1777    <field name="Destination Address Type" start="56" end="56" type="uint" prefix="DAT">
1778      <value name="PPGTT" value="0" />
1779      <value name="GGTT" value="1" />
1780    </field>
1781    <field name="AMFS Flush Enable" start="57" end="57" type="bool" />
1782    <field name="Flush LLC" start="58" end="58" type="bool" />
1783    <field name="Protected Memory Disable" start="59" end="59" type="bool" />
1784    <field name="Tile Cache Flush Enable" start="60" end="60" type="bool" />
1785    <field name="Command Cache Invalidate Enable" start="61" end="61" type="bool" />
1786    <field name="L3 Fabric Flush" start="62" end="62" type="bool" />
1787    <field name="TBIMR Force Batch Closure" start="63" end="63" type="uint">
1788      <value name="No Batch Closure" value="0" />
1789      <value name="Close Batch" value="1" />
1790    </field>
1791    <field name="Address" start="66" end="111" type="address" />
1792    <field name="Immediate Data" start="128" end="191" type="uint" />
1793  </instruction>
1794  <instruction name="STATE_BASE_ADDRESS" bias="2" length="22" engine="render|compute">
1795    <field name="DWord Length" start="0" end="7" type="uint" default="20" />
1796    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1" />
1797    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
1798    <field name="Command SubType" start="27" end="28" type="uint" default="0" />
1799    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1800    <field name="General State Base Address Modify Enable" start="32" end="32" type="bool" />
1801    <field name="General State MOCS" start="36" end="42" type="uint" nonzero="true" />
1802    <field name="General State Base Address" start="44" end="95" type="address" />
1803    <field name="Stateless Data Port Access MOCS" start="112" end="118" type="uint" nonzero="true" />
1804    <field name="L1 Cache Control" start="119" end="121" type="uint" prefix="L1CC">
1805      <value name="WBP" value="0" dont_use="1" />
1806      <value name="UC" value="1" dont_use="1" />
1807      <value name="WB" value="2" />
1808      <value name="WT" value="3" />
1809      <value name="WS" value="4" />
1810    </field>
1811    <field name="Surface State Base Address Modify Enable" start="128" end="128" type="bool" />
1812    <field name="Surface State MOCS" start="132" end="138" type="uint" nonzero="true" />
1813    <field name="Surface State Base Address" start="140" end="191" type="address" />
1814    <field name="Dynamic State Base Address Modify Enable" start="192" end="192" type="bool" />
1815    <field name="Dynamic State MOCS" start="196" end="202" type="uint" nonzero="true" />
1816    <field name="Dynamic State Base Address" start="204" end="255" type="address" />
1817    <field name="Indirect Object Base Address Modify Enable" start="256" end="256" type="bool" />
1818    <field name="Indirect Object MOCS" start="260" end="266" type="uint" nonzero="true" />
1819    <field name="Indirect Object Base Address" start="268" end="319" type="address" />
1820    <field name="Instruction Base Address Modify Enable" start="320" end="320" type="bool" />
1821    <field name="Instruction MOCS" start="324" end="330" type="uint" nonzero="true" />
1822    <field name="Instruction Base Address" start="332" end="383" type="address" />
1823    <field name="General State Buffer Size Modify Enable" start="384" end="384" type="bool" />
1824    <field name="General State Buffer Size" start="396" end="415" type="uint" />
1825    <field name="Dynamic State Buffer Size Modify Enable" start="416" end="416" type="bool" />
1826    <field name="Dynamic State Buffer Size" start="428" end="447" type="uint" />
1827    <field name="Indirect Object Buffer Size Modify Enable" start="448" end="448" type="bool" />
1828    <field name="Indirect Object Buffer Size" start="460" end="479" type="uint" />
1829    <field name="Instruction Buffer size Modify Enable" start="480" end="480" type="bool" />
1830    <field name="Instruction Buffer Size" start="492" end="511" type="uint" />
1831    <field name="Bindless Surface State Base Address Modify Enable" start="512" end="512" type="bool" />
1832    <field name="Bindless Surface State MOCS" start="516" end="522" type="uint" nonzero="true" />
1833    <field name="Bindless Surface State Base Address" start="524" end="575" type="address" />
1834    <field name="Bindless Surface State Size" start="576" end="607" type="uint" />
1835    <field name="Bindless Sampler State Base Address Modify Enable" start="608" end="608" type="bool" />
1836    <field name="Bindless Sampler State MOCS" start="612" end="618" type="uint" nonzero="true" />
1837    <field name="Bindless Sampler State Base Address" start="620" end="671" type="address" />
1838    <field name="Bindless Sampler State Buffer Size" start="684" end="703" type="uint" />
1839  </instruction>
1840  <instruction name="STATE_COMPUTE_MODE" bias="2" length="2" engine="render|compute">
1841    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1842    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="5" />
1843    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
1844    <field name="Command SubType" start="27" end="28" type="uint" default="0" />
1845    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1846    <field name="Z Pass Async Compute Thread Limit" start="32" end="34" type="uint" prefix="ZPACTL">
1847      <value name="Max 60" value="0" />
1848      <value name="Max 64" value="1" />
1849      <value name="Max 56" value="2" />
1850      <value name="Max 48" value="3" />
1851    </field>
1852    <field name="Force Non-Coherent DG2" start="35" end="36" type="uint">
1853      <value name="Force Disabled" value="0" />
1854      <value name="Force CPU Non-Coherent" value="1" />
1855      <value name="Force GPU Non-Coherent" value="2" />
1856    </field>
1857    <field name="Z Async Throttle settings" start="35" end="36" type="uint" prefix="ZATS">
1858      <value name="Defer to Pixel Async Compute Thread Limit" value="0" />
1859      <value name="Max 32" value="1" />
1860      <value name="Max 40" value="2" />
1861      <value name="Max 48" value="3" />
1862    </field>
1863    <field name="Fast Clear Disabled on Compressed Surface" start="37" end="37" type="bool" />
1864    <field name="Disable SLM Read Merge Optimization" start="38" end="38" type="bool" />
1865    <field name="Pixel Async Compute Thread Limit" start="39" end="41" type="uint" prefix="PACTL">
1866      <value name="Disabled" value="0" />
1867      <value name="Max 2" value="1" />
1868      <value name="Max 8" value="2" />
1869      <value name="Max 16" value="3" />
1870      <value name="Max 24" value="4" />
1871      <value name="Max 32" value="5" />
1872      <value name="Max 40" value="6" />
1873      <value name="Max 48" value="7" />
1874    </field>
1875    <field name="Disable Atomic on Clear Data" start="43" end="43" type="bool" />
1876    <field name="Disable L1 Invalidate for non-L1-cacheable Writes" start="45" end="45" type="bool" />
1877    <field name="Large GRF Mode" start="47" end="47" type="bool" />
1878    <field name="Z Pass Async Compute Thread Limit Mask" start="48" end="50" type="uint" />
1879    <field name="Mask1" start="48" end="63" type="uint" />
1880    <field name="Force Non-Coherent DG2 Mask" start="51" end="52" type="uint" />
1881    <field name="Z Async Throttle settings Mask" start="51" end="52" type="uint" />
1882    <field name="Fast Clear Disabled on Compressed Surface Mask" start="53" end="53" type="bool" />
1883    <field name="Disable SLM Read Merge Optimization Mask" start="54" end="54" type="bool" />
1884    <field name="Pixel Async Compute Thread Limit Mask" start="55" end="57" type="uint" />
1885    <field name="Disable Atomic on Clear Data Mask" start="59" end="59" type="bool" />
1886    <field name="Disable L1 Invalidate for non-L1-cacheable Writes Mask" start="61" end="61" type="bool" />
1887    <field name="Large GRF Mode Mask" start="63" end="63" type="bool" />
1888  </instruction>
1889  <instruction name="STATE_SIP" bias="2" length="3" engine="render|compute">
1890    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
1891    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="2" />
1892    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
1893    <field name="Command SubType" start="27" end="28" type="uint" default="0" />
1894    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1895    <field name="System Instruction Pointer" start="36" end="95" type="offset" />
1896  </instruction>
1897  <instruction name="XY_BLOCK_COPY_BLT" bias="2" length="22" engine="blitter">
1898    <field name="DWord Length" start="0" end="7" type="uint" default="20" />
1899    <field name="Special Mode of Operation" start="12" end="13" type="uint">
1900      <value name="NONE" value="0" />
1901      <value name="FULL_RESOLVE" value="1" />
1902      <value name="PARTIAL_RESOLVE" value="2" />
1903    </field>
1904    <field name="Color Depth" start="19" end="21" type="uint" prefix="XY_BPP">
1905      <value name="8_BIT" value="0" />
1906      <value name="16_BIT" value="1" />
1907      <value name="32_BIT" value="2" />
1908      <value name="64_BIT" value="3" />
1909      <value name="96_BIT" value="4" />
1910      <value name="128_BIT" value="5" />
1911    </field>
1912    <field name="Opcode" start="22" end="28" type="uint" default="0x41" />
1913    <field name="Client" start="29" end="31" type="uint" default="2" />
1914    <field name="Destination Pitch" start="32" end="49" type="uint" />
1915    <field name="Destination Auxiliary Surface Mode" start="50" end="52" type="uint" prefix="XY_AUX">
1916      <value name="NONE" value="0" />
1917      <value name="CCS_E" value="5" />
1918    </field>
1919    <field name="Destination MOCS" start="53" end="59" type="uint" nonzero="true" />
1920    <field name="Destination Control Surface Type" start="60" end="60" type="uint" />
1921    <field name="Destination Compression Enable" start="61" end="61" type="bool" />
1922    <field name="Destination Tiling" start="62" end="63" type="uint" prefix="XY_TILE">
1923      <value name="LINEAR" value="0" />
1924      <value name="X" value="1" />
1925      <value name="4" value="2" />
1926      <value name="64" value="3" />
1927    </field>
1928    <field name="Destination X1" start="64" end="79" type="int" />
1929    <field name="Destination Y1" start="80" end="95" type="int" />
1930    <field name="Destination X2" start="96" end="111" type="int" />
1931    <field name="Destination Y2" start="112" end="127" type="int" />
1932    <field name="Destination Base Address" start="128" end="191" type="address" />
1933    <field name="Destination X Offset" start="192" end="205" type="uint" />
1934    <field name="Destination Y Offset" start="208" end="221" type="uint" />
1935    <field name="Destination Target Memory" start="223" end="223" type="uint" prefix="XY_MEM">
1936      <value name="LOCAL" value="0" />
1937      <value name="SYSTEM" value="1" />
1938    </field>
1939    <field name="Source X1" start="224" end="239" type="int" />
1940    <field name="Source Y1" start="240" end="255" type="int" />
1941    <field name="Source Pitch" start="256" end="273" type="uint" />
1942    <field name="Source Auxiliary Surface Mode" start="274" end="276" type="uint" prefix="XY">
1943      <value name="NONE" value="0" />
1944      <value name="CCS_E" value="5" />
1945    </field>
1946    <field name="Source MOCS" start="277" end="283" type="uint" nonzero="true" />
1947    <field name="Source Control Surface Type" start="284" end="284" type="uint" />
1948    <field name="Source Compression Enable" start="285" end="285" type="bool" />
1949    <field name="Source Tiling" start="286" end="287" type="uint" prefix="XY_TILE">
1950      <value name="LINEAR" value="0" />
1951      <value name="X" value="1" />
1952      <value name="4" value="2" />
1953      <value name="64" value="3" />
1954    </field>
1955    <field name="Source Base Address" start="288" end="351" type="address" />
1956    <field name="Source X Offset" start="352" end="365" type="uint" />
1957    <field name="Source Y Offset" start="368" end="381" type="uint" />
1958    <field name="Source Target Memory" start="383" end="383" type="uint" prefix="XY_MEM">
1959      <value name="LOCAL" value="0" />
1960      <value name="SYSTEM" value="1" />
1961    </field>
1962    <field name="Source Compression Format" start="384" end="388" type="uint" />
1963    <field name="Source Clear Value Enable" start="389" end="389" type="bool" />
1964    <field name="Source Clear Address" start="390" end="431" type="address" />
1965    <field name="Destination Compression Format" start="448" end="452" type="uint" />
1966    <field name="Destination Clear Value Enable" start="453" end="453" type="bool" />
1967    <field name="Destination Clear Address" start="454" end="495" type="address" />
1968    <field name="Destination Surface Height" start="512" end="525" type="uint" />
1969    <field name="Destination Surface Width" start="526" end="539" type="uint" />
1970    <field name="Destination Surface Type" start="541" end="543" type="uint" prefix="XY_SURFTYPE">
1971      <value name="1D" value="0" />
1972      <value name="2D" value="1" />
1973      <value name="3D" value="2" />
1974      <value name="CUBE" value="3" />
1975    </field>
1976    <field name="Destination LOD" start="544" end="547" type="uint" />
1977    <field name="Destination Surface QPitch" start="548" end="562" type="uint" />
1978    <field name="Destination Surface Depth" start="565" end="575" type="uint" />
1979    <field name="Destination Horizontal Align" start="576" end="577" type="uint">
1980      <value name="HALIGN_16" value="0" />
1981      <value name="HALIGN_32" value="1" />
1982      <value name="HALIGN_64" value="2" />
1983      <value name="HALIGN_128" value="3" />
1984    </field>
1985    <field name="Destination Vertical Align" start="579" end="580" type="uint">
1986      <value name="VALIGN_4" value="1" />
1987      <value name="VALIGN_8" value="2" />
1988      <value name="VALIGN_16" value="3" />
1989    </field>
1990    <field name="Destination Mip Tail Start LOD" start="584" end="587" type="uint" />
1991    <field name="Destination Depth/Stencil Resource" start="594" end="594" type="bool" />
1992    <field name="Destination Array Index" start="597" end="607" type="uint" />
1993    <field name="Source Surface Height" start="608" end="621" type="uint" />
1994    <field name="Source Surface Width" start="622" end="635" type="uint" />
1995    <field name="Source Surface Type" start="637" end="639" type="uint" prefix="XY_SURFTYPE">
1996      <value name="1D" value="0" />
1997      <value name="2D" value="1" />
1998      <value name="3D" value="2" />
1999      <value name="CUBE" value="3" />
2000    </field>
2001    <field name="Source LOD" start="640" end="643" type="uint" />
2002    <field name="Source Surface QPitch" start="644" end="658" type="uint" />
2003    <field name="Source Surface Depth" start="661" end="671" type="uint" />
2004    <field name="Source Horizontal Align" start="672" end="673" type="uint">
2005      <value name="HALIGN_16" value="0" />
2006      <value name="HALIGN_32" value="1" />
2007      <value name="HALIGN_64" value="2" />
2008      <value name="HALIGN_128" value="3" />
2009    </field>
2010    <field name="Source Vertical Align" start="675" end="676" type="uint">
2011      <value name="VALIGN_4" value="1" />
2012      <value name="VALIGN_8" value="2" />
2013      <value name="VALIGN_16" value="3" />
2014    </field>
2015    <field name="Source Mip Tail Start LOD" start="680" end="683" type="uint" />
2016    <field name="Source Depth/Stencil Resource" start="690" end="690" type="bool" />
2017    <field name="Source Array Index" start="693" end="703" type="uint" />
2018  </instruction>
2019  <instruction name="XY_FAST_COLOR_BLT" bias="2" length="16" engine="blitter">
2020    <field name="DWord Length" start="0" end="7" type="uint" default="14" />
2021    <field name="Special Mode of Operation" start="12" end="13" type="uint">
2022      <value name="NONE" value="0" />
2023      <value name="FAST_CLEAR_1" value="1" />
2024      <value name="FAST_CLEAR_0" value="2" />
2025    </field>
2026    <field name="Color Depth" start="19" end="21" type="uint" prefix="XY_BPP">
2027      <value name="8_BIT" value="0" />
2028      <value name="16_BIT" value="1" />
2029      <value name="32_BIT" value="2" />
2030      <value name="64_BIT" value="3" />
2031      <value name="96_BIT" value="4" />
2032      <value name="128_BIT" value="5" />
2033    </field>
2034    <field name="Opcode" start="22" end="28" type="uint" default="0x44" />
2035    <field name="Client" start="29" end="31" type="uint" default="2" />
2036    <field name="Destination Pitch" start="32" end="49" type="uint" />
2037    <field name="Destination Auxiliary Surface Mode" start="50" end="52" type="uint" prefix="XY_AUX">
2038      <value name="NONE" value="0" />
2039      <value name="CCS_E" value="5" />
2040    </field>
2041    <field name="Destination MOCS" start="53" end="59" type="uint" nonzero="true" />
2042    <field name="Destination Control Surface Type" start="60" end="60" type="uint" />
2043    <field name="Destination Compression Enable" start="61" end="61" type="bool" />
2044    <field name="Destination Tiling" start="62" end="63" type="uint" prefix="XY_TILE">
2045      <value name="LINEAR" value="0" />
2046      <value name="X" value="1" />
2047      <value name="4" value="2" />
2048      <value name="64" value="3" />
2049    </field>
2050    <field name="Destination X1" start="64" end="79" type="int" />
2051    <field name="Destination Y1" start="80" end="95" type="int" />
2052    <field name="Destination X2" start="96" end="111" type="int" />
2053    <field name="Destination Y2" start="112" end="127" type="int" />
2054    <field name="Destination Base Address" start="128" end="191" type="address" />
2055    <field name="Destination X Offset" start="192" end="205" type="uint" />
2056    <field name="Destination Y Offset" start="208" end="221" type="uint" />
2057    <field name="Destination Target Memory" start="223" end="223" type="uint" prefix="XY_MEM">
2058      <value name="LOCAL" value="0" />
2059      <value name="SYSTEM" value="1" />
2060    </field>
2061    <group count="4" start="224" size="32">
2062      <field name="Fill Color" start="0" end="31" type="uint" />
2063    </group>
2064    <field name="Destination Compression Format" start="352" end="356" type="uint" />
2065    <field name="Destination Clear Value Enable" start="357" end="357" type="bool" />
2066    <field name="Destination Clear Address" start="358" end="399" type="address" />
2067    <field name="Destination Surface Height" start="416" end="429" type="uint" />
2068    <field name="Destination Surface Width" start="430" end="443" type="uint" />
2069    <field name="Destination Surface Type" start="445" end="447" type="uint" prefix="XY_SURFTYPE">
2070      <value name="1D" value="0" />
2071      <value name="2D" value="1" />
2072      <value name="3D" value="2" />
2073      <value name="CUBE" value="3" />
2074    </field>
2075    <field name="Destination LOD" start="448" end="451" type="uint" />
2076    <field name="Destination Surface QPitch" start="452" end="466" type="uint" />
2077    <field name="Destination Surface Depth" start="469" end="479" type="uint" />
2078    <field name="Destination Horizontal Align" start="480" end="481" type="uint">
2079      <value name="HALIGN_16" value="0" />
2080      <value name="HALIGN_32" value="1" />
2081      <value name="HALIGN_64" value="2" />
2082      <value name="HALIGN_128" value="3" />
2083    </field>
2084    <field name="Destination Vertical Align" start="483" end="484" type="uint">
2085      <value name="VALIGN_4" value="1" />
2086      <value name="VALIGN_8" value="2" />
2087      <value name="VALIGN_16" value="3" />
2088    </field>
2089    <field name="Destination Mip Tail Start LOD" start="488" end="491" type="uint" />
2090    <field name="Destination Depth/Stencil Resource" start="498" end="498" type="bool" />
2091    <field name="Destination Array Index" start="501" end="511" type="uint" />
2092  </instruction>
2093  <register name="BCS_AUX_TABLE_BASE_ADDR" length="2" num="0x4240">
2094    <field name="Address" start="0" end="63" type="uint" />
2095  </register>
2096  <register name="BCS_CCS_AUX_INV" length="1" num="0x4248">
2097    <field name="Aux Inv" start="0" end="0" type="bool" />
2098  </register>
2099  <register name="CCS_INSTDONE" length="1" num="0x1206c">
2100    <field name="Ring Enable" start="0" end="0" type="bool" />
2101    <field name="VFE Done" start="16" end="16" type="bool" />
2102    <field name="TSG Done" start="17" end="17" type="bool" />
2103    <field name="CS Done" start="21" end="21" type="bool" />
2104  </register>
2105  <register name="CHICKEN_RASTER_1" length="1" num="0x6204">
2106    <field name="AA Line Quality Fix" start="5" end="5" type="bool" />
2107    <field name="AA Line Quality Fix Mask" start="21" end="21" type="bool" />
2108  </register>
2109  <register name="CHICKEN_RASTER_2" length="1" num="0x6208">
2110    <field name="TBIMR Batch Size Override" start="1" end="1" type="bool" />
2111    <field name="TBIMR Open Batch Enable" start="4" end="4" type="bool" />
2112    <field name="TBIMR Fast Clip" start="5" end="5" type="bool" />
2113    <field name="TBIMR Batch Size Override Mask" start="17" end="17" type="bool" />
2114    <field name="TBIMR Open Batch Enable Mask" start="20" end="20" type="bool" />
2115    <field name="TBIMR Fast Clip Mask" start="21" end="21" type="bool" />
2116  </register>
2117  <register name="COMMON_SLICE_CHICKEN1" length="1" num="0x7010">
2118    <field name="HIZ Plane Optimization disable bit" start="9" end="9" type="bool" />
2119    <field name="HIZ Plane Optimization disable bit Mask" start="25" end="25" type="bool" />
2120  </register>
2121  <register name="INSTDONE_GEOM" length="1" num="0x666c">
2122    <field name="VFL Done" start="1" end="1" type="bool" />
2123    <field name="VS Done" start="2" end="2" type="bool" />
2124    <field name="HS Done" start="3" end="3" type="bool" />
2125    <field name="TE Done" start="4" end="4" type="bool" />
2126    <field name="DS Done" start="5" end="5" type="bool" />
2127    <field name="GS Done" start="6" end="6" type="bool" />
2128    <field name="SOL Done" start="7" end="7" type="bool" />
2129    <field name="CL Done" start="8" end="8" type="bool" />
2130    <field name="SF Done" start="9" end="9" type="bool" />
2131    <field name="TDG1 Done" start="11" end="11" type="bool" />
2132    <field name="URBM Done" start="13" end="13" type="bool" />
2133    <field name="SVG Done" start="14" end="14" type="bool" />
2134    <field name="TSG0 Done" start="17" end="17" type="bool" />
2135    <field name="SDE Done" start="22" end="22" type="bool" />
2136  </register>
2137  <register name="L3SQCREG5" length="1" num="0xB158">
2138    <field name="L3 Cache Partial Write Merge Timer Initial Value" start="0" end="9" type="uint" />
2139    <field name="Compressible Partial Write Merge Enable" start="21" end="21" type="uint" />
2140    <field name="Coherent Partial Write Merge Enable" start="22" end="22" type="uint" />
2141    <field name="Cross-Tile Partial Write Merge Enable" start="23" end="23" type="uint" />
2142  </register>
2143  <register name="MESH_INVOCATION_COUNT" length="2" num="0x26E0">
2144    <field name="MESH Invocation Counter" start="0" end="63" type="uint" />
2145  </register>
2146  <register name="MESH_PRIMITIVE_COUNT" length="2" num="0x26D8">
2147    <field name="MESH Primitive Counter" start="0" end="63" type="uint" />
2148  </register>
2149  <register name="ROW_INSTDONE" length="1" num="0xe164">
2150    <field name="BC Done" start="0" end="0" type="bool" />
2151    <field name="PSD Done" start="1" end="1" type="bool" />
2152    <field name="TDP Done" start="2" end="2" type="bool" />
2153    <field name="DAPR Done" start="3" end="3" type="bool" />
2154    <field name="CPSS Done" start="4" end="4" type="bool" />
2155    <field name="RT DONE RENDER" start="5" end="5" type="bool" />
2156    <field name="TDL Done" start="6" end="6" type="bool" />
2157    <field name="EU00 done SS1" start="7" end="7" type="bool" />
2158    <field name="EU01 done SS1" start="8" end="8" type="bool" />
2159    <field name="EU02 done SS1" start="9" end="9" type="bool" />
2160    <field name="EU03 done SS1" start="10" end="10" type="bool" />
2161    <field name="MA0 done SS1" start="11" end="11" type="bool" />
2162    <field name="IC Done" start="12" end="12" type="bool" />
2163    <field name="BTD DONE RENDER" start="13" end="13" type="bool" />
2164    <field name="RT DONE COMPUTE" start="14" end="14" type="bool" />
2165    <field name="MA0 Done SS0" start="15" end="15" type="bool" />
2166    <field name="EU00 Done SS0" start="16" end="16" type="bool" />
2167    <field name="EU01 Done SS0" start="17" end="17" type="bool" />
2168    <field name="EU02 Done SS0" start="18" end="18" type="bool" />
2169    <field name="EU03 Done SS0" start="19" end="19" type="bool" />
2170    <field name="BTD DONE COMPUTE" start="20" end="20" type="bool" />
2171    <field name="EU10 Done SS0" start="21" end="21" type="bool" />
2172    <field name="EU11 Done SS0" start="22" end="22" type="bool" />
2173    <field name="EU12 Done SS0" start="23" end="23" type="bool" />
2174    <field name="EU13 Done SS0" start="24" end="24" type="bool" />
2175    <field name="TSL Done" start="26" end="26" type="bool" />
2176    <field name="EU10 Done SS1" start="27" end="27" type="bool" />
2177    <field name="EU11 Done SS1" start="28" end="28" type="bool" />
2178    <field name="EU12 Done SS1" start="29" end="29" type="bool" />
2179    <field name="EU13 Done SS1" start="30" end="30" type="bool" />
2180  </register>
2181  <register name="SAMPLER_INSTDONE" length="1" num="0xe160">
2182    <field name="SI Done" start="0" end="0" type="bool" />
2183    <field name="SVSM ADAPTER Done" start="1" end="1" type="bool" />
2184    <field name="SVSM ARB Done" start="2" end="2" type="bool" />
2185    <field name="SVSM Done" start="3" end="3" type="bool" />
2186    <field name="PL Done" start="4" end="4" type="bool" />
2187    <field name="DG Done" start="5" end="5" type="bool" />
2188    <field name="SSLA Done" start="6" end="6" type="bool" />
2189    <field name="ST ARB Done" start="7" end="7" type="bool" />
2190    <field name="ST Done" start="8" end="8" type="bool" />
2191    <field name="FT Done" start="9" end="9" type="bool" />
2192    <field name="MT Done" start="11" end="11" type="bool" />
2193    <field name="DM Done" start="12" end="12" type="bool" />
2194    <field name="BDM Done" start="13" end="13" type="bool" />
2195    <field name="SC Done" start="14" end="14" type="bool" />
2196    <field name="FL Done" start="15" end="15" type="bool" />
2197    <field name="SO Done" start="16" end="16" type="bool" />
2198    <field name="LSC L1BANK0 Idle" start="18" end="18" type="bool" />
2199    <field name="LSC L1BANK1 Idle" start="19" end="19" type="bool" />
2200    <field name="LSC L1BANK2 Idle" start="20" end="20" type="bool" />
2201    <field name="LSC L1BANK3 Idle" start="21" end="21" type="bool" />
2202    <field name="LSC SEQ0 Idle" start="22" end="22" type="bool" />
2203    <field name="LSC SEQ1 Idle" start="23" end="23" type="bool" />
2204    <field name="LSC SEQ2 Idle" start="24" end="24" type="bool" />
2205    <field name="LSC SEQ3 Idle" start="25" end="25" type="bool" />
2206    <field name="LSC SEQ INTF Idle" start="26" end="26" type="bool" />
2207    <field name="LSC L3 INTF Idle" start="27" end="27" type="bool" />
2208    <field name="VMEM SOARB0 Done" start="28" end="28" type="bool" />
2209    <field name="VMEM SOARB1 Done" start="29" end="29" type="bool" />
2210    <field name="VMEM L3REQARB0 Done" start="30" end="30" type="bool" />
2211    <field name="VMEM L3REQARB1 Done" start="31" end="31" type="bool" />
2212  </register>
2213  <register name="SC_INSTDONE" length="1" num="0x7100">
2214    <field name="SVL Done" start="0" end="0" type="bool" />
2215    <field name="WMFE Done" start="1" end="1" type="bool" />
2216    <field name="WMBE Done" start="2" end="2" type="bool" />
2217    <field name="HIZ Done" start="3" end="3" type="bool" />
2218    <field name="IZFE Done" start="5" end="5" type="bool" />
2219    <field name="SBE Done" start="6" end="6" type="bool" />
2220    <field name="RCC Done" start="9" end="9" type="bool" />
2221    <field name="RCPBE Done" start="10" end="10" type="bool" />
2222    <field name="RCPFE Done" start="11" end="11" type="bool" />
2223    <field name="DAPB Done" start="12" end="12" type="bool" />
2224    <field name="DAPRBE Done" start="13" end="13" type="bool" />
2225    <field name="SARB Done" start="15" end="15" type="bool" />
2226    <field name="DC0 Done" start="16" end="16" type="bool" />
2227    <field name="DC1 Done" start="17" end="17" type="bool" />
2228    <field name="DC2 Done" start="18" end="18" type="bool" />
2229    <field name="DC3 Done" start="19" end="19" type="bool" />
2230    <field name="GW0 Done" start="20" end="20" type="bool" />
2231    <field name="GW1 Done" start="21" end="21" type="bool" />
2232    <field name="GW2 Done" start="22" end="22" type="bool" />
2233    <field name="GW3 Done" start="23" end="23" type="bool" />
2234    <field name="TDC Done" start="24" end="24" type="bool" />
2235    <field name="SFBE Done" start="25" end="25" type="bool" />
2236    <field name="PSS Done" start="26" end="26" type="bool" />
2237    <field name="AMFS Done" start="27" end="27" type="bool" />
2238  </register>
2239  <register name="SC_INSTDONE_EXTRA" length="1" num="0x7104">
2240    <field name="RCC1 Done" start="9" end="9" type="bool" />
2241    <field name="RCPBE1 Done" start="10" end="10" type="bool" />
2242    <field name="RCPFE1 Done" start="11" end="11" type="bool" />
2243    <field name="DAPB1 Done" start="12" end="12" type="bool" />
2244    <field name="DAPRBE1 Done" start="13" end="13" type="bool" />
2245    <field name="DC4 Done" start="16" end="16" type="bool" />
2246    <field name="DC5 Done" start="17" end="17" type="bool" />
2247    <field name="DC6 Done" start="18" end="18" type="bool" />
2248    <field name="DC7 Done" start="19" end="19" type="bool" />
2249    <field name="GW4 Done" start="20" end="20" type="bool" />
2250    <field name="GW5 Done" start="21" end="21" type="bool" />
2251    <field name="GW6 Done" start="22" end="22" type="bool" />
2252    <field name="GW7 Done" start="23" end="23" type="bool" />
2253    <field name="TDC1 Done" start="24" end="24" type="bool" />
2254    <field name="PSS Done" start="26" end="26" type="bool" />
2255  </register>
2256  <register name="SC_INSTDONE_EXTRA2" length="1" num="0x7108">
2257    <field name="RCC2 Done" start="9" end="9" type="bool" />
2258    <field name="RCPBE2 Done" start="10" end="10" type="bool" />
2259    <field name="RCPFE2 Done" start="11" end="11" type="bool" />
2260    <field name="DAPB2 Done" start="12" end="12" type="bool" />
2261    <field name="DAPRBE2 Done" start="13" end="13" type="bool" />
2262  </register>
2263  <register name="TASK_INVOCATION_COUNT" length="2" num="0x26E8">
2264    <field name="TASK Invocation Counter" start="0" end="63" type="uint" />
2265  </register>
2266</genxml>
2267