xref: /aosp_15_r20/external/mesa3d/src/intel/genxml/gen8.xml (revision 6104692788411f58d303aa86923a9ff6ecaded22)
1<?xml version='1.0' encoding='utf-8'?>
2<genxml name="BDW" gen="8">
3  <import name="gen75.xml">
4    <exclude name="3DSTATE_DEPTH_STENCIL_STATE_POINTERS" />
5    <exclude name="3DSTATE_RAST_MULTISAMPLE" />
6    <exclude name="BCS_FAULT_REG" />
7    <exclude name="CHICKEN3" />
8    <exclude name="DEPTH_STENCIL_STATE" />
9    <exclude name="ERR_INT" />
10    <exclude name="GPGPU_OBJECT" />
11    <exclude name="L3CNTLREG2" />
12    <exclude name="L3CNTLREG3" />
13    <exclude name="L3SQCREG1" />
14    <exclude name="MI_FLUSH" />
15    <exclude name="MI_SEMAPHORE_MBOX" />
16    <exclude name="RCS_FAULT_REG" />
17    <exclude name="SCRATCH1" />
18    <exclude name="VCS_FAULT_REG" />
19    <exclude name="VECS_FAULT_REG" />
20  </import>
21  <enum name="3D_Vertex_Component_Control" prefix="VFCOMP">
22    <value name="NOSTORE" value="0" />
23    <value name="STORE_SRC" value="1" />
24    <value name="STORE_0" value="2" />
25    <value name="STORE_1_FP" value="3" />
26    <value name="STORE_1_INT" value="4" />
27    <value name="STORE_PID" value="7" />
28  </enum>
29  <enum name="Clear Color">
30    <value name="CC_ZERO" value="0" />
31    <value name="CC_ONE" value="1" />
32  </enum>
33  <enum name="Texture Coordinate Mode" prefix="TCM">
34    <value name="WRAP" value="0" />
35    <value name="MIRROR" value="1" />
36    <value name="CLAMP" value="2" />
37    <value name="CUBE" value="3" />
38    <value name="CLAMP_BORDER" value="4" />
39    <value name="MIRROR_ONCE" value="5" />
40    <value name="HALF_BORDER" value="6" />
41  </enum>
42  <enum name="WRAP_SHORTEST_ENABLE" prefix="WSE">
43    <value name="X" value="1" />
44    <value name="Y" value="2" />
45    <value name="XY" value="3" />
46    <value name="Z" value="4" />
47    <value name="XZ" value="5" />
48    <value name="YZ" value="6" />
49    <value name="XYZ" value="7" />
50    <value name="W" value="8" />
51    <value name="XW" value="9" />
52    <value name="YW" value="10" />
53    <value name="XYW" value="11" />
54    <value name="ZW" value="12" />
55    <value name="XZW" value="13" />
56    <value name="YZW" value="14" />
57    <value name="XYZW" value="15" />
58  </enum>
59  <struct name="3DSTATE_CONSTANT_BODY" length="10">
60    <group count="4" start="0" size="16">
61      <field name="Read Length" start="0" end="15" type="uint" />
62    </group>
63    <group count="4" start="64" size="64">
64      <field name="Buffer" start="5" end="63" type="address" />
65    </group>
66  </struct>
67  <struct name="BINDING_TABLE_STATE" length="1">
68    <field name="Surface State Pointer" start="6" end="31" type="offset" />
69  </struct>
70  <struct name="BLEND_STATE_ENTRY" length="2">
71    <field name="Write Disable Blue" start="0" end="0" type="bool" />
72    <field name="Write Disable Green" start="1" end="1" type="bool" />
73    <field name="Write Disable Red" start="2" end="2" type="bool" />
74    <field name="Write Disable Alpha" start="3" end="3" type="bool" />
75    <field name="Alpha Blend Function" start="5" end="7" type="3D_Color_Buffer_Blend_Function" />
76    <field name="Destination Alpha Blend Factor" start="8" end="12" type="3D_Color_Buffer_Blend_Factor" />
77    <field name="Source Alpha Blend Factor" start="13" end="17" type="3D_Color_Buffer_Blend_Factor" />
78    <field name="Color Blend Function" start="18" end="20" type="3D_Color_Buffer_Blend_Function" />
79    <field name="Destination Blend Factor" start="21" end="25" type="3D_Color_Buffer_Blend_Factor" />
80    <field name="Source Blend Factor" start="26" end="30" type="3D_Color_Buffer_Blend_Factor" />
81    <field name="Color Buffer Blend Enable" start="31" end="31" type="bool" />
82    <field name="Post-Blend Color Clamp Enable" start="32" end="32" type="bool" />
83    <field name="Pre-Blend Color Clamp Enable" start="33" end="33" type="bool" />
84    <field name="Color Clamp Range" start="34" end="35" type="uint">
85      <value name="COLORCLAMP_UNORM" value="0" />
86      <value name="COLORCLAMP_SNORM" value="1" />
87      <value name="COLORCLAMP_RTFORMAT" value="2" />
88    </field>
89    <field name="Pre-Blend Source Only Clamp Enable" start="36" end="36" type="bool" />
90    <field name="Logic Op Function" start="59" end="62" type="3D_Logic_Op_Function" />
91    <field name="Logic Op Enable" start="63" end="63" type="bool" />
92  </struct>
93  <struct name="BLEND_STATE" length="1">
94    <field name="Y Dither Offset" start="19" end="20" type="uint" />
95    <field name="X Dither Offset" start="21" end="22" type="uint" />
96    <field name="Color Dither Enable" start="23" end="23" type="bool" />
97    <field name="Alpha Test Function" start="24" end="26" type="3D_Compare_Function" />
98    <field name="Alpha Test Enable" start="27" end="27" type="bool" />
99    <field name="Alpha To Coverage Dither Enable" start="28" end="28" type="bool" />
100    <field name="Alpha To One Enable" start="29" end="29" type="bool" />
101    <field name="Independent Alpha Blend Enable" start="30" end="30" type="bool" />
102    <field name="Alpha To Coverage Enable" start="31" end="31" type="bool" />
103    <group count="0" start="32" size="64">
104      <field name="Entry" start="0" end="63" type="BLEND_STATE_ENTRY" />
105    </group>
106  </struct>
107  <struct name="FILTER_COEFFICIENT" length="1">
108    <field name="Filter Coefficient" start="0" end="7" type="s1.6" />
109  </struct>
110  <struct name="INLINE_DATA_DESCRIPTION_FOR_MFD_AVC_BSD_OBJECT" length="3">
111    <field name="MB Error Concealment P Slice Weight Prediction Disable" start="0" end="0" type="bool" />
112    <field name="MB Error Concealment P Slice Motion Vectors Override Disable" start="1" end="1" type="bool" />
113    <field name="MB Error Concealment B Spatial Weight Prediction Disable" start="3" end="3" type="bool" />
114    <field name="MB Error Concealment B Spatial Motion Vectors Override Disable" start="4" end="4" type="bool" />
115    <field name="MB Error Concealment B Spatial Prediction Mode" start="6" end="7" type="uint" />
116    <field name="MB Header Error Handling" start="8" end="8" type="bool" />
117    <field name="Entropy Error Handling" start="10" end="10" type="bool" />
118    <field name="MPR Error Handling" start="12" end="12" type="bool" />
119    <field name="BSD Premature Complete Error Handling" start="14" end="14" type="bool" />
120    <field name="Concealment Picture ID" start="16" end="21" type="uint" />
121    <field name="MB Error Concealment B Temporal Weight Prediction Disable" start="24" end="24" type="bool" />
122    <field name="MB Error Concealment B Temporal Motion Vectors Override Enable" start="25" end="25" type="bool" />
123    <field name="MB Error Concealment B Temporal Prediction Mode" start="27" end="28" type="uint" />
124    <field name="Intra PredMode (4x4/8x8 Luma) Error Control" start="29" end="29" type="bool" />
125    <field name="Init Current MB Number" start="30" end="30" type="bool" />
126    <field name="Concealment Method" start="31" end="31" type="uint" />
127    <field name="First MB Bit Offset" start="32" end="34" type="uint" />
128    <field name="Last Slice" start="35" end="35" type="bool" />
129    <field name="Emulation Prevention Byte Present" start="36" end="36" type="bool" />
130    <field name="Fix Prev MB Skipped" start="39" end="39" type="bool" />
131    <field name="First MB Byte Offset of Slice Data or Slice Header" start="48" end="63" type="uint" />
132    <field name="Intra Prediction Error Control" start="64" end="64" type="bool" />
133    <field name="Intra 8x8/4x4 Prediction Error Concealment Control" start="65" end="65" type="bool" />
134    <field name="B Slice Temporal Inter Concealment Mode" start="68" end="70" type="uint" />
135    <field name="B Slice Spatial Inter Concealment Mode" start="72" end="74" type="uint" />
136    <field name="B Slice Inter Direct Type Concealment Mode" start="76" end="77" type="uint" />
137    <field name="B Slice Concealment Mode" start="79" end="79" type="uint">
138      <value name="Intra Concealment" value="1" />
139      <value name="Inter Concealment" value="0" />
140    </field>
141    <field name="P Slice Inter Concealment Mode" start="80" end="82" type="uint" />
142    <field name="P Slice Concealment Mode" start="87" end="87" type="uint">
143      <value name="Intra Concealment" value="1" />
144      <value name="Inter Concealment" value="0" />
145    </field>
146    <field name="Concealment Reference Picture + Field Bit" start="88" end="93" type="uint" />
147    <field name="I Slice Concealment Mode" start="95" end="95" type="uint">
148      <value name="Intra Concealment" value="1" />
149      <value name="Inter Concealment" value="0" />
150    </field>
151  </struct>
152  <struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
153    <field name="Kernel Start Pointer" start="6" end="47" type="offset" />
154    <field name="Software Exception Enable" start="71" end="71" type="bool" />
155    <field name="Mask Stack Exception Enable" start="75" end="75" type="bool" />
156    <field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool" />
157    <field name="Floating Point Mode" start="80" end="80" type="uint">
158      <value name="IEEE-754" value="0" />
159      <value name="Alternate" value="1" />
160    </field>
161    <field name="Thread Priority" start="81" end="81" type="uint">
162      <value name="Normal Priority" value="0" />
163      <value name="High Priority" value="1" />
164    </field>
165    <field name="Single Program Flow" start="82" end="82" type="bool" />
166    <field name="Denorm Mode" start="83" end="83" type="uint">
167      <value name="Ftz" value="0" />
168      <value name="SetByKernel" value="1" />
169    </field>
170    <field name="Sampler Count" start="98" end="100" type="uint">
171      <value name="No samplers used" value="0" />
172      <value name="Between 1 and 4 samplers used" value="1" />
173      <value name="Between 5 and 8 samplers used" value="2" />
174      <value name="Between 9 and 12 samplers used" value="3" />
175      <value name="Between 13 and 16 samplers used" value="4" />
176    </field>
177    <field name="Sampler State Pointer" start="101" end="127" type="offset" />
178    <field name="Binding Table Entry Count" start="128" end="132" type="uint" />
179    <field name="Binding Table Pointer" start="133" end="143" type="offset" />
180    <field name="Constant URB Entry Read Offset" start="160" end="175" type="uint" />
181    <field name="Constant URB Entry Read Length" start="176" end="191" type="uint" />
182    <field name="Number of Threads in GPGPU Thread Group" start="192" end="201" type="uint" />
183    <field name="Shared Local Memory Size" start="208" end="212" type="uint">
184      <value name="Encodes 0k" value="0" />
185      <value name="Encodes 4k" value="1" />
186      <value name="Encodes 8k" value="2" />
187      <value name="Encodes 16k" value="4" />
188      <value name="Encodes 32k" value="8" />
189      <value name="Encodes 64k" value="16" />
190    </field>
191    <field name="Barrier Enable" start="213" end="213" type="bool" />
192    <field name="Rounding Mode" start="214" end="215" type="uint">
193      <value name="RTNE" value="0" />
194      <value name="RU" value="1" />
195      <value name="RD" value="2" />
196      <value name="RTZ" value="3" />
197    </field>
198    <field name="Cross-Thread Constant Data Read Length" start="224" end="231" type="uint" />
199  </struct>
200  <struct name="MEMORYADDRESSATTRIBUTES" length="1">
201    <field name="Age for QUADLRU" start="0" end="1" type="uint" />
202    <field name="Target Cache" start="3" end="4" type="uint">
203      <value name="eLLC Only" value="0" />
204      <value name="LLC Only" value="1" />
205      <value name="LLC/eLLC" value="2" />
206      <value name="L3, LLC, eLLC" value="3" />
207    </field>
208    <field name="Arbitration Priority Control" start="7" end="8" type="uint" />
209  </struct>
210  <struct name="MEMORY_OBJECT_CONTROL_STATE" length="1">
211    <field name="Age for QUADLRU" start="0" end="1" type="uint" />
212    <field name="Target Cache" start="3" end="4" type="uint">
213      <value name="eLLC Only (when eDRAM is present, else gets allocated in LLC)" value="0" />
214      <value name="LLC Only" value="1" />
215      <value name="LLC/eLLC Allowed" value="2" />
216      <value name="L3 + Defer to PAT for LLC/eLLC selection" value="3" />
217    </field>
218    <field name="Memory Type:LLC/eLLC Cacheability Control" start="5" end="6" type="uint">
219      <value name=" UC with Fence (if coherent cycle)" value="0" />
220      <value name="UC (Uncacheable)" value="1" />
221      <value name="WT" value="2" />
222      <value name="WB" value="3" />
223    </field>
224  </struct>
225  <struct name="MEMORY_OBJECT_CONTROL_STATE_CHV" length="1">
226    <field name="Target Cache" start="3" end="4" type="uint">
227      <value name="No Caching" value="0" />
228      <value name="No Caching 1" value="1" />
229      <value name="No Caching 2" value="2" />
230      <value name="L3 Cache Allowed" value="3" />
231    </field>
232    <field name="Memory Type" start="5" end="6" type="uint">
233      <value name="UC" value="0" />
234      <value name="WB" value="3" />
235    </field>
236  </struct>
237  <struct name="RENDER_SURFACE_STATE" length="16">
238    <field name="Cube Face Enable - Positive Z" start="0" end="0" type="bool" />
239    <field name="Cube Face Enable - Negative Z" start="1" end="1" type="bool" />
240    <field name="Cube Face Enable - Positive Y" start="2" end="2" type="bool" />
241    <field name="Cube Face Enable - Negative Y" start="3" end="3" type="bool" />
242    <field name="Cube Face Enable - Positive X" start="4" end="4" type="bool" />
243    <field name="Cube Face Enable - Negative X" start="5" end="5" type="bool" />
244    <field name="Media Boundary Pixel Mode" start="6" end="7" type="uint">
245      <value name="NORMAL_MODE" value="0" />
246      <value name="PROGRESSIVE_FRAME" value="2" />
247      <value name="INTERLACED_FRAME" value="3" />
248    </field>
249    <field name="Render Cache Read Write Mode" start="8" end="8" type="uint">
250      <value name="Write-Only Cache" value="0" />
251      <value name="Read-Write Cache" value="1" />
252    </field>
253    <field name="Sampler L2 Bypass Mode Disable" start="9" end="9" type="bool" />
254    <field name="Vertical Line Stride Offset" start="10" end="10" type="uint" />
255    <field name="Vertical Line Stride" start="11" end="11" type="uint" />
256    <field name="Tile Mode" start="12" end="13" type="uint">
257      <value name="LINEAR" value="0" />
258      <value name="WMAJOR" value="1" />
259      <value name="XMAJOR" value="2" />
260      <value name="YMAJOR" value="3" />
261    </field>
262    <field name="Surface Horizontal Alignment" start="14" end="15" type="uint">
263      <value name="HALIGN_4" value="1" />
264      <value name="HALIGN_8" value="2" />
265      <value name="HALIGN_16" value="3" />
266    </field>
267    <field name="Surface Vertical Alignment" start="16" end="17" type="uint">
268      <value name="VALIGN_4" value="1" />
269      <value name="VALIGN_8" value="2" />
270      <value name="VALIGN_16" value="3" />
271    </field>
272    <field name="Surface Format" start="18" end="26" type="uint" />
273    <field name="Surface Array" start="28" end="28" type="bool" />
274    <field name="Surface Type" start="29" end="31" type="uint">
275      <value name="SURFTYPE_1D" value="0" />
276      <value name="SURFTYPE_2D" value="1" />
277      <value name="SURFTYPE_3D" value="2" />
278      <value name="SURFTYPE_CUBE" value="3" />
279      <value name="SURFTYPE_BUFFER" value="4" />
280      <value name="SURFTYPE_STRBUF" value="5" />
281      <value name="SURFTYPE_NULL" value="7" />
282    </field>
283    <field name="Surface QPitch" start="32" end="46" type="uint" />
284    <field name="Base Mip Level" start="51" end="55" type="u4.1" />
285    <field name="MOCS" start="56" end="62" type="uint" nonzero="true" />
286    <field name="Width" start="64" end="77" type="uint" />
287    <field name="Height" start="80" end="93" type="uint" />
288    <field name="Surface Pitch" start="96" end="113" type="uint" />
289    <field name="Depth" start="117" end="127" type="uint" />
290    <field name="Multisample Position Palette Index" start="128" end="130" type="uint" />
291    <field name="Number of Multisamples" start="131" end="133" type="uint">
292      <value name="MULTISAMPLECOUNT_1" value="0" />
293      <value name="MULTISAMPLECOUNT_2" value="1" />
294      <value name="MULTISAMPLECOUNT_4" value="2" />
295      <value name="MULTISAMPLECOUNT_8" value="3" />
296    </field>
297    <field name="Multisampled Surface Storage Format" start="134" end="134" type="uint">
298      <value name="MSFMT_MSS" value="0" />
299      <value name="MSFMT_DEPTH_STENCIL" value="1" />
300    </field>
301    <field name="Render Target View Extent" start="135" end="145" type="uint" />
302    <field name="Minimum Array Element" start="146" end="156" type="uint" />
303    <field name="Render Target And Sample Unorm Rotation" start="157" end="158" type="uint">
304      <value name="0DEG" value="0" />
305      <value name="90DEG" value="1" />
306      <value name="270DEG" value="3" />
307    </field>
308    <field name="MIP Count / LOD" start="160" end="163" type="uint" />
309    <field name="Surface Min LOD" start="164" end="167" type="uint" />
310    <field name="Coherency Type" start="174" end="174" type="uint">
311      <value name="GPU coherent" value="0" />
312      <value name="IA coherent" value="1" />
313    </field>
314    <field name="EWA Disable For Cube" start="180" end="180" type="bool" />
315    <field name="Y Offset" start="181" end="183" type="uint" />
316    <field name="X Offset" start="185" end="191" type="uint" />
317    <field name="Auxiliary Surface Mode" start="192" end="194" type="uint">
318      <value name="AUX_NONE" value="0" />
319      <value name="AUX_MCS" value="1" />
320      <value name="AUX_APPEND" value="2" />
321      <value name="AUX_HIZ" value="3" />
322    </field>
323    <field name="Y Offset for U or UV Plane" start="192" end="205" type="uint" />
324    <field name="Auxiliary Surface Pitch" start="195" end="203" type="uint" />
325    <field name="Auxiliary Surface QPitch" start="208" end="222" type="uint" />
326    <field name="X Offset for U or UV Plane" start="208" end="221" type="uint" />
327    <field name="Separate UV Plane Enable" start="223" end="223" type="bool" />
328    <field name="Resource Min LOD" start="224" end="235" type="u4.8" />
329    <field name="Shader Channel Select Alpha" start="240" end="242" type="Shader Channel Select" />
330    <field name="Shader Channel Select Blue" start="243" end="245" type="Shader Channel Select" />
331    <field name="Shader Channel Select Green" start="246" end="248" type="Shader Channel Select" />
332    <field name="Shader Channel Select Red" start="249" end="251" type="Shader Channel Select" />
333    <field name="Alpha Clear Color" start="252" end="252" type="Clear Color" />
334    <field name="Blue Clear Color" start="253" end="253" type="Clear Color" />
335    <field name="Green Clear Color" start="254" end="254" type="Clear Color" />
336    <field name="Red Clear Color" start="255" end="255" type="Clear Color" />
337    <field name="Surface Base Address" start="256" end="319" type="address" />
338    <field name="Auxiliary Surface Base Address" start="332" end="383" type="address" />
339    <field name="Auxiliary Table Index for Media Compressed Surface" start="341" end="351" type="uint" />
340    <field name="Y Offset for V Plane" start="352" end="365" type="uint" />
341    <field name="X Offset for V Plane" start="368" end="381" type="uint" />
342  </struct>
343  <struct name="SAMPLER_BORDER_COLOR_STATE" length="4">
344    <field name="Border Color Float Red" start="0" end="31" type="float" />
345    <field name="Border Color 32bit Red" start="0" end="31" type="uint" />
346    <field name="Border Color Float Green" start="32" end="63" type="float" />
347    <field name="Border Color 32bit Green" start="32" end="63" type="uint" />
348    <field name="Border Color Float Blue" start="64" end="95" type="float" />
349    <field name="Border Color 32bit Blue" start="64" end="95" type="uint" />
350    <field name="Border Color Float Alpha" start="96" end="127" type="float" />
351    <field name="Border Color 32bit Alpha" start="96" end="127" type="uint" />
352  </struct>
353  <struct name="SAMPLER_STATE" length="4">
354    <field name="Anisotropic Algorithm" start="0" end="0" type="uint">
355      <value name="LEGACY" value="0" />
356      <value name="EWA Approximation" value="1" />
357    </field>
358    <field name="Texture LOD Bias" start="1" end="13" type="s4.8" />
359    <field name="Min Mode Filter" start="14" end="16" type="uint" prefix="MAPFILTER">
360      <value name="NEAREST" value="0" />
361      <value name="LINEAR" value="1" />
362      <value name="ANISOTROPIC" value="2" />
363      <value name="MONO" value="6" />
364    </field>
365    <field name="Mag Mode Filter" start="17" end="19" type="uint" prefix="MAPFILTER">
366      <value name="NEAREST" value="0" />
367      <value name="LINEAR" value="1" />
368      <value name="ANISOTROPIC" value="2" />
369      <value name="MONO" value="6" />
370    </field>
371    <field name="Mip Mode Filter" start="20" end="21" type="uint" prefix="MIPFILTER">
372      <value name="NONE" value="0" />
373      <value name="NEAREST" value="1" />
374      <value name="LINEAR" value="3" />
375    </field>
376    <field name="Base Mip Level" start="22" end="26" type="u4.1" />
377    <field name="LOD PreClamp Mode" start="27" end="28" type="uint" prefix="CLAMP_MODE">
378      <value name="NONE" value="0" />
379      <value name="OGL" value="2" />
380    </field>
381    <field name="Texture Border Color Mode" start="29" end="29" type="uint">
382      <value name="DX10/OGL" value="0" />
383      <value name="DX9" value="1" />
384    </field>
385    <field name="Sampler Disable" start="31" end="31" type="bool" />
386    <field name="Cube Surface Control Mode" start="32" end="32" type="uint">
387      <value name="PROGRAMMED" value="0" />
388      <value name="OVERRIDE" value="1" />
389    </field>
390    <field name="Shadow Function" start="33" end="35" type="uint" prefix="PREFILTEROP">
391      <value name="ALWAYS" value="0" />
392      <value name="NEVER" value="1" />
393      <value name="LESS" value="2" />
394      <value name="EQUAL" value="3" />
395      <value name="LEQUAL" value="4" />
396      <value name="GREATER" value="5" />
397      <value name="NOTEQUAL" value="6" />
398      <value name="GEQUAL" value="7" />
399    </field>
400    <field name="ChromaKey Mode" start="36" end="36" type="uint">
401      <value name="KEYFILTER_KILL_ON_ANY_MATCH" value="0" />
402      <value name="KEYFILTER_REPLACE_BLACK" value="1" />
403    </field>
404    <field name="ChromaKey Index" start="37" end="38" type="uint" />
405    <field name="ChromaKey Enable" start="39" end="39" type="bool" />
406    <field name="Max LOD" start="40" end="51" type="u4.8" />
407    <field name="Min LOD" start="52" end="63" type="u4.8" />
408    <field name="LOD Clamp Magnification Mode" start="64" end="64" type="uint">
409      <value name="MIPNONE" value="0" />
410      <value name="MIPFILTER" value="1" />
411    </field>
412    <field name="Border Color Pointer" start="70" end="87" type="offset" />
413    <field name="TCZ Address Control Mode" start="96" end="98" type="Texture Coordinate Mode" />
414    <field name="TCY Address Control Mode" start="99" end="101" type="Texture Coordinate Mode" />
415    <field name="TCX Address Control Mode" start="102" end="104" type="Texture Coordinate Mode" />
416    <field name="Non-normalized Coordinate Enable" start="106" end="106" type="bool" />
417    <field name="Trilinear Filter Quality" start="107" end="108" type="uint">
418      <value name="FULL" value="0" />
419      <value name="HIGH" value="1" />
420      <value name="MED" value="2" />
421      <value name="LOW" value="3" />
422    </field>
423    <field name="R Address Min Filter Rounding Enable" start="109" end="109" type="bool" />
424    <field name="R Address Mag Filter Rounding Enable" start="110" end="110" type="bool" />
425    <field name="V Address Min Filter Rounding Enable" start="111" end="111" type="bool" />
426    <field name="V Address Mag Filter Rounding Enable" start="112" end="112" type="bool" />
427    <field name="U Address Min Filter Rounding Enable" start="113" end="113" type="bool" />
428    <field name="U Address Mag Filter Rounding Enable" start="114" end="114" type="bool" />
429    <field name="Maximum Anisotropy" start="115" end="117" type="uint">
430      <value name="RATIO 2:1" value="0" />
431      <value name="RATIO 4:1" value="1" />
432      <value name="RATIO 6:1" value="2" />
433      <value name="RATIO 8:1" value="3" />
434      <value name="RATIO 10:1" value="4" />
435      <value name="RATIO 12:1" value="5" />
436      <value name="RATIO 14:1" value="6" />
437      <value name="RATIO 16:1" value="7" />
438    </field>
439  </struct>
440  <struct name="SAMPLER_STATE_8X8_AVS_COEFFICIENTS" length="8">
441    <field name="Table 0X Filter Coefficient[n,0]" start="0" end="7" type="s1.6" />
442    <field name="Table 0Y Filter Coefficient[n,0]" start="8" end="15" type="s1.6" />
443    <field name="Table 0X Filter Coefficient[n,1]" start="16" end="23" type="s1.6" />
444    <field name="Table 0Y Filter Coefficient[n,1]" start="24" end="31" type="s1.6" />
445    <field name="Table 0X Filter Coefficient[n,2]" start="32" end="39" type="s1.6" />
446    <field name="Table 0Y Filter Coefficient[n,2]" start="40" end="47" type="s1.6" />
447    <field name="Table 0X Filter Coefficient[n,3]" start="48" end="55" type="s1.6" />
448    <field name="Table 0Y Filter Coefficient[n,3]" start="56" end="63" type="s1.6" />
449    <field name="Table 0X Filter Coefficient[n,4]" start="64" end="71" type="s1.6" />
450    <field name="Table 0Y Filter Coefficient[n,4]" start="72" end="79" type="s1.6" />
451    <field name="Table 0X Filter Coefficient[n,5]" start="80" end="87" type="s1.6" />
452    <field name="Table 0Y Filter Coefficient[n,5]" start="88" end="95" type="s1.6" />
453    <field name="Table 0X Filter Coefficient[n,6]" start="96" end="103" type="s1.6" />
454    <field name="Table 0Y Filter Coefficient[n,6]" start="104" end="111" type="s1.6" />
455    <field name="Table 0X Filter Coefficient[n,7]" start="112" end="119" type="s1.6" />
456    <field name="Table 0Y Filter Coefficient[n,7]" start="120" end="127" type="s1.6" />
457    <field name="Table 1X Filter Coefficient[n,2]" start="144" end="151" type="s1.6" />
458    <field name="Table 1X Filter Coefficient[n,3]" start="152" end="159" type="s1.6" />
459    <field name="Table 1X Filter Coefficient[n,4]" start="160" end="167" type="s1.6" />
460    <field name="Table 1X Filter Coefficient[n,5]" start="168" end="175" type="s1.6" />
461    <field name="Table 1Y Filter Coefficient[n,2]" start="208" end="215" type="s1.6" />
462    <field name="Table 1Y Filter Coefficient[n,3]" start="216" end="223" type="s1.6" />
463    <field name="Table 1Y Filter Coefficient[n,4]" start="224" end="231" type="s1.6" />
464    <field name="Table 1Y Filter Coefficient[n,5]" start="232" end="239" type="s1.6" />
465  </struct>
466  <struct name="SF_CLIP_VIEWPORT" length="16">
467    <field name="Viewport Matrix Element m00" start="0" end="31" type="float" />
468    <field name="Viewport Matrix Element m11" start="32" end="63" type="float" />
469    <field name="Viewport Matrix Element m22" start="64" end="95" type="float" />
470    <field name="Viewport Matrix Element m30" start="96" end="127" type="float" />
471    <field name="Viewport Matrix Element m31" start="128" end="159" type="float" />
472    <field name="Viewport Matrix Element m32" start="160" end="191" type="float" />
473    <field name="X Min Clip Guardband" start="256" end="287" type="float" />
474    <field name="X Max Clip Guardband" start="288" end="319" type="float" />
475    <field name="Y Min Clip Guardband" start="320" end="351" type="float" />
476    <field name="Y Max Clip Guardband" start="352" end="383" type="float" />
477    <field name="X Min ViewPort" start="384" end="415" type="float" />
478    <field name="X Max ViewPort" start="416" end="447" type="float" />
479    <field name="Y Min ViewPort" start="448" end="479" type="float" />
480    <field name="Y Max ViewPort" start="480" end="511" type="float" />
481  </struct>
482  <struct name="VERTEX_BUFFER_STATE" length="4">
483    <field name="Buffer Pitch" start="0" end="11" type="uint" />
484    <field name="Null Vertex Buffer" start="13" end="13" type="bool" />
485    <field name="Address Modify Enable" start="14" end="14" type="bool" />
486    <field name="MOCS" start="16" end="22" type="uint" nonzero="true" />
487    <field name="Vertex Buffer Index" start="26" end="31" type="uint" />
488    <field name="Buffer Starting Address" start="32" end="95" type="address" />
489    <field name="Buffer Size" start="96" end="127" type="uint" />
490  </struct>
491  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
492    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
493    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="10" />
494    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
495    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
496    <field name="Command Type" start="29" end="31" type="uint" default="3" />
497    <field name="AA Coverage Slope" start="32" end="39" type="u0.8" />
498    <field name="AA Point Coverage Slope" start="40" end="47" type="u0.8" />
499    <field name="AA Coverage Bias" start="48" end="55" type="u0.8" />
500    <field name="AA Point Coverage Bias" start="56" end="63" type="u0.8" />
501    <field name="AA Coverage EndCap Slope" start="64" end="71" type="u0.8" />
502    <field name="AA Point Coverage EndCap Slope" start="72" end="79" type="u0.8" />
503    <field name="AA Coverage EndCap Bias" start="80" end="87" type="u0.8" />
504    <field name="AA Point Coverage EndCap Bias" start="88" end="95" type="u0.8" />
505  </instruction>
506  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4" engine="render">
507    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
508    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="25" />
509    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
510    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
511    <field name="Command Type" start="29" end="31" type="uint" default="3" />
512    <field name="MOCS" start="32" end="38" type="uint" nonzero="true" />
513    <field name="Binding Table Pool Enable" start="43" end="43" type="bool" />
514    <field name="Binding Table Pool Base Address" start="44" end="95" type="address" />
515    <field name="Binding Table Pool Buffer Size" start="108" end="127" type="uint">
516      <value name="No Valid Data" value="0" />
517    </field>
518  </instruction>
519  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2" engine="render">
520    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
521    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="36" />
522    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
523    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
524    <field name="Command Type" start="29" end="31" type="uint" default="3" />
525    <field name="Blend State Pointer Valid" start="32" end="32" type="bool" />
526    <field name="Blend State Pointer" start="38" end="63" type="offset" />
527  </instruction>
528  <instruction name="3DSTATE_CC_STATE_POINTERS" 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="14" />
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="Color Calc State Pointer Valid" start="32" end="32" type="bool" />
535    <field name="Color Calc State Pointer" start="38" end="63" type="offset" />
536  </instruction>
537  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3" engine="render">
538    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
539    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="4" />
540    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
541    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
542    <field name="Command Type" start="29" end="31" type="uint" default="3" />
543    <field name="Depth Clear Value" start="32" end="63" type="float" />
544    <field name="Depth Clear Value Valid" start="64" end="64" type="bool" />
545  </instruction>
546  <instruction name="3DSTATE_CLIP" bias="2" length="4" engine="render">
547    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
548    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="18" />
549    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
550    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
551    <field name="Command Type" start="29" end="31" type="uint" default="3" />
552    <field name="User Clip Distance Cull Test Enable Bitmask" start="32" end="39" type="uint" />
553    <field name="Statistics Enable" start="42" end="42" type="bool" />
554    <field name="Force Clip Mode" start="48" end="48" type="bool" />
555    <field name="Force User Clip Distance Clip Test Enable Bitmask" start="49" end="49" type="bool" />
556    <field name="Early Cull Enable" start="50" end="50" type="bool" />
557    <field name="Vertex Sub Pixel Precision Select" start="51" end="51" type="uint">
558      <value name="8 Bit" value="0" />
559      <value name="4 Bit" value="1" />
560    </field>
561    <field name="Force User Clip Distance Cull Test Enable Bitmask" start="52" end="52" type="bool" />
562    <field name="Triangle Fan Provoking Vertex Select" start="64" end="65" type="uint" />
563    <field name="Line Strip/List Provoking Vertex Select" start="66" end="67" type="uint" />
564    <field name="Triangle Strip/List Provoking Vertex Select" start="68" end="69" type="uint" />
565    <field name="Non-Perspective Barycentric Enable" start="72" end="72" type="bool" />
566    <field name="Perspective Divide Disable" start="73" end="73" type="bool" />
567    <field name="Clip Mode" start="77" end="79" type="uint">
568      <value name="CLIPMODE_NORMAL" value="0" />
569      <value name="CLIPMODE_REJECT_ALL" value="3" />
570      <value name="CLIPMODE_ACCEPT_ALL" value="4" />
571    </field>
572    <field name="User Clip Distance Clip Test Enable Bitmask" start="80" end="87" type="uint" />
573    <field name="Guardband Clip Test Enable" start="90" end="90" type="bool" />
574    <field name="Viewport XY Clip Test Enable" start="92" end="92" type="bool" />
575    <field name="API Mode" start="94" end="94" type="uint">
576      <value name="APIMODE_OGL" value="0" />
577      <value name="APIMODE_D3D" value="1" />
578    </field>
579    <field name="Clip Enable" start="95" end="95" type="bool" />
580    <field name="Maximum VP Index" start="96" end="99" type="uint" />
581    <field name="Force Zero RTA Index Enable" start="101" end="101" type="bool" />
582    <field name="Maximum Point Width" start="102" end="112" type="u8.3" />
583    <field name="Minimum Point Width" start="113" end="123" type="u8.3" />
584  </instruction>
585  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="11" engine="render">
586    <field name="DWord Length" start="0" end="7" type="uint" default="9" />
587    <field name="MOCS" start="8" end="14" type="mbz" />
588    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="26" />
589    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
590    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
591    <field name="Command Type" start="29" end="31" type="uint" default="3" />
592    <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY" />
593  </instruction>
594  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="11" engine="render">
595    <field name="DWord Length" start="0" end="7" type="uint" default="9" />
596    <field name="MOCS" start="8" end="14" type="mbz" />
597    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="22" />
598    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
599    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
600    <field name="Command Type" start="29" end="31" type="uint" default="3" />
601    <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY" />
602  </instruction>
603  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="11" engine="render">
604    <field name="DWord Length" start="0" end="7" type="uint" default="9" />
605    <field name="MOCS" start="8" end="14" type="mbz" />
606    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="25" />
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="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY" />
611  </instruction>
612  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="11" engine="render">
613    <field name="DWord Length" start="0" end="7" type="uint" default="9" />
614    <field name="MOCS" start="8" end="14" type="mbz" />
615    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="23" />
616    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
617    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
618    <field name="Command Type" start="29" end="31" type="uint" default="3" />
619    <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY" />
620  </instruction>
621  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="11" engine="render">
622    <field name="DWord Length" start="0" end="7" type="uint" default="9" />
623    <field name="MOCS" start="8" end="14" type="mbz" />
624    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="21" />
625    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
626    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
627    <field name="Command Type" start="29" end="31" type="uint" default="3" />
628    <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY" />
629  </instruction>
630  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8" engine="render">
631    <field name="DWord Length" start="0" end="7" type="uint" default="6" />
632    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="5" />
633    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
634    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
635    <field name="Command Type" start="29" end="31" type="uint" default="3" />
636    <field name="Surface Pitch" start="32" end="49" type="uint" />
637    <field name="Surface Format" start="50" end="52" type="uint">
638      <value name="D32_FLOAT" value="1" />
639      <value name="D24_UNORM_X8_UINT" value="3" />
640      <value name="D16_UNORM" value="5" />
641    </field>
642    <field name="Hierarchical Depth Buffer Enable" start="54" end="54" type="bool" />
643    <field name="Stencil Write Enable" start="59" end="59" type="bool" />
644    <field name="Depth Write Enable" start="60" end="60" type="bool" />
645    <field name="Surface Type" start="61" end="63" type="uint">
646      <value name="SURFTYPE_1D" value="0" />
647      <value name="SURFTYPE_2D" value="1" />
648      <value name="SURFTYPE_3D" value="2" />
649      <value name="SURFTYPE_CUBE" value="3" />
650      <value name="SURFTYPE_NULL" value="7" />
651    </field>
652    <field name="Surface Base Address" start="64" end="127" type="address" />
653    <field name="LOD" start="128" end="131" type="uint" />
654    <field name="Width" start="132" end="145" type="uint" />
655    <field name="Height" start="146" end="159" type="uint" />
656    <field name="MOCS" start="160" end="166" type="uint" nonzero="true" />
657    <field name="Minimum Array Element" start="170" end="180" type="uint" />
658    <field name="Depth" start="181" end="191" type="uint" />
659    <field name="Surface QPitch" start="224" end="238" type="uint" />
660    <field name="Render Target View Extent" start="245" end="255" type="uint" />
661  </instruction>
662  <instruction name="3DSTATE_DS" bias="2" length="9" engine="render">
663    <field name="DWord Length" start="0" end="7" type="uint" default="7" />
664    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="29" />
665    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
666    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
667    <field name="Command Type" start="29" end="31" type="uint" default="3" />
668    <field name="Kernel Start Pointer" start="38" end="95" type="offset" />
669    <field name="Software Exception Enable" start="103" end="103" type="bool" />
670    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
671    <field name="Accesses UAV" start="110" end="110" type="bool" />
672    <field name="Floating Point Mode" start="112" end="112" type="uint">
673      <value name="IEEE-754" value="0" />
674      <value name="Alternate" value="1" />
675    </field>
676    <field name="Thread Dispatch Priority" start="113" end="113" type="uint">
677      <value name="High" value="1" />
678    </field>
679    <field name="Binding Table Entry Count" start="114" end="121" type="uint" />
680    <field name="Sampler Count" start="123" end="125" type="uint">
681      <value name="No Samplers" value="0" />
682      <value name="1-4 Samplers" value="1" />
683      <value name="5-8 Samplers" value="2" />
684      <value name="9-12 Samplers" value="3" />
685      <value name="13-16 Samplers" value="4" />
686    </field>
687    <field name="Vector Mask Enable" start="126" end="126" type="bool" />
688    <field name="Single Domain Point Dispatch" start="127" end="127" type="uint" />
689    <field name="Per-Thread Scratch Space" start="128" end="131" type="uint" />
690    <field name="Scratch Space Base Pointer" start="138" end="191" type="address" />
691    <field name="Patch URB Entry Read Offset" start="196" end="201" type="uint" />
692    <field name="Patch URB Entry Read Length" start="203" end="209" type="uint" />
693    <field name="Dispatch GRF Start Register For URB Data" start="212" end="216" type="uint" />
694    <field name="Enable" start="224" end="224" type="bool" />
695    <field name="Cache Disable" start="225" end="225" type="bool" />
696    <field name="Compute W Coordinate Enable" start="226" end="226" type="bool" />
697    <field name="Dispatch Mode" start="227" end="227" type="uint" prefix="DISPATCH_MODE">
698      <value name="SIMD4X2" value="0" />
699      <value name="SIMD8_SINGLE_PATCH" value="1" />
700    </field>
701    <field name="Statistics Enable" start="234" end="234" type="bool" />
702    <field name="Maximum Number of Threads" start="245" end="253" type="uint" />
703    <field name="User Clip Distance Cull Test Enable Bitmask" start="256" end="263" type="uint" />
704    <field name="User Clip Distance Clip Test Enable Bitmask" start="264" end="271" type="uint" />
705    <field name="Vertex URB Entry Output Length" start="272" end="276" type="uint" />
706    <field name="Vertex URB Entry Output Read Offset" start="277" end="282" type="uint" />
707  </instruction>
708  <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2" engine="render">
709    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
710    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="55" />
711    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
712    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
713    <field name="Command Type" start="29" end="31" type="uint" default="3" />
714    <field name="Constant Buffer Binding Table Block" start="44" end="47" type="uint" />
715    <field name="Constant Buffer Valid" start="48" end="63" type="uint" />
716    <field name="Constant Buffer Dx9 Generate Stall" start="69" end="69" type="bool" />
717    <field name="Gather Buffer Offset" start="70" end="86" type="offset" />
718    <group count="0" start="96" size="32">
719      <field name="Entry_0" start="0" end="15" type="GATHER_CONSTANT_ENTRY" />
720      <field name="Entry_1" start="16" end="31" type="GATHER_CONSTANT_ENTRY" />
721    </group>
722  </instruction>
723  <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2" engine="render">
724    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
725    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="53" />
726    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
727    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
728    <field name="Command Type" start="29" end="31" type="uint" default="3" />
729    <field name="Constant Buffer Binding Table Block" start="44" end="47" type="uint" />
730    <field name="Constant Buffer Valid" start="48" end="63" type="uint" />
731    <field name="Constant Buffer Dx9 Generate Stall" start="69" end="69" type="bool" />
732    <field name="Gather Buffer Offset" start="70" end="86" type="offset" />
733    <group count="0" start="96" size="32">
734      <field name="Entry_0" start="0" end="15" type="GATHER_CONSTANT_ENTRY" />
735      <field name="Entry_1" start="16" end="31" type="GATHER_CONSTANT_ENTRY" />
736    </group>
737  </instruction>
738  <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2" engine="render">
739    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
740    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="54" />
741    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
742    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
743    <field name="Command Type" start="29" end="31" type="uint" default="3" />
744    <field name="Constant Buffer Binding Table Block" start="44" end="47" type="uint" />
745    <field name="Constant Buffer Valid" start="48" end="63" type="uint" />
746    <field name="Constant Buffer Dx9 Generate Stall" start="69" end="69" type="bool" />
747    <field name="Gather Buffer Offset" start="70" end="86" type="offset" />
748    <group count="0" start="96" size="32">
749      <field name="Entry_0" start="0" end="15" type="GATHER_CONSTANT_ENTRY" />
750      <field name="Entry_1" start="16" end="31" type="GATHER_CONSTANT_ENTRY" />
751    </group>
752  </instruction>
753  <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2" engine="render">
754    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
755    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="56" />
756    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
757    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
758    <field name="Command Type" start="29" end="31" type="uint" default="3" />
759    <field name="Constant Buffer Binding Table Block" start="44" end="47" type="uint" />
760    <field name="Constant Buffer Valid" start="48" end="63" type="uint" />
761    <field name="Constant Buffer Dx9 Enable" start="68" end="68" type="bool" />
762    <field name="Constant Buffer Dx9 Generate Stall" start="69" end="69" type="bool" />
763    <field name="Gather Buffer Offset" start="70" end="86" type="offset" />
764    <group count="0" start="96" size="32">
765      <field name="Entry_0" start="0" end="15" type="GATHER_CONSTANT_ENTRY" />
766      <field name="Entry_1" start="16" end="31" type="GATHER_CONSTANT_ENTRY" />
767    </group>
768  </instruction>
769  <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2" engine="render">
770    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
771    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="52" />
772    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
773    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
774    <field name="Command Type" start="29" end="31" type="uint" default="3" />
775    <field name="Constant Buffer Binding Table Block" start="44" end="47" type="uint" />
776    <field name="Constant Buffer Valid" start="48" end="63" type="uint" />
777    <field name="Constant Buffer Dx9 Enable" start="68" end="68" type="bool" />
778    <field name="Constant Buffer Dx9 Generate Stall" start="69" end="69" type="bool" />
779    <field name="Gather Buffer Offset" start="70" end="86" type="offset" />
780    <group count="0" start="96" size="32">
781      <field name="Entry_0" start="0" end="15" type="GATHER_CONSTANT_ENTRY" />
782      <field name="Entry_1" start="16" end="31" type="GATHER_CONSTANT_ENTRY" />
783    </group>
784  </instruction>
785  <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="4" engine="render">
786    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
787    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="26" />
788    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
789    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
790    <field name="Command Type" start="29" end="31" type="uint" default="3" />
791    <field name="MOCS" start="32" end="38" type="uint" nonzero="true" />
792    <field name="Gather Pool Enable" start="43" end="43" type="bool" />
793    <field name="Gather Pool Base Address" start="44" end="95" type="address" />
794    <field name="Gather Pool Buffer Size" start="108" end="127" type="uint" />
795  </instruction>
796  <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
797    <field name="DWord Length" start="0" end="7" type="uint" default="8" />
798    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="17" />
799    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
800    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
801    <field name="Command Type" start="29" end="31" type="uint" default="3" />
802    <field name="Kernel Start Pointer" start="38" end="95" type="offset" />
803    <field name="Expected Vertex Count" start="96" end="101" type="uint" />
804    <field name="Software Exception Enable" start="103" end="103" type="bool" />
805    <field name="Mask Stack Exception Enable" start="107" end="107" type="bool" />
806    <field name="Accesses UAV" start="108" end="108" type="bool" />
807    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
808    <field name="Floating Point Mode" start="112" end="112" type="uint">
809      <value name="IEEE-754" value="0" />
810      <value name="Alternate" value="1" />
811    </field>
812    <field name="Thread Dispatch Priority" start="113" end="113" type="uint">
813      <value name="High" value="1" />
814    </field>
815    <field name="Binding Table Entry Count" start="114" end="121" type="uint" />
816    <field name="Sampler Count" start="123" end="125" type="uint">
817      <value name="No Samplers" value="0" />
818      <value name="1-4 Samplers" value="1" />
819      <value name="5-8 Samplers" value="2" />
820      <value name="9-12 Samplers" value="3" />
821      <value name="13-16 Samplers" value="4" />
822    </field>
823    <field name="Vector Mask Enable" start="126" end="126" type="bool" />
824    <field name="Single Program Flow" start="127" end="127" type="bool" />
825    <field name="Per-Thread Scratch Space" start="128" end="131" type="uint" />
826    <field name="Scratch Space Base Pointer" start="138" end="191" type="address" />
827    <field name="Dispatch GRF Start Register For URB Data" start="192" end="195" type="uint" />
828    <field name="Vertex URB Entry Read Offset" start="196" end="201" type="uint" />
829    <field name="Include Vertex Handles" start="202" end="202" type="bool" />
830    <field name="Vertex URB Entry Read Length" start="203" end="208" type="uint" />
831    <field name="Output Topology" start="209" end="214" type="3D_Prim_Topo_Type" />
832    <field name="Output Vertex Size" start="215" end="220" type="uint" />
833    <field name="Enable" start="224" end="224" type="bool" />
834    <field name="Discard Adjacency" start="225" end="225" type="bool" />
835    <field name="Reorder Mode" start="226" end="226" type="uint">
836      <value name="LEADING" value="0" />
837      <value name="TRAILING" value="1" />
838    </field>
839    <field name="Hint" start="227" end="227" type="uint" />
840    <field name="Include Primitive ID" start="228" end="228" type="bool" />
841    <field name="Invocations Increment Value" start="229" end="233" type="uint" />
842    <field name="Statistics Enable" start="234" end="234" type="bool" />
843    <field name="Dispatch Mode" start="235" end="236" type="uint" prefix="DISPATCH_MODE">
844      <value name="Dual Instance" value="1" />
845      <value name="Dual Object" value="2" />
846      <value name="SIMD8" value="3" />
847    </field>
848    <field name="Default Stream Id" start="237" end="238" type="uint" />
849    <field name="Instance Control" start="239" end="243" type="uint" />
850    <field name="Control Data Header Size" start="244" end="247" type="uint" />
851    <field name="Maximum Number of Threads" start="248" end="255" type="uint" />
852    <field name="Static Output Vertex Count" start="272" end="282" type="uint" />
853    <field name="Static Output" start="286" end="286" type="bool" />
854    <field name="Control Data Format" start="287" end="287" type="uint">
855      <value name="CUT" value="0" />
856      <value name="SID" value="1" />
857    </field>
858    <field name="User Clip Distance Cull Test Enable Bitmask" start="288" end="295" type="uint" />
859    <field name="User Clip Distance Clip Test Enable Bitmask" start="296" end="303" type="uint" />
860    <field name="Vertex URB Entry Output Length" start="304" end="308" type="uint" />
861    <field name="Vertex URB Entry Output Read Offset" start="309" end="314" type="uint" />
862  </instruction>
863  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5" engine="render">
864    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
865    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="7" />
866    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
867    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
868    <field name="Command Type" start="29" end="31" type="uint" default="3" />
869    <field name="Surface Pitch" start="32" end="48" type="uint" />
870    <field name="MOCS" start="57" end="63" type="uint" nonzero="true" />
871    <field name="Surface Base Address" start="64" end="127" type="address" />
872    <field name="Surface QPitch" start="128" end="142" type="uint" />
873  </instruction>
874  <instruction name="3DSTATE_HS" bias="2" length="9" engine="render">
875    <field name="DWord Length" start="0" end="7" type="uint" default="7" />
876    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="27" />
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="Software Exception Enable" start="44" end="44" type="bool" />
881    <field name="Illegal Opcode Exception Enable" start="45" end="45" type="bool" />
882    <field name="Floating Point Mode" start="48" end="48" type="uint">
883      <value name="IEEE-754" value="0" />
884      <value name="alternate" value="1" />
885    </field>
886    <field name="Thread Dispatch Priority" start="49" end="49" type="uint">
887      <value name="High" value="1" />
888    </field>
889    <field name="Binding Table Entry Count" start="50" end="57" type="uint" />
890    <field name="Sampler Count" start="59" end="61" type="uint">
891      <value name="No Samplers" value="0" />
892      <value name="1-4 Samplers" value="1" />
893      <value name="5-8 Samplers" value="2" />
894      <value name="9-12 Samplers" value="3" />
895      <value name="13-16 Samplers" value="4" />
896    </field>
897    <field name="Instance Count" start="64" end="67" type="uint" />
898    <field name="Maximum Number of Threads" start="72" end="80" type="uint" />
899    <field name="Statistics Enable" start="93" end="93" type="bool" />
900    <field name="Enable" start="95" end="95" type="bool" />
901    <field name="Kernel Start Pointer" start="102" end="159" type="offset" />
902    <field name="Per-Thread Scratch Space" start="160" end="163" type="uint" />
903    <field name="Scratch Space Base Pointer" start="170" end="223" type="address" />
904    <field name="Vertex URB Entry Read Offset" start="228" end="233" type="uint" />
905    <field name="Vertex URB Entry Read Length" start="235" end="240" type="uint" />
906    <field name="Dispatch GRF Start Register For URB Data" start="243" end="247" type="uint" />
907    <field name="Include Vertex Handles" start="248" end="248" type="bool" />
908    <field name="Accesses UAV" start="249" end="249" type="bool" />
909    <field name="Vector Mask Enable" start="250" end="250" type="bool" />
910    <field name="Single Program Flow" start="251" end="251" type="bool" />
911  </instruction>
912  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="5" engine="render">
913    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
914    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="10" />
915    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
916    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
917    <field name="Command Type" start="29" end="31" type="uint" default="3" />
918    <field name="MOCS" start="32" end="38" type="uint" nonzero="true" />
919    <field name="Index Format" start="40" end="41" type="uint" prefix="INDEX">
920      <value name="BYTE" value="0" />
921      <value name="WORD" value="1" />
922      <value name="DWORD" value="2" />
923    </field>
924    <field name="Buffer Starting Address" start="64" end="127" type="address" />
925    <field name="Buffer Size" start="128" end="159" type="uint" />
926  </instruction>
927  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="2" engine="render">
928    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
929    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="13" />
930    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
931    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
932    <field name="Command Type" start="29" end="31" type="uint" default="3" />
933    <field name="Number of Multisamples" start="33" end="35" type="uint" />
934    <field name="Pixel Location" start="36" end="36" type="uint">
935      <value name="CENTER" value="0" />
936      <value name="UL_CORNER" value="1" />
937    </field>
938    <field name="Pixel Position Offset Enable" start="37" end="37" type="bool" default="0" />
939  </instruction>
940  <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
941    <field name="DWord Length" start="0" end="7" type="uint" default="10" />
942    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="32" />
943    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
944    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
945    <field name="Command Type" start="29" end="31" type="uint" default="3" />
946    <field name="Kernel Start Pointer 0" start="38" end="95" type="offset" />
947    <field name="Software Exception Enable" start="103" end="103" type="bool" />
948    <field name="Mask Stack Exception Enable" start="107" end="107" type="bool" />
949    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
950    <field name="Rounding Mode" start="110" end="111" type="uint">
951      <value name="RTNE" value="0" />
952      <value name="RU" value="1" />
953      <value name="RD" value="2" />
954      <value name="RTZ" value="3" />
955    </field>
956    <field name="Floating Point Mode" start="112" end="112" type="uint">
957      <value name="IEEE-754" value="0" />
958      <value name="Alternate" value="1" />
959    </field>
960    <field name="Thread Dispatch Priority" start="113" end="113" type="uint">
961      <value name="High" value="1" />
962    </field>
963    <field name="Binding Table Entry Count" start="114" end="121" type="uint" />
964    <field name="Single Precision Denormal Mode" start="122" end="122" type="uint">
965      <value name="Flushed to Zero" value="0" />
966      <value name="Retained" value="1" />
967    </field>
968    <field name="Sampler Count" start="123" end="125" type="uint">
969      <value name="No Samplers" value="0" />
970      <value name="1-4 Samplers" value="1" />
971      <value name="5-8 Samplers" value="2" />
972      <value name="9-12 Samplers" value="3" />
973      <value name="13-16 Samplers" value="4" />
974    </field>
975    <field name="Vector Mask Enable" start="126" end="126" type="bool" />
976    <field name="Single Program Flow" start="127" end="127" type="bool" />
977    <field name="Per Thread Scratch Space" start="128" end="131" type="uint" />
978    <field name="Scratch Space Base Pointer" start="138" end="191" type="address" />
979    <field name="8 Pixel Dispatch Enable" start="192" end="192" type="bool" />
980    <field name="16 Pixel Dispatch Enable" start="193" end="193" type="bool" />
981    <field name="32 Pixel Dispatch Enable" start="194" end="194" type="bool" />
982    <field name="Position XY Offset Select" start="195" end="196" type="uint">
983      <value name="POSOFFSET_NONE" value="0" />
984      <value name="POSOFFSET_CENTROID" value="2" />
985      <value name="POSOFFSET_SAMPLE" value="3" />
986    </field>
987    <field name="Render Target Resolve Enable" start="198" end="198" type="bool" />
988    <field name="Render Target Fast Clear Enable" start="200" end="200" type="bool" />
989    <field name="Push Constant Enable" start="203" end="203" type="bool" />
990    <field name="Maximum Number of Threads Per PSD" start="215" end="223" type="uint" />
991    <field name="Dispatch GRF Start Register For Constant/Setup Data 2" start="224" end="230" type="uint" />
992    <field name="Dispatch GRF Start Register For Constant/Setup Data 1" start="232" end="238" type="uint" />
993    <field name="Dispatch GRF Start Register For Constant/Setup Data 0" start="240" end="246" type="uint" />
994    <field name="Kernel Start Pointer 1" start="262" end="319" type="offset" />
995    <field name="Kernel Start Pointer 2" start="326" end="383" type="offset" />
996  </instruction>
997  <instruction name="3DSTATE_PS_BLEND" bias="2" length="2" engine="render">
998    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
999    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="77" />
1000    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1001    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1002    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1003    <field name="Independent Alpha Blend Enable" start="39" end="39" type="bool" />
1004    <field name="Alpha Test Enable" start="40" end="40" type="bool" />
1005    <field name="Destination Blend Factor" start="41" end="45" type="uint" />
1006    <field name="Source Blend Factor" start="46" end="50" type="uint" />
1007    <field name="Destination Alpha Blend Factor" start="51" end="55" type="uint" />
1008    <field name="Source Alpha Blend Factor" start="56" end="60" type="uint" />
1009    <field name="Color Buffer Blend Enable" start="61" end="61" type="bool" />
1010    <field name="Has Writeable RT" start="62" end="62" type="bool" />
1011    <field name="Alpha To Coverage Enable" start="63" end="63" type="bool" />
1012  </instruction>
1013  <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
1014    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1015    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="79" />
1016    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1017    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1018    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1019    <field name="Pixel Shader Uses Input Coverage Mask" start="33" end="33" type="bool" />
1020    <field name="Pixel Shader Has UAV" start="34" end="34" type="bool" />
1021    <field name="Pixel Shader Is Per Sample" start="38" end="38" type="bool" />
1022    <field name="Pixel Shader Disables Alpha To Coverage" start="39" end="39" type="bool" />
1023    <field name="Attribute Enable" start="40" end="40" type="bool" />
1024    <field name="Pixel Shader Uses Source W" start="55" end="55" type="bool" />
1025    <field name="Pixel Shader Uses Source Depth" start="56" end="56" type="bool" />
1026    <field name="Force Computed Depth" start="57" end="57" type="bool" />
1027    <field name="Pixel Shader Computed Depth Mode" start="58" end="59" type="uint">
1028      <value name="PSCDEPTH_OFF" value="0" />
1029      <value name="PSCDEPTH_ON" value="1" />
1030      <value name="PSCDEPTH_ON_GE" value="2" />
1031      <value name="PSCDEPTH_ON_LE" value="3" />
1032    </field>
1033    <field name="Pixel Shader Kills Pixel" start="60" end="60" type="bool" />
1034    <field name="oMask Present to Render Target" start="61" end="61" type="bool" />
1035    <field name="Pixel Shader Does not write to RT" start="62" end="62" type="mbz" />
1036    <field name="Pixel Shader Valid" start="63" end="63" type="bool" />
1037  </instruction>
1038  <instruction name="3DSTATE_RASTER" bias="2" length="5" engine="render">
1039    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
1040    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="80" />
1041    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1042    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1043    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1044    <field name="Viewport Z Clip Test Enable" start="32" end="32" type="bool" />
1045    <field name="Scissor Rectangle Enable" start="33" end="33" type="bool" />
1046    <field name="Antialiasing Enable" start="34" end="34" type="bool" />
1047    <field name="Back Face Fill Mode" start="35" end="36" type="uint" prefix="FILL_MODE">
1048      <value name="SOLID" value="0" />
1049      <value name="WIREFRAME" value="1" />
1050      <value name="POINT" value="2" />
1051    </field>
1052    <field name="Front Face Fill Mode" start="37" end="38" type="uint" prefix="FILL_MODE">
1053      <value name="SOLID" value="0" />
1054      <value name="WIREFRAME" value="1" />
1055      <value name="POINT" value="2" />
1056    </field>
1057    <field name="Global Depth Offset Enable Point" start="39" end="39" type="bool" />
1058    <field name="Global Depth Offset Enable Wireframe" start="40" end="40" type="bool" />
1059    <field name="Global Depth Offset Enable Solid" start="41" end="41" type="bool" />
1060    <field name="DX Multisample Rasterization Mode" start="42" end="43" type="uint">
1061      <value name="MSRASTMODE_ OFF_PIXEL" value="0" />
1062      <value name="MSRASTMODE_ OFF_PATTERN" value="1" />
1063      <value name="MSRASTMODE_ ON_PIXEL" value="2" />
1064      <value name="MSRASTMODE_ ON_PATTERN" value="3" />
1065    </field>
1066    <field name="DX Multisample Rasterization Enable" start="44" end="44" type="bool" />
1067    <field name="Smooth Point Enable" start="45" end="45" type="bool" />
1068    <field name="Force Multisampling" start="46" end="46" type="uint" />
1069    <field name="Cull Mode" start="48" end="49" type="uint" prefix="CULLMODE">
1070      <value name="BOTH" value="0" />
1071      <value name="NONE" value="1" />
1072      <value name="FRONT" value="2" />
1073      <value name="BACK" value="3" />
1074    </field>
1075    <field name="Forced Sample Count" start="50" end="52" type="uint" prefix="FSC">
1076      <value name="NUMRASTSAMPLES_0" value="0" />
1077      <value name="NUMRASTSAMPLES_1" value="1" />
1078      <value name="NUMRASTSAMPLES_2" value="2" />
1079      <value name="NUMRASTSAMPLES_4" value="3" />
1080      <value name="NUMRASTSAMPLES_8" value="4" />
1081      <value name="NUMRASTSAMPLES_16" value="5" />
1082    </field>
1083    <field name="Front Winding" start="53" end="53" type="uint">
1084      <value name="Clockwise" value="0" />
1085      <value name="Counter Clockwise" value="1" />
1086    </field>
1087    <field name="API Mode" start="54" end="55" type="uint">
1088      <value name="DX9/OGL" value="0" />
1089      <value name="DX10.0" value="1" />
1090      <value name="DX10.1+" value="2" />
1091    </field>
1092    <field name="Global Depth Offset Constant" start="64" end="95" type="float" />
1093    <field name="Global Depth Offset Scale" start="96" end="127" type="float" />
1094    <field name="Global Depth Offset Clamp" start="128" end="159" type="float" />
1095  </instruction>
1096  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2" engine="render">
1097    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1098    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="24" />
1099    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1100    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1101    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1102    <field name="Sample Mask" start="32" end="47" type="uint" />
1103  </instruction>
1104  <instruction name="3DSTATE_SAMPLE_PATTERN" bias="2" length="9" engine="render">
1105    <field name="DWord Length" start="0" end="7" type="uint" default="7" />
1106    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="28" />
1107    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
1108    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1109    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1110    <field name="8x Sample4 Y Offset" start="160" end="163" type="u0.4" />
1111    <field name="8x Sample4 X Offset" start="164" end="167" type="u0.4" />
1112    <field name="8x Sample5 Y Offset" start="168" end="171" type="u0.4" />
1113    <field name="8x Sample5 X Offset" start="172" end="175" type="u0.4" />
1114    <field name="8x Sample6 Y Offset" start="176" end="179" type="u0.4" />
1115    <field name="8x Sample6 X Offset" start="180" end="183" type="u0.4" />
1116    <field name="8x Sample7 Y Offset" start="184" end="187" type="u0.4" />
1117    <field name="8x Sample7 X Offset" start="188" end="191" type="u0.4" />
1118    <field name="8x Sample0 Y Offset" start="192" end="195" type="u0.4" />
1119    <field name="8x Sample0 X Offset" start="196" end="199" type="u0.4" />
1120    <field name="8x Sample1 Y Offset" start="200" end="203" type="u0.4" />
1121    <field name="8x Sample1 X Offset" start="204" end="207" type="u0.4" />
1122    <field name="8x Sample2 Y Offset" start="208" end="211" type="u0.4" />
1123    <field name="8x Sample2 X Offset" start="212" end="215" type="u0.4" />
1124    <field name="8x Sample3 Y Offset" start="216" end="219" type="u0.4" />
1125    <field name="8x Sample3 X Offset" start="220" end="223" type="u0.4" />
1126    <field name="4x Sample0 Y Offset" start="224" end="227" type="u0.4" />
1127    <field name="4x Sample0 X Offset" start="228" end="231" type="u0.4" />
1128    <field name="4x Sample1 Y Offset" start="232" end="235" type="u0.4" />
1129    <field name="4x Sample1 X Offset" start="236" end="239" type="u0.4" />
1130    <field name="4x Sample2 Y Offset" start="240" end="243" type="u0.4" />
1131    <field name="4x Sample2 X Offset" start="244" end="247" type="u0.4" />
1132    <field name="4x Sample3 Y Offset" start="248" end="251" type="u0.4" />
1133    <field name="4x Sample3 X Offset" start="252" end="255" type="u0.4" />
1134    <field name="2x Sample0 Y Offset" start="256" end="259" type="u0.4" />
1135    <field name="2x Sample0 X Offset" start="260" end="263" type="u0.4" />
1136    <field name="2x Sample1 Y Offset" start="264" end="267" type="u0.4" />
1137    <field name="2x Sample1 X Offset" start="268" end="271" type="u0.4" />
1138    <field name="1x Sample0 Y Offset" start="272" end="275" type="u0.4" />
1139    <field name="1x Sample0 X Offset" start="276" end="279" type="u0.4" />
1140  </instruction>
1141  <instruction name="3DSTATE_SBE" bias="2" length="4" engine="render">
1142    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
1143    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="31" />
1144    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1145    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1146    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1147    <field name="Primitive ID Override Attribute Select" start="32" end="36" type="uint" />
1148    <field name="Vertex URB Entry Read Offset" start="37" end="42" type="uint" />
1149    <field name="Vertex URB Entry Read Length" start="43" end="47" type="uint" />
1150    <field name="Primitive ID Override Component X" start="48" end="48" type="bool" />
1151    <field name="Primitive ID Override Component Y" start="49" end="49" type="bool" />
1152    <field name="Primitive ID Override Component Z" start="50" end="50" type="bool" />
1153    <field name="Primitive ID Override Component W" start="51" end="51" type="bool" />
1154    <field name="Point Sprite Texture Coordinate Origin" start="52" end="52" type="uint">
1155      <value name="UPPERLEFT" value="0" />
1156      <value name="LOWERLEFT" value="1" />
1157    </field>
1158    <field name="Attribute Swizzle Enable" start="53" end="53" type="bool" />
1159    <field name="Number of SF Output Attributes" start="54" end="59" type="uint" />
1160    <field name="Force Vertex URB Entry Read Offset" start="60" end="60" type="bool" />
1161    <field name="Force Vertex URB Entry Read Length" start="61" end="61" type="bool" />
1162    <field name="Point Sprite Texture Coordinate Enable" start="64" end="95" type="uint" />
1163    <field name="Constant Interpolation Enable" start="96" end="127" type="uint" />
1164  </instruction>
1165  <instruction name="3DSTATE_SBE_SWIZ" bias="2" length="11" engine="render">
1166    <field name="DWord Length" start="0" end="7" type="uint" default="9" />
1167    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="81" />
1168    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1169    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1170    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1171    <group count="16" start="32" size="16">
1172      <field name="Attribute" start="0" end="15" type="SF_OUTPUT_ATTRIBUTE_DETAIL" />
1173    </group>
1174    <group count="16" start="288" size="4">
1175      <field name="Attribute Wrap Shortest Enables" start="0" end="3" type="uint" />
1176    </group>
1177  </instruction>
1178  <instruction name="3DSTATE_SF" bias="2" length="4" engine="render">
1179    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
1180    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="19" />
1181    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1182    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1183    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1184    <field name="Viewport Transform Enable" start="33" end="33" type="bool" />
1185    <field name="Statistics Enable" start="42" end="42" type="bool" />
1186    <field name="Legacy Global Depth Bias Enable" start="43" end="43" type="bool" />
1187    <field name="CHV Line Width" start="44" end="61" type="u11.7" />
1188    <field name="Line End Cap Antialiasing Region Width" start="80" end="81" type="uint">
1189      <value name="0.5 pixels" value="0" />
1190      <value name="1.0 pixels" value="1" />
1191      <value name="2.0 pixels" value="2" />
1192      <value name="4.0 pixels" value="3" />
1193    </field>
1194    <field name="Line Width" start="82" end="91" type="u3.7" />
1195    <field name="Point Width" start="96" end="106" type="u8.3" />
1196    <field name="Point Width Source" start="107" end="107" type="uint">
1197      <value name="Vertex" value="0" />
1198      <value name="State" value="1" />
1199    </field>
1200    <field name="Vertex Sub Pixel Precision Select" start="108" end="108" type="uint">
1201      <value name="8 Bit" value="0" />
1202      <value name="4 Bit" value="1" />
1203    </field>
1204    <field name="Smooth Point Enable" start="109" end="109" type="bool" />
1205    <field name="AA Line Distance Mode" start="110" end="110" type="uint">
1206      <value name="AALINEDISTANCE_TRUE" value="1" />
1207    </field>
1208    <field name="Triangle Fan Provoking Vertex Select" start="121" end="122" type="uint" />
1209    <field name="Line Strip/List Provoking Vertex Select" start="123" end="124" type="uint" />
1210    <field name="Triangle Strip/List Provoking Vertex Select" start="125" end="126" type="uint" />
1211    <field name="Last Pixel Enable" start="127" end="127" type="bool" />
1212  </instruction>
1213  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="8" engine="render">
1214    <field name="DWord Length" start="0" end="7" type="uint" default="6" />
1215    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="24" />
1216    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
1217    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1218    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1219    <field name="Stream Output Buffer Offset Address Enable" start="52" end="52" type="bool" />
1220    <field name="Stream Offset Write Enable" start="53" end="53" type="bool" />
1221    <field name="MOCS" start="54" end="60" type="uint" nonzero="true" />
1222    <field name="SO Buffer Index" start="61" end="62" type="uint" />
1223    <field name="SO Buffer Enable" start="63" end="63" type="bool" />
1224    <field name="Surface Base Address" start="66" end="111" type="address" />
1225    <field name="Surface Size" start="128" end="157" type="uint" />
1226    <field name="Stream Output Buffer Offset Address" start="162" end="207" type="address" />
1227    <field name="Stream Offset" start="224" end="255" type="uint" />
1228  </instruction>
1229  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="5" engine="render">
1230    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
1231    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6" />
1232    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1233    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1234    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1235    <field name="Surface Pitch" start="32" end="48" type="uint" />
1236    <field name="MOCS" start="54" end="60" type="uint" nonzero="true" />
1237    <field name="Stencil Buffer Enable" start="63" end="63" type="bool" />
1238    <field name="Surface Base Address" start="64" end="127" type="address" />
1239    <field name="Surface QPitch" start="128" end="142" type="uint" />
1240  </instruction>
1241  <instruction name="3DSTATE_STREAMOUT" bias="2" length="5" engine="render">
1242    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
1243    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="30" />
1244    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1245    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1246    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1247    <field name="Force Rendering" start="55" end="56" type="uint">
1248      <value name="Resreved" value="1" />
1249      <value name="Force_Off" value="2" />
1250      <value name="Force_on" value="3" />
1251    </field>
1252    <field name="SO Statistics Enable" start="57" end="57" type="bool" />
1253    <field name="Reorder Mode" start="58" end="58" type="uint">
1254      <value name="LEADING" value="0" />
1255      <value name="TRAILING" value="1" />
1256    </field>
1257    <field name="Render Stream Select" start="59" end="60" type="uint" />
1258    <field name="Rendering Disable" start="62" end="62" type="bool" />
1259    <field name="SO Function Enable" start="63" end="63" type="bool" />
1260    <field name="Stream 0 Vertex Read Length" start="64" end="68" type="uint" />
1261    <field name="Stream 0 Vertex Read Offset" start="69" end="69" type="uint" />
1262    <field name="Stream 1 Vertex Read Length" start="72" end="76" type="uint" />
1263    <field name="Stream 1 Vertex Read Offset" start="77" end="77" type="uint" />
1264    <field name="Stream 2 Vertex Read Length" start="80" end="84" type="uint" />
1265    <field name="Stream 2 Vertex Read Offset" start="85" end="85" type="uint" />
1266    <field name="Stream 3 Vertex Read Length" start="88" end="92" type="uint" />
1267    <field name="Stream 3 Vertex Read Offset" start="93" end="93" type="uint" />
1268    <field name="Buffer 0 Surface Pitch" start="96" end="107" type="uint" />
1269    <field name="Buffer 1 Surface Pitch" start="112" end="123" type="uint" />
1270    <field name="Buffer 2 Surface Pitch" start="128" end="139" type="uint" />
1271    <field name="Buffer 3 Surface Pitch" start="144" end="155" type="uint" />
1272  </instruction>
1273  <instruction name="3DSTATE_URB_DS" bias="2" length="2" engine="render">
1274    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1275    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="50" />
1276    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1277    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1278    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1279    <field name="DS Number of URB Entries" start="32" end="47" type="uint" />
1280    <field name="DS URB Entry Allocation Size" start="48" end="56" type="uint" />
1281    <field name="DS URB Starting Address" start="57" end="63" type="uint" />
1282  </instruction>
1283  <instruction name="3DSTATE_URB_GS" bias="2" length="2" engine="render">
1284    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1285    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="51" />
1286    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1287    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1288    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1289    <field name="GS Number of URB Entries" start="32" end="47" type="uint" />
1290    <field name="GS URB Entry Allocation Size" start="48" end="56" type="uint" />
1291    <field name="GS URB Starting Address" start="57" end="63" type="uint" />
1292  </instruction>
1293  <instruction name="3DSTATE_URB_HS" bias="2" length="2" engine="render">
1294    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1295    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="49" />
1296    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1297    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1298    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1299    <field name="HS Number of URB Entries" start="32" end="47" type="uint" />
1300    <field name="HS URB Entry Allocation Size" start="48" end="56" type="uint" />
1301    <field name="HS URB Starting Address" start="57" end="63" type="uint" />
1302  </instruction>
1303  <instruction name="3DSTATE_URB_VS" bias="2" length="2" engine="render">
1304    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1305    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="48" />
1306    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1307    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1308    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1309    <field name="VS Number of URB Entries" start="32" end="47" type="uint" />
1310    <field name="VS URB Entry Allocation Size" start="48" end="56" type="uint" />
1311    <field name="VS URB Starting Address" start="57" end="63" type="uint" />
1312  </instruction>
1313  <instruction name="3DSTATE_VF_INSTANCING" bias="2" length="3" engine="render">
1314    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
1315    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="73" />
1316    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1317    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1318    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1319    <field name="Vertex Element Index" start="32" end="37" type="uint" />
1320    <field name="Instancing Enable" start="40" end="40" type="bool" />
1321    <field name="Instance Data Step Rate" start="64" end="95" type="uint" />
1322  </instruction>
1323  <instruction name="3DSTATE_VF_SGVS" bias="2" length="2" engine="render">
1324    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1325    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="74" />
1326    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1327    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1328    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1329    <field name="VertexID Element Offset" start="32" end="37" type="uint" />
1330    <field name="VertexID Component Number" start="45" end="46" type="uint">
1331      <value name="COMP_0" value="0" />
1332      <value name="COMP_1" value="1" />
1333      <value name="COMP_2" value="2" />
1334      <value name="COMP_3" value="3" />
1335    </field>
1336    <field name="VertexID Enable" start="47" end="47" type="bool" />
1337    <field name="InstanceID Element Offset" start="48" end="53" type="uint" />
1338    <field name="InstanceID Component Number" start="61" end="62" type="uint">
1339      <value name="COMP_0" value="0" />
1340      <value name="COMP_1" value="1" />
1341      <value name="COMP_2" value="2" />
1342      <value name="COMP_3" value="3" />
1343    </field>
1344    <field name="InstanceID Enable" start="63" end="63" type="bool" />
1345  </instruction>
1346  <instruction name="3DSTATE_VF_TOPOLOGY" bias="2" length="2" engine="render">
1347    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1348    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="75" />
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="Primitive Topology Type" start="32" end="37" type="3D_Prim_Topo_Type" />
1353  </instruction>
1354  <instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
1355    <field name="DWord Length" start="0" end="7" type="uint" default="7" />
1356    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="16" />
1357    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1358    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1359    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1360    <field name="Kernel Start Pointer" start="38" end="95" type="offset" />
1361    <field name="Software Exception Enable" start="103" end="103" type="bool" />
1362    <field name="Accesses UAV" start="108" end="108" type="bool" />
1363    <field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
1364    <field name="Floating Point Mode" start="112" end="112" type="uint">
1365      <value name="IEEE-754" value="0" />
1366      <value name="Alternate" value="1" />
1367    </field>
1368    <field name="Thread Dispatch Priority" start="113" end="113" type="uint">
1369      <value name="High" value="1" />
1370    </field>
1371    <field name="Binding Table Entry Count" start="114" end="121" type="uint" />
1372    <field name="Sampler Count" start="123" end="125" type="uint">
1373      <value name="No Samplers" value="0" />
1374      <value name="1-4 Samplers" value="1" />
1375      <value name="5-8 Samplers" value="2" />
1376      <value name="9-12 Samplers" value="3" />
1377      <value name="13-16 Samplers" value="4" />
1378    </field>
1379    <field name="Vector Mask Enable" start="126" end="126" type="bool" />
1380    <field name="Single Vertex Dispatch" start="127" end="127" type="bool" />
1381    <field name="Per-Thread Scratch Space" start="128" end="131" type="uint" />
1382    <field name="Scratch Space Base Pointer" start="138" end="191" type="address" />
1383    <field name="Vertex URB Entry Read Offset" start="196" end="201" type="uint" />
1384    <field name="Vertex URB Entry Read Length" start="203" end="208" type="uint" />
1385    <field name="Dispatch GRF Start Register For URB Data" start="212" end="216" type="uint" />
1386    <field name="Enable" start="224" end="224" type="bool" />
1387    <field name="Vertex Cache Disable" start="225" end="225" type="bool" />
1388    <field name="SIMD8 Dispatch Enable" start="226" end="226" type="bool" />
1389    <field name="Statistics Enable" start="234" end="234" type="bool" />
1390    <field name="Maximum Number of Threads" start="247" end="255" type="uint" />
1391    <field name="User Clip Distance Cull Test Enable Bitmask" start="256" end="263" type="uint" />
1392    <field name="User Clip Distance Clip Test Enable Bitmask" start="264" end="271" type="uint" />
1393    <field name="Vertex URB Entry Output Length" start="272" end="276" type="uint" />
1394    <field name="Vertex URB Entry Output Read Offset" start="277" end="282" type="uint" />
1395  </instruction>
1396  <instruction name="3DSTATE_WM" bias="2" length="2" engine="render">
1397    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1398    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="20" />
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="Force Kill Pixel Enable" start="32" end="33" type="uint">
1403      <value name="ForceOff" value="1" />
1404      <value name="ForceON" value="2" />
1405    </field>
1406    <field name="Point Rasterization Rule" start="34" end="34" type="uint">
1407      <value name="RASTRULE_UPPER_LEFT" value="0" />
1408      <value name="RASTRULE_UPPER_RIGHT" value="1" />
1409    </field>
1410    <field name="Line Stipple Enable" start="35" end="35" type="bool" />
1411    <field name="Polygon Stipple Enable" start="36" end="36" type="bool" />
1412    <field name="Line Antialiasing Region Width" start="38" end="39" type="uint">
1413      <value name="0.5 pixels" value="0" />
1414      <value name="1.0 pixels" value="1" />
1415      <value name="2.0 pixels" value="2" />
1416      <value name="4.0 pixels" value="3" />
1417    </field>
1418    <field name="Line End Cap Antialiasing Region Width" start="40" end="41" type="uint">
1419      <value name="0.5 pixels" value="0" />
1420      <value name="1.0 pixels" value="1" />
1421      <value name="2.0 pixels" value="2" />
1422      <value name="4.0 pixels" value="3" />
1423    </field>
1424    <field name="Barycentric Interpolation Mode" start="43" end="48" type="uint">
1425      <value name="BIM_PERSPECTIVE_PIXEL" value="1" />
1426      <value name="BIM_PERSPECTIVE_CENTROID" value="2" />
1427      <value name="BIM_PERSPECTIVE_SAMPLE" value="4" />
1428      <value name="BIM_LINEAR_PIXEL" value="8" />
1429      <value name="BIM_LINEAR_CENTROID" value="16" />
1430      <value name="BIM_LINEAR_SAMPLE" value="32" />
1431    </field>
1432    <field name="Position ZW Interpolation Mode" start="49" end="50" type="uint">
1433      <value name="INTERP_PIXEL" value="0" />
1434      <value name="INTERP_CENTROID" value="2" />
1435      <value name="INTERP_SAMPLE" value="3" />
1436    </field>
1437    <field name="Force Thread Dispatch Enable" start="51" end="52" type="uint">
1438      <value name="ForceOff" value="1" />
1439      <value name="ForceON" value="2" />
1440    </field>
1441    <field name="Early Depth/Stencil Control" start="53" end="54" type="uint">
1442      <value name="EDSC_NORMAL" value="0" />
1443      <value name="EDSC_PSEXEC" value="1" />
1444      <value name="EDSC_PREPS" value="2" />
1445    </field>
1446    <field name="Legacy Diamond Line Rasterization" start="58" end="58" type="bool" />
1447    <field name="Legacy Hierarchical Depth Buffer Resolve Enable" start="59" end="59" type="bool" />
1448    <field name="Legacy Depth Buffer Resolve Enable" start="60" end="60" type="bool" />
1449    <field name="Legacy Depth Buffer Clear Enable" start="62" end="62" type="bool" />
1450    <field name="Statistics Enable" start="63" end="63" type="bool" />
1451  </instruction>
1452  <instruction name="3DSTATE_WM_CHROMAKEY" bias="2" length="2" engine="render">
1453    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
1454    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="76" />
1455    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1456    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1457    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1458    <field name="ChromaKey Kill Enable" start="63" end="63" type="bool" />
1459  </instruction>
1460  <instruction name="3DSTATE_WM_DEPTH_STENCIL" bias="2" length="3" engine="render">
1461    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
1462    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="78" />
1463    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1464    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1465    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1466    <field name="Depth Buffer Write Enable" start="32" end="32" type="bool" />
1467    <field name="Depth Test Enable" start="33" end="33" type="bool" />
1468    <field name="Stencil Buffer Write Enable" start="34" end="34" type="bool" />
1469    <field name="Stencil Test Enable" start="35" end="35" type="bool" />
1470    <field name="Double Sided Stencil Enable" start="36" end="36" type="bool" />
1471    <field name="Depth Test Function" start="37" end="39" type="3D_Compare_Function" />
1472    <field name="Stencil Test Function" start="40" end="42" type="3D_Compare_Function" />
1473    <field name="Backface Stencil Pass Depth Pass Op" start="43" end="45" type="3D_Stencil_Operation" />
1474    <field name="Backface Stencil Pass Depth Fail Op" start="46" end="48" type="3D_Stencil_Operation" />
1475    <field name="Backface Stencil Fail Op" start="49" end="51" type="3D_Stencil_Operation" />
1476    <field name="Backface Stencil Test Function" start="52" end="54" type="3D_Compare_Function" />
1477    <field name="Stencil Pass Depth Pass Op" start="55" end="57" type="3D_Stencil_Operation" />
1478    <field name="Stencil Pass Depth Fail Op" start="58" end="60" type="3D_Stencil_Operation" />
1479    <field name="Stencil Fail Op" start="61" end="63" type="3D_Stencil_Operation" />
1480    <field name="Backface Stencil Write Mask" start="64" end="71" type="uint" />
1481    <field name="Backface Stencil Test Mask" start="72" end="79" type="uint" />
1482    <field name="Stencil Write Mask" start="80" end="87" type="uint" />
1483    <field name="Stencil Test Mask" start="88" end="95" type="uint" />
1484  </instruction>
1485  <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="5" engine="render">
1486    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
1487    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="82" />
1488    <field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
1489    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
1490    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1491    <field name="Number of Multisamples" start="45" end="47" type="uint" />
1492    <field name="Stencil Clear Value" start="48" end="55" type="uint" />
1493    <field name="Full Surface Depth and Stencil Clear" start="57" end="57" type="bool" />
1494    <field name="Pixel Position Offset Enable" start="58" end="58" type="bool" />
1495    <field name="Hierarchical Depth Buffer Resolve Enable" start="59" end="59" type="bool" />
1496    <field name="Depth Buffer Resolve Enable" start="60" end="60" type="bool" />
1497    <field name="Scissor Rectangle Enable" start="61" end="61" type="bool" />
1498    <field name="Depth Buffer Clear Enable" start="62" end="62" type="bool" />
1499    <field name="Stencil Buffer Clear Enable" start="63" end="63" type="bool" />
1500    <field name="Clear Rectangle X Min" start="64" end="79" type="uint" />
1501    <field name="Clear Rectangle Y Min" start="80" end="95" type="uint" />
1502    <field name="Clear Rectangle X Max" start="96" end="111" type="uint" />
1503    <field name="Clear Rectangle Y Max" start="112" end="127" type="uint" />
1504    <field name="Sample Mask" start="128" end="143" type="uint" />
1505  </instruction>
1506  <instruction name="GPGPU_CSR_BASE_ADDRESS" bias="2" length="3" engine="render">
1507    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
1508    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="4" />
1509    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
1510    <field name="Command SubType" start="27" end="28" type="uint" default="0" />
1511    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1512    <field name="GPGPU CSR Base Address" start="44" end="95" type="address" />
1513  </instruction>
1514  <instruction name="GPGPU_WALKER" bias="2" length="15" engine="render">
1515    <field name="DWord Length" start="0" end="7" type="uint" default="13" />
1516    <field name="Predicate Enable" start="8" end="8" type="bool" />
1517    <field name="Indirect Parameter Enable" start="10" end="10" type="bool" />
1518    <field name="SubOpcode" start="16" end="23" type="uint" default="5" />
1519    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1" />
1520    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
1521    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1522    <field name="Interface Descriptor Offset" start="32" end="37" type="uint" />
1523    <field name="Indirect Data Length" start="64" end="80" type="uint" />
1524    <field name="Indirect Data Start Address" start="102" end="127" type="offset" />
1525    <field name="Thread Width Counter Maximum" start="128" end="133" type="uint" />
1526    <field name="Thread Height Counter Maximum" start="136" end="141" type="uint" />
1527    <field name="Thread Depth Counter Maximum" start="144" end="149" type="uint" />
1528    <field name="SIMD Size" start="158" end="159" type="uint">
1529      <value name="SIMD8" value="0" />
1530      <value name="SIMD16" value="1" />
1531      <value name="SIMD32" value="2" />
1532    </field>
1533    <field name="Thread Group ID Starting X" start="160" end="191" type="uint" />
1534    <field name="Thread Group ID X Dimension" start="224" end="255" type="uint" />
1535    <field name="Thread Group ID Starting Y" start="256" end="287" type="uint" />
1536    <field name="Thread Group ID Y Dimension" start="320" end="351" type="uint" />
1537    <field name="Thread Group ID Starting/Resume Z" start="352" end="383" type="uint" />
1538    <field name="Thread Group ID Z Dimension" start="384" end="415" type="uint" />
1539    <field name="Right Execution Mask" start="416" end="447" type="uint" />
1540    <field name="Bottom Execution Mask" start="448" end="479" type="uint" />
1541  </instruction>
1542  <instruction name="MEDIA_OBJECT" bias="2" engine="render">
1543    <field name="DWord Length" start="0" end="15" type="uint" default="4" />
1544    <field name="Media Command Sub-Opcode" start="16" end="23" type="uint" default="0" />
1545    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1" />
1546    <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2" />
1547    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1548    <field name="Interface Descriptor Offset" start="32" end="37" type="uint" />
1549    <field name="Indirect Data Length" start="64" end="80" type="uint" />
1550    <field name="SubSlice Destination Select" start="81" end="82" type="uint">
1551      <value name="SubSlice 2" value="2" />
1552      <value name="SubSlice 1" value="1" />
1553      <value name="SubSlice 0" value="0" />
1554    </field>
1555    <field name="Slice Destination Select" start="83" end="84" type="uint">
1556      <value name="Slice 0" value="0" />
1557      <value name="Slice 1" value="1" />
1558      <value name="Slice 2" value="2" />
1559    </field>
1560    <field name="Use Scoreboard" start="85" end="85" type="uint">
1561      <value name="Not using scoreboard" value="0" />
1562      <value name="Using scoreboard" value="1" />
1563    </field>
1564    <field name="Force Destination" start="86" end="86" type="uint" />
1565    <field name="Thread Synchronization" start="88" end="88" type="uint">
1566      <value name="No thread synchronization" value="0" />
1567      <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
1568    </field>
1569    <field name="Children Present" start="95" end="95" type="bool" />
1570    <field name="Indirect Data Start Address" start="96" end="127" type="address" />
1571    <field name="Scoreboard X" start="128" end="136" type="uint" />
1572    <field name="Scoredboard Y" start="144" end="152" type="uint" />
1573    <field name="Scoreboard Mask" start="160" end="167" type="uint" />
1574    <field name="Scoreboard Color" start="176" end="179" type="uint" />
1575    <group count="0" start="192" size="32">
1576      <field name="Inline Data" start="0" end="31" type="uint" />
1577    </group>
1578  </instruction>
1579  <instruction name="MEDIA_OBJECT_GRPID" bias="2" engine="render">
1580    <field name="DWord Length" start="0" end="15" type="uint" default="5" />
1581    <field name="Media Command Sub-Opcode" start="16" end="23" type="uint" default="6" />
1582    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1" />
1583    <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2" />
1584    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1585    <field name="Interface Descriptor Offset" start="32" end="37" type="uint" />
1586    <field name="Indirect Data Length" start="64" end="80" type="uint" />
1587    <field name="SubSlice Destination Select" start="81" end="82" type="uint">
1588      <value name="SubSlice 2" value="2" />
1589      <value name="SubSlice 1" value="1" />
1590      <value name="SubSlice 0" value="0" />
1591    </field>
1592    <field name="Slice Destination Select" start="83" end="84" type="uint">
1593      <value name="Slice 0" value="0" />
1594      <value name="Slice 1" value="1" />
1595      <value name="Slice 2" value="2" />
1596    </field>
1597    <field name="Use Scoreboard" start="85" end="85" type="uint">
1598      <value name="Not using scoreboard" value="0" />
1599      <value name="Using scoreboard" value="1" />
1600    </field>
1601    <field name="Force Destination" start="86" end="86" type="uint" />
1602    <field name="End of Thread Group" start="87" end="87" type="uint" />
1603    <field name="Indirect Data Start Address" start="96" end="127" type="address" />
1604    <field name="Scoreboard X" start="128" end="136" type="uint" />
1605    <field name="Scoreboard Y" start="144" end="152" type="uint" />
1606    <field name="Scoreboard Mask" start="160" end="167" type="uint" />
1607    <field name="Scoreboard Color" start="176" end="179" type="uint" />
1608    <field name="GroupID" start="192" end="223" type="uint" />
1609    <group count="0" start="224" size="32">
1610      <field name="Inline Data" start="0" end="31" type="uint" />
1611    </group>
1612  </instruction>
1613  <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
1614    <field name="DWord Length" start="0" end="15" type="uint" default="15" />
1615    <field name="SubOpcode" start="16" end="23" type="uint" default="3" />
1616    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1" />
1617    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
1618    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1619    <field name="Interface Descriptor Offset" start="32" end="37" type="uint" />
1620    <field name="Indirect Data Length" start="64" end="80" type="uint" />
1621    <field name="Use Scoreboard" start="85" end="85" type="uint">
1622      <value name="Not using scoreboard" value="0" />
1623      <value name="Using scoreboard" value="1" />
1624    </field>
1625    <field name="Thread Synchronization" start="88" end="88" type="uint">
1626      <value name="No thread synchronization" value="0" />
1627      <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
1628    </field>
1629    <field name="Children Present" start="95" end="95" type="uint" />
1630    <field name="Indirect Data Start Address" start="96" end="127" type="offset" />
1631    <field name="Scoreboard Mask" start="160" end="167" type="uint" />
1632    <field name="Group ID Loop Select" start="168" end="191" type="uint" />
1633    <field name="Mid-Loop Unit X" start="200" end="201" type="int" />
1634    <field name="Local Mid-Loop Unit Y" start="204" end="205" type="int" />
1635    <field name="Middle Loop Extra Steps" start="208" end="212" type="uint" />
1636    <field name="Color Count Minus One" start="216" end="219" type="uint" />
1637    <field name="Local Loop Exec Count" start="224" end="233" type="uint" />
1638    <field name="Global Loop Exec Count" start="240" end="249" type="uint" />
1639    <field name="Block Resolution X" start="256" end="264" type="uint" />
1640    <field name="Block Resolution Y" start="272" end="280" type="uint" />
1641    <field name="Local Start X" start="288" end="296" type="uint" />
1642    <field name="Local Start Y" start="304" end="312" type="uint" />
1643    <field name="Local Outer Loop Stride X" start="352" end="361" type="int" />
1644    <field name="Local Outer Loop Stride Y" start="368" end="377" type="int" />
1645    <field name="Local Inner Loop Unit X" start="384" end="393" type="int" />
1646    <field name="Local Inner Loop Unit Y" start="400" end="409" type="int" />
1647    <field name="Global Resolution X" start="416" end="424" type="uint" />
1648    <field name="Global Resolution Y" start="432" end="440" type="uint" />
1649    <field name="Global Start X" start="448" end="457" type="int" />
1650    <field name="Global Start Y" start="464" end="473" type="int" />
1651    <field name="Global Outer Loop Stride X" start="480" end="489" type="int" />
1652    <field name="Global Outer Loop Stride Y" start="496" end="505" type="int" />
1653    <field name="Global Inner Loop Unit X" start="512" end="521" type="int" />
1654    <field name="Global Inner Loop Unit Y" start="528" end="537" type="int" />
1655    <group count="0" start="544" size="32">
1656      <field name="Inline Data" start="0" end="31" type="uint" />
1657    </group>
1658  </instruction>
1659  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
1660    <field name="DWord Length" start="0" end="15" type="uint" default="0" />
1661    <field name="SubOpcode" start="16" end="23" type="uint" default="4" />
1662    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0" />
1663    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
1664    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1665    <field name="Interface Descriptor Offset" start="32" end="37" type="uint" />
1666    <field name="Watermark Required" start="38" end="38" type="uint" />
1667    <field name="Flush to GO" start="39" end="39" type="bool" />
1668  </instruction>
1669  <instruction name="MEDIA_VFE_STATE" bias="2" length="9" engine="render">
1670    <field name="DWord Length" start="0" end="15" type="uint" default="7" />
1671    <field name="SubOpcode" start="16" end="23" type="uint" default="0" />
1672    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0" />
1673    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
1674    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1675    <field name="Per Thread Scratch Space" start="32" end="35" type="uint" />
1676    <field name="Stack Size" start="36" end="39" type="uint" />
1677    <field name="Scratch Space Base Pointer" start="42" end="79" type="address" />
1678    <field name="Bypass Gateway Control" start="102" end="102" type="uint">
1679      <value name="Maintaining OpenGateway/ForwardMsg/CloseGateway protocol (legacy mode)" value="0" />
1680      <value name="Bypassing OpenGateway/CloseGateway protocol" value="1" />
1681    </field>
1682    <field name="Reset Gateway Timer" start="103" end="103" type="uint">
1683      <value name="Maintaining the existing timestamp state" value="0" />
1684      <value name="Resetting relative timer and latching the global timestamp" value="1" />
1685    </field>
1686    <field name="Number of URB Entries" start="104" end="111" type="uint" />
1687    <field name="Maximum Number of Threads" start="112" end="127" type="uint" />
1688    <field name="Slice Disable" start="128" end="129" type="uint">
1689      <value name="All Subslices Enabled" value="0" />
1690      <value name="Only Slice 0 Enabled" value="1" />
1691      <value name="Only Slice 0 Subslice 0 Enabled" value="3" />
1692    </field>
1693    <field name="CURBE Allocation Size" start="160" end="175" type="uint" />
1694    <field name="URB Entry Allocation Size" start="176" end="191" type="uint" />
1695    <field name="Scoreboard Mask" start="192" end="199" type="uint" />
1696    <field name="Scoreboard Type" start="222" end="222" type="uint">
1697      <value name="Stalling Scoreboard" value="0" />
1698      <value name="Non-Stalling Scoreboard" value="1" />
1699    </field>
1700    <field name="Scoreboard Enable" start="223" end="223" type="bool" />
1701    <field name="Scoreboard 0 Delta X" start="224" end="227" type="int" />
1702    <field name="Scoreboard 0 Delta Y" start="228" end="231" type="int" />
1703    <field name="Scoreboard 1 Delta X" start="232" end="235" type="int" />
1704    <field name="Scoreboard 1 Delta Y" start="236" end="239" type="int" />
1705    <field name="Scoreboard 2 Delta X" start="240" end="243" type="int" />
1706    <field name="Scoreboard 2 Delta Y" start="244" end="247" type="int" />
1707    <field name="Scoreboard 3 Delta X" start="248" end="251" type="int" />
1708    <field name="Scoreboard 3 Delta Y" start="252" end="255" type="int" />
1709    <field name="Scoreboard 4 Delta X" start="256" end="259" type="int" />
1710    <field name="Scoreboard 4 Delta Y" start="260" end="263" type="int" />
1711    <field name="Scoreboard 5 Delta X" start="264" end="267" type="int" />
1712    <field name="Scoreboard 5 Delta Y" start="268" end="271" type="int" />
1713    <field name="Scoreboard 6 Delta X" start="272" end="275" type="int" />
1714    <field name="Scoreboard 6 Delta Y" start="276" end="279" type="int" />
1715    <field name="Scoreboard 7 Delta X" start="280" end="283" type="int" />
1716    <field name="Scoreboard 7 Delta Y" start="284" end="287" type="int" />
1717  </instruction>
1718  <instruction name="MFD_VP8_BSD_OBJECT" bias="2" length="22" engine="video">
1719    <field name="DWord Length" start="0" end="11" type="uint" default="20" />
1720    <field name="SubOpcode B" start="16" end="20" type="uint" default="8" />
1721    <field name="SubOpcode A" start="21" end="23" type="uint" default="1" />
1722    <field name="Media Command OpCode" start="24" end="26" type="uint" default="4" />
1723    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
1724    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1725    <field name="Partition0 First MB Bit Offset from Frame Header" start="32" end="34" type="uint" />
1726    <field name="Coded Num of Coeff Token Partitions" start="36" end="37" type="uint" />
1727    <field name="Partition0 CPBAC Entropy Range" start="40" end="47" type="uint" />
1728    <field name="Partition0 CPBAC Entropy Count" start="48" end="52" type="uint" />
1729    <field name="Partition0 CPBAC Entropy Value" start="88" end="95" type="uint" />
1730    <field name="Indirect Partition0 Data Length" start="96" end="119" type="uint" />
1731    <field name="Indirect Partition0 Data Start Offset" start="128" end="159" type="uint" />
1732    <field name="Indirect Partition1 Data Length" start="160" end="183" type="uint" />
1733    <field name="Indirect Partition1 Data Start Offset" start="192" end="223" type="uint" />
1734    <field name="Indirect Partition2 Data Length" start="224" end="247" type="uint" />
1735    <field name="Indirect Partition2 Data Start Offset" start="256" end="287" type="uint" />
1736    <field name="Indirect Partition3 Data Length" start="288" end="311" type="uint" />
1737    <field name="Indirect Partition3 Data Start Offset" start="320" end="351" type="uint" />
1738    <field name="Indirect Partition4 Data Length" start="352" end="375" type="uint" />
1739    <field name="Indirect Partition4 Data Start Offset" start="384" end="415" type="uint" />
1740    <field name="Indirect Partition5 Data Length" start="416" end="439" type="uint" />
1741    <field name="Indirect Partition5 Data Start Offset" start="448" end="479" type="uint" />
1742    <field name="Indirect Partition6 Data Length" start="480" end="503" type="uint" />
1743    <field name="Indirect Partition6 Data Start Offset" start="512" end="543" type="uint" />
1744    <field name="Indirect Partition7 Data Length" start="544" end="567" type="uint" />
1745    <field name="Indirect Partition7 Data Start Offset" start="576" end="607" type="uint" />
1746    <field name="Indirect Partition8 Data Length" start="608" end="631" type="uint" />
1747    <field name="Indirect Partition8 Data Start Offset" start="640" end="671" type="uint" />
1748    <field name="MB Header Error Handling" start="680" end="680" type="uint" />
1749    <field name="Entropy Error Handling" start="682" end="682" type="uint" />
1750    <field name="MPR Error (MV out of range) Handling" start="684" end="684" type="uint" />
1751    <field name="BSD Premature Complete Error Handling" start="686" end="686" type="uint" />
1752    <field name="Concealment Picture ID" start="688" end="689" type="uint" />
1753    <field name="Concealment Method" start="703" end="703" type="uint">
1754      <value name="Intra 16x16 Prediction" value="0" />
1755      <value name="Inter P Copy" value="1" />
1756    </field>
1757  </instruction>
1758  <instruction name="MFX_AVC_DIRECTMODE_STATE" bias="2" length="71" engine="video">
1759    <field name="DWord Length" start="0" end="11" type="uint" default="69" />
1760    <field name="SubOpcode B" start="16" end="20" type="uint" default="2" />
1761    <field name="SubOpcode A" start="21" end="23" type="uint" default="0" />
1762    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1" />
1763    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
1764    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1765    <group count="16" start="32" size="64">
1766      <field name="Direct MV Buffer - Address" start="0" end="63" type="address" />
1767    </group>
1768    <field name="Direct MV Buffer - Attributes" start="1056" end="1087" type="MEMORYADDRESSATTRIBUTES" />
1769    <field name="Direct MV Buffer (Write) - Address" start="1088" end="1151" type="address" />
1770    <field name="Direct MV Buffer (Write) - Attributes" start="1152" end="1183" type="MEMORYADDRESSATTRIBUTES" />
1771    <group count="34" start="1184" size="32">
1772      <field name="POC List" start="0" end="31" type="uint" />
1773    </group>
1774  </instruction>
1775  <instruction name="MFX_AVC_IMG_STATE" bias="2" length="14" engine="video">
1776    <field name="DWord Length" start="0" end="11" type="uint" default="12" />
1777    <field name="SubOpcode B" start="16" end="20" type="uint" default="0" />
1778    <field name="SubOpcode A" start="21" end="23" type="uint" default="0" />
1779    <field name="Media Command Opcode" start="24" end="26" type="uint" default="1" />
1780    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
1781    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1782    <field name="Frame Size" start="32" end="47" type="uint" />
1783    <field name="Frame Width" start="64" end="71" type="uint" />
1784    <field name="Frame Height" start="80" end="87" type="uint" />
1785    <field name="Image Structure" start="104" end="105" type="uint">
1786      <value name="Frame Picture" value="0" />
1787      <value name="Top Field Picture" value="1" />
1788      <value name="Bottom Field Picture" value="3" />
1789      <value name="Invalid, not allowed." value="2" />
1790    </field>
1791    <field name="Weighted BiPrediction IDC" start="106" end="107" type="uint">
1792      <value name="DEFAULT" value="0" />
1793      <value name="EXPLICIT" value="1" />
1794      <value name="IMPLICIT" value="2" />
1795    </field>
1796    <field name="Weighted Prediction Enable" start="108" end="108" type="bool" />
1797    <field name="First Chroma QP Offset" start="112" end="116" type="int" />
1798    <field name="Second Chroma QP Offset" start="120" end="124" type="int" />
1799    <field name="Field Picture" start="128" end="128" type="bool" />
1800    <field name="MBAFF Mode" start="129" end="129" type="bool" />
1801    <field name="Frame MB Only" start="130" end="130" type="bool" />
1802    <field name="8x8 IDCT Transform Mode" start="131" end="131" type="bool" />
1803    <field name="Direct 8x8 Inference" start="132" end="132" type="bool" />
1804    <field name="Constrained Intra Prediction" start="133" end="133" type="bool" />
1805    <field name="Non-Reference Picture" start="134" end="134" type="bool" />
1806    <field name="Entropy Coding Sync Enable" start="135" end="135" type="bool" />
1807    <field name="MB MV Format" start="136" end="136" type="uint">
1808      <value name="IGNORE" value="0" />
1809      <value name="FOLLOW" value="1" />
1810    </field>
1811    <field name="Chroma Format IDC" start="138" end="139" type="uint">
1812      <value name="Monochrome picture" value="0" />
1813      <value name="4:2:0 picture" value="1" />
1814      <value name="4:2:2 picture (not supported)" value="2" />
1815      <value name="4:4:4 picture (not supported)" value="3" />
1816    </field>
1817    <field name="MV Unpacked Enable" start="140" end="140" type="bool" />
1818    <field name="Load Bitstream Pointer Per Slice" start="142" end="142" type="bool" />
1819    <field name="MB Status Read" start="143" end="143" type="bool" />
1820    <field name="Minimum Frame Size" start="144" end="159" type="uint" />
1821    <field name="Intra MB Max Bit Control" start="160" end="160" type="bool" />
1822    <field name="Inter MB Max Bit Control" start="161" end="161" type="bool" />
1823    <field name="Frame Bitrate Max Report" start="162" end="162" type="bool" />
1824    <field name="Frame Bitrate Min Report" start="163" end="163" type="bool" />
1825    <field name="Force IPCM Control" start="167" end="167" type="bool" />
1826    <field name="MB Level Rate Control" start="169" end="169" type="bool" />
1827    <field name="Minimum Frame Size Units" start="170" end="171" type="uint">
1828      <value name="Compatibility mode" value="0" />
1829      <value name="16 bytes" value="1" />
1830      <value name="4Kb" value="2" />
1831      <value name="16Kb" value="3" />
1832    </field>
1833    <field name="Non First Pass" start="176" end="176" type="uint" />
1834    <field name="Trellis Quantization Chroma Disable" start="187" end="187" type="bool" />
1835    <field name="Trellis Quantization Rounding" start="188" end="190" type="uint" />
1836    <field name="Trellis Quantization Enable" start="191" end="191" type="bool" />
1837    <field name="Intra MB Conformance Max Size" start="192" end="203" type="uint" />
1838    <field name="Inter MB Conformance Max Size" start="208" end="219" type="uint" />
1839    <field name="Slice Delta QP Max[0]" start="256" end="263" type="int" />
1840    <field name="Slice Delta QP Max[1]" start="264" end="271" type="int" />
1841    <field name="Slice Delta QP Max[2]" start="272" end="279" type="uint" />
1842    <field name="Slice Delta QP Max[3]" start="280" end="287" type="int" />
1843    <field name="Slice Delta QP Min[0]" start="288" end="295" type="int" />
1844    <field name="Slice Delta QP Min[1]" start="296" end="303" type="int" />
1845    <field name="Slice Delta QP Min[2]" start="304" end="311" type="int" />
1846    <field name="Slice Delta QP Min[3]" start="312" end="319" type="int" />
1847    <field name="Frame Bitrate Min" start="320" end="333" type="uint" />
1848    <field name="Frame Bitrate Min Unit Mode" start="334" end="334" type="uint">
1849      <value name="Compatibility mode" value="0" />
1850      <value name="New mode" value="1" />
1851    </field>
1852    <field name="Frame Bitrate Min Unit" start="335" end="335" type="uint" />
1853    <field name="Frame Bitrate Max" start="336" end="349" type="uint" />
1854    <field name="Frame Bitrate Max Unit Mode" start="350" end="350" type="uint">
1855      <value name="Compatibility mode" value="0" />
1856      <value name="New mode" value="1" />
1857    </field>
1858    <field name="Frame Bitrate Max Unit" start="351" end="351" type="uint" />
1859    <field name="Frame Bitrate Min Delta" start="352" end="366" type="uint" />
1860    <field name="Frame Bitrate Max Delta" start="368" end="382" type="uint" />
1861    <field name="Slice Stats Stream-Out Enable" start="383" end="383" type="bool" />
1862    <field name="Initial QP Value" start="416" end="423" type="int" />
1863    <field name="Number of Active Reference Pictures from L0" start="424" end="429" type="uint" />
1864    <field name="Number of Active Reference Pictures from L1" start="432" end="437" type="uint" />
1865    <field name="Number of Reference Frames" start="440" end="444" type="uint" />
1866    <field name="Current Picture Has Performed MMCO5" start="445" end="445" type="bool" />
1867    <field name="Pic Order Present" start="448" end="448" type="bool" />
1868    <field name="Delta Pic Order Always Zero" start="449" end="449" type="bool" />
1869    <field name="Pic Order Count Type" start="450" end="451" type="uint" />
1870    <field name="Slice Group Map Type" start="456" end="458" type="uint" />
1871    <field name="Redundant Pic Count Present" start="459" end="459" type="bool" />
1872    <field name="Number of Slice Groups" start="460" end="462" type="uint" />
1873    <field name="Deblocking Filter Control Present" start="463" end="463" type="bool" />
1874    <field name="Log2 Max Frame Number" start="464" end="471" type="uint" />
1875    <field name="Log2 Max Pic Order Count LSB" start="472" end="479" type="uint" />
1876    <field name="Slice Group Change Rate" start="480" end="495" type="uint" />
1877    <field name="Current Picture Frame Number" start="496" end="511" type="uint" />
1878    <field name="Current Frame View ID" start="512" end="521" type="uint" />
1879    <field name="Max View IDXL0" start="524" end="527" type="uint" />
1880    <field name="Max View IDXL1" start="530" end="533" type="uint" />
1881    <field name="Inter View Order Disable" start="543" end="543" type="bool" />
1882  </instruction>
1883  <instruction name="MFX_BSP_BUF_BASE_ADDR_STATE" bias="2" length="10" engine="video">
1884    <field name="DWord Length" start="0" end="11" type="uint" default="8" />
1885    <field name="SubOpcode B" start="16" end="20" type="uint" default="4" />
1886    <field name="SubOpcode A" start="21" end="23" type="uint" default="0" />
1887    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0" />
1888    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
1889    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1890    <field name="BSD/MPC Row Store Scratch Buffer - Address" start="38" end="79" type="address" />
1891    <field name="BSD/MPC Row Store Scratch Buffer - Age for QUADLRU" start="96" end="97" type="uint" />
1892    <field name="BSD/MPC Row Store Scratch Buffer - Target Cache" start="99" end="100" type="uint">
1893      <value name="eLLC Only" value="0" />
1894      <value name="LLC Only" value="1" />
1895      <value name="LLC/eLLC" value="2" />
1896      <value name="L3, LLC, eLLC" value="3" />
1897    </field>
1898    <field name="BSD/MPC Row Store Scratch Buffer - Cacheability Control" start="101" end="102" type="uint">
1899      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
1900      <value name="Uncacheable" value="1" />
1901      <value name="Writethrough" value="2" />
1902      <value name="Writeback" value="3" />
1903    </field>
1904    <field name="BSD/MPC Row Store Scratch Buffer - Arbitration Priority Control" start="103" end="104" type="uint">
1905      <value name="Highest priority" value="0" />
1906      <value name="Second highest priority" value="1" />
1907      <value name="Third highest priority" value="2" />
1908      <value name="Lowest priority" value="3" />
1909    </field>
1910    <field name="MPR Row Store Scratch Buffer - Address" start="134" end="175" type="address" />
1911    <field name="MPR Row Store Scratch Buffer - Age for QUADLRU" start="192" end="193" type="uint" />
1912    <field name="MPR Row Store Scratch Buffer - Target Cache" start="195" end="196" type="uint">
1913      <value name="eLLC Only" value="0" />
1914      <value name="LLC Only" value="1" />
1915      <value name="LLC/eLLC" value="2" />
1916      <value name="L3, LLC, eLLC" value="3" />
1917    </field>
1918    <field name="MPR Row Store Scratch Buffer - Cacheability Control" start="197" end="198" type="uint">
1919      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
1920      <value name="Uncacheable" value="1" />
1921      <value name="Writethrough" value="2" />
1922      <value name="Writeback" value="3" />
1923    </field>
1924    <field name="MPR Row Store Scratch Buffer - Arbitration Priority Control" start="199" end="200" type="uint">
1925      <value name="Highest priority" value="0" />
1926      <value name="Second highest priority" value="1" />
1927      <value name="Third highest priority" value="2" />
1928      <value name="Lowest priority" value="3" />
1929    </field>
1930    <field name="Bitplane Read Buffer - Address" start="230" end="271" type="uint" />
1931    <field name="Bitplane Read Buffer - Age for QUADLRU" start="288" end="289" type="uint" />
1932    <field name="Bitplane Read Buffer - Target Cache" start="291" end="292" type="uint">
1933      <value name="eLLC Only" value="0" />
1934      <value name="LLC Only" value="1" />
1935      <value name="LLC/eLLC" value="2" />
1936      <value name="L3, LLC, eLLC" value="3" />
1937    </field>
1938    <field name="Bitplane Read Buffer - Cacheability Control" start="293" end="294" type="uint">
1939      <value name="Use Cacheability Controls From Page Table / UC with Fence (if coherent cycle)" value="0" />
1940      <value name="Uncacheable" value="1" />
1941      <value name="Writethrough" value="2" />
1942      <value name="Writeback" value="3" />
1943    </field>
1944    <field name="Bitplane Read Buffer - Arbitration Priority Control" start="295" end="296" type="uint">
1945      <value name="Highest priority" value="0" />
1946      <value name="Second highest priority" value="1" />
1947      <value name="Third highest priority" value="2" />
1948      <value name="Lowest priority" value="3" />
1949    </field>
1950  </instruction>
1951  <instruction name="MFX_DBK_OBJECT" bias="2" length="13" engine="video">
1952    <field name="DWord Length" start="0" end="11" type="uint" default="11" />
1953    <field name="SubOpcode B" start="16" end="20" type="uint" default="9" />
1954    <field name="SubOpcode A" start="21" end="23" type="uint" default="0" />
1955    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0" />
1956    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
1957    <field name="Command Type" start="29" end="31" type="uint" default="3" />
1958    <field name="Pre Deblocking Source - Address" start="38" end="79" type="address" />
1959    <field name="Pre Deblocking Source - Age for QUADLRU" start="96" end="97" type="uint" />
1960    <field name="Pre Deblocking Source - Target Cache" start="99" end="100" type="uint">
1961      <value name="eLLC Only" value="0" />
1962      <value name="LLC Only" value="1" />
1963      <value name="LLC/eLLC" value="2" />
1964      <value name="L3, LLC, eLLC" value="3" />
1965    </field>
1966    <field name="Pre Deblocking Source - Cacheability Control" start="101" end="102" type="uint">
1967      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
1968      <value name="Uncacheable" value="1" />
1969      <value name="Writethrough" value="2" />
1970      <value name="Writeback" value="3" />
1971    </field>
1972    <field name="Pre Deblocking Source - Arbitration Priority Control" start="103" end="104" type="uint">
1973      <value name="Highest priority" value="0" />
1974      <value name="Second highest priority" value="1" />
1975      <value name="Third highest priority" value="2" />
1976      <value name="Lowest priority" value="3" />
1977    </field>
1978    <field name="Deblocking Control - Address" start="134" end="175" type="address" />
1979    <field name="Deblocking Control - Age for QUADLRU" start="192" end="193" type="uint" />
1980    <field name="Deblocking Control - Target Cache" start="195" end="196" type="uint">
1981      <value name="eLLC Only" value="0" />
1982      <value name="LLC Only" value="1" />
1983      <value name="LLC/eLLC" value="2" />
1984      <value name="L3, LLC, eLLC" value="3" />
1985    </field>
1986    <field name="Deblocking Control - Cacheability Control" start="197" end="198" type="uint">
1987      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
1988      <value name="Uncacheable" value="1" />
1989      <value name="Writethrough" value="2" />
1990      <value name="Writeback" value="3" />
1991    </field>
1992    <field name="Deblocking Control - Arbitration Priority Control" start="199" end="200" type="uint">
1993      <value name="Highest priority" value="0" />
1994      <value name="Second highest priority" value="1" />
1995      <value name="Third highest priority" value="2" />
1996      <value name="Lowest priority" value="3" />
1997    </field>
1998    <field name="Deblocking Destination - Address" start="230" end="271" type="address" />
1999    <field name="Deblocking Destination - Age for QUADLRU" start="288" end="289" type="uint" />
2000    <field name="Deblocking Destination - Target Cache" start="291" end="292" type="uint">
2001      <value name="eLLC Only" value="0" />
2002      <value name="LLC Only" value="1" />
2003      <value name="LLC/eLLC" value="2" />
2004      <value name="L3, LLC, eLLC" value="3" />
2005    </field>
2006    <field name="Deblocking Destination - Cacheability Control" start="293" end="294" type="uint">
2007      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
2008      <value name="Uncacheable" value="1" />
2009      <value name="Writethrough" value="2" />
2010      <value name="Writeback" value="3" />
2011    </field>
2012    <field name="Deblocking Destination - Arbitration Priority Control" start="295" end="296" type="uint">
2013      <value name="Highest priority" value="0" />
2014      <value name="Second highest priority" value="1" />
2015      <value name="Third highest priority" value="2" />
2016      <value name="Lowest priority" value="3" />
2017    </field>
2018    <field name="Deblock Row Store - Address" start="326" end="367" type="address" />
2019    <field name="Deblock Row Store - Age for QUADLRU" start="384" end="385" type="uint" />
2020    <field name="Deblock Row Store - Target Cache" start="387" end="388" type="uint">
2021      <value name="eLLC Only" value="0" />
2022      <value name="LLC Only" value="1" />
2023      <value name="LLC/eLLC" value="2" />
2024      <value name="L3, LLC, eLLC" value="3" />
2025    </field>
2026    <field name="Deblock Row Store - Cacheability Control" start="389" end="390" type="uint">
2027      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
2028      <value name="Uncacheable" value="1" />
2029      <value name="Writethrough" value="2" />
2030      <value name="Writeback" value="3" />
2031    </field>
2032    <field name="Deblock Row Store - Arbitration Priority Control" start="391" end="392" type="uint">
2033      <value name="Highest priority" value="0" />
2034      <value name="Second highest priority" value="1" />
2035      <value name="Third highest priority" value="2" />
2036      <value name="Lowest priority" value="3" />
2037    </field>
2038  </instruction>
2039  <instruction name="MFX_IND_OBJ_BASE_ADDR_STATE" bias="2" length="26" engine="video">
2040    <field name="DWord Length" start="0" end="11" type="uint" default="24" />
2041    <field name="SubOpcode B" start="16" end="20" type="uint" default="3" />
2042    <field name="SubOpcode A" start="21" end="23" type="uint" default="0" />
2043    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0" />
2044    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
2045    <field name="Command Type" start="29" end="31" type="uint" default="3" />
2046    <field name="MFX Indirect Bitstream Object - Address" start="32" end="95" type="address" />
2047    <field name="MFX Indirect Bitstream Object - Attributes" start="96" end="127" type="MEMORYADDRESSATTRIBUTES" />
2048    <field name="MFX Indirect Bitstream Object - Upper Bound" start="128" end="191" type="address" />
2049    <field name="MFX Indirect MV Object - Address" start="192" end="255" type="address" />
2050    <field name="MFX Indirect MV Object - Attributes" start="256" end="287" type="MEMORYADDRESSATTRIBUTES" />
2051    <field name="MFX Indirect MV Object - Upper Bound" start="288" end="351" type="address" />
2052    <field name="MFD Indirect IT-COEFF Object - Address" start="352" end="415" type="address" />
2053    <field name="MFD Indirect IT-COEFF Object - Attributes" start="416" end="447" type="MEMORYADDRESSATTRIBUTES" />
2054    <field name="MFD Indirect IT-COEFF Object - Upper Bound" start="448" end="511" type="address" />
2055    <field name="MFD Indirect IT-DBLK Object - Address" start="512" end="575" type="address" />
2056    <field name="MFD Indirect IT-DBLK Object - Attributes" start="576" end="607" type="MEMORYADDRESSATTRIBUTES" />
2057    <field name="MFD Indirect IT-DBLK Object - Upper Bound" start="608" end="671" type="address" />
2058    <field name="MFC Indirect PAK-BSE Object - Address" start="672" end="735" type="address" />
2059    <field name="MFC Indirect PAK-BSE Object - Attributes" start="736" end="767" type="MEMORYADDRESSATTRIBUTES" />
2060    <field name="MFC Indirect PAK-BSE Object - Upper Bound" start="768" end="831" type="address" />
2061  </instruction>
2062  <instruction name="MFX_JPEG_PIC_STATE" bias="2" length="3" engine="video">
2063    <field name="DWord Length" start="0" end="11" type="uint" default="1" />
2064    <field name="SubOpcode B" start="16" end="20" type="uint" default="0" />
2065    <field name="SubOpcode A" start="21" end="23" type="uint" default="0" />
2066    <field name="Media Command Opcode" start="24" end="26" type="uint" default="7" />
2067    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
2068    <field name="Command Type" start="29" end="31" type="uint" default="3" />
2069    <field name="Input Format YUV" start="32" end="34" type="uint" />
2070    <field name="Rotation" start="36" end="37" type="uint" />
2071    <field name="Output Format YUV" start="40" end="43" type="uint" />
2072    <field name="Average Down Sampling" start="48" end="48" type="uint" />
2073    <field name="Vertical Down-Sampling Enable" start="49" end="49" type="bool" />
2074    <field name="Horizontal Down-Sampling Enable" start="50" end="50" type="bool" />
2075    <field name="Vertical Up-Sampling Enable" start="52" end="52" type="bool" />
2076    <field name="Frame Width In Blocks" start="64" end="76" type="uint" />
2077    <field name="Frame Height In Blocks" start="80" end="92" type="uint" />
2078  </instruction>
2079  <instruction name="MFX_PIPE_BUF_ADDR_STATE" bias="2" length="61" engine="video">
2080    <field name="DWord Length" start="0" end="11" type="uint" default="59" />
2081    <field name="SubOpcode B" start="16" end="20" type="uint" default="2" />
2082    <field name="SubOpcode A" start="21" end="23" type="uint" default="0" />
2083    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0" />
2084    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
2085    <field name="Command Type" start="29" end="31" type="uint" default="3" />
2086    <field name="Pre Deblocking Destination - Address" start="38" end="79" type="address" />
2087    <field name="Pre Deblocking Destination - MOCS" start="96" end="102" type="uint" nonzero="true" />
2088    <field name="Pre Deblocking Destination - Arbitration Priority Control" start="103" end="104" type="uint">
2089      <value name="Highest priority" value="0" />
2090      <value name="Second highest priority" value="1" />
2091      <value name="Third highest priority" value="2" />
2092      <value name="Lowest priority" value="3" />
2093    </field>
2094    <field name="Post Deblocking Destination - Address" start="134" end="175" type="address" />
2095    <field name="Post Deblocking Destination - MOCS" start="192" end="198" type="uint" nonzero="true" />
2096    <field name="Post Deblocking Destination - Arbitration Priority Control" start="199" end="200" type="uint">
2097      <value name="Highest priority" value="0" />
2098      <value name="Second highest priority" value="1" />
2099      <value name="Third highest priority" value="2" />
2100      <value name="Lowest priority" value="3" />
2101    </field>
2102    <field name="Original Uncompressed Picture Source - Address" start="230" end="271" type="address" />
2103    <field name="Original Uncompressed Picture Source - MOCS" start="288" end="294" type="uint" nonzero="true" />
2104    <field name="Original Uncompressed Picture Source - Arbitration Priority Control" start="295" end="296" type="uint">
2105      <value name="Highest priority" value="0" />
2106      <value name="Second highest priority" value="1" />
2107      <value name="Third highest priority" value="2" />
2108      <value name="Lowest priority" value="3" />
2109    </field>
2110    <field name="Stream-Out Data Destination - Address" start="326" end="367" type="address" />
2111    <field name="Stream-Out Data Destination - MOCS" start="384" end="390" type="uint" nonzero="true" />
2112    <field name="Stream-Out Data Destination - Arbitration Priority Control" start="391" end="392" type="uint">
2113      <value name="Highest priority" value="0" />
2114      <value name="Second highest priority" value="1" />
2115      <value name="Third highest priority" value="2" />
2116      <value name="Lowest priority" value="3" />
2117    </field>
2118    <field name="Intra Row Store Scratch Buffer - Address High" start="422" end="463" type="address" />
2119    <field name="Intra Row Store Scratch Buffer - MOCS" start="480" end="486" type="uint" nonzero="true" />
2120    <field name="Intra Row Store Scratch Buffer - Arbitration Priority Control" start="487" end="488" type="uint">
2121      <value name="Highest priority" value="0" />
2122      <value name="Second highest priority" value="1" />
2123      <value name="Third highest priority" value="2" />
2124      <value name="Lowest priority" value="3" />
2125    </field>
2126    <field name="Deblocking Filter Row Store Scratch - Address High" start="518" end="559" type="address" />
2127    <field name="Deblocking Filter Row Store Scratch - MOCS" start="576" end="582" type="uint" nonzero="true" />
2128    <field name="Deblocking Filter Row Store Scratch - Arbitration Priority Control" start="583" end="584" type="uint">
2129      <value name="Highest priority" value="0" />
2130      <value name="Second highest priority" value="1" />
2131      <value name="Third highest priority" value="2" />
2132      <value name="Lowest priority" value="3" />
2133    </field>
2134    <group count="16" start="608" size="64">
2135      <field name="Reference Picture - Address" start="0" end="63" type="address" />
2136    </group>
2137    <field name="Reference Picture - MOCS" start="1632" end="1638" type="uint" nonzero="true" />
2138    <field name="Reference Picture - Arbitration Priority Control" start="1639" end="1640" type="uint">
2139      <value name="Highest priority" value="0" />
2140      <value name="Second highest priority" value="1" />
2141      <value name="Third highest priority" value="2" />
2142      <value name="Lowest priority" value="3" />
2143    </field>
2144    <field name="MB Status Buffer - Address" start="1670" end="1711" type="address" />
2145    <field name="MB Status Buffer - MOCS" start="1728" end="1734" type="uint" nonzero="true" />
2146    <field name="MB Status Buffer - Arbitration Priority Control" start="1735" end="1736" type="uint">
2147      <value name="Highest priority" value="0" />
2148      <value name="Second highest priority" value="1" />
2149      <value name="Third highest priority" value="2" />
2150      <value name="Lowest priority" value="3" />
2151    </field>
2152    <field name="MB ILDB Stream-Out Buffer - Address" start="1766" end="1807" type="address" />
2153    <field name="MB ILDB Stream-Out Buffer - MOCS" start="1824" end="1830" type="uint" nonzero="true" />
2154    <field name="MB ILDB Stream-Out Buffer - Arbitration Priority Control" start="1831" end="1832" type="uint">
2155      <value name="Highest priority" value="0" />
2156      <value name="Second highest priority" value="1" />
2157      <value name="Third highest priority" value="2" />
2158      <value name="Lowest priority" value="3" />
2159    </field>
2160    <field name="Second MB ILDB Stream-Out Buffer - Address High" start="1862" end="1903" type="address" />
2161    <field name="Second MB ILDB Stream-Out Buffer - MOCS" start="1920" end="1926" type="uint" nonzero="true" />
2162    <field name="Second MB ILDB Stream-Out Buffer - Arbitration Priority Control" start="1927" end="1928" type="uint">
2163      <value name="Highest priority" value="0" />
2164      <value name="Second highest priority" value="1" />
2165      <value name="Third highest priority" value="2" />
2166      <value name="Lowest priority" value="3" />
2167    </field>
2168  </instruction>
2169  <instruction name="MFX_PIPE_MODE_SELECT" bias="2" length="5" engine="video">
2170    <field name="DWord Length" start="0" end="11" type="uint" default="3" />
2171    <field name="SubOpcode B" start="16" end="20" type="uint" default="0" />
2172    <field name="SubOpcode A" start="21" end="23" type="uint" default="0" />
2173    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0" />
2174    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
2175    <field name="Command Type" start="29" end="31" type="uint" default="3" />
2176    <field name="Standard Select" start="32" end="35" type="uint" prefix="SS">
2177      <value name="MPEG2" value="0" />
2178      <value name="VC1" value="1" />
2179      <value name="AVC" value="2" />
2180      <value name="JPEG" value="3" />
2181      <value name="VP8" value="5" />
2182      <value name="UVLD" value="15" />
2183    </field>
2184    <field name="Codec Select" start="36" end="36" type="uint">
2185      <value name="Decode" value="0" />
2186      <value name="Encode" value="1" />
2187    </field>
2188    <field name="Stitch Mode" start="37" end="37" type="bool" />
2189    <field name="Pre Deblocking Output Enable" start="40" end="40" type="bool" />
2190    <field name="Post Deblocking Output Enable" start="41" end="41" type="bool" />
2191    <field name="Stream-Out Enable" start="42" end="42" type="bool" />
2192    <field name="Pic Error/Status Report Enable" start="43" end="43" type="bool" />
2193    <field name="Deblocker Stream-Out Enable" start="44" end="44" type="bool" />
2194    <field name="Decoder Mode Select" start="47" end="48" type="uint">
2195      <value name="VLD Mode" value="0" />
2196      <value name="IT Mode" value="1" />
2197      <value name="Deblocker Mode" value="2" />
2198      <value name="Interlayer Mode" value="3" />
2199    </field>
2200    <field name="Decoder Short Format Mode" start="49" end="49" type="uint">
2201      <value name="Short Format Driver Interface" value="0" />
2202      <value name="Long Format Driver Interface" value="1" />
2203    </field>
2204    <field name="Extended Stream-Out Enable" start="50" end="50" type="bool" />
2205    <field name="Pic Status/Error Report ID" start="96" end="127" type="uint" />
2206  </instruction>
2207  <instruction name="MFX_SURFACE_STATE" bias="2" length="6" engine="video">
2208    <field name="DWord Length" start="0" end="11" type="uint" default="4" />
2209    <field name="SubOpcode B" start="16" end="20" type="uint" default="1" />
2210    <field name="SubOpcode A" start="21" end="23" type="uint" default="0" />
2211    <field name="Media Command Opcode" start="24" end="26" type="uint" default="0" />
2212    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
2213    <field name="Command Type" start="29" end="31" type="uint" default="3" />
2214    <field name="Surface ID" start="32" end="35" type="uint">
2215      <value name="Source Input Picture" value="4" />
2216      <value name="Reconstructed Scaled Reference Picture" value="5" />
2217    </field>
2218    <field name="Cr(V)/Cb(U) Pixel Offset V Direction" start="64" end="65" type="u0.2" />
2219    <field name="Width" start="68" end="81" type="uint" />
2220    <field name="Height" start="82" end="95" type="uint" />
2221    <field name="Tile Walk" start="96" end="96" type="uint" prefix="TW">
2222      <value name="XMAJOR" value="0" />
2223      <value name="YMAJOR" value="1" />
2224    </field>
2225    <field name="Tiled Surface" start="97" end="97" type="bool" />
2226    <field name="Half Pitch for Chroma" start="98" end="98" type="bool" />
2227    <field name="Surface Pitch" start="99" end="115" type="uint" />
2228    <field name="Interleave Chroma" start="123" end="123" type="bool" />
2229    <field name="Surface Format" start="124" end="127" type="uint">
2230      <value name="YCRCB_NORMAL" value="0" />
2231      <value name="YCRCB_SWAPUVY" value="1" />
2232      <value name="YCRCB_SWAPUV" value="2" />
2233      <value name="YCRCB_SWAPY" value="3" />
2234      <value name="PLANAR_420_8" value="4" />
2235      <value name="PLANAR_411_8" value="5" />
2236      <value name="PLANAR_422_8" value="6" />
2237      <value name="STMM_DN_STATISTICS" value="7" />
2238      <value name="R10G10B10A2_UNORM" value="8" />
2239      <value name="R8G8B8A8_UNORM" value="9" />
2240      <value name="R8B8_UNORM (CrCb)" value="10" />
2241      <value name="R8_UNORM (Cr/Cb)" value="11" />
2242      <value name="Y8_UNORM" value="12" />
2243    </field>
2244    <field name="Y Offset for U(Cb)" start="128" end="142" type="uint" />
2245    <field name="X Offset for U(Cb)" start="144" end="158" type="uint" />
2246    <field name="Y Offset for V(Cr)" start="160" end="175" type="uint" />
2247    <field name="X Offset for V(Cr)" start="176" end="188" type="uint" />
2248  </instruction>
2249  <instruction name="MFX_VC1_DIRECTMODE_STATE" bias="2" length="7" engine="video">
2250    <field name="DWord Length" start="0" end="11" type="uint" default="5" />
2251    <field name="SubOpcode B" start="16" end="20" type="uint" default="2" />
2252    <field name="SubOpcode A" start="21" end="23" type="uint" default="0" />
2253    <field name="Media Command Opcode" start="24" end="26" type="uint" default="2" />
2254    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
2255    <field name="Command Type" start="29" end="31" type="uint" default="3" />
2256    <field name="Direct MV Write Buffer - Address" start="32" end="95" type="address" />
2257    <field name="Direct MV Write Buffer - Attributes" start="96" end="127" type="MEMORYADDRESSATTRIBUTES" />
2258    <field name="Direct MV Read Buffer - Address" start="128" end="191" type="address" />
2259    <field name="Direct MV Read Buffer - Attributes" start="192" end="223" type="MEMORYADDRESSATTRIBUTES" />
2260  </instruction>
2261  <instruction name="MFX_VP8_PAK_OBJECT" bias="2" length="7" engine="video">
2262    <field name="DWord Length" start="0" end="11" type="uint" default="5" />
2263    <field name="SubOpcode B" start="16" end="20" type="uint" default="9" />
2264    <field name="SubOpcode A" start="21" end="23" type="uint" default="2" />
2265    <field name="Media Command Opcode" start="24" end="26" type="uint" default="4" />
2266    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
2267    <field name="Command Type" start="29" end="31" type="uint" default="3" />
2268    <field name="Indirect PAK-MV Data Length" start="32" end="41" type="uint" />
2269    <field name="Indirect PAK-MV Data Start Address Offset" start="64" end="92" type="offset" />
2270    <field name="Inline Data" start="96" end="223" type="uint" />
2271  </instruction>
2272  <instruction name="MFX_VP8_PIC_STATE" bias="2" length="2" engine="video">
2273    <field name="DWord Length" start="0" end="11" type="uint" default="0" />
2274    <field name="SubOpcode B" start="16" end="20" type="uint" default="0" />
2275    <field name="SubOpcode A" start="21" end="23" type="uint" default="0" />
2276    <field name="Media Command OpCode" start="24" end="26" type="uint" default="4" />
2277    <field name="Pipeline" start="27" end="28" type="uint" default="2" />
2278    <field name="Command Type" start="29" end="31" type="uint" default="3" />
2279    <field name="Frame Width" start="32" end="39" type="uint" />
2280    <field name="Frame Height" start="48" end="55" type="uint" />
2281    <field name="MC Filter Select" start="64" end="64" type="uint" />
2282    <field name="Chroma Full Pixel MC Filter Mode" start="65" end="65" type="uint" />
2283    <field name="DBLK Filter Type" start="68" end="68" type="uint" />
2284    <field name="Key Frame" start="69" end="69" type="bool" />
2285    <field name="Segmentation ID Stream-Out Enable" start="70" end="70" type="bool" />
2286    <field name="Segmentation ID Stream-In Enable" start="71" end="71" type="bool" />
2287    <field name="Segment Enable" start="72" end="72" type="bool" />
2288    <field name="Update MB Segment Map" start="73" end="73" type="bool" />
2289    <field name="MB NoCoeff Skip" start="74" end="74" type="bool" />
2290    <field name="Mode Reference Loop Filter Delta Enable" start="75" end="75" type="bool" />
2291    <field name="Golden Ref Picture MV Sign Bias" start="76" end="76" type="bool" />
2292    <field name="Alternate Ref Pic MV Sign Bias" start="77" end="77" type="bool" />
2293    <field name="Deblock Sharpness Level" start="80" end="82" type="uint" />
2294    <field name="Log2 Num of Partition" start="88" end="89" type="uint">
2295      <value name="1 Token partition" value="0" />
2296      <value name="2 Token partition" value="1" />
2297      <value name="4 Token partition" value="2" />
2298      <value name="8 Token partition" value="3" />
2299    </field>
2300    <field name="DBLK Filter Level for Segment0" start="96" end="101" type="uint" />
2301    <field name="DBLK Filter Level for Segment1" start="104" end="109" type="uint" />
2302    <field name="DBLK Filter Level for Segment2" start="112" end="117" type="uint" />
2303    <field name="DBLK Filter Level for Segment3" start="120" end="125" type="uint" />
2304    <field name="Quantizer Value [0][Y1DC]" start="128" end="136" type="uint" />
2305    <field name="Quantizer Value [0][Y1AC]" start="144" end="152" type="uint" />
2306    <field name="Quantizer Value [0][UVDC]" start="160" end="168" type="uint" />
2307    <field name="Quantizer Value [0][UVAC]" start="176" end="184" type="uint" />
2308    <field name="Quantizer Value [0][Y2DC]" start="192" end="200" type="uint" />
2309    <field name="Quantizer Value [0][Y2AC]" start="208" end="216" type="uint" />
2310    <field name="Quantizer Value [1][Y1DC]" start="224" end="232" type="uint" />
2311    <field name="Quantizer Value [1][Y1AC]" start="240" end="248" type="uint" />
2312    <field name="Quantizer Value [1][UVDC]" start="256" end="264" type="uint" />
2313    <field name="Quantizer Value [1][UVAC]" start="272" end="280" type="uint" />
2314    <field name="Quantizer Value [1][Y2DC]" start="288" end="296" type="uint" />
2315    <field name="Quantizer Value [1][Y2AC]" start="304" end="312" type="uint" />
2316    <field name="Quantizer Value [2][Y1DC]" start="320" end="328" type="uint" />
2317    <field name="Quantizer Value [2][Y1AC]" start="336" end="344" type="uint" />
2318    <field name="Quantizer Value [2][UVDC]" start="352" end="360" type="uint" />
2319    <field name="Quantizer Value [2][UVAC]" start="368" end="376" type="uint" />
2320    <field name="Quantizer Value [2][Y2DC]" start="384" end="392" type="uint" />
2321    <field name="Quantizer Value [2][Y2AC]" start="400" end="408" type="uint" />
2322    <field name="Quantizer Value [3][Y1DC]" start="416" end="424" type="uint" />
2323    <field name="Quantizer Value [3][Y1AC]" start="432" end="440" type="uint" />
2324    <field name="Quantizer Value [3][UVDC]" start="448" end="456" type="uint" />
2325    <field name="Quantizer Value [3][UVAC]" start="464" end="472" type="uint" />
2326    <field name="Quantizer Value [3][Y2DC]" start="480" end="488" type="uint" />
2327    <field name="Quantizer Value [3][Y2AC]" start="496" end="504" type="uint" />
2328    <field name="CoeffProbability Stream-In - Address" start="518" end="559" type="address" />
2329    <field name="CoeffProbability Stream-In - Age for QUADLRU" start="576" end="577" type="uint" />
2330    <field name="CoeffProbability Stream-In - Target Cache" start="579" end="580" type="uint">
2331      <value name="eLLC Only" value="0" />
2332      <value name="LLC Only" value="1" />
2333      <value name="LLC/eLLC" value="2" />
2334      <value name="L3, LLC, eLLC" value="3" />
2335    </field>
2336    <field name="CoeffProbability Stream-In - Cacheability Control" start="581" end="582" type="uint">
2337      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
2338      <value name="Uncacheable" value="1" />
2339      <value name="Writethrough" value="2" />
2340      <value name="Writeback" value="3" />
2341    </field>
2342    <field name="CoeffProbability Stream-In - Arbitration Priority Control" start="583" end="584" type="uint">
2343      <value name="Highest priority" value="0" />
2344      <value name="Second highest priority" value="1" />
2345      <value name="Third highest priority" value="2" />
2346      <value name="Lowest priority" value="3" />
2347    </field>
2348    <field name="MBSegmentIDTreeProbs[0]" start="608" end="615" type="uint" />
2349    <field name="MBSegmentIDTreeProbs[1]" start="616" end="623" type="uint" />
2350    <field name="MBSegmentIDTreeProbs[2]" start="624" end="631" type="uint" />
2351    <field name="InterPredFromGRefRefProb" start="640" end="647" type="uint" />
2352    <field name="InterPredFromLastRefProb" start="648" end="655" type="uint" />
2353    <field name="IntraMBProb" start="656" end="663" type="uint" />
2354    <field name="MBNoCoeffSkipFalseProb" start="664" end="671" type="uint" />
2355    <field name="YModeProb[0]" start="672" end="679" type="uint" />
2356    <field name="YModeProb[1]" start="680" end="687" type="uint" />
2357    <field name="YModeProb[2]" start="688" end="695" type="uint" />
2358    <field name="YModeProb[3]" start="696" end="703" type="uint" />
2359    <field name="UVModeProb[0]" start="704" end="711" type="uint" />
2360    <field name="UVModeProb[1]" start="712" end="719" type="uint" />
2361    <field name="UVModeProb[2]" start="720" end="727" type="uint" />
2362    <field name="MVUpdateProbs[0][0]" start="736" end="743" type="uint" />
2363    <field name="MVUpdateProbs[0][1]" start="744" end="751" type="uint" />
2364    <field name="MVUpdateProbs[0][2]" start="752" end="759" type="uint" />
2365    <field name="MVUpdateProbs[0][3]" start="760" end="767" type="uint" />
2366    <field name="MVUpdateProbs[0][4]" start="768" end="775" type="uint" />
2367    <field name="MVUpdateProbs[0][5]" start="776" end="783" type="uint" />
2368    <field name="MVUpdateProbs[0][6]" start="784" end="791" type="uint" />
2369    <field name="MVUpdateProbs[0][7]" start="792" end="799" type="uint" />
2370    <field name="MVUpdateProbs[0][8]" start="800" end="807" type="uint" />
2371    <field name="MVUpdateProbs[0][9]" start="808" end="815" type="uint" />
2372    <field name="MVUpdateProbs[0][10]" start="816" end="823" type="uint" />
2373    <field name="MVUpdateProbs[0][11]" start="824" end="831" type="uint" />
2374    <field name="MVUpdateProbs[0][12]" start="832" end="839" type="uint" />
2375    <field name="MVUpdateProbs[0][13]" start="840" end="847" type="uint" />
2376    <field name="MVUpdateProbs[0][14]" start="848" end="855" type="uint" />
2377    <field name="MVUpdateProbs[0][15]" start="856" end="863" type="uint" />
2378    <field name="MVUpdateProbs[0][16]" start="864" end="871" type="uint" />
2379    <field name="MVUpdateProbs[0][17]" start="872" end="879" type="uint" />
2380    <field name="MVUpdateProbs[0][18]" start="880" end="887" type="uint" />
2381    <field name="MVUpdateProbs[1][0]" start="896" end="903" type="uint" />
2382    <field name="MVUpdateProbs[1][1]" start="904" end="911" type="uint" />
2383    <field name="MVUpdateProbs[1][2]" start="912" end="919" type="uint" />
2384    <field name="MVUpdateProbs[1][3]" start="920" end="927" type="uint" />
2385    <field name="MVUpdateProbs[1][4]" start="928" end="935" type="uint" />
2386    <field name="MVUpdateProbs[1][5]" start="936" end="943" type="uint" />
2387    <field name="MVUpdateProbs[1][6]" start="944" end="951" type="uint" />
2388    <field name="MVUpdateProbs[1][7]" start="952" end="959" type="uint" />
2389    <field name="MVUpdateProbs[1][8]" start="960" end="967" type="uint" />
2390    <field name="MVUpdateProbs[1][9]" start="968" end="975" type="uint" />
2391    <field name="MVUpdateProbs[1][10]" start="976" end="983" type="uint" />
2392    <field name="MVUpdateProbs[1][11]" start="984" end="991" type="uint" />
2393    <field name="MVUpdateProbs[1][12]" start="992" end="999" type="uint" />
2394    <field name="MVUpdateProbs[1][13]" start="1000" end="1007" type="uint" />
2395    <field name="MVUpdateProbs[1][14]" start="1008" end="1015" type="uint" />
2396    <field name="MVUpdateProbs[1][15]" start="1016" end="1023" type="uint" />
2397    <field name="MVUpdateProbs[1][16]" start="1024" end="1031" type="uint" />
2398    <field name="MVUpdateProbs[1][17]" start="1032" end="1039" type="uint" />
2399    <field name="MVUpdateProbs[1][18]" start="1040" end="1047" type="uint" />
2400    <field name="RefLFDelta0" start="1056" end="1062" type="int" />
2401    <field name="RefLFDelta1" start="1064" end="1070" type="int" />
2402    <field name="RefLFDelta2" start="1072" end="1078" type="int" />
2403    <field name="RefLFDelta3" start="1080" end="1086" type="int" />
2404    <field name="ModeLFDelta0" start="1088" end="1094" type="int" />
2405    <field name="ModeLFDelta1" start="1096" end="1102" type="int" />
2406    <field name="ModeLFDelta2" start="1104" end="1110" type="int" />
2407    <field name="ModeLFDelta3" start="1112" end="1118" type="int" />
2408    <field name="Segmentation ID Stream - Address" start="1120" end="1167" type="uint" />
2409    <field name="Segmentation ID Stream - Age for QUADLRU" start="1184" end="1185" type="uint" />
2410    <field name="Segmentation ID Stream - Target Cache" start="1187" end="1188" type="uint">
2411      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
2412      <value name="Uncacheable" value="1" />
2413      <value name="Writethrough" value="2" />
2414      <value name="Writeback" value="3" />
2415    </field>
2416    <field name="Segmentation ID Stream - Cacheability Control" start="1189" end="1190" type="uint">
2417      <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
2418      <value name="Uncacheable" value="1" />
2419      <value name="Writethrough" value="2" />
2420      <value name="Writeback" value="3" />
2421    </field>
2422    <field name="Segmentation ID Stream - Arbitration Priority Control" start="1191" end="1192" type="uint">
2423      <value name="Highest priority" value="0" />
2424      <value name="Second highest priority" value="1" />
2425      <value name="Third highest priority" value="2" />
2426      <value name="Lowest priority" value="3" />
2427    </field>
2428  </instruction>
2429  <instruction name="MI_ARB_ON_OFF" bias="1" length="1">
2430    <field name="Arbitration Enable" start="0" end="0" type="bool" default="1" />
2431    <field name="MI Command Opcode" start="23" end="28" type="uint" default="8" />
2432    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2433  </instruction>
2434  <instruction name="MI_ATOMIC" bias="2" length="3">
2435    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
2436    <field name="ATOMIC OPCODE" start="8" end="15" type="uint" />
2437    <field name="Return Data Control" start="16" end="16" type="uint" />
2438    <field name="CS STALL" start="17" end="17" type="uint" />
2439    <field name="Inline Data" start="18" end="18" type="uint" />
2440    <field name="Data Size" start="19" end="20" type="uint">
2441      <value name="DWORD" value="0" />
2442      <value name="QWORD" value="1" />
2443      <value name="OCTWORD" value="2" />
2444      <value name="RESERVED" value="3" />
2445    </field>
2446    <field name="Post-Sync Operation" start="21" end="21" type="bool" />
2447    <field name="Memory Type" start="22" end="22" type="uint">
2448      <value name="Per Process Graphics Address" value="0" />
2449      <value name="Global Graphics Address" value="1" />
2450    </field>
2451    <field name="MI Command Opcode" start="23" end="28" type="uint" default="47" />
2452    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2453    <field name="Memory Address" start="34" end="79" type="address" />
2454    <field name="Operand1 Data Dword 0" start="96" end="127" type="uint" />
2455    <field name="Operand2 Data Dword 0" start="128" end="159" type="uint" />
2456    <field name="Operand1 Data Dword 1" start="160" end="191" type="uint" />
2457    <field name="Operand2 Data Dword 1" start="192" end="223" type="uint" />
2458    <field name="Operand1 Data Dword 2" start="224" end="255" type="uint" />
2459    <field name="Operand2 Data Dword 2" start="256" end="287" type="uint" />
2460    <field name="Operand1 Data Dword 3" start="288" end="319" type="uint" />
2461    <field name="Operand2 Data Dword 3" start="320" end="351" type="uint" />
2462  </instruction>
2463  <instruction name="MI_BATCH_BUFFER_START" bias="2" length="3">
2464    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
2465    <field name="Address Space Indicator" start="8" end="8" type="uint" prefix="ASI">
2466      <value name="GGTT" value="0" />
2467      <value name="PPGTT" value="1" />
2468    </field>
2469    <field name="Resource Streamer Enable" start="10" end="10" type="bool" />
2470    <field name="Predication Enable" start="15" end="15" type="bool" />
2471    <field name="Add Offset Enable" start="16" end="16" type="bool" />
2472    <field name="Second Level Batch Buffer" start="22" end="22" type="uint">
2473      <value name="First level batch" value="0" />
2474      <value name="Second level batch" value="1" />
2475    </field>
2476    <field name="MI Command Opcode" start="23" end="28" type="uint" default="49" />
2477    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2478    <field name="Batch Buffer Start Address" start="34" end="79" type="address" />
2479  </instruction>
2480  <instruction name="MI_CLFLUSH" bias="2" engine="render">
2481    <field name="DWord Length" start="0" end="9" type="uint" default="1" />
2482    <field name="Use Global GTT" start="22" end="22" type="bool" />
2483    <field name="MI Command Opcode" start="23" end="28" type="uint" default="39" />
2484    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2485    <field name="Starting Cacheline Offset" start="38" end="43" type="uint" />
2486    <field name="Page Base Address" start="44" end="79" type="address" />
2487    <group count="0" start="96" size="32">
2488      <field name="DW Representing a Half Cache Line" start="0" end="31" type="uint" />
2489    </group>
2490  </instruction>
2491  <instruction name="MI_CONDITIONAL_BATCH_BUFFER_END" bias="2" length="3">
2492    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
2493    <field name="Compare Semaphore" start="21" end="21" type="uint" default="0" />
2494    <field name="Use Global GTT" start="22" end="22" type="bool" />
2495    <field name="MI Command Opcode" start="23" end="28" type="uint" default="54" />
2496    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2497    <field name="Compare Data Dword" start="32" end="63" type="uint" />
2498    <field name="Compare Address" start="67" end="111" type="address" />
2499  </instruction>
2500  <instruction name="MI_COPY_MEM_MEM" bias="2" length="5">
2501    <field name="DWord Length" start="0" end="7" type="uint" default="3" />
2502    <field name="Use Global GTT Destination" start="21" end="21" type="bool" />
2503    <field name="Use Global GTT Source" start="22" end="22" type="bool" />
2504    <field name="MI Command Opcode" start="23" end="28" type="uint" default="46" />
2505    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2506    <field name="Destination Memory Address" start="34" end="95" type="address" />
2507    <field name="Source Memory Address" start="98" end="159" type="address" />
2508  </instruction>
2509  <instruction name="MI_FLUSH_DW" bias="2" length="5" engine="video">
2510    <field name="DWord Length" start="0" end="5" type="uint" default="3" />
2511    <field name="Video Pipeline Cache Invalidate" start="7" end="7" type="bool" />
2512    <field name="Notify Enable" start="8" end="8" type="bool" />
2513    <field name="Post-Sync Operation" start="14" end="15" type="uint" />
2514    <field name="TLB Invalidate" start="18" end="18" type="bool" />
2515    <field name="Store Data Index" start="21" end="21" type="uint" />
2516    <field name="MI Command Opcode" start="23" end="28" type="uint" default="38" />
2517    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2518    <field name="Destination Address Type" start="34" end="34" type="uint" prefix="DAT">
2519      <value name="PPGTT" value="0" />
2520      <value name="GGTT" value="1" />
2521    </field>
2522    <field name="Address" start="35" end="79" type="address" />
2523    <field name="Immediate Data" start="96" end="159" type="uint" />
2524  </instruction>
2525  <instruction name="MI_LOAD_REGISTER_IMM" bias="2" length="3">
2526    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
2527    <field name="Byte Write Disables" start="8" end="11" type="uint" />
2528    <field name="MI Command Opcode" start="23" end="28" type="uint" default="34" />
2529    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2530    <field name="Register Offset" start="34" end="54" type="offset" />
2531    <field name="Data DWord" start="64" end="95" type="uint" />
2532    <group count="0" start="64" size="64">
2533      <field name="Register Offset" start="2" end="22" type="offset" />
2534      <field name="Data DWord" start="32" end="63" type="uint" />
2535    </group>
2536  </instruction>
2537  <instruction name="MI_LOAD_REGISTER_MEM" bias="2" length="4">
2538    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
2539    <field name="Async Mode Enable" start="21" end="21" type="bool" />
2540    <field name="Use Global GTT" start="22" end="22" type="bool" />
2541    <field name="MI Command Opcode" start="23" end="28" type="uint" default="41" />
2542    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2543    <field name="Register Address" start="34" end="54" type="offset" />
2544    <field name="Memory Address" start="66" end="127" type="address" />
2545  </instruction>
2546  <instruction name="MI_LOAD_SCAN_LINES_INCL" bias="2" length="2" engine="render">
2547    <field name="DWord Length" start="0" end="5" type="uint" default="0" />
2548    <field name="Scan Line Event Done Forward" start="17" end="18" type="uint" />
2549    <field name="Display (Plane) Select" start="19" end="21" type="uint">
2550      <value name="Display Plane A" value="0" />
2551      <value name="Display Plane B" value="1" />
2552      <value name="Display Plane C" value="4" />
2553    </field>
2554    <field name="MI Command Opcode" start="23" end="28" type="uint" default="18" />
2555    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2556    <field name="End Scan Line Number" start="32" end="44" type="uint" />
2557    <field name="Start Scan Line Number" start="48" end="60" type="uint" />
2558  </instruction>
2559  <instruction name="MI_LOAD_URB_MEM" bias="2" length="4" engine="render">
2560    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
2561    <field name="MI Command Opcode" start="23" end="28" type="uint" default="44" />
2562    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2563    <field name="URB Address" start="34" end="46" type="uint" />
2564    <field name="Memory Address" start="70" end="127" type="address" />
2565  </instruction>
2566  <instruction name="MI_MATH" bias="2">
2567    <field name="DWord Length" start="0" end="5" type="uint" default="0" />
2568    <field name="MI Command Opcode" start="23" end="28" type="uint" default="26" />
2569    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2570    <group count="0" start="32" size="32">
2571      <field name="Instruction" start="0" end="31" type="MI_MATH_ALU_INSTRUCTION" />
2572    </group>
2573  </instruction>
2574  <instruction name="MI_REPORT_PERF_COUNT" bias="2" length="4" engine="render">
2575    <field name="DWord Length" start="0" end="5" type="uint" default="2" />
2576    <field name="MI Command Opcode" start="23" end="28" type="uint" default="40" />
2577    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2578    <field name="Use Global GTT" start="32" end="32" type="bool" />
2579    <field name="Core Mode Enable" start="36" end="36" type="uint" />
2580    <field name="Memory Address" start="38" end="95" type="address" />
2581    <field name="Report ID" start="96" end="127" type="uint" />
2582  </instruction>
2583  <instruction name="MI_RS_STORE_DATA_IMM" bias="2" length="4" engine="render">
2584    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
2585    <field name="MI Command Opcode" start="23" end="28" type="uint" default="43" />
2586    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2587    <field name="Core Mode Enable" start="32" end="32" type="uint" />
2588    <field name="Destination Address" start="34" end="95" type="address" />
2589    <field name="Data DWord 0" start="96" end="127" type="uint" />
2590  </instruction>
2591  <instruction name="MI_SEMAPHORE_SIGNAL" bias="2" length="2">
2592    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
2593    <field name="Target Engine Select" start="15" end="17" type="uint">
2594      <value name="RCS" value="0" />
2595      <value name="VCS0" value="1" />
2596      <value name="BCS" value="2" />
2597      <value name="VECS" value="3" />
2598      <value name="VCS1" value="4" />
2599    </field>
2600    <field name="Post-Sync Operation" start="21" end="21" type="bool" />
2601    <field name="MI Command Opcode" start="23" end="28" type="uint" default="27" />
2602    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2603    <field name="Target Context ID" start="32" end="63" type="uint" />
2604  </instruction>
2605  <instruction name="MI_SEMAPHORE_WAIT" bias="2" length="4">
2606    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
2607    <field name="Compare Operation" start="12" end="14" type="uint" prefix="COMPARE">
2608      <value name="SAD_GREATER_THAN_SDD" value="0" />
2609      <value name="SAD_GREATER_THAN_OR_EQUAL_SDD" value="1" />
2610      <value name="SAD_LESS_THAN_SDD" value="2" />
2611      <value name="SAD_LESS_THAN_OR_EQUAL_SDD" value="3" />
2612      <value name="SAD_EQUAL_SDD" value="4" />
2613      <value name="SAD_NOT_EQUAL_SDD" value="5" />
2614    </field>
2615    <field name="Wait Mode" start="15" end="15" type="uint">
2616      <value name="Polling Mode" value="1" />
2617      <value name="Signal Mode" value="0" />
2618    </field>
2619    <field name="Memory Type" start="22" end="22" type="uint">
2620      <value name="Per Process Graphics Address" value="0" />
2621      <value name="Global Graphics Address" value="1" />
2622    </field>
2623    <field name="MI Command Opcode" start="23" end="28" type="uint" default="28" />
2624    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2625    <field name="Semaphore Data Dword" start="32" end="63" type="uint" />
2626    <field name="Semaphore Address" start="66" end="95" type="address" />
2627    <field name="Semaphore Address High" start="96" end="111" type="address" />
2628  </instruction>
2629  <instruction name="MI_SET_PREDICATE" bias="1" length="1">
2630    <field name="Predicate Enable" start="0" end="3" type="uint">
2631      <value name="NOOP Never" value="0" />
2632      <value name="NOOP On Result2 Clear" value="1" />
2633      <value name="NOOP On Result2 Set" value="2" />
2634      <value name="NOOP On Result Clear" value="3" />
2635      <value name="NOOP On Result Set" value="4" />
2636      <value name="Execute when one slice enabled." value="5" />
2637      <value name="Execute when two slices are enabled." value="6" />
2638      <value name="Execute when three slices are enabled." value="7" />
2639      <value name="NOOP Always" value="15" />
2640    </field>
2641    <field name="MI Command Opcode" start="23" end="28" type="uint" default="1" />
2642    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2643  </instruction>
2644  <instruction name="MI_STORE_DATA_IMM" bias="2" length="4">
2645    <field name="DWord Length" start="0" end="9" type="uint" default="2" />
2646    <field name="Store Qword" start="21" end="21" type="uint" />
2647    <field name="Use Global GTT" start="22" end="22" type="bool" />
2648    <field name="MI Command Opcode" start="23" end="28" type="uint" default="32" />
2649    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2650    <field name="Core Mode Enable" start="32" end="32" type="uint" />
2651    <field name="Address" start="34" end="79" type="address" />
2652    <field name="Immediate Data" start="96" end="159" type="uint" />
2653  </instruction>
2654  <instruction name="MI_STORE_DATA_INDEX" bias="2" length="3">
2655    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
2656    <field name="Use Per-Process Hardware Status Page" start="21" end="21" type="uint" />
2657    <field name="MI Command Opcode" start="23" end="28" type="uint" default="33" />
2658    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2659    <field name="Offset" start="34" end="43" type="uint" />
2660    <field name="Data DWord 0" start="64" end="95" type="uint" />
2661    <field name="Data DWord 1" start="96" end="127" type="uint" />
2662  </instruction>
2663  <instruction name="MI_STORE_REGISTER_MEM" bias="2" length="4">
2664    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
2665    <field name="Predicate Enable" start="21" end="21" type="bool" />
2666    <field name="Use Global GTT" start="22" end="22" type="bool" />
2667    <field name="MI Command Opcode" start="23" end="28" type="uint" default="36" />
2668    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2669    <field name="Register Address" start="34" end="54" type="offset" />
2670    <field name="Memory Address" start="66" end="127" type="address" />
2671  </instruction>
2672  <instruction name="MI_STORE_URB_MEM" bias="2" length="4" engine="render">
2673    <field name="DWord Length" start="0" end="7" type="uint" default="2" />
2674    <field name="MI Command Opcode" start="23" end="28" type="uint" default="45" />
2675    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2676    <field name="URB Address" start="34" end="46" type="uint" />
2677    <field name="Memory Address" start="70" end="127" type="address" />
2678  </instruction>
2679  <instruction name="MI_TOPOLOGY_FILTER" bias="1" length="1" engine="render">
2680    <field name="Topology Filter Value" start="0" end="5" type="3D_Prim_Topo_Type" />
2681    <field name="MI Command Opcode" start="23" end="28" type="uint" default="13" />
2682    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2683  </instruction>
2684  <instruction name="MI_WAIT_FOR_EVENT" bias="1" length="1" engine="render|blitter">
2685    <field name="Display Pipe A Scan Line Wait Enable" start="0" end="0" type="bool" />
2686    <field name="Display Plane A Flip Pending Wait Enable" start="1" end="1" type="bool" />
2687    <field name="Display Sprite A Flip Pending Wait Enable" start="2" end="2" type="bool" />
2688    <field name="Display Pipe A Vertical Blank Wait Enable" start="3" end="3" type="bool" />
2689    <field name="Display Pipe B Scan Line Wait Enable" start="8" end="8" type="bool" />
2690    <field name="Display Plane B Flip Pending Wait Enable" start="9" end="9" type="bool" />
2691    <field name="Display Sprite B Flip Pending Wait Enable" start="10" end="10" type="bool" />
2692    <field name="Display Pipe B Vertical Blank Wait Enable" start="11" end="11" type="bool" />
2693    <field name="Display Pipe C Scan Line Wait Enable" start="14" end="14" type="bool" />
2694    <field name="Display Plane C Flip Pending Wait Enable" start="15" end="15" type="bool" />
2695    <field name="Display Sprite C Flip Pending Wait Enable" start="20" end="20" type="bool" />
2696    <field name="Display Pipe C Vertical Blank Wait Enable" start="21" end="21" type="bool" />
2697    <field name="MI Command Opcode" start="23" end="28" type="uint" default="3" />
2698    <field name="Command Type" start="29" end="31" type="uint" default="0" />
2699  </instruction>
2700  <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render">
2701    <field name="DWord Length" start="0" end="7" type="uint" default="4" />
2702    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="0" />
2703    <field name="3D Command Opcode" start="24" end="26" type="uint" default="2" />
2704    <field name="Command SubType" start="27" end="28" type="uint" default="3" />
2705    <field name="Command Type" start="29" end="31" type="uint" default="3" />
2706    <field name="Depth Cache Flush Enable" start="32" end="32" type="bool" />
2707    <field name="Stall At Pixel Scoreboard" start="33" end="33" type="bool" />
2708    <field name="State Cache Invalidation Enable" start="34" end="34" type="bool" />
2709    <field name="Constant Cache Invalidation Enable" start="35" end="35" type="bool" />
2710    <field name="VF Cache Invalidation Enable" start="36" end="36" type="bool" />
2711    <field name="DC Flush Enable" start="37" end="37" type="bool" />
2712    <field name="Pipe Control Flush Enable" start="39" end="39" type="bool" />
2713    <field name="Notify Enable" start="40" end="40" type="bool" />
2714    <field name="Indirect State Pointers Disable" start="41" end="41" type="bool" />
2715    <field name="Texture Cache Invalidation Enable" start="42" end="42" type="bool" />
2716    <field name="Instruction Cache Invalidate Enable" start="43" end="43" type="bool" />
2717    <field name="Render Target Cache Flush Enable" start="44" end="44" type="bool" />
2718    <field name="Depth Stall Enable" start="45" end="45" type="bool" />
2719    <field name="Post Sync Operation" start="46" end="47" type="uint">
2720      <value name="No Write" value="0" />
2721      <value name="Write Immediate Data" value="1" />
2722      <value name="Write PS Depth Count" value="2" />
2723      <value name="Write Timestamp" value="3" />
2724    </field>
2725    <field name="Generic Media State Clear" start="48" end="48" type="bool" />
2726    <field name="TLB Invalidate" start="50" end="50" type="bool" />
2727    <field name="Global Snapshot Count Reset" start="51" end="51" type="bool" />
2728    <field name="Command Streamer Stall Enable" start="52" end="52" type="bool" />
2729    <field name="Store Data Index" start="53" end="53" type="uint" />
2730    <field name="LRI Post Sync Operation" start="55" end="55" type="uint">
2731      <value name="No LRI Operation" value="0" />
2732      <value name="MMIO Write Immediate Data" value="1" />
2733    </field>
2734    <field name="Destination Address Type" start="56" end="56" type="uint" prefix="DAT">
2735      <value name="PPGTT" value="0" />
2736      <value name="GGTT" value="1" />
2737    </field>
2738    <field name="Address" start="66" end="111" type="address" />
2739    <field name="Immediate Data" start="128" end="191" type="uint" />
2740  </instruction>
2741  <instruction name="STATE_BASE_ADDRESS" bias="2" length="16" engine="render">
2742    <field name="DWord Length" start="0" end="7" type="uint" default="14" />
2743    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1" />
2744    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
2745    <field name="Command SubType" start="27" end="28" type="uint" default="0" />
2746    <field name="Command Type" start="29" end="31" type="uint" default="3" />
2747    <field name="General State Base Address Modify Enable" start="32" end="32" type="bool" />
2748    <field name="General State MOCS" start="36" end="42" type="uint" nonzero="true" />
2749    <field name="General State Base Address" start="44" end="95" type="address" />
2750    <field name="Stateless Data Port Access MOCS" start="112" end="118" type="uint" nonzero="true" />
2751    <field name="Surface State Base Address Modify Enable" start="128" end="128" type="bool" />
2752    <field name="Surface State MOCS" start="132" end="138" type="uint" nonzero="true" />
2753    <field name="Surface State Base Address" start="140" end="191" type="address" />
2754    <field name="Dynamic State Base Address Modify Enable" start="192" end="192" type="bool" />
2755    <field name="Dynamic State MOCS" start="196" end="202" type="uint" nonzero="true" />
2756    <field name="Dynamic State Base Address" start="204" end="255" type="address" />
2757    <field name="Indirect Object Base Address Modify Enable" start="256" end="256" type="bool" />
2758    <field name="Indirect Object MOCS" start="260" end="266" type="uint" nonzero="true" />
2759    <field name="Indirect Object Base Address" start="268" end="319" type="address" />
2760    <field name="Instruction Base Address Modify Enable" start="320" end="320" type="bool" />
2761    <field name="Instruction MOCS" start="324" end="330" type="uint" nonzero="true" />
2762    <field name="Instruction Base Address" start="332" end="383" type="address" />
2763    <field name="General State Buffer Size Modify Enable" start="384" end="384" type="bool" />
2764    <field name="General State Buffer Size" start="396" end="415" type="uint" />
2765    <field name="Dynamic State Buffer Size Modify Enable" start="416" end="416" type="bool" />
2766    <field name="Dynamic State Buffer Size" start="428" end="447" type="uint" />
2767    <field name="Indirect Object Buffer Size Modify Enable" start="448" end="448" type="bool" />
2768    <field name="Indirect Object Buffer Size" start="460" end="479" type="uint" />
2769    <field name="Instruction Buffer size Modify Enable" start="480" end="480" type="bool" />
2770    <field name="Instruction Buffer Size" start="492" end="511" type="uint" />
2771  </instruction>
2772  <instruction name="STATE_SIP" bias="2" length="3" engine="render">
2773    <field name="DWord Length" start="0" end="7" type="uint" default="1" />
2774    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="2" />
2775    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
2776    <field name="Command SubType" start="27" end="28" type="uint" default="0" />
2777    <field name="Command Type" start="29" end="31" type="uint" default="3" />
2778    <field name="System Instruction Pointer" start="36" end="95" type="offset" />
2779  </instruction>
2780  <instruction name="SWTESS_BASE_ADDRESS" bias="2" length="2" engine="render">
2781    <field name="DWord Length" start="0" end="7" type="uint" default="0" />
2782    <field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="3" />
2783    <field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
2784    <field name="Command SubType" start="27" end="28" type="uint" default="0" />
2785    <field name="Command Type" start="29" end="31" type="uint" default="3" />
2786    <field name="SW Tessellation MOCS" start="40" end="43" type="uint" nonzero="true" />
2787    <field name="SW Tessellation Base Address" start="44" end="79" type="address" />
2788  </instruction>
2789  <register name="ACTHD_UDW" length="1" num="0x205c">
2790    <field name="Head Pointer Upper DWORD" start="0" end="15" type="uint" default="0" />
2791  </register>
2792  <register name="BCS_ACTHD_UDW" length="1" num="0x2205c">
2793    <field name="Head Pointer Upper DWORD" start="0" end="15" type="uint" default="0" />
2794  </register>
2795  <register name="CACHE_MODE_1" length="1" num="0x7004">
2796    <field name="RCZ Read after expansion control fix 2" start="2" end="2" type="bool" />
2797    <field name="Depth Read Hit Write-Only Optimization Disable" start="3" end="3" type="bool" />
2798    <field name="MCS Cache Disable" start="5" end="5" type="bool" />
2799    <field name="4X4 RCPFE-STC Optimization Disable" start="6" end="6" type="bool" />
2800    <field name="Sampler Cache Set XOR selection" start="7" end="8" type="uint" />
2801    <field name="NP PMA Fix Enable" start="11" end="11" type="uint" />
2802    <field name="HIZ Eviction Policy" start="12" end="12" type="uint" />
2803    <field name="NP Early Z Fails Disable" start="13" end="13" type="uint" />
2804    <field name="MSC Resolve Optimization Disable" start="14" end="14" type="uint" />
2805    <field name="RCZ Read after expansion control fix 2 Mask" start="18" end="18" type="bool" />
2806    <field name="Depth Read Hit Write-Only Optimization Disable Mask" start="19" end="19" type="bool" />
2807    <field name="MCS Cache Disable Mask" start="21" end="21" type="bool" />
2808    <field name="4X4 RCPFE-STC Optimization Disable Mask" start="22" end="22" type="bool" />
2809    <field name="Sampler Cache Set XOR selection Mask" start="23" end="24" type="uint" />
2810    <field name="NP PMA Fix Enable Mask" start="27" end="27" type="uint" />
2811    <field name="HIZ Eviction Policy Mask" start="28" end="28" type="uint" />
2812    <field name="NP Early Z Fails Disable Mask" start="29" end="29" type="uint" />
2813    <field name="MSC Resolve Optimization Disable Mask" start="30" end="30" type="uint" />
2814  </register>
2815  <register name="FAULT_REG" length="1" num="0x4094">
2816    <field name="Valid Bit" start="0" end="0" type="bool" />
2817    <field name="Fault Type" start="1" end="2" type="uint">
2818      <value name="Invalid PTE Fault" value="0" />
2819      <value name="Invalid PDE Fault" value="1" />
2820      <value name="Invalid PDPE Fault" value="2" />
2821      <value name="Invalid PML4E Fault" value="3" />
2822    </field>
2823    <field name="SRCID of Fault" start="3" end="10" type="uint" />
2824    <field name="GTTSEL" start="11" end="11" type="uint">
2825      <value name="PPGTT" value="0" />
2826      <value name="GGTT" value="1" />
2827    </field>
2828    <field name="Engine ID" start="12" end="14" type="uint">
2829      <value name="GFX" value="0" />
2830      <value name="MFX0" value="1" />
2831      <value name="MFX1" value="2" />
2832      <value name="VEBX" value="3" />
2833      <value name="BLT" value="4" />
2834      <value name="GUC" value="5" />
2835    </field>
2836  </register>
2837  <register name="GFX_ARB_ERROR_RPT" length="1" num="0x40a0">
2838    <field name="TLB Page Fault Error" start="0" end="0" type="bool" />
2839    <field name="RSTRM PAVP Read Invalid" start="1" end="1" type="bool" />
2840    <field name="Invalid Page Directory Entry Error" start="2" end="2" type="bool" />
2841    <field name="ROSTRM PAVP Invalid Physical Address" start="3" end="3" type="bool" />
2842    <field name="TLB Page VTD Translation Error" start="4" end="4" type="bool" />
2843    <field name="WRDP PAVP Invalid" start="5" end="5" type="bool" />
2844    <field name="Page Directory Entry VTD Translation Error" start="6" end="6" type="bool" />
2845    <field name="Unloaded PD Error" start="8" end="8" type="bool" />
2846    <field name="GuC VTd translation Page Fault 2nd level (Undefined doorbell)" start="9" end="9" type="bool" />
2847    <field name="Non WB memory type for Advanced Context" start="10" end="10" type="bool" />
2848    <field name="PASID Not Enabled" start="11" end="11" type="bool" />
2849    <field name="PASID Boundary Violation" start="12" end="12" type="bool" />
2850    <field name="PASID Not Valid" start="13" end="13" type="bool" />
2851    <field name="PASID Was Zero For Untranslated Request" start="14" end="14" type="bool" />
2852    <field name="Context Was Not Marked As Present When Doing DMA" start="15" end="15" type="bool" />
2853  </register>
2854  <register name="L3CNTLREG" length="1" num="0x7034">
2855    <field name="SLM Enable" start="0" end="0" type="bool" />
2856    <field name="URB Allocation" start="1" end="7" type="uint" />
2857    <field name="RO Allocation" start="11" end="17" type="uint" />
2858    <field name="DC Allocation" start="18" end="24" type="uint" />
2859    <field name="All Allocation" start="25" end="31" type="uint" />
2860  </register>
2861  <register name="RCS_RING_BUFFER_CTL" length="1" num="0x203c">
2862    <field name="Ring Buffer Enable" start="0" end="0" type="bool" />
2863    <field name="Automatic Report Head Pointer" start="1" end="2" type="uint">
2864      <value name="MI_AUTOREPORT_OFF" value="0" />
2865      <value name="MI_AUTOREPORT_64KB" value="1" />
2866      <value name="MI_AUTOREPORT_4KB" value="2" />
2867      <value name="MI_AUTOREPORT_128KB" value="3" />
2868    </field>
2869    <field name="Semaphore Wait" start="10" end="10" type="bool" />
2870    <field name="RBWait" start="11" end="11" type="bool" />
2871    <field name="Buffer Length (in pages - 1)" start="12" end="20" type="uint" />
2872  </register>
2873  <register name="ROW_INSTDONE" length="1" num="0xe164">
2874    <field name="BC Done" start="0" end="0" type="bool" />
2875    <field name="PSD Done" start="1" end="1" type="bool" />
2876    <field name="DAPR Done" start="3" end="3" type="bool" />
2877    <field name="TDL Done" start="6" end="6" type="bool" />
2878    <field name="IC Done" start="12" end="12" type="bool" />
2879    <field name="MA0 Done" start="15" end="15" type="bool" />
2880    <field name="EU00 Done SS0" start="16" end="16" type="bool" />
2881    <field name="EU01 Done SS0" start="17" end="17" type="bool" />
2882    <field name="EU02 Done SS0" start="18" end="18" type="bool" />
2883    <field name="EU03 Done SS0" start="19" end="19" type="bool" />
2884    <field name="EU10 Done SS0" start="21" end="21" type="bool" />
2885    <field name="EU11 Done SS0" start="22" end="22" type="bool" />
2886    <field name="EU12 Done SS0" start="23" end="23" type="bool" />
2887    <field name="EU13 Done SS0" start="24" end="24" type="bool" />
2888    <field name="MA1 Done SS0" start="26" end="26" type="bool" />
2889  </register>
2890  <register name="SAMPLER_INSTDONE" length="1" num="0xe160">
2891    <field name="IME Done" start="0" end="0" type="bool" />
2892    <field name="PL0 Done" start="1" end="1" type="bool" />
2893    <field name="SO0 Done" start="2" end="2" type="bool" />
2894    <field name="DG0 Done" start="3" end="3" type="bool" />
2895    <field name="FT0 Done" start="4" end="4" type="bool" />
2896    <field name="DM0 Done" start="5" end="5" type="bool" />
2897    <field name="SC Done" start="6" end="6" type="bool" />
2898    <field name="FL0 Done" start="7" end="7" type="bool" />
2899    <field name="QC Done" start="8" end="8" type="bool" />
2900    <field name="SVSM Done" start="9" end="9" type="bool" />
2901    <field name="SI0 Done" start="10" end="10" type="bool" />
2902    <field name="MT0 Done" start="11" end="11" type="bool" />
2903    <field name="AVS Done" start="12" end="12" type="bool" />
2904    <field name="IEF Done" start="13" end="13" type="bool" />
2905    <field name="CRE Done" start="14" end="14" type="bool" />
2906    <field name="SVSM ARB3" start="15" end="15" type="bool" />
2907    <field name="SVSM ARB2" start="16" end="16" type="bool" />
2908    <field name="SVSM ARB1" start="17" end="17" type="bool" />
2909    <field name="SVSM Adapter" start="18" end="18" type="bool" />
2910    <field name="BDM Done" start="19" end="19" type="bool" />
2911  </register>
2912  <register name="SC_INSTDONE" length="1" num="0x7100">
2913    <field name="SVL Done" start="0" end="0" type="bool" />
2914    <field name="WMFE Done" start="1" end="1" type="bool" />
2915    <field name="WMBE Done" start="2" end="2" type="bool" />
2916    <field name="HIZ Done" start="3" end="3" type="bool" />
2917    <field name="STC Done" start="4" end="4" type="bool" />
2918    <field name="IZ Done" start="5" end="5" type="bool" />
2919    <field name="SBE Done" start="6" end="6" type="bool" />
2920    <field name="RCZ Done" start="8" end="8" type="bool" />
2921    <field name="RCC Done" start="9" end="9" type="bool" />
2922    <field name="RCPBE Done" start="10" end="10" type="bool" />
2923    <field name="RCPFE Done" start="11" end="11" type="bool" />
2924    <field name="DAPB Done" start="12" end="12" type="bool" />
2925    <field name="DAPRBE Done" start="13" end="13" type="bool" />
2926    <field name="SARB Done" start="15" end="15" type="bool" />
2927    <field name="DC0 Done" start="16" end="16" type="bool" />
2928    <field name="DC1 Done" start="17" end="17" type="bool" />
2929    <field name="DC2 Done" start="18" end="18" type="bool" />
2930    <field name="GW0 Done" start="20" end="20" type="bool" />
2931    <field name="GW1 Done" start="21" end="21" type="bool" />
2932    <field name="GW2 Done" start="22" end="22" type="bool" />
2933    <field name="TDC Done" start="24" end="24" type="bool" />
2934  </register>
2935  <register name="VCS2_RING_BUFFER_CTL" length="1" num="0x1203c">
2936    <field name="Ring Buffer Enable" start="0" end="0" type="bool" />
2937    <field name="Automatic Report Head Pointer" start="1" end="2" type="uint">
2938      <value name="MI_AUTOREPORT_OFF" value="0" />
2939      <value name="MI_AUTOREPORT_64KB" value="1" />
2940      <value name="MI_AUTOREPORT_4KB" value="2" />
2941      <value name="MI_AUTOREPORT_128KB" value="3" />
2942    </field>
2943    <field name="Disable Register Accesses" start="8" end="8" type="bool" />
2944    <field name="Semaphore Wait" start="10" end="10" type="bool" />
2945    <field name="RBWait" start="11" end="11" type="bool" />
2946    <field name="Buffer Length (in pages - 1)" start="12" end="20" type="uint" />
2947  </register>
2948  <register name="VCS_ACTHD_UDW" length="1" num="0x1205c">
2949    <field name="Head Pointer Upper DWORD" start="0" end="15" type="uint" default="0" />
2950  </register>
2951  <register name="VCS_INSTDONE" length="1" num="0x1206c">
2952    <field name="Ring Enable" start="0" end="0" type="bool" />
2953    <field name="USB Done" start="1" end="1" type="bool" />
2954    <field name="QRC Done" start="2" end="2" type="bool" />
2955    <field name="SEC Done" start="3" end="3" type="bool" />
2956    <field name="MPC Done" start="4" end="4" type="bool" />
2957    <field name="VFT Done" start="5" end="5" type="bool" />
2958    <field name="BSP Done" start="6" end="6" type="bool" />
2959    <field name="VLF Done" start="7" end="7" type="bool" />
2960    <field name="VOP Done" start="8" end="8" type="bool" />
2961    <field name="VMC Done" start="9" end="9" type="bool" />
2962    <field name="VIP Done" start="10" end="10" type="bool" />
2963    <field name="VIT Done" start="11" end="11" type="bool" />
2964    <field name="VDS Done" start="12" end="12" type="bool" />
2965    <field name="VMX Done" start="13" end="13" type="bool" />
2966    <field name="VCP Done" start="14" end="14" type="bool" />
2967    <field name="VCD Done" start="15" end="15" type="bool" />
2968    <field name="VAD Done" start="16" end="16" type="bool" />
2969    <field name="VMD Done" start="17" end="17" type="bool" />
2970    <field name="VIS Done" start="18" end="18" type="bool" />
2971    <field name="VAC Done" start="19" end="19" type="bool" />
2972    <field name="VAM Done" start="20" end="20" type="bool" />
2973    <field name="JPG Done" start="21" end="21" type="bool" />
2974    <field name="VBP Done" start="22" end="22" type="bool" />
2975    <field name="VHR Done" start="23" end="23" type="bool" />
2976    <field name="VCI Done" start="24" end="24" type="bool" />
2977    <field name="VCR Done" start="25" end="25" type="bool" />
2978    <field name="VIN Done" start="26" end="26" type="bool" />
2979    <field name="VPR Done" start="27" end="27" type="bool" />
2980    <field name="VTQ Done" start="28" end="28" type="bool" />
2981    <field name="Reserved" start="29" end="29" type="bool" />
2982    <field name="VCS Done" start="30" end="30" type="bool" />
2983    <field name="GAC Done" start="31" end="31" type="bool" />
2984  </register>
2985  <register name="VECS_ACTHD_UDW" length="1" num="0x1a05c">
2986    <field name="Head Pointer Upper DWORD" start="0" end="15" type="uint" default="0" />
2987  </register>
2988  <register name="VECS_INSTDONE" length="1" num="0x1a06c">
2989    <field name="Ring Enable" start="0" end="0" type="bool" />
2990    <field name="VECS Done" start="30" end="30" type="bool" />
2991    <field name="GAM Done" start="31" end="31" type="bool" />
2992  </register>
2993</genxml>
2994