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