xref: /aosp_15_r20/external/mesa3d/src/intel/genxml/gen20.xml (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1<?xml version='1.0' encoding='utf-8'?>
2<genxml name="XE2" gen="20">
3  <import name="gen125.xml">
4    <exclude name="3DSTATE_CLEAR_PARAMS" />
5    <exclude name="CLEAR_COLOR" />
6    <exclude name="L3ALLOC" />
7  </import>
8  <enum name="PREF_SLM_ALLOCATION_SIZE">
9    <value name="SLM_ENCODES_0K" value="0" />
10    <value name="SLM_ENCODES_16K" value="1" />
11    <value name="SLM_ENCODES_32K" value="2" />
12    <value name="SLM_ENCODES_64K" value="3" />
13    <value name="SLM_ENCODES_96K" value="4" />
14    <value name="SLM_ENCODES_128K" value="5" />
15    <value name="SLM_ENCODES_160K" value="6" />
16    <value name="SLM_ENCODES_192K" value="7" />
17    <value name="SLM_ENCODES_224K" value="8" />
18    <value name="SLM_ENCODES_256K" value="9" />
19    <value name="SLM_ENCODES_384K" value="10" />
20  </enum>
21  <enum name="RESOURCE_BARRIER_STAGE" prefix="RESOURCE_BARRIER_STAGE">
22    <value name="None" value="0" />
23    <value name="TOP" value="1" />
24    <value name="Color" value="2" />
25    <value name="Gpgpu" value="4" />
26    <value name="Color and Compute" value="6" />
27    <value name="Geom" value="16" />
28    <value name="Geometry and Compute" value="20" />
29    <value name="Raster" value="32" />
30    <value name="Depth" value="64" />
31    <value name="Pixel" value="128" />
32  </enum>
33  <enum name="RESOURCE_BARRIER_TYPE" prefix="RESOURCE_BARRIER_TYPE">
34    <value name="Immediate" value="0" />
35    <value name="Signal" value="1" />
36    <value name="Wait" value="2" />
37    <value name="UAV" value="3" />
38  </enum>
39  <enum name="UNIFIED_COMPRESSION_FORMAT">
40    <value name="CMF_R8" value="0" />
41    <value name="CMF_R8_G8" value="1" />
42    <value name="CMF_R8_G8_B8_A8" value="2" />
43    <value name="CMF_R10_G10_B10_A2" value="3" />
44    <value name="CMF_R11_G11_B10" value="4" />
45    <value name="CMF_R16" value="5" />
46    <value name="CMF_R16_G16" value="6" />
47    <value name="CMF_R16_G16_B16_A16" value="7" />
48    <value name="CMF_R32" value="8" />
49    <value name="CMF_R32_G32" value="9" />
50    <value name="CMF_R32_G32_B32_A32" value="10" />
51    <value name="CMF_Y16_U16_Y16_V16" value="11" />
52    <value name="CMF_ML8" value="15" />
53  </enum>
54  <struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
55    <field name="Kernel Start Pointer" start="6" end="31" type="offset" />
56    <field name="Software Exception Enable" start="71" end="71" type="bool" />
57    <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool" />
58    <field name="Floating Point Mode" start="80" end="80" type="uint">
59      <value name="IEEE-754" value="0" />
60      <value name="Alternate" value="1" />
61    </field>
62    <field name="Single Program Flow" start="82" end="82" type="bool" />
63    <field name="Denorm Mode" start="83" end="83" type="uint">
64      <value name="Ftz" value="0" />
65      <value name="SetByKernel" value="1" />
66    </field>
67    <field name="Thread Preemption" start="84" end="84" type="bool" default="1" />
68    <field name="Sampler Count" start="98" end="100" type="uint">
69      <value name="No samplers used" value="0" />
70      <value name="Between 1 and 4 samplers used" value="1" />
71      <value name="Between 5 and 8 samplers used" value="2" />
72      <value name="Between 9 and 12 samplers used" value="3" />
73      <value name="Between 13 and 16 samplers used" value="4" />
74    </field>
75    <field name="Sampler State Pointer" start="101" end="127" type="offset" />
76    <field name="Binding Table Entry Count" start="128" end="132" type="uint" />
77    <field name="Binding Table Pointer" start="133" end="148" type="offset" />
78    <field name="Number of Threads in GPGPU Thread Group" start="160" end="169" type="uint" />
79    <field name="Thread group forward progress guarantee" start="173" end="173" type="bool" />
80    <field name="Shared Local Memory Size" start="176" end="180" type="uint">
81      <value name="Encodes 0K" value="0" />
82      <value name="Encodes 1K" value="1" />
83      <value name="Encodes 2K" value="2" />
84      <value name="Encodes 4K" value="3" />
85      <value name="Encodes 8K" value="4" />
86      <value name="Encodes 16K" value="5" />
87      <value name="Encodes 32K" value="6" />
88      <value name="Encodes 64K" value="7" />
89      <value name="Encodes 96K" value="10" />
90      <value name="Encodes 128K" value="11" />
91      <value name="Encodes 192K" value="12" />
92      <value name="Encodes 256K" value="13" />
93      <value name="Encodes 384K" value="14" />
94    </field>
95    <field name="Rounding Mode" start="182" end="183" type="uint">
96      <value name="RTNE" value="0" />
97      <value name="RU" value="1" />
98      <value name="RD" value="2" />
99      <value name="RTZ" value="3" />
100    </field>
101    <field name="Thread Group Dispatch Size" start="186" end="187" type="uint">
102      <value name="TG size 8" value="0" />
103      <value name="TG size 4" value="1" />
104      <value name="TG size 2" value="2" />
105      <value name="TG size 1" value="3" />
106    </field>
107    <field name="Number Of Barriers" start="188" end="190" type="uint" prefix="BARRIER_SIZE">
108      <value name="NONE" value="0" />
109      <value name="B1" value="1" />
110      <value name="B2" value="2" />
111      <value name="B4" value="3" />
112      <value name="B8" value="4" />
113      <value name="B16" value="5" />
114      <value name="B24" value="6" />
115      <value name="B32" value="7" />
116    </field>
117    <field name="BTD Mode" start="191" end="191" type="uint" />
118    <field name="Preferred SLM Allocation Size" start="224" end="227" type="PREF_SLM_ALLOCATION_SIZE" />
119  </struct>
120  <struct name="POSTSYNC_DATA" length="5">
121    <field name="Operation" start="0" end="1" type="uint" default="0">
122      <value name="No Write" value="0" />
123      <value name="Write Immediate Data" value="1" />
124      <value name="Write Timestamp" value="3" />
125    </field>
126    <field name="HDC Pipeline Flush" start="2" end="2" type="bool" />
127    <field name="MOCS" start="4" end="10" type="uint" nonzero="true" />
128    <field name="System Memory Fence Request" start="11" end="11" type="bool" />
129    <field name="Dataport Subslice Cache Flush" start="12" end="12" type="bool" />
130    <field name="Destination Address" start="32" end="95" type="address" />
131    <field name="Immediate Data" start="96" end="159" type="uint" />
132  </struct>
133  <struct name="COMPUTE_WALKER_BODY" length="39">
134    <field name="Indirect Data Length" start="32" end="48" type="uint" />
135    <field name="L3 prefetch disable" start="49" end="49" type="bool" />
136    <field name="Partition Dispatch Parameter" start="50" end="61" type="uint" />
137    <field name="Partition Type" start="62" end="63" type="uint">
138      <value name="PartitionX" value="1" />
139      <value name="PartitionY" value="2" />
140      <value name="PartitionZ" value="3" />
141    </field>
142    <field name="Indirect Data Start Address" start="70" end="95" type="offset" />
143    <field name="Compute Dispatch All walker Enable" start="96" end="96" type="uint">
144      <value name="Disabled" value="0" />
145      <value name="Enabled" value="1" />
146    </field>
147    <field name="Dispatch Walk Order" start="101" end="102" type="uint">
148      <value name="Linear Walk" value="0" />
149      <value name="Y order walk" value="1" />
150      <value name="Morton Walk" value="2" />
151    </field>
152    <field name="Message SIMD" start="113" end="114" type="uint">
153      <value name="SIMT16" value="1" />
154      <value name="SIMT32" value="2" />
155    </field>
156    <field name="Tile Layout" start="115" end="117" type="uint">
157      <value name="Linear" value="0" />
158      <value name="TileY 32bpe" value="1" />
159      <value name="TileY 64bpe" value="2" />
160      <value name="TileY 128bpe" value="3" />
161    </field>
162    <field name="Walk Order" start="118" end="120" type="uint">
163      <value name="Walk 012" value="0" />
164      <value name="Walk 021" value="1" />
165      <value name="Walk 102" value="2" />
166      <value name="Walk 120" value="3" />
167      <value name="Walk 201" value="4" />
168      <value name="Walk 210" value="5" />
169    </field>
170    <field name="Emit Inline Parameter" start="121" end="121" type="bool" />
171    <field name="Emit Local" start="122" end="124" type="uint">
172      <value name="Emit None" value="0" />
173      <value name="Emit X" value="1" />
174      <value name="Emit XY" value="3" />
175      <value name="Emit XYZ" value="7" />
176    </field>
177    <field name="Generate Local ID" start="125" end="125" type="bool" />
178    <field name="SIMD Size" start="126" end="127" type="uint">
179      <value name="SIMT16" value="1" />
180      <value name="SIMT32" value="2" />
181    </field>
182    <field name="Execution Mask" start="128" end="159" type="uint" />
183    <field name="Local X Maximum" start="160" end="169" type="uint" />
184    <field name="Local Y Maximum" start="170" end="179" type="uint" />
185    <field name="Local Z Maximum" start="180" end="189" type="uint" />
186    <field name="Thread Group ID X Dimension" start="192" end="223" type="uint" />
187    <field name="Thread Group ID Y Dimension" start="224" end="255" type="uint" />
188    <field name="Thread Group ID Z Dimension" start="256" end="287" type="uint" />
189    <field name="Thread Group ID Starting X" start="288" end="319" type="uint" />
190    <field name="Thread Group ID Starting Y" start="320" end="351" type="uint" />
191    <field name="Thread Group ID Starting Z" start="352" end="383" type="uint" />
192    <field name="Partition ID" start="384" end="415" type="uint" />
193    <field name="Partition Size" start="416" end="447" type="uint" />
194    <field name="Preempt X" start="448" end="479" type="uint" />
195    <field name="Preempt Y" start="480" end="511" type="uint" />
196    <field name="Preempt Z" start="512" end="543" type="uint" />
197    <field name="Walker ID" start="544" end="547" type="uint" />
198    <field name="Over dispatch TG count" start="552" end="567" type="uint" />
199    <field name="Interface Descriptor" start="576" end="831" type="INTERFACE_DESCRIPTOR_DATA" />
200    <field name="Post Sync" start="832" end="991" type="POSTSYNC_DATA" />
201    <group count="8" start="992" size="32">
202      <field name="Inline Data" start="0" end="31" type="uint" />
203    </group>
204  </struct>
205  <struct name="RENDER_SURFACE_STATE" length="16">
206    <field name="Cube Face Enable - Positive Z" start="0" end="0" type="bool" />
207    <field name="Cube Face Enable - Negative Z" start="1" end="1" type="bool" />
208    <field name="Cube Face Enable - Positive Y" start="2" end="2" type="bool" />
209    <field name="Cube Face Enable - Negative Y" start="3" end="3" type="bool" />
210    <field name="Cube Face Enable - Positive X" start="4" end="4" type="bool" />
211    <field name="Cube Face Enable - Negative X" start="5" end="5" type="bool" />
212    <field name="Media Boundary Pixel Mode" start="6" end="7" type="uint">
213      <value name="NORMAL_MODE" value="0" />
214      <value name="PROGRESSIVE_FRAME" value="2" />
215      <value name="INTERLACED_FRAME" value="3" />
216    </field>
217    <field name="Render Cache Read Write Mode" start="8" end="8" type="uint">
218      <value name="Write-Only Cache" value="0" />
219      <value name="Read-Write Cache" value="1" />
220    </field>
221    <field name="Enable Sampler Route to LSC" start="9" end="9" type="bool" />
222    <field name="Vertical Line Stride Offset" start="10" end="10" type="uint" />
223    <field name="Vertical Line Stride" start="11" end="11" type="uint" />
224    <field name="Tile Mode" start="12" end="13" type="uint">
225      <value name="LINEAR" value="0" />
226      <value name="TILE64" value="1" />
227      <value name="XMAJOR" value="2" />
228      <value name="TILE4" value="3" />
229    </field>
230    <field name="Surface Horizontal Alignment" start="14" end="15" type="uint">
231      <value name="HALIGN_16" value="0" />
232      <value name="HALIGN_32" value="1" />
233      <value name="HALIGN_64" value="2" />
234      <value name="HALIGN_128" value="3" />
235    </field>
236    <field name="Surface Vertical Alignment" start="16" end="17" type="uint">
237      <value name="VALIGN_4" value="1" />
238      <value name="VALIGN_8" value="2" />
239      <value name="VALIGN_16" value="3" />
240    </field>
241    <field name="Surface Format" start="18" end="26" type="uint" />
242    <field name="Surface Array" start="28" end="28" type="bool" />
243    <field name="Surface Type" start="29" end="31" type="STATE_SURFACE_TYPE" />
244    <field name="Surface QPitch" start="32" end="46" type="uint" />
245    <field name="Sample Tap Discard Disable" start="47" end="47" type="bool" />
246    <field name="Corner Texel Mode" start="50" end="50" type="bool" />
247    <field name="Base Mip Level" start="51" end="55" type="uint" />
248    <field name="MOCS" start="56" end="62" type="uint" nonzero="true" />
249    <field name="Width" start="64" end="77" type="uint" />
250    <field name="Height" start="80" end="93" type="uint" />
251    <field name="Depth Stencil Resource" start="95" end="95" type="bool" />
252    <field name="Surface Pitch" start="96" end="113" type="uint" />
253    <field name="Depth" start="117" end="127" type="uint" />
254    <field name="Multisample Position Palette Index" start="128" end="130" type="uint" />
255    <field name="Number of Multisamples" start="131" end="133" type="uint">
256      <value name="MULTISAMPLECOUNT_1" value="0" />
257      <value name="MULTISAMPLECOUNT_2" value="1" />
258      <value name="MULTISAMPLECOUNT_4" value="2" />
259      <value name="MULTISAMPLECOUNT_8" value="3" />
260      <value name="MULTISAMPLECOUNT_16" value="4" />
261    </field>
262    <field name="Multisampled Surface Storage Format" start="134" end="134" type="uint">
263      <value name="MSFMT_MSS" value="0" />
264      <value name="MSFMT_DEPTH_STENCIL" value="1" />
265    </field>
266    <field name="Render Target View Extent" start="135" end="145" type="uint" />
267    <field name="Minimum Array Element" start="146" end="156" type="uint" />
268    <field name="Render Target And Sample Unorm Rotation" start="157" end="158" type="uint">
269      <value name="0DEG" value="0" />
270      <value name="90DEG" value="1" />
271      <value name="180DEG" value="2" />
272      <value name="270DEG" value="3" />
273    </field>
274    <field name="MIP Count / LOD" start="160" end="163" type="uint" />
275    <field name="Surface Min LOD" start="164" end="167" type="uint" />
276    <field name="Mip Tail Start LOD" start="168" end="171" type="uint" />
277    <field name="L1 Cache Control" start="176" end="178" type="L1_CACHE_CONTROL" />
278    <field name="EWA Disable For Cube" start="180" end="180" type="bool" />
279    <field name="Y Offset" start="181" end="183" type="uint" />
280    <field name="X Offset" start="185" end="191" type="uint" />
281    <field name="Auxiliary Surface Mode" start="192" end="194" type="uint">
282      <value name="AUX_NONE" value="0" />
283      <value name="AUX_APPEND" value="1" />
284      <value name="AUX_MCS" value="2" />
285    </field>
286    <field name="Y Offset for U or UV Plane" start="192" end="205" type="uint" />
287    <field name="Auxiliary Surface Pitch" start="195" end="204" type="uint" />
288    <field name="YUV Interpolation Enable" start="207" end="207" type="bool" />
289    <field name="X Offset for U or UV Plane" start="208" end="221" type="uint" />
290    <field name="Auxiliary Surface QPitch" start="208" end="222" type="uint" />
291    <field name="Resource Min LOD" start="224" end="235" type="u4.8" />
292    <field name="Shader Channel Select Alpha" start="240" end="242" type="Shader Channel Select" />
293    <field name="Shader Channel Select Blue" start="243" end="245" type="Shader Channel Select" />
294    <field name="Shader Channel Select Green" start="246" end="248" type="Shader Channel Select" />
295    <field name="Shader Channel Select Red" start="249" end="251" type="Shader Channel Select" />
296    <field name="Surface Base Address" start="256" end="319" type="address" />
297    <field name="Mip Region Width In Log2" start="320" end="323" type="uint" />
298    <field name="Append Counter Address" start="322" end="383" type="address" />
299    <field name="Mip Region Height In Log2" start="324" end="327" type="uint" />
300    <field name="Procedural Texture" start="331" end="331" type="bool" />
301    <field name="Auxiliary Surface Base Address" start="332" end="383" type="address" />
302    <field name="Y Offset for V Plane" start="352" end="365" type="uint" />
303    <field name="X Offset for V Plane" start="368" end="381" type="uint" />
304    <field name="Compression Format" start="384" end="387" type="UNIFIED_COMPRESSION_FORMAT" />
305    <field name="Mip Region Depth In Log2" start="388" end="391" type="uint" />
306    <field name="Disallowlowqualityfiltering" start="447" end="447" type="bool" />
307  </struct>
308  <struct name="RESOURCE_BARRIER_BODY" length="4">
309    <field name="Wait Stage" start="0" end="11" type="RESOURCE_BARRIER_STAGE" />
310    <field name="Signal Stage" start="12" end="23" type="RESOURCE_BARRIER_STAGE" />
311    <field name="Barrier Type" start="30" end="31" type="RESOURCE_BARRIER_TYPE" />
312    <field name="L1 Dataport Cache Invalidate" start="53" end="53" type="bool" />
313    <field name="Depth Cache" start="54" end="54" type="bool" />
314    <field name="Color Cache" start="55" end="55" type="bool" />
315    <field name="L1 Dataport UAV Flush" start="56" end="56" type="bool" />
316    <field name="Texture (RO)" start="57" end="57" type="bool" />
317    <field name="State (RO)" start="58" end="58" type="bool" />
318    <field name="VF (RO)" start="59" end="59" type="bool" />
319    <field name="AMFS" start="60" end="60" type="bool" />
320    <field name="Constant Cache" start="61" end="61" type="bool" />
321    <field name="Barrier ID Address" start="67" end="127" type="address" />
322  </struct>
323  <instruction name="3DSTATE_3D_MODE" bias="2" length="5" engine="render">
324    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
325    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="30" />
326    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
327    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
328    <field name="Command Type" start="29" end="31" type="uint" default="3" />
329    <field name="Cross Slice Hashing Mode" start="32" end="33" type="uint">
330      <value name="Normal Mode" value="0" />
331      <value name="Disable" value="1" />
332      <value name="hashing 32x32" value="3" />
333    </field>
334    <field name="3D Scoreboard Hashing Mode" start="36" end="36" type="bool" />
335    <field name="Subslice Hashing Table Enable" start="37" end="37" type="bool" />
336    <field name="Slice Hashing Table Enable" start="38" end="38" type="bool" />
337    <field name="DX10 OGL Border Mode for YCRCB" start="42" end="42" type="bool" />
338    <field name="Enable OOO reads in RCPB" start="43" end="43" type="bool" />
339    <field name="Cross Slice Hashing Mode Mask" start="48" end="49" type="int" />
340    <field name="3D Scoreboard Hashing Mode Mask" start="52" end="52" type="bool" />
341    <field name="Subslice Hashing Table Enable Mask" start="53" end="53" type="bool" />
342    <field name="Slice Hashing Table Enable Mask" start="54" end="54" type="bool" />
343    <field name="DX10 OGL Border Mode for YCRCB Mask" start="58" end="58" type="bool" />
344    <field name="Enable OOO reads in RCPB Mask" start="59" end="59" type="bool" />
345    <field name="AMFS MOCS" start="64" end="70" type="uint" />
346    <field name="State Cache redirect to CS section enable" start="73" end="73" type="bool" />
347    <field name="AMFS MOCS Mask" start="80" end="86" type="uint" />
348    <field name="State Cache redirect to CS section enable Mask" start="89" end="89" type="bool" />
349    <field name="RCC RHWO Optimization Disable" start="111" end="111" type="bool" />
350    <field name="RCC RHWO Optimization Disable Mask" start="127" end="127" type="bool" />
351  </instruction>
352  <instruction name="3DSTATE_BTD" bias="2" length="6" engine="render|compute">
353    <field name="DWord Length" start="0" end="7" type="uint" default="4" />
354    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6" />
355    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
356    <field name="Command SubType" start="27" end="28" type="uint" default="0" />
357    <field name="Command Type" start="29" end="31" type="uint" default="3" />
358    <field name="Dispatch Timeout Counter" start="32" end="34" type="uint">
359      <value name="64 clocks" value="0" />
360      <value name="128 clocks" value="1" />
361      <value name="192 clocks" value="2" />
362      <value name="256 clocks" value="3" />
363      <value name="512 clocks" value="4" />
364      <value name="1024 clocks" value="5" />
365      <value name="2048 clocks" value="6" />
366      <value name="4096 clocks" value="7" />
367    </field>
368    <field name="Controls the maximum number of outstanding Ray Queries per SS" start="39" end="40" type="uint" prefix="RAYS_QUERIES_OUTSTANDING">
369      <value name="128" value="0" />
370      <value name="256" value="1" />
371      <value name="512" value="2" />
372      <value name="1024" value="3" />
373    </field>
374    <field name="BTD Mid thread preemption" start="63" end="63" type="bool" default="1" />
375    <field name="Per DSS Memory Backed Buffer Size" start="64" end="66" type="uint" default="6">
376      <value name="2KB" value="0" />
377      <value name="4KB" value="1" />
378      <value name="8KB" value="2" />
379      <value name="16KB" value="3" />
380      <value name="32KB" value="4" />
381      <value name="64KB" value="5" />
382      <value name="128KB" value="6" />
383    </field>
384    <field name="Memory Backed Buffer Base Pointer" start="74" end="127" type="address" />
385    <field name="Scratch Space Buffer" start="138" end="159" type="uint" />
386  </instruction>
387  <instruction name="3DSTATE_CPSIZE_CONTROL_BUFFER" bias="2" length="8">
388    <field name="DWord Length" start="0" end="7" type="uint" default="6" />
389    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="131" />
390    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
391    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
392    <field name="Command Type" start="29" end="31" type="uint" default="3" />
393    <field name="Surface Pitch" start="32" end="48" type="uint" />
394    <field name="Surface Type" start="61" end="63" type="uint" />
395    <field name="Surface Base Address" start="64" end="127" type="address" />
396    <field name="Width" start="129" end="142" type="uint" />
397    <field name="Height" start="145" end="158" type="uint" />
398    <field name="MOCS" start="160" end="166" type="uint" />
399    <field name="Minimum Array Element" start="168" end="178" type="uint" />
400    <field name="Depth" start="180" end="190" type="uint" />
401    <field name="Compression Format" start="192" end="195" type="UNIFIED_COMPRESSION_FORMAT" />
402    <field name="Mip Tail Start LOD" start="218" end="221" type="uint" />
403    <field name="Tiled Mode" start="222" end="223" type="uint">
404      <value name="TILE64" value="1" />
405      <value name="TILE4" value="3" />
406    </field>
407    <field name="Surface QPitch" start="224" end="238" type="uint" />
408    <field name="Surf LOD" start="240" end="243" type="uint" />
409    <field name="Render Target View Extent" start="245" end="255" type="uint" />
410  </instruction>
411  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8" engine="render">
412    <field name="DWord Length" start="0" end="7" type="uint" default="6" />
413    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="5" />
414    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
415    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
416    <field name="Command Type" start="29" end="31" type="uint" default="3" />
417    <field name="Surface Pitch" start="32" end="49" type="uint" />
418    <field name="Hierarchical Depth Buffer Enable" start="54" end="54" type="bool" />
419    <field name="Corner Texel Mode" start="55" end="55" type="bool" />
420    <field name="Surface Format" start="56" end="58" type="uint">
421      <value name="D32_FLOAT" value="1" />
422      <value name="D24_UNORM_X8_UINT" value="3" />
423      <value name="D16_UNORM" value="5" />
424    </field>
425    <field name="Null Page Coherency Enable" start="59" end="59" type="bool" />
426    <field name="Depth Write Enable" start="60" end="60" type="bool" />
427    <field name="Surface Type" start="61" end="63" type="uint">
428      <value name="SURFTYPE_2D" value="1" />
429      <value name="SURFTYPE_CUBE" value="3" />
430      <value name="SURFTYPE_NULL" value="7" />
431    </field>
432    <field name="Surface Base Address" start="64" end="127" type="address" />
433    <field name="Width" start="129" end="142" type="uint" />
434    <field name="Height" start="145" end="158" type="uint" />
435    <field name="MOCS" start="160" end="166" type="uint" nonzero="true" />
436    <field name="Minimum Array Element" start="168" end="178" type="uint" />
437    <field name="Depth" start="180" end="190" type="uint" />
438    <field name="Render Compression Format" start="192" end="195" type="UNIFIED_COMPRESSION_FORMAT" />
439    <field name="Mip Tail Start LOD" start="218" end="221" type="uint" />
440    <field name="Tiled Mode" start="222" end="223" type="uint">
441      <value name="TILE64" value="1" />
442      <value name="TILE4" value="3" />
443    </field>
444    <field name="Surface QPitch" start="224" end="238" type="uint" />
445    <field name="LOD" start="240" end="243" type="uint" />
446    <field name="Render Target View Extent" start="245" end="255" type="uint" />
447  </instruction>
448  <instruction name="3DSTATE_DRAWING_RECTANGLE_FAST" bias="2" length="4" engine="render">
449    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
450    <field name="Core Mode Select" start="14" end="15" type="uint">
451      <value name="Legacy" value="0" />
452      <value name="Core 0 Enabled" value="1" />
453      <value name="Core 1 Enabled" value="2" />
454    </field>
455    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="0" />
456    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
457    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
458    <field name="Command Type" start="29" end="31" type="uint" default="3" />
459    <field name="Clipped Drawing Rectangle X Min" start="32" end="47" type="uint" />
460    <field name="Clipped Drawing Rectangle Y Min" start="48" end="63" type="uint" />
461    <field name="Clipped Drawing Rectangle X Max" start="64" end="79" type="uint" />
462    <field name="Clipped Drawing Rectangle Y Max" start="80" end="95" type="uint" />
463    <field name="Drawing Rectangle Origin X" start="96" end="111" type="int" />
464    <field name="Drawing Rectangle Origin Y" start="112" end="127" type="int" />
465  </instruction>
466  <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
467    <field name="DWord Length" start="0" end="7" type="uint" default="8" />
468    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="17" />
469    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
470    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
471    <field name="Command Type" start="29" end="31" type="uint" default="3" />
472    <field name="Kernel Start Pointer" start="38" end="95" type="offset" />
473    <field name="Expected Vertex Count" start="96" end="101" type="uint" />
474    <field name="Software Exception Enable" start="103" end="103" type="bool" />
475    <field name="Mask Stack Exception Enable" start="107" end="107" type="bool" />
476    <field name="Accesses UAV" start="108" end="108" type="bool" />
477    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
478    <field name="Floating Point Mode" start="112" end="112" type="uint">
479      <value name="IEEE-754" value="0" />
480      <value name="Alternate" value="1" />
481    </field>
482    <field name="Thread Dispatch Priority" start="113" end="113" type="uint">
483      <value name="Normal" value="0" />
484      <value name="High" value="1" />
485    </field>
486    <field name="Binding Table Entry Count" start="114" end="121" type="uint" />
487    <field name="Sampler Count" start="123" end="125" type="uint">
488      <value name="No Samplers" value="0" />
489      <value name="1-4 Samplers" value="1" />
490      <value name="5-8 Samplers" value="2" />
491      <value name="9-12 Samplers" value="3" />
492      <value name="13-16 Samplers" value="4" />
493    </field>
494    <field name="Vector Mask Enable" start="126" end="126" type="uint">
495      <value name="Dmask" value="0" />
496    </field>
497    <field name="Single Program Flow" start="127" end="127" type="bool" />
498    <field name="Scratch Space Buffer" start="138" end="159" type="uint" />
499    <field name="Dispatch GRF Start Register For URB Data" start="192" end="195" type="uint" />
500    <field name="Vertex URB Entry Read Offset" start="196" end="201" type="uint" />
501    <field name="Include Vertex Handles" start="202" end="202" type="bool" />
502    <field name="Vertex URB Entry Read Length" start="203" end="208" type="uint" />
503    <field name="Output Topology" start="209" end="214" type="3D_Prim_Topo_Type" />
504    <field name="Output Vertex Size" start="215" end="220" type="uint" />
505    <field name="Dispatch GRF Start Register For URB Data [5:4]" start="221" end="222" type="uint" />
506    <field name="Enable" start="224" end="224" type="bool" />
507    <field name="Discard Adjacency" start="225" end="225" type="bool" />
508    <field name="Reorder Mode" start="226" end="226" type="uint">
509      <value name="LEADING" value="0" />
510      <value name="TRAILING" value="1" />
511    </field>
512    <field name="Hint" start="227" end="227" type="bool" />
513    <field name="Include Primitive ID" start="228" end="228" type="bool" />
514    <field name="Invocations Increment Value" start="229" end="233" type="uint" />
515    <field name="Statistics Enable" start="234" end="234" type="bool" />
516    <field name="Default Stream Id" start="237" end="238" type="uint" />
517    <field name="Instance Control" start="239" end="243" type="uint" />
518    <field name="Control Data Header Size" start="244" end="247" type="uint" />
519    <field name="Maximum Number of Threads" start="256" end="264" type="uint" />
520    <field name="Static Output Vertex Count" start="272" end="282" type="uint" />
521    <field name="Static Output" start="286" end="286" type="bool" />
522    <field name="Control Data Format" start="287" end="287" type="uint">
523      <value name="CUT" value="0" />
524      <value name="SID" value="1" />
525    </field>
526    <field name="User Clip Distance Cull Test Enable Bitmask" start="288" end="295" type="uint" />
527    <field name="User Clip Distance Clip Test Enable Bitmask" start="296" end="303" type="uint" />
528    <field name="Vertex URB Entry Output Length" start="304" end="308" type="uint" />
529    <field name="Vertex URB Entry Output Read Offset" start="309" end="314" type="uint" />
530  </instruction>
531  <instruction name="3DSTATE_HS" bias="2" length="8" engine="render">
532    <field name="DWord Length" start="0" end="7" type="uint" default="6" />
533    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="27" />
534    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
535    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
536    <field name="Command Type" start="29" end="31" type="uint" default="3" />
537    <field name="Patch Count Threshold" start="32" end="35" type="uint" />
538    <field name="Software Exception Enable" start="44" end="44" type="bool" />
539    <field name="Illegal Opcode Exception Enable" start="45" end="45" type="bool" />
540    <field name="Floating Point Mode" start="48" end="48" type="uint">
541      <value name="IEEE-754" value="0" />
542      <value name="alternate" value="1" />
543    </field>
544    <field name="Thread Dispatch Priority" start="49" end="49" type="uint">
545      <value name="Normal" value="0" />
546      <value name="High" value="1" />
547    </field>
548    <field name="Binding Table Entry Count" start="50" end="57" type="uint" />
549    <field name="Sampler Count" start="59" end="61" type="uint">
550      <value name="No Samplers" value="0" />
551      <value name="1-4 Samplers" value="1" />
552      <value name="5-8 Samplers" value="2" />
553      <value name="9-12 Samplers" value="3" />
554      <value name="13-16 Samplers" value="4" />
555    </field>
556    <field name="Instance Count" start="64" end="68" type="uint" />
557    <field name="Maximum Number of Threads" start="72" end="80" type="uint" />
558    <field name="Statistics Enable" start="93" end="93" type="bool" />
559    <field name="Enable" start="95" end="95" type="bool" />
560    <field name="Kernel Start Pointer" start="102" end="159" type="offset" />
561    <field name="Scratch Space Buffer" start="170" end="191" type="uint" />
562    <field name="Include Primitive ID" start="224" end="224" type="bool" />
563    <field name="Vertex URB Entry Read Offset" start="228" end="233" type="uint" />
564    <field name="Vertex URB Entry Read Length" start="235" end="240" type="uint" />
565    <field name="Dispatch GRF Start Register For URB Data" start="243" end="247" type="uint" />
566    <field name="Include Vertex Handles" start="248" end="248" type="bool" />
567    <field name="Accesses UAV" start="249" end="249" type="bool" />
568    <field name="Vector Mask Enable" start="250" end="250" type="uint">
569      <value name="Dmask" value="0" />
570    </field>
571    <field name="Single Program Flow" start="251" end="251" type="bool" />
572    <field name="Dispatch GRF Start Register For URB Data [5]" start="252" end="252" type="uint" />
573  </instruction>
574  <instruction name="3DSTATE_MESH_CONTROL" bias="2" length="3">
575    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
576    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="119" />
577    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
578    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
579    <field name="Command Type" start="29" end="31" type="uint" default="3" />
580    <field name="Maximum Number of ThreadGroups" start="32" end="40" type="uint" />
581    <field name="VP and RTA Index Autostrip Enable" start="59" end="59" type="bool" />
582    <field name="Thread Dispatch Priority" start="60" end="60" type="uint">
583      <value name="High" value="1" />
584    </field>
585    <field name="Fused EU Dispatch" start="61" end="61" type="bool" />
586    <field name="Statistics Enable" start="62" end="62" type="bool" />
587    <field name="MeshShader Enable" start="63" end="63" type="uint" />
588    <field name="Scratch Space Buffer" start="74" end="95" type="uint" />
589  </instruction>
590  <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
591    <field name="DWord Length" start="0" end="7" type="uint" default="10" />
592    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="32" />
593    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
594    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
595    <field name="Command Type" start="29" end="31" type="uint" default="3" />
596    <field name="Kernel 0 Enable" start="32" end="32" type="bool" />
597    <field name="Kernel[0] : SIMD Width" start="33" end="33" type="uint" prefix="PS">
598      <value name="SIMD16" value="0" />
599      <value name="SIMD32" value="1" />
600    </field>
601    <field name="Kernel Start Pointer 0" start="38" end="95" type="offset" />
602    <field name="Software Exception Enable" start="103" end="103" type="bool" />
603    <field name="Mask Stack Exception Enable" start="107" end="107" type="bool" />
604    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
605    <field name="Rounding Mode" start="110" end="111" type="uint">
606      <value name="RTNE" value="0" />
607      <value name="RU" value="1" />
608      <value name="RD" value="2" />
609      <value name="RTZ" value="3" />
610    </field>
611    <field name="Floating Point Mode" start="112" end="112" type="uint">
612      <value name="IEEE-754" value="0" />
613      <value name="Alternate" value="1" />
614    </field>
615    <field name="Thread Dispatch Priority" start="113" end="113" type="uint">
616      <value name="Normal" value="0" />
617      <value name="High" value="1" />
618    </field>
619    <field name="Binding Table Entry Count" start="114" end="121" type="uint" />
620    <field name="Single Precision Denormal Mode" start="122" end="122" type="uint">
621      <value name="Flushed to Zero" value="0" />
622      <value name="Retained" value="1" />
623    </field>
624    <field name="Sampler Count" start="123" end="125" type="uint">
625      <value name="No Samplers" value="0" />
626      <value name="1-4 Samplers" value="1" />
627      <value name="5-8 Samplers" value="2" />
628      <value name="9-12 Samplers" value="3" />
629      <value name="13-16 Samplers" value="4" />
630    </field>
631    <field name="Vector Mask Enable" start="126" end="126" type="uint">
632      <value name="Dmask" value="0" />
633      <value name="Vmask" value="1" />
634    </field>
635    <field name="Single Program Flow" start="127" end="127" type="uint">
636      <value name="Multiple" value="0" />
637      <value name="Single" value="1" />
638    </field>
639    <field name="Scratch Space Buffer" start="138" end="159" type="uint" />
640    <field name="Position XY Offset Select" start="195" end="196" type="uint">
641      <value name="POSOFFSET_NONE" value="0" />
642      <value name="POSOFFSET_CENTROID" value="2" />
643      <value name="POSOFFSET_SAMPLE" value="3" />
644    </field>
645    <field name="Render Target Resolve Type" start="198" end="199" type="uint">
646      <value name="RESOLVE_DISABLED" value="0" />
647    </field>
648    <field name="Render Target Fast Clear Enable" start="200" end="200" type="bool" />
649    <field name="Overlapping Subspans Enable" start="201" end="201" type="bool" />
650    <field name="3D Scoreboard Address Size select" start="202" end="202" type="uint">
651      <value name="2x2" value="0" />
652      <value name="4x2" value="1" />
653    </field>
654    <field name="Clear/Resolve BTI for Render Target" start="204" end="211" type="uint" />
655    <field name="Pixel Scoreboard Disable" start="213" end="213" type="bool" />
656    <field name="Maximum Number of Threads Per PSD" start="215" end="223" type="uint" />
657    <field name="Dispatch GRF Start Register For Constant/Setup Data 1" start="232" end="239" type="uint" />
658    <field name="Dispatch GRF Start Register For Constant/Setup Data 0" start="240" end="247" type="uint" />
659    <field name="Kernel[0] : Poly Packing Policy" start="248" end="250" type="uint">
660      <value name="POLY_PACK4_DYNAMIC" value="0" />
661      <value name="POLY_PACK8_DYNAMIC" value="1" />
662      <value name="POLY_PACK16_DYNAMIC" value="2" />
663      <value name="POLY_PACK16_FIXED" value="3" />
664      <value name="POLY_PACK8_FIXED" value="4" />
665    </field>
666    <field name="Kernel[0] : Maximum Polys per Thread" start="251" end="253" type="uint" />
667    <field name="Kernel 1 Selection Priority" start="255" end="255" type="uint">
668      <value name="PRI_SIMD" value="0" />
669      <value name="PRI_POLY" value="1" />
670    </field>
671    <field name="Kernel 1 Enable" start="256" end="256" type="bool" />
672    <field name="Kernel[1] : SIMD Width" start="257" end="257" type="uint" prefix="PS">
673      <value name="SIMD16" value="0" />
674      <value name="SIMD32" value="1" />
675    </field>
676    <field name="Kernel Start Pointer 1" start="262" end="319" type="offset" />
677  </instruction>
678  <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
679    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
680    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="79" />
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="Input Coverage Mask State" start="32" end="33" type="uint" prefix="ICMS">
685      <value name="NONE" value="0" />
686      <value name="NORMAL" value="1" />
687      <value name="INNER_CONSERVATIVE" value="2" />
688      <value name="DEPTH_COVERAGE" value="3" />
689    </field>
690    <field name="Pixel Shader Has UAV" start="34" end="34" type="bool" />
691    <field name="Pixel Shader Is Per Coarse Pixel" start="36" end="36" type="bool" />
692    <field name="Pixel Shader Computes Stencil" start="37" end="37" type="bool" />
693    <field name="Pixel Shader Is Per Sample" start="38" end="38" type="bool" />
694    <field name="Pixel Shader Disables Alpha To Coverage" start="39" end="39" type="bool" />
695    <field name="Simple PS Hint" start="41" end="41" type="bool" />
696    <field name="Pixel Shader Requires Centroid Offsets" start="48" end="48" type="bool" />
697    <field name="Enable PS Dependency On CPsize Change" start="49" end="49" type="bool" />
698    <field name="Pixel Shader Requires Subpixel Sample Offsets" start="50" end="50" type="bool" />
699    <field name="Pixel Shader Requires Non-Perspective Bary Plane Coefficients" start="51" end="51" type="bool" />
700    <field name="Pixel Shader Requires Perspective Bary Plane Coefficients" start="52" end="52" type="bool" />
701    <field name="Pixel Shader Requires Source Depth and/or W Plane Coefficients" start="53" end="53" type="bool" />
702    <field name="Pixel Shader Requires Requested Coarse Pixel Shading Size" start="54" end="54" type="bool" />
703    <field name="Pixel Shader Uses Source W" start="55" end="55" type="bool" />
704    <field name="Pixel Shader Uses Source Depth" start="56" end="56" type="bool" />
705    <field name="Force Computed Depth" start="57" end="57" type="bool" />
706    <field name="Pixel Shader Computed Depth Mode" start="58" end="59" type="uint">
707      <value name="PSCDEPTH_OFF" value="0" />
708      <value name="PSCDEPTH_ON" value="1" />
709      <value name="PSCDEPTH_ON_GE" value="2" />
710      <value name="PSCDEPTH_ON_LE" value="3" />
711    </field>
712    <field name="Pixel Shader Kills Pixel" start="60" end="60" type="bool" />
713    <field name="oMask Present to Render Target" start="61" end="61" type="bool" />
714    <field name="Pixel Shader Does not write to RT" start="62" end="62" type="mbz" />
715    <field name="Pixel Shader Valid" start="63" end="63" type="bool" />
716  </instruction>
717  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="8" engine="render">
718    <field name="DWord Length" start="0" end="7" type="uint" default="6" />
719    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6" />
720    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
721    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
722    <field name="Command Type" start="29" end="31" type="uint" default="3" />
723    <field name="Surface Pitch" start="32" end="48" type="uint" />
724    <field name="Corner Texel Mode" start="55" end="55" type="bool" />
725    <field name="Null Page Coherency Enable" start="59" end="59" type="bool" />
726    <field name="Stencil Write Enable" start="60" end="60" type="bool" />
727    <field name="Surface Type" start="61" end="63" type="uint">
728      <value name="SURFTYPE_2D" value="1" />
729      <value name="SURFTYPE_CUBE" value="3" />
730      <value name="SURFTYPE_NULL" value="7" />
731    </field>
732    <field name="Surface Base Address" start="64" end="127" type="address" />
733    <field name="Width" start="129" end="142" type="uint" />
734    <field name="Height" start="145" end="158" type="uint" />
735    <field name="MOCS" start="160" end="166" type="uint" nonzero="true" />
736    <field name="Minimum Array Element" start="168" end="178" type="uint" />
737    <field name="Depth" start="180" end="190" type="uint" />
738    <field name="Compression Format" start="192" end="195" type="UNIFIED_COMPRESSION_FORMAT" />
739    <field name="Mip Tail Start LOD" start="218" end="221" type="uint" />
740    <field name="Tiled Mode" start="222" end="223" type="uint">
741      <value name="TILE64" value="1" />
742      <value name="TILE4" value="3" />
743    </field>
744    <field name="Surface QPitch" start="224" end="238" type="uint" />
745    <field name="Surf LOD" start="240" end="243" type="uint" />
746    <field name="Render Target View Extent" start="245" end="255" type="uint" />
747  </instruction>
748  <instruction name="3DSTATE_TE" bias="2" length="5" engine="render">
749    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
750    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="28" />
751    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
752    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
753    <field name="Command Type" start="29" end="31" type="uint" default="3" />
754    <field name="TE Enable" start="32" end="32" type="bool" />
755    <field name="TE Mode" start="33" end="34" type="uint">
756      <value name="HW_TESS" value="0" />
757      <value name="FORCE_MIN" value="3" />
758    </field>
759    <field name="TE Domain" start="36" end="37" type="uint">
760      <value name="QUAD" value="0" />
761      <value name="TRI" value="1" />
762      <value name="ISOLINE" value="2" />
763    </field>
764    <field name="Output Topology" start="40" end="41" type="uint" prefix="OUTPUT">
765      <value name="POINT" value="0" />
766      <value name="LINE" value="1" />
767      <value name="TRI_CW" value="2" />
768      <value name="TRI_CCW" value="3" />
769    </field>
770    <field name="Number Of Regions Per Patch" start="42" end="43" type="uint" />
771    <field name="Partitioning" start="44" end="45" type="uint">
772      <value name="INTEGER" value="0" />
773      <value name="ODD_FRACTIONAL" value="1" />
774      <value name="EVEN_FRACTIONAL" value="2" />
775      <value name="POW2" value="3" />
776    </field>
777    <field name="Tessellation Distribution Mode" start="46" end="47" type="uint">
778      <value name="TEDMODE_OFF" value="0" />
779      <value name="TEDMODE_RR_STRICT" value="1" />
780      <value name="TEDMODE_RR_FREE" value="2" />
781    </field>
782    <field name="Tessellation Distribution Level" start="49" end="50" type="uint">
783      <value name="TEDLEVEL_PATCH" value="0" />
784      <value name="TEDLEVEL_REGION" value="1" />
785    </field>
786    <field name="Tessellation Scale Factor Enable" start="51" end="51" type="bool" />
787    <field name="Tessellation Factor Format" start="52" end="52" type="uint">
788      <value name="FLOAT32" value="0" />
789      <value name="FLOAT16" value="1" />
790    </field>
791    <field name="Patch Header Layout" start="54" end="55" type="uint">
792      <value name="LEGACY" value="0" />
793      <value name="REVERSED" value="2" />
794      <value name="REVERSED_TRI_INSIDE_SEPARATE" value="3" />
795    </field>
796    <field name="Small Patch Threshold" start="56" end="57" type="uint" prefix="SPT">
797      <value name="8_TRIANGLES" value="0" />
798      <value name="16_TRIANGLES" value="1" />
799      <value name="32_TRIANGLES" value="2" />
800      <value name="64_TRIANGLES" value="3" />
801    </field>
802    <field name="Target Block Size" start="58" end="61" type="uint">
803      <value name="64_TRIANGLES" value="0" />
804      <value name="96_TRIANGLES" value="1" />
805      <value name="128_TRIANGLES" value="2" />
806      <value name="192_TRIANGLES" value="3" />
807      <value name="256_TRIANGLES" value="4" />
808      <value name="384_TRIANGLES" value="5" />
809      <value name="512_TRIANGLES" value="6" />
810      <value name="768_TRIANGLES" value="7" />
811      <value name="1K_TRIANGLES" value="8" />
812      <value name="1.5K_TRIANGLES" value="9" />
813      <value name="2K_TRIANGLES" value="10" />
814      <value name="3K_TRIANGLES" value="11" />
815      <value name="4K_TRIANGLES" value="12" />
816      <value name="6K_TRIANGLES" value="13" />
817      <value name="8K_TRIANGLES" value="14" />
818      <value name="12K_TRIANGLES" value="15" />
819    </field>
820    <field name="Local BOP Accumulator Threshold" start="62" end="63" type="uint">
821      <value name="MULTIPLIER_0" value="0" />
822      <value name="MULTIPLIER_1" value="1" />
823      <value name="MULTIPLIER_2" value="2" />
824      <value name="MULTIPLIER_4" value="3" />
825    </field>
826    <field name="Maximum Tessellation Factor Odd" start="64" end="95" type="float" />
827    <field name="Maximum Tessellation Factor Not Odd" start="96" end="127" type="float" />
828    <field name="Tessellation Scale Factor" start="128" end="159" type="float" />
829  </instruction>
830  <instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
831    <field name="DWord Length" start="0" end="7" type="uint" default="7" />
832    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="16" />
833    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
834    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
835    <field name="Command Type" start="29" end="31" type="uint" default="3" />
836    <field name="Kernel Start Pointer" start="38" end="95" type="offset" />
837    <field name="Software Exception Enable" start="103" end="103" type="bool" />
838    <field name="Accesses UAV" start="108" end="108" type="bool" />
839    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
840    <field name="Floating Point Mode" start="112" end="112" type="uint">
841      <value name="IEEE-754" value="0" />
842      <value name="Alternate" value="1" />
843    </field>
844    <field name="Thread Dispatch Priority" start="113" end="113" type="uint">
845      <value name="Normal" value="0" />
846      <value name="High" value="1" />
847    </field>
848    <field name="Binding Table Entry Count" start="114" end="121" type="uint" />
849    <field name="Sampler Count" start="123" end="125" type="uint">
850      <value name="No Samplers" value="0" />
851      <value name="1-4 Samplers" value="1" />
852      <value name="5-8 Samplers" value="2" />
853      <value name="9-12 Samplers" value="3" />
854      <value name="13-16 Samplers" value="4" />
855    </field>
856    <field name="Vector Mask Enable" start="126" end="126" type="uint">
857      <value name="Dmask" value="0" />
858    </field>
859    <field name="Scratch Space Buffer" start="138" end="159" type="uint" />
860    <field name="Vertex URB Entry Read Offset" start="196" end="201" type="uint" />
861    <field name="Vertex URB Entry Read Length" start="203" end="208" type="uint" />
862    <field name="Dispatch GRF Start Register For URB Data" start="212" end="216" type="uint" />
863    <field name="Enable" start="224" end="224" type="bool" />
864    <field name="Vertex Cache Disable" start="225" end="225" type="bool" />
865    <field name="SIMD8 Single Instance Dispatch Enable" start="233" end="233" type="bool" />
866    <field name="Statistics Enable" start="234" end="234" type="bool" />
867    <field name="Maximum Number of Threads" start="246" end="255" type="uint" />
868    <field name="User Clip Distance Cull Test Enable Bitmask" start="256" end="263" type="uint" />
869    <field name="User Clip Distance Clip Test Enable Bitmask" start="264" end="271" type="uint" />
870    <field name="Vertex URB Entry Output Length" start="272" end="276" type="uint" />
871    <field name="Vertex URB Entry Output Read Offset" start="277" end="282" type="uint" />
872  </instruction>
873  <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="6" engine="render">
874    <field name="DWord Length" start="0" end="7" type="uint" default="4" />
875    <field name="Predicate Enable" start="8" end="8" type="bool" />
876    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="82" />
877    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
878    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
879    <field name="Command Type" start="29" end="31" type="uint" default="3" />
880    <field name="Depth Buffer Partial Resolve Enable" start="41" end="41" type="bool" />
881    <field name="Number of Multisamples" start="45" end="47" type="uint" prefix="SAMPLES">
882      <value name="1" value="0" />
883      <value name="2" value="1" />
884      <value name="4" value="2" />
885      <value name="8" value="3" />
886      <value name="16" value="4" />
887    </field>
888    <field name="Stencil Clear Value" start="48" end="55" type="uint" />
889    <field name="Stencil Buffer Resolve Enable" start="56" end="56" type="bool" />
890    <field name="Full Surface Depth and Stencil Clear" start="57" end="57" type="bool" />
891    <field name="Pixel Position Offset Enable" start="58" end="58" type="bool" />
892    <field name="Hierarchical Depth Buffer Resolve Enable" start="59" end="59" type="bool" />
893    <field name="Depth Buffer Resolve Enable" start="60" end="60" type="bool" />
894    <field name="Scissor Rectangle Enable" start="61" end="61" type="bool" />
895    <field name="Depth Buffer Clear Enable" start="62" end="62" type="bool" />
896    <field name="Stencil Buffer Clear Enable" start="63" end="63" type="bool" />
897    <field name="Clear Rectangle X Min" start="64" end="79" type="uint" />
898    <field name="Clear Rectangle Y Min" start="80" end="95" type="uint" />
899    <field name="Clear Rectangle X Max" start="96" end="111" type="uint" />
900    <field name="Clear Rectangle Y Max" start="112" end="127" type="uint" />
901    <field name="Sample Mask" start="128" end="143" type="uint" />
902    <field name="Depth Clear Value" start="160" end="191" type="float" />
903  </instruction>
904  <instruction name="CFE_STATE" bias="2" length="6">
905    <field name="DWord Length" start="0" end="7" type="uint" default="4" />
906    <field name="CFE SubOpcode Variant" start="16" end="17" type="uint" default="0" />
907    <field name="CFE SubOpcode" start="18" end="23" type="uint" default="0" />
908    <field name="Compute Command Opcode" start="24" end="26" type="uint" default="2" />
909    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
910    <field name="Command Type" start="29" end="31" type="uint" default="3" />
911    <field name="Scratch Space Buffer" start="42" end="63" type="uint" />
912    <field name="Stack ID Control" start="96" end="97" type="uint">
913      <value name="StackIDs 2048" value="0" />
914      <value name="StackIDs 1024" value="1" />
915      <value name="StackIDs 512" value="2" />
916      <value name="StackIDs 256" value="3" />
917    </field>
918    <field name="Compute Dispatch All walker Enable" start="108" end="108" type="bool" />
919    <field name="Single Slice Dispatch CCS Mode" start="109" end="109" type="bool" />
920    <field name="Over Dispatch Control" start="110" end="111" type="uint">
921      <value name="Over Dispatch None" value="0" />
922      <value name="Over Dispatch Low" value="1" />
923      <value name="Over Dispatch Normal" value="2" />
924      <value name="Over Dispatch High" value="3" />
925    </field>
926    <field name="Maximum Number of Threads" start="112" end="127" type="uint" />
927  </instruction>
928  <instruction name="COMPUTE_WALKER" bias="2" length="40">
929    <field name="DWord Length" start="0" end="7" type="uint" default="38" />
930    <field name="Predicate Enable" start="8" end="8" type="bool" />
931    <field name="Workload Partition Enable" start="9" end="9" type="bool" />
932    <field name="Indirect Parameter Enable" start="10" end="10" type="bool" />
933    <field name="Systolic Mode Enable" start="14" end="14" type="bool" />
934    <field name="CFE SubOpcode Variant" start="15" end="17" type="uint" default="0" />
935    <field name="CFE SubOpcode" start="18" end="23" type="uint" default="2" />
936    <field name="Compute Command Opcode" start="24" end="26" type="uint" default="2" />
937    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
938    <field name="Command Type" start="29" end="31" type="uint" default="3" />
939    <field name="Indirect Data Length" start="64" end="80" type="uint" />
940    <field name="L3 prefetch disable" start="81" end="81" type="bool" />
941    <field name="Partition Type" start="94" end="95" type="uint">
942      <value name="WALKER_PARTITION_X" value="1" />
943      <value name="WALKER_PARTITION_Y" value="2" />
944      <value name="WALKER_PARTITION_Z" value="3" />
945    </field>
946    <field name="Indirect Data Start Address" start="102" end="127" type="offset" />
947    <field name="Message SIMD" start="145" end="146" type="uint">
948      <value name="SIMT16" value="1" />
949      <value name="SIMT32" value="2" />
950    </field>
951    <field name="Tile Layout" start="147" end="149" type="uint">
952      <value name="Linear" value="0" />
953      <value name="TileY 32bpe" value="1" />
954      <value name="TileY 64bpe" value="2" />
955      <value name="TileY 128bpe" value="3" />
956    </field>
957    <field name="Walk Order" start="150" end="152" type="uint">
958      <value name="Walk 012" value="0" />
959      <value name="Walk 021" value="1" />
960      <value name="Walk 102" value="2" />
961      <value name="Walk 120" value="3" />
962      <value name="Walk 201" value="4" />
963      <value name="Walk 210" value="5" />
964    </field>
965    <field name="Emit Inline Parameter" start="153" end="153" type="bool" />
966    <field name="Emit Local" start="154" end="156" type="uint">
967      <value name="Emit None" value="0" />
968      <value name="Emit X" value="1" />
969      <value name="Emit XY" value="3" />
970      <value name="Emit XYZ" value="7" />
971    </field>
972    <field name="Generate Local ID" start="157" end="157" type="bool" />
973    <field name="SIMD Size" start="158" end="159" type="uint">
974      <value name="SIMT16" value="1" />
975      <value name="SIMT32" value="2" />
976    </field>
977    <field name="Execution Mask" start="160" end="191" type="uint" />
978    <field name="Local X Maximum" start="192" end="201" type="uint" />
979    <field name="Local Y Maximum" start="202" end="211" type="uint" />
980    <field name="Local Z Maximum" start="212" end="221" type="uint" />
981    <field name="Thread Group ID X Dimension" start="224" end="255" type="uint" />
982    <field name="Thread Group ID Y Dimension" start="256" end="287" type="uint" />
983    <field name="Thread Group ID Z Dimension" start="288" end="319" type="uint" />
984    <field name="Thread Group ID Starting X" start="320" end="351" type="uint" />
985    <field name="Thread Group ID Starting Y" start="352" end="383" type="uint" />
986    <field name="Thread Group ID Starting Z" start="384" end="415" type="uint" />
987    <field name="Partition ID" start="416" end="447" type="uint" />
988    <field name="Partition Size" start="448" end="479" type="uint" />
989    <field name="Preempt X" start="480" end="511" type="uint" />
990    <field name="Preempt Y" start="512" end="543" type="uint" />
991    <field name="Preempt Z" start="544" end="575" type="uint" />
992    <field name="Interface Descriptor" start="608" end="863" type="INTERFACE_DESCRIPTOR_DATA" />
993    <field name="Post Sync" start="864" end="1023" type="POSTSYNC_DATA" />
994    <group count="8" start="1024" size="32">
995      <field name="Inline Data" start="0" end="31" type="uint" />
996    </group>
997  </instruction>
998  <instruction name="EXECUTE_INDIRECT_DISPATCH" bias="2" length="45">
999    <field name="DWord Length" start="0" end="7" type="uint" default="43" />
1000    <field name="Predicate Enable" start="8" end="8" type="bool" />
1001    <field name="MOCS" start="12" end="15" type="uint" nonzero="true" />
1002    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1" />
1003    <field name="3D Command Opcode" start="24" end="26" type="uint" default="4" />
1004    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1005    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1006    <field name="Max Count" start="32" end="63" type="uint" />
1007    <field name="Count Buffer Indirect Enable" start="64" end="64" type="bool" />
1008    <field name="Count Buffer Address" start="66" end="127" type="address" />
1009    <field name="Argument Buffer Start Address" start="130" end="191" type="address" />
1010    <field name="COMPUTE_WALKER_BODY" start="192" end="1439" type="COMPUTE_WALKER_BODY" />
1011  </instruction>
1012  <instruction name="MI_MEM_FENCE" bias="1" length="1">
1013    <field name="Fence Type" start="0" end="1" type="uint" prefix="FENCE_TYPE">
1014      <value name="RELEASE" value="0" />
1015      <value name="ACQUIRE" value="1" />
1016      <value name="MI_WRITE" value="3" />
1017    </field>
1018    <field name="MI Command Sub Opcode" start="17" end="22" type="uint" default="0" />
1019    <field name="MI Command Opcode" start="23" end="28" type="uint" default="9" />
1020    <field name="Command Type" start="29" end="31" type="uint" default="0" />
1021  </instruction>
1022  <instruction name="MI_SEMAPHORE_WAIT" bias="2" length="5">
1023    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
1024    <field name="Compare Operation" start="12" end="14" type="uint" prefix="COMPARE">
1025      <value name="SAD_GREATER_THAN_SDD" value="0" />
1026      <value name="SAD_GREATER_THAN_OR_EQUAL_SDD" value="1" />
1027      <value name="SAD_LESS_THAN_SDD" value="2" />
1028      <value name="SAD_LESS_THAN_OR_EQUAL_SDD" value="3" />
1029      <value name="SAD_EQUAL_SDD" value="4" />
1030      <value name="SAD_NOT_EQUAL_SDD" value="5" />
1031    </field>
1032    <field name="Wait Mode" start="15" end="15" type="uint">
1033      <value name="Polling Mode" value="1" />
1034      <value name="Signal Mode" value="0" />
1035    </field>
1036    <field name="Register Poll Mode" start="16" end="16" type="bool" />
1037    <field name="Indirect Semaphore Data Dword" start="17" end="17" type="bool" />
1038    <field name="Workload Partition ID Offset Enable" start="18" end="18" type="bool" />
1039    <field name="Memory Type" start="22" end="22" type="uint">
1040      <value name="Per Process Graphics Address" value="0" />
1041      <value name="Global Graphics Address" value="1" />
1042    </field>
1043    <field name="MI Command Opcode" start="23" end="28" type="uint" default="28" />
1044    <field name="Command Type" start="29" end="31" type="uint" default="0" />
1045    <field name="Semaphore Data Dword" start="32" end="63" type="uint" />
1046    <field name="Semaphore Address" start="66" end="127" type="address" />
1047    <field name="Wait Token Number" start="130" end="137" type="uint" />
1048  </instruction>
1049  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
1050    <field name="Pipeline Selection" start="0" end="1" type="uint">
1051      <value name="3D" value="0" />
1052      <value name="Media" value="1" />
1053      <value name="GPGPU" value="2" />
1054    </field>
1055    <field name="Mask Bits" start="8" end="15" type="uint" />
1056    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="4" />
1057    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
1058    <field name="Command SubType" start="27" end="28" type="uint" default="1" />
1059    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1060  </instruction>
1061  <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render|compute">
1062    <field name="DWord Length" start="0" end="7" type="uint" default="4" />
1063    <field name="HDC Pipeline Flush Enable" start="9" end="9" type="bool" />
1064    <field name="L3 Read Only Cache Invalidation Enable" start="10" end="10" type="bool" />
1065    <field name="Untyped Data Port Cache Flush Enable" start="11" end="11" type="bool" />
1066    <field name="CCS Flush Enable" start="13" end="13" type="bool" />
1067    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="0" />
1068    <field name="3D Command Opcode" start="24" end="26" type="uint" default="2" />
1069    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1070    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1071    <field name="Depth Cache Flush Enable" start="32" end="32" type="bool" />
1072    <field name="Stall At Pixel Scoreboard" start="33" end="33" type="bool" />
1073    <field name="State Cache Invalidation Enable" start="34" end="34" type="bool" />
1074    <field name="Constant Cache Invalidation Enable" start="35" end="35" type="bool" />
1075    <field name="VF Cache Invalidation Enable" start="36" end="36" type="bool" />
1076    <field name="DC Flush Enable" start="37" end="37" type="bool" />
1077    <field name="Pipe Control Flush Enable" start="39" end="39" type="bool" />
1078    <field name="Notify Enable" start="40" end="40" type="bool" />
1079    <field name="Indirect State Pointers Disable" start="41" end="41" type="bool" />
1080    <field name="Texture Cache Invalidation Enable" start="42" end="42" type="bool" />
1081    <field name="Instruction Cache Invalidate Enable" start="43" end="43" type="bool" />
1082    <field name="Render Target Cache Flush Enable" start="44" end="44" type="bool" />
1083    <field name="Depth Stall Enable" start="45" end="45" type="bool" />
1084    <field name="Post Sync Operation" start="46" end="47" type="uint">
1085      <value name="No Write" value="0" />
1086      <value name="Write Immediate Data" value="1" />
1087      <value name="Write PS Depth Count" value="2" />
1088      <value name="Write Timestamp" value="3" />
1089    </field>
1090    <field name="PSS Stall Sync Enable" start="49" end="49" type="bool" />
1091    <field name="TLB Invalidate" start="50" end="50" type="bool" />
1092    <field name="Depth Stall Sync Enable" start="51" end="51" type="bool" />
1093    <field name="Command Streamer Stall Enable" start="52" end="52" type="bool" />
1094    <field name="Store Data Index" start="53" end="53" type="uint" />
1095    <field name="Protected Memory Enable" start="54" end="54" type="bool" />
1096    <field name="LRI Post Sync Operation" start="55" end="55" type="uint">
1097      <value name="No LRI Operation" value="0" />
1098      <value name="MMIO Write Immediate Data" value="1" />
1099    </field>
1100    <field name="Destination Address Type" start="56" end="56" type="uint" prefix="DAT">
1101      <value name="PPGTT" value="0" />
1102      <value name="GGTT" value="1" />
1103    </field>
1104    <field name="Flush LLC" start="58" end="58" type="bool" />
1105    <field name="Protected Memory Disable" start="59" end="59" type="bool" />
1106    <field name="Command Cache Invalidate Enable" start="61" end="61" type="bool" />
1107    <field name="Address" start="66" end="111" type="address" />
1108    <field name="Immediate Data" start="128" end="191" type="uint" />
1109  </instruction>
1110  <instruction name="RESOURCE_BARRIER" bias="2" length="5" engine="render|compute">
1111    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
1112    <field name="Predicate Enable" start="24" end="24" type="bool" />
1113    <field name="Opcode" start="26" end="28" type="uint" default="3">
1114      <value name="RESOURCE_BARRIER" value="3" />
1115    </field>
1116    <field name="Command Type" start="29" end="31" type="uint" default="5" />
1117    <field name="Resource Barrier Body" start="32" end="159" type="RESOURCE_BARRIER_BODY" />
1118  </instruction>
1119  <instruction name="STATE_BYTE_STRIDE" bias="2" length="2" engine="render|compute">
1120    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1121    <field name="Byte Stride Enable" start="8" end="8" type="bool" />
1122    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="5" />
1123    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1124    <field name="Command SubType" start="27" end="28" type="uint" default="0" />
1125    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1126    <field name="Byte Stride" start="34" end="63" type="uint" />
1127  </instruction>
1128  <instruction name="STATE_COMPUTE_MODE" bias="2" length="3" engine="render|compute">
1129    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
1130    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="5" />
1131    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
1132    <field name="Command SubType" start="27" end="28" type="uint" default="0" />
1133    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1134    <field name="Z Pass Async Compute Thread Limit" start="32" end="34" type="uint" prefix="ZPACTL">
1135      <value name="Max 60" value="0" />
1136      <value name="Max 64" value="1" />
1137      <value name="Max 56" value="2" />
1138      <value name="Max 48" value="3" />
1139      <value name="Max 40" value="4" />
1140      <value name="Max 32" value="5" />
1141    </field>
1142    <field name="Z Async Throttle settings" start="35" end="36" type="uint">
1143      <value name="Max 32" value="1" />
1144      <value name="Max 40" value="2" />
1145      <value name="Max 48" value="3" />
1146    </field>
1147    <field name="Pixel Async Compute Thread Limit" start="39" end="41" type="uint" prefix="PACTL">
1148      <value name="Disabled" value="0" />
1149      <value name="Max 2" value="1" />
1150      <value name="Max 8" value="2" />
1151      <value name="Max 16" value="3" />
1152      <value name="Max 24" value="4" />
1153      <value name="Max 32" value="5" />
1154      <value name="Max 40" value="6" />
1155      <value name="Max 48" value="7" />
1156    </field>
1157    <field name="EU Thread Scheduling Mode Override" start="45" end="46" type="uint" />
1158    <field name="Large GRF Mode" start="47" end="47" type="bool" />
1159    <field name="Z Pass Async Compute Thread Limit Mask" start="48" end="50" type="uint" />
1160    <field name="Mask1" start="48" end="63" type="uint" />
1161    <field name="Z Async Throttle settings Mask" start="51" end="52" type="uint" />
1162    <field name="Pixel Async Compute Thread Limit Mask" start="55" end="57" type="uint" />
1163    <field name="EU Thread Scheduling Mode Override Mask" start="61" end="62" type="uint" />
1164    <field name="Large GRF Mode Mask" start="63" end="63" type="bool" />
1165    <field name="Midthread Preemption Delay Timer" start="64" end="66" type="uint">
1166      <value name="MTP_TIMER_VAL_0" value="0" />
1167      <value name="MTP_TIMER_VAL_50" value="1" />
1168      <value name="MTP_TIMER_VAL_100" value="2" />
1169      <value name="MTP_TIMER_VAL_150" value="3" />
1170    </field>
1171    <field name="Midthread Preemption Overdispatch Thread group count" start="67" end="68" type="uint">
1172      <value name="OD_TG_M2" value="0" />
1173      <value name="OD_TG_M4" value="1" />
1174      <value name="OD_TG_M8" value="2" />
1175      <value name="OD_TG_M16" value="3" />
1176    </field>
1177    <field name="Midthread Preemption Overdispatch Test mode" start="69" end="69" type="uint">
1178      <value name="Regular" value="0" />
1179      <value name="Test mode" value="1" />
1180    </field>
1181    <field name="UAV Coherency Mode" start="70" end="70" type="uint">
1182      <value name="Drain DataPort Mode" value="0" />
1183      <value name="Flush Dataport L1" value="1" />
1184    </field>
1185    <field name="Memory allocation for Scratch and Midthread Preemption buffers" start="75" end="75" type="uint">
1186      <value name="Full" value="0" />
1187      <value name="Min" value="1" />
1188    </field>
1189    <field name="Midthread Preemption Delay Timer Mask" start="80" end="82" type="uint" />
1190    <field name="Mask2" start="80" end="95" type="uint" />
1191    <field name="Midthread Preemption Overdispatch Thread group count Mask" start="83" end="84" type="uint" />
1192    <field name="Midthread Preemption Overdispatch Test mode Mask" start="85" end="85" type="uint" />
1193    <field name="UAV Coherency Mode Mask" start="86" end="86" type="uint" />
1194    <field name="Memory allocation for Scratch and Midthread Preemption buffers Mask" start="91" end="91" type="uint" />
1195  </instruction>
1196  <instruction name="XY_BLOCK_COPY_BLT" bias="2" length="22" engine="blitter">
1197    <field name="DWord Length" start="0" end="7" type="uint" default="20" />
1198    <field name="Special Mode of Operation" start="12" end="13" type="uint">
1199      <value name="NONE" value="0" />
1200      <value name="FULL_RESOLVE" value="1" />
1201      <value name="PARTIAL_RESOLVE" value="2" />
1202    </field>
1203    <field name="Color Depth" start="19" end="21" type="uint" prefix="XY_BPP">
1204      <value name="8_BIT" value="0" />
1205      <value name="16_BIT" value="1" />
1206      <value name="32_BIT" value="2" />
1207      <value name="64_BIT" value="3" />
1208      <value name="96_BIT" value="4" />
1209      <value name="128_BIT" value="5" />
1210    </field>
1211    <field name="Opcode" start="22" end="28" type="uint" default="0x41" />
1212    <field name="Client" start="29" end="31" type="uint" default="2" />
1213    <field name="Destination Pitch" start="32" end="49" type="uint" />
1214    <field name="Destination MOCS" start="56" end="59" type="uint" nonzero="true" />
1215    <field name="Destination Tiling" start="62" end="63" type="uint" prefix="XY_TILE">
1216      <value name="LINEAR" value="0" />
1217      <value name="X" value="1" />
1218      <value name="4" value="2" />
1219      <value name="64" value="3" />
1220    </field>
1221    <field name="Destination X1" start="64" end="79" type="int" />
1222    <field name="Destination Y1" start="80" end="95" type="int" />
1223    <field name="Destination X2" start="96" end="111" type="int" />
1224    <field name="Destination Y2" start="112" end="127" type="int" />
1225    <field name="Destination Base Address" start="128" end="191" type="address" />
1226    <field name="Destination X Offset" start="192" end="205" type="uint" />
1227    <field name="Destination Y Offset" start="208" end="221" type="uint" />
1228    <field name="Destination Target Memory" start="223" end="223" type="uint" prefix="XY_MEM">
1229      <value name="LOCAL" value="0" />
1230      <value name="SYSTEM" value="1" />
1231    </field>
1232    <field name="Source X1" start="224" end="239" type="int" />
1233    <field name="Source Y1" start="240" end="255" type="int" />
1234    <field name="Source Pitch" start="256" end="273" type="uint" />
1235    <field name="Source Encrypt En" start="277" end="277" type="bool" />
1236    <field name="Source MOCS" start="280" end="283" type="uint" />
1237    <field name="Source Tiling" start="286" end="287" type="uint" prefix="XY_TILE">
1238      <value name="LINEAR" value="0" />
1239      <value name="X" value="1" />
1240      <value name="4" value="2" />
1241      <value name="64" value="3" />
1242    </field>
1243    <field name="Source Base Address" start="288" end="351" type="address" />
1244    <field name="Source X Offset" start="352" end="365" type="uint" />
1245    <field name="Source Y Offset" start="368" end="381" type="uint" />
1246    <field name="Source Target Memory" start="383" end="383" type="uint" prefix="XY_MEM">
1247      <value name="LOCAL" value="0" />
1248      <value name="SYSTEM" value="1" />
1249    </field>
1250    <field name="Source Compression Format" start="384" end="388" type="uint" />
1251    <field name="Source Clear Value Enable" start="389" end="389" type="bool" />
1252    <field name="Source Clear Address" start="390" end="431" type="address" />
1253    <field name="Destination Compression Format" start="448" end="452" type="uint" />
1254    <field name="Destination Clear Value Enable" start="453" end="453" type="bool" />
1255    <field name="Destination Clear Address" start="454" end="495" type="address" />
1256    <field name="Destination Surface Height" start="512" end="525" type="uint" />
1257    <field name="Destination Surface Width" start="526" end="539" type="uint" />
1258    <field name="Destination Surface Type" start="541" end="543" type="uint" prefix="XY_SURFTYPE">
1259      <value name="1D" value="0" />
1260      <value name="2D" value="1" />
1261      <value name="3D" value="2" />
1262      <value name="CUBE" value="3" />
1263    </field>
1264    <field name="Destination LOD" start="544" end="547" type="uint" />
1265    <field name="Destination Surface QPitch" start="548" end="562" type="uint" />
1266    <field name="Destination Surface Depth" start="565" end="575" type="uint" />
1267    <field name="Destination Horizontal Align" start="576" end="577" type="uint">
1268      <value name="HALIGN_16" value="0" />
1269      <value name="HALIGN_32" value="1" />
1270      <value name="HALIGN_64" value="2" />
1271      <value name="HALIGN_128" value="3" />
1272    </field>
1273    <field name="Destination Vertical Align" start="579" end="580" type="uint">
1274      <value name="VALIGN_4" value="1" />
1275      <value name="VALIGN_8" value="2" />
1276      <value name="VALIGN_16" value="3" />
1277    </field>
1278    <field name="Destination Mip Tail Start LOD" start="584" end="587" type="uint" />
1279    <field name="Destination Array Index" start="597" end="607" type="uint" />
1280    <field name="Source Surface Height" start="608" end="621" type="uint" />
1281    <field name="Source Surface Width" start="622" end="635" type="uint" />
1282    <field name="Source Surface Type" start="637" end="639" type="uint" prefix="XY_SURFTYPE">
1283      <value name="1D" value="0" />
1284      <value name="2D" value="1" />
1285      <value name="3D" value="2" />
1286      <value name="CUBE" value="3" />
1287    </field>
1288    <field name="Source LOD" start="640" end="643" type="uint" />
1289    <field name="Source Surface QPitch" start="644" end="658" type="uint" />
1290    <field name="Source Surface Depth" start="661" end="671" type="uint" />
1291    <field name="Source Horizontal Align" start="672" end="673" type="uint">
1292      <value name="HALIGN_16" value="0" />
1293      <value name="HALIGN_32" value="1" />
1294      <value name="HALIGN_64" value="2" />
1295      <value name="HALIGN_128" value="3" />
1296    </field>
1297    <field name="Source Vertical Align" start="675" end="676" type="uint">
1298      <value name="VALIGN_4" value="1" />
1299      <value name="VALIGN_8" value="2" />
1300      <value name="VALIGN_16" value="3" />
1301    </field>
1302    <field name="Source Mip Tail Start LOD" start="680" end="683" type="uint" />
1303    <field name="Source Array Index" start="693" end="703" type="uint" />
1304  </instruction>
1305  <instruction name="XY_FAST_COLOR_BLT" bias="2" length="16" engine="blitter">
1306    <field name="DWord Length" start="0" end="7" type="uint" default="14" />
1307    <field name="Number of Multisamples" start="9" end="11" type="uint">
1308      <value name="MULTISAMPLECOUNT_1" value="0" />
1309      <value name="MULTISAMPLECOUNT_2" value="1" />
1310      <value name="MULTISAMPLECOUNT_4" value="2" />
1311      <value name="MULTISAMPLECOUNT_8" value="3" />
1312      <value name="MULTISAMPLECOUNT_16" value="4" />
1313    </field>
1314    <field name="Special Mode of Operation" start="12" end="13" type="uint">
1315      <value name="NONE" value="0" />
1316      <value name="USE_AUX_SPECIAL_OPERATIONS_MODE" value="1" />
1317    </field>
1318    <field name="Color Depth" start="19" end="21" type="uint" prefix="XY_BPP">
1319      <value name="8_BIT" value="0" />
1320      <value name="16_BIT" value="1" />
1321      <value name="32_BIT" value="2" />
1322      <value name="64_BIT" value="3" />
1323      <value name="96_BIT" value="4" />
1324      <value name="128_BIT" value="5" />
1325    </field>
1326    <field name="Instruction Target(Opcode)" start="22" end="28" type="uint" default="68">
1327      <value name="XY_FAST_COLOR_BLT" value="68" />
1328    </field>
1329    <field name="Client" start="29" end="31" type="uint" default="2">
1330      <value name="2D Processor" value="2" />
1331    </field>
1332    <field name="Destination Pitch" start="32" end="49" type="uint" />
1333    <field name="Destination Encrypt En" start="53" end="53" type="bool" />
1334    <field name="Destination MOCS" start="56" end="59" type="uint" />
1335    <field name="Destination Tiling" start="62" end="63" type="uint" prefix="XY_TILE">
1336      <value name="LINEAR" value="0" />
1337      <value name="X" value="1" />
1338      <value name="4" value="2" />
1339      <value name="64" value="3" />
1340    </field>
1341    <field name="Destination X1" start="64" end="79" type="int" />
1342    <field name="Destination Y1" start="80" end="95" type="int" />
1343    <field name="Destination X2" start="96" end="111" type="int" />
1344    <field name="Destination Y2" start="112" end="127" type="int" />
1345    <field name="Destination Base Address" start="128" end="191" type="address" />
1346    <field name="Destination X Offset" start="192" end="205" type="uint" />
1347    <field name="Destination Y Offset" start="208" end="221" type="uint" />
1348    <field name="Destination Target Memory" start="223" end="223" type="uint">
1349      <value name="LOCAL_MEM" value="0" />
1350      <value name="SYSTEM_MEM" value="1" />
1351    </field>
1352    <group count="4" start="224" size="32">
1353      <field name="Fill Color" start="0" end="31" type="uint" />
1354    </group>
1355    <field name="Destination Compression Format" start="352" end="355" type="uint" />
1356    <field name="Surface Format" start="384" end="392" type="uint" />
1357    <field name="AUX_SPECIAL_OPERATIONS_MODE" start="413" end="415" type="uint">
1358      <value name="FAST_CLEAR_HW_FORMAT_CONVERSION" value="0" />
1359      <value name="FAST_CLEAR_BYPASS_HW_FORMAT_CONVERSION" value="1" />
1360      <value name="FORCE_UNCOMPRESS" value="2" />
1361    </field>
1362    <field name="Destination Surface Height" start="416" end="429" type="uint" />
1363    <field name="Destination Surface Width" start="430" end="443" type="uint" />
1364    <field name="Destination Surface Type" start="445" end="447" type="uint" prefix="XY_SURFTYPE">
1365      <value name="1D" value="0" />
1366      <value name="2D" value="1" />
1367      <value name="3D" value="2" />
1368      <value name="CUBE" value="3" />
1369    </field>
1370    <field name="Destination LOD" start="448" end="451" type="uint" />
1371    <field name="Destination Surface QPitch" start="452" end="466" type="uint" />
1372    <field name="Destination Surface Depth" start="469" end="479" type="uint" />
1373    <field name="Destination Horizontal Align" start="480" end="481" type="uint">
1374      <value name="HALIGN_16" value="0" />
1375      <value name="HALIGN_32" value="1" />
1376      <value name="HALIGN_64" value="2" />
1377      <value name="HALIGN_128" value="3" />
1378    </field>
1379    <field name="Destination Vertical Align" start="483" end="484" type="uint">
1380      <value name="VALIGN_4" value="1" />
1381      <value name="VALIGN_8" value="2" />
1382      <value name="VALIGN_16" value="3" />
1383    </field>
1384    <field name="Destination Mip Tail Start LOD" start="488" end="491" type="uint" />
1385    <field name="Destination Depth/Stencil Resource" start="498" end="498" type="bool" />
1386    <field name="Destination Array Index" start="501" end="511" type="uint" />
1387  </instruction>
1388  <register name="BLT_TRTT_VA_RANGE" length="1" num="0x4484">
1389    <field name="TR-VA Base" start="0" end="12" type="uint" />
1390  </register>
1391  <register name="COMP_CTX0_TRTT_VA_RANGE" length="1" num="0x4584">
1392    <field name="TR-VA Base" start="0" end="12" type="uint" />
1393  </register>
1394  <register name="GFX_TRTT_VA_RANGE" length="1" num="0x4404">
1395    <field name="TR-VA Base" start="0" end="12" type="uint" />
1396  </register>
1397</genxml>
1398