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