* [PATCH 1/3] lib/genxml: Import genxml definitions and generators from Mesa
2026-04-07 13:26 [PATCH 0/3] lib/genxml: Introduce Mesa genxml infrastructure to IGT Jan Maslak
@ 2026-04-07 13:26 ` Jan Maslak
2026-04-08 15:44 ` Kamil Konieczny
2026-04-07 13:26 ` [PATCH 2/3] lib/rendercopy: Convert rendercopy_gen9 to use genxml pack headers Jan Maslak
` (5 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Jan Maslak @ 2026-04-07 13:26 UTC (permalink / raw)
To: igt-dev; +Cc: zbigniew.kempczynski, Jan Maslak
Import the hardware command/state XML definitions, gen_pack_header.py, and
intel_genxml.py from Mesa (MIT-licensed, Mesa commit 3a62dc0218d3). Add a
new gen_decode_header.py written for IGT. The generators produce per-platform
*_pack.h and *_decode.h headers at build time into the build directory - no
generated files are committed to the source tree. Meson custom_target rules
build headers for gen9 through xe3p covering the render, blitter, and compute
engines.
gen_pack_header.py produces type-safe pack and emit functions for every
command, struct, and register in the XML. Callers fill a typed struct and
call the pack function; the generator handles all bit-field packing.
gen_decode_header.py (new, IGT-only) produces decoders that identify a command
from its opcode and print each decoded field's name and value. Also decodes
structs and registers embedded within commands.
IGT-specific changes to gen_pack_header.py over the upstream Mesa version:
- C90 compliance: block-scope each dword's local variable declarations in the
generated pack functions.
- Baseline deduplication: when a platform's layout exactly matches any older
generation, the item is omitted entirely - no #define aliases are emitted.
A comment names the oldest generation that first defined that layout so
the definition can be found in one grep. Upstream Mesa has no
deduplication; this keeps the generated headers free of noise as the
number of platform variants grows.
See individual file headers for per-file copyright notices.
Signed-off-by: Jan Maslak <jan.maslak@intel.com>
---
lib/genxml/gen110.xml | 3358 +++++++++++++++++++++++++
lib/genxml/gen120.xml | 2432 ++++++++++++++++++
lib/genxml/gen125.xml | 2628 +++++++++++++++++++
lib/genxml/gen40.xml | 1012 ++++++++
lib/genxml/gen45.xml | 507 ++++
lib/genxml/gen50.xml | 648 +++++
lib/genxml/gen60.xml | 2606 +++++++++++++++++++
lib/genxml/gen70.xml | 3067 ++++++++++++++++++++++
lib/genxml/gen75.xml | 2424 ++++++++++++++++++
lib/genxml/gen80.xml | 2993 ++++++++++++++++++++++
lib/genxml/gen90.xml | 4192 +++++++++++++++++++++++++++++++
| 487 ++++
| 799 ++++++
lib/genxml/igt_genxml.h | 112 +
lib/genxml/igt_genxml_decode.h | 60 +
lib/genxml/igt_genxml_defs.h | 335 +++
lib/genxml/intel_genxml.py | 553 ++++
lib/genxml/util.py | 39 +
lib/genxml/xe2.xml | 1969 +++++++++++++++
lib/genxml/xe3.xml | 816 ++++++
lib/genxml/xe3p.xml | 4 +
lib/meson.build | 65 +-
22 files changed, 31105 insertions(+), 1 deletion(-)
create mode 100644 lib/genxml/gen110.xml
create mode 100644 lib/genxml/gen120.xml
create mode 100644 lib/genxml/gen125.xml
create mode 100644 lib/genxml/gen40.xml
create mode 100644 lib/genxml/gen45.xml
create mode 100644 lib/genxml/gen50.xml
create mode 100644 lib/genxml/gen60.xml
create mode 100644 lib/genxml/gen70.xml
create mode 100644 lib/genxml/gen75.xml
create mode 100644 lib/genxml/gen80.xml
create mode 100644 lib/genxml/gen90.xml
create mode 100644 lib/genxml/gen_decode_header.py
create mode 100644 lib/genxml/gen_pack_header.py
create mode 100644 lib/genxml/igt_genxml.h
create mode 100644 lib/genxml/igt_genxml_decode.h
create mode 100644 lib/genxml/igt_genxml_defs.h
create mode 100644 lib/genxml/intel_genxml.py
create mode 100644 lib/genxml/util.py
create mode 100644 lib/genxml/xe2.xml
create mode 100644 lib/genxml/xe3.xml
create mode 100644 lib/genxml/xe3p.xml
diff --git a/lib/genxml/gen110.xml b/lib/genxml/gen110.xml
new file mode 100644
index 000000000..124f6af24
--- /dev/null
+++ b/lib/genxml/gen110.xml
@@ -0,0 +1,3358 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="ICL" gen="11">
+ <import name="gen90.xml">
+ <exclude name="ACTHD_UDW" />
+ <exclude name="BCS_ACTHD_UDW" />
+ <exclude name="BCS_RING_BUFFER_CTL" />
+ <exclude name="COMMON_SLICE_CHICKEN2" />
+ <exclude name="FAULT_REG" />
+ <exclude name="GFX_ARB_ERROR_RPT" />
+ <exclude name="GPGPU_CSR_BASE_ADDRESS" />
+ <exclude name="MFX_MPEG_TS_CONTROL command" />
+ <exclude name="MI_LOAD_URB_MEM" />
+ <exclude name="MI_STORE_URB_MEM" />
+ <exclude name="MI_URB_ATOMIC_ALLOC" />
+ <exclude name="RCS_RING_BUFFER_CTL" />
+ <exclude name="STATE_PREFETCH" />
+ <exclude name="VCS2_RING_BUFFER_CTL" />
+ <exclude name="VCS_ACTHD_UDW" />
+ <exclude name="VCS_RING_BUFFER_CTL" />
+ <exclude name="VECS_ACTHD_UDW" />
+ <exclude name="VECS_INSTDONE" />
+ <exclude name="VECS_RING_BUFFER_CTL" />
+ </import>
+ <enum name="Texture Coordinate Mode" prefix="TCM">
+ <value name="WRAP" value="0" />
+ <value name="MIRROR" value="1" />
+ <value name="CLAMP" value="2" />
+ <value name="CUBE" value="3" />
+ <value name="CLAMP_BORDER" value="4" />
+ <value name="MIRROR_ONCE" value="5" />
+ <value name="HALF_BORDER" value="6" />
+ <value name="MIRROR_101" value="7" />
+ </enum>
+ <struct name="CHROMA_FILTER_COEFFICIENTS_ARRAY" length="2">
+ <field name="Table 1X Filter Coefficient[[n],2]" dword="0" bits="7:0" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[[n],2]" dword="0" bits="15:8" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[[n],3]" dword="0" bits="23:16" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[[n],3]" dword="0" bits="31:24" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[[n],4]" dword="1" bits="7:0" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[[n],4]" dword="1" bits="15:8" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[[n],5]" dword="1" bits="23:16" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[[n],5]" dword="1" bits="31:24" type="s1.6" />
+ </struct>
+ <struct name="CLEAR_COLOR" length="8">
+ <field name="Raw Clear Color Red" dword="0" bits="31:0" type="int" />
+ <field name="Raw Clear Color Green" dword="1" bits="31:0" type="int" />
+ <field name="Raw Clear Color Blue" dword="2" bits="31:0" type="int" />
+ <field name="Raw Clear Color Alpha" dword="3" bits="31:0" type="int" />
+ <field name="Converted Clear Value Hi/Low" dword="4" bits="63:0" type="uint" />
+ </struct>
+ <struct name="HCP_TILE_POSITION_IN_CTB_MSB" length="2">
+ <group count="22" dword="0" size="2">
+ <field name="Ctb Row Position of Tile Column" dword="0" bits="1:0" type="uint" />
+ </group>
+ </struct>
+ <struct name="HCP_WEIGHTOFFSET_CHROMA_EXT_ENTRY" length="1">
+ <field name="Chroma Offset LX[0] MSByte [i]" dword="0" bits="7:0" type="uint" />
+ <field name="Chroma Offset LX[0] MSByte [i+1]" dword="0" bits="15:8" type="uint" />
+ <field name="Chroma Offset LX[1] MSByte [i]" dword="0" bits="23:16" type="uint" />
+ <field name="Chroma Offset LX[1] MSByte [i+1]" dword="0" bits="31:24" type="uint" />
+ </struct>
+ <struct name="HCP_WEIGHTOFFSET_LUMA_ENTRY" length="1">
+ <field name="Delta Luma Weight LX" dword="0" bits="7:0" type="uint" />
+ <field name="Luma Offset LX" dword="0" bits="15:8" type="uint" />
+ <field name="Luma Offset LX MSByte" dword="0" bits="31:24" type="uint" />
+ </struct>
+ <struct name="IMAGE_STATE_COST" length="2">
+ <field name="MV 0 Cost" dword="0" bits="7:0" type="uint" />
+ <field name="MV 1 Cost" dword="0" bits="15:8" type="uint" />
+ <field name="MV 2 Cost" dword="0" bits="23:16" type="uint" />
+ <field name="MV 3 Cost" dword="0" bits="31:24" type="uint" />
+ <field name="MV 4 Cost" dword="1" bits="7:0" type="uint" />
+ <field name="MV 5 Cost" dword="1" bits="15:8" type="uint" />
+ <field name="MV 6 Cost" dword="1" bits="23:16" type="uint" />
+ <field name="MV 7 Cost" dword="1" bits="31:24" type="uint" />
+ </struct>
+ <struct name="INLINE_DATA_DESCRIPTION_FOR_MFD_AVC_BSD_OBJECT" length="3">
+ <field name="MB Error Concealment P Slice Weight Prediction Disable" dword="0" bits="0:0" type="bool" />
+ <field name="MB Error Concealment P Slice Motion Vectors Override Disable" dword="0" bits="1:1" type="bool" />
+ <field name="MB Error Concealment B Spatial Weight Prediction Disable" dword="0" bits="3:3" type="bool" />
+ <field name="MB Error Concealment B Spatial Motion Vectors Override Disable" dword="0" bits="4:4" type="bool" />
+ <field name="MB Error Concealment B Spatial Prediction Mode" dword="0" bits="7:6" type="uint" />
+ <field name="MB Header Error Handling" dword="0" bits="8:8" type="bool" />
+ <field name="Entropy Error Handling" dword="0" bits="10:10" type="bool" />
+ <field name="MPR Error Handling" dword="0" bits="12:12" type="bool" />
+ <field name="BSD Premature Complete Error Handling" dword="0" bits="14:14" type="bool" />
+ <field name="Concealment Picture ID" dword="0" bits="21:16" type="uint" />
+ <field name="MB Error Concealment B Temporal Weight Prediction Disable" dword="0" bits="24:24" type="bool" />
+ <field name="MB Error Concealment B Temporal Motion Vectors Override Enable" dword="0" bits="25:25" type="bool" />
+ <field name="MB Error Concealment B Temporal Prediction Mode" dword="0" bits="28:27" type="uint" />
+ <field name="Intra PredMode (4x4/8x8 Luma) Error Control" dword="0" bits="29:29" type="bool" />
+ <field name="Init Current MB Number" dword="0" bits="30:30" type="bool" />
+ <field name="Concealment Method" dword="0" bits="31:31" type="uint" />
+ <field name="First MB Bit Offset" dword="1" bits="2:0" type="uint" />
+ <field name="Last Slice" dword="1" bits="3:3" type="bool" />
+ <field name="Emulation Prevention Byte Present" dword="1" bits="4:4" type="bool" />
+ <field name="Fix Prev MB Skipped" dword="1" bits="7:7" type="bool" />
+ <field name="First MB Byte Offset of Slice Data or Slice Header" dword="1" bits="31:16" type="uint" />
+ <field name="Intra Prediction Error Control" dword="2" bits="0:0" type="bool" />
+ <field name="Intra 8x8/4x4 Prediction Error Concealment Control" dword="2" bits="1:1" type="bool" />
+ <field name="B Slice Temporal Inter Concealment Mode" dword="2" bits="6:4" type="uint" />
+ <field name="B Slice Spatial Inter Concealment Mode" dword="2" bits="10:8" type="uint" />
+ <field name="B Slice Inter Direct Type Concealment Mode" dword="2" bits="13:12" type="uint" />
+ <field name="B Slice Concealment Mode" dword="2" bits="15:15" type="uint">
+ <value name="Intra Concealment" value="1" />
+ <value name="Inter Concealment" value="0" />
+ </field>
+ <field name="P Slice Inter Concealment Mode" dword="2" bits="18:16" type="uint" />
+ <field name="P Slice Concealment Mode" dword="2" bits="23:23" type="uint">
+ <value name="Intra Concealment" value="1" />
+ <value name="Inter Concealment" value="0" />
+ </field>
+ <field name="Concealment Reference Picture + Field Bit" dword="2" bits="29:24" type="uint" />
+ <field name="I Slice Concealment Mode" dword="2" bits="31:31" type="uint">
+ <value name="Intra Concealment" value="1" />
+ <value name="Inter Concealment" value="0" />
+ </field>
+ </struct>
+ <struct name="LUMA_FILTER_COEFFICIENTS_ARRAY" length="4">
+ <field name="Table 0X Filter Coefficient[[n],0]" dword="0" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],0]" dword="0" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],1]" dword="0" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],1]" dword="0" bits="31:24" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],2]" dword="1" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],2]" dword="1" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],3]" dword="1" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],3]" dword="1" bits="31:24" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],4]" dword="2" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],4]" dword="2" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],5]" dword="2" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],5]" dword="2" bits="31:24" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],6]" dword="3" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],6]" dword="3" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],7]" dword="3" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],7]" dword="3" bits="31:24" type="s1.6" />
+ </struct>
+ <struct name="RENDER_SURFACE_STATE" length="16">
+ <field name="Cube Face Enable - Positive Z" dword="0" bits="0:0" type="bool" />
+ <field name="Cube Face Enable - Negative Z" dword="0" bits="1:1" type="bool" />
+ <field name="Cube Face Enable - Positive Y" dword="0" bits="2:2" type="bool" />
+ <field name="Cube Face Enable - Negative Y" dword="0" bits="3:3" type="bool" />
+ <field name="Cube Face Enable - Positive X" dword="0" bits="4:4" type="bool" />
+ <field name="Cube Face Enable - Negative X" dword="0" bits="5:5" type="bool" />
+ <field name="Media Boundary Pixel Mode" dword="0" bits="7:6" type="uint">
+ <value name="NORMAL_MODE" value="0" />
+ <value name="PROGRESSIVE_FRAME" value="2" />
+ <value name="INTERLACED_FRAME" value="3" />
+ </field>
+ <field name="Render Cache Read Write Mode" dword="0" bits="8:8" type="uint">
+ <value name="Write-Only Cache" value="0" />
+ <value name="Read-Write Cache" value="1" />
+ </field>
+ <field name="Sampler L2 Bypass Mode Disable" dword="0" bits="9:9" type="bool" />
+ <field name="Vertical Line Stride Offset" dword="0" bits="10:10" type="uint" />
+ <field name="Vertical Line Stride" dword="0" bits="11:11" type="uint" />
+ <field name="Tile Mode" dword="0" bits="13:12" type="uint">
+ <value name="LINEAR" value="0" />
+ <value name="WMAJOR" value="1" />
+ <value name="XMAJOR" value="2" />
+ <value name="YMAJOR" value="3" />
+ </field>
+ <field name="Surface Horizontal Alignment" dword="0" bits="15:14" type="uint">
+ <value name="HALIGN_4" value="1" />
+ <value name="HALIGN_8" value="2" />
+ <value name="HALIGN_16" value="3" />
+ </field>
+ <field name="Surface Vertical Alignment" dword="0" bits="17:16" type="uint">
+ <value name="VALIGN_4" value="1" />
+ <value name="VALIGN_8" value="2" />
+ <value name="VALIGN_16" value="3" />
+ </field>
+ <field name="Surface Format" dword="0" bits="27:18" type="uint" />
+ <field name="Surface Array" dword="0" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="0" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_BUFFER" value="4" />
+ <value name="SURFTYPE_STRBUF" value="5" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface QPitch" dword="1" bits="14:0" type="uint" />
+ <field name="Base Mip Level" dword="1" bits="23:19" type="u4.1" />
+ <field name="MOCS" dword="1" bits="30:24" type="uint" nonzero="true" />
+ <field name="Enable Unorm Path In Color Pipe" dword="1" bits="31:31" type="bool" />
+ <field name="Width" dword="2" bits="13:0" type="uint" />
+ <field name="Height" dword="2" bits="29:16" type="uint" />
+ <field name="Surface Pitch" dword="3" bits="17:0" type="uint" />
+ <field name="Tile Address Mapping Mode" dword="3" bits="20:20" type="uint">
+ <value name="Gfx9" value="0" />
+ <value name="Gfx10+" value="1" />
+ </field>
+ <field name="Depth" dword="3" bits="31:21" type="uint" />
+ <field name="Multisample Position Palette Index" dword="4" bits="2:0" type="uint" />
+ <field name="Number of Multisamples" dword="4" bits="5:3" type="uint">
+ <value name="MULTISAMPLECOUNT_1" value="0" />
+ <value name="MULTISAMPLECOUNT_2" value="1" />
+ <value name="MULTISAMPLECOUNT_4" value="2" />
+ <value name="MULTISAMPLECOUNT_8" value="3" />
+ <value name="MULTISAMPLECOUNT_16" value="4" />
+ </field>
+ <field name="Multisampled Surface Storage Format" dword="4" bits="6:6" type="uint">
+ <value name="MSFMT_MSS" value="0" />
+ <value name="MSFMT_DEPTH_STENCIL" value="1" />
+ </field>
+ <field name="Render Target View Extent" dword="4" bits="17:7" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="28:18" type="uint" />
+ <field name="Render Target And Sample Unorm Rotation" dword="4" bits="30:29" type="uint">
+ <value name="0DEG" value="0" />
+ <value name="90DEG" value="1" />
+ <value name="180DEG" value="2" />
+ <value name="270DEG" value="3" />
+ </field>
+ <field name="MIP Count / LOD" dword="5" bits="3:0" type="uint" />
+ <field name="Surface Min LOD" dword="5" bits="7:4" type="uint" />
+ <field name="Mip Tail Start LOD" dword="5" bits="11:8" type="uint" />
+ <field name="Coherency Type" dword="5" bits="14:14" type="uint">
+ <value name="GPU coherent" value="0" />
+ <value name="IA coherent" value="1" />
+ </field>
+ <field name="Tiled Resource Mode" dword="5" bits="19:18" type="uint">
+ <value name="NONE" value="0" />
+ <value name="4KB" value="1" />
+ <value name="64KB" value="2" />
+ <value name="TILEYF" value="1" />
+ <value name="TILEYS" value="2" />
+ </field>
+ <field name="EWA Disable For Cube" dword="5" bits="20:20" type="bool" />
+ <field name="Y Offset" dword="5" bits="23:21" type="uint" />
+ <field name="X Offset" dword="5" bits="31:25" type="uint" />
+ <field name="Auxiliary Surface Mode" dword="6" bits="2:0" type="uint">
+ <value name="AUX_NONE" value="0" />
+ <value name="AUX_CCS_D" value="1" />
+ <value name="AUX_APPEND" value="2" />
+ <value name="AUX_HIZ" value="3" />
+ <value name="AUX_CCS_E" value="5" />
+ </field>
+ <field name="Y Offset for U or UV Plane" dword="6" bits="13:0" type="uint" />
+ <field name="Auxiliary Surface Pitch" dword="6" bits="11:3" type="uint" />
+ <field name="Auxiliary Surface QPitch" dword="6" bits="30:16" type="uint" />
+ <field name="X Offset for U or UV Plane" dword="6" bits="29:16" type="uint" />
+ <field name="Separate UV Plane Enable" dword="6" bits="31:31" type="bool" />
+ <field name="Resource Min LOD" dword="7" bits="11:0" type="u4.8" />
+ <field name="Shader Channel Select Alpha" dword="7" bits="18:16" type="Shader Channel Select" />
+ <field name="Shader Channel Select Blue" dword="7" bits="21:19" type="Shader Channel Select" />
+ <field name="Shader Channel Select Green" dword="7" bits="24:22" type="Shader Channel Select" />
+ <field name="Shader Channel Select Red" dword="7" bits="27:25" type="Shader Channel Select" />
+ <field name="Memory Compression Enable" dword="7" bits="30:30" type="bool" />
+ <field name="Memory Compression Mode" dword="7" bits="31:31" type="uint">
+ <value name="Horizontal" value="0" />
+ <value name="Vertical" value="1" />
+ </field>
+ <field name="Surface Base Address" dword="8" bits="63:0" type="address" />
+ <field name="Quilt Width" dword="10" bits="4:0" type="uint" />
+ <field name="Quilt Height" dword="10" bits="9:5" type="uint" />
+ <field name="Clear Value Address Enable" dword="10" bits="10:10" type="bool" />
+ <field name="Auxiliary Surface Base Address" dword="10" bits="63:12" type="address" />
+ <field name="Auxiliary Table Index for Media Compressed Surface" dword="10" bits="31:21" type="uint" />
+ <field name="Y Offset for V Plane" dword="11" bits="13:0" type="uint" />
+ <field name="X Offset for V Plane" dword="11" bits="29:16" type="uint" />
+ <field name="Red Clear Color" dword="12" bits="31:0" type="int" />
+ <field name="Clear Color Conversion Enable" dword="12" bits="5:5" type="uint" />
+ <field name="Clear Value Address" dword="12" bits="47:6" type="address" />
+ <field name="Green Clear Color" dword="13" bits="31:0" type="int" />
+ <field name="Blue Clear Color" dword="14" bits="31:0" type="int" />
+ <field name="Alpha Clear Color" dword="15" bits="31:0" type="int" />
+ </struct>
+ <struct name="SAMPLER_INDIRECT_STATE_BORDER_COLOR" length="4">
+ <field name="Border Color Red As S31" dword="0" bits="31:0" type="int" />
+ <field name="Border Color Red As U32" dword="0" bits="31:0" type="uint" />
+ <field name="Border Color Red As Float" dword="0" bits="31:0" type="float" />
+ <field name="Border Color Red As U8" dword="0" bits="7:0" type="uint" />
+ <field name="Border Color Green As U8" dword="0" bits="15:8" type="uint" />
+ <field name="Border Color Blue As U8" dword="0" bits="23:16" type="uint" />
+ <field name="Border Color Alpha As U8" dword="0" bits="31:24" type="uint" />
+ <field name="Border Color Green As S31" dword="1" bits="31:0" type="int" />
+ <field name="Border Color Green As U32" dword="1" bits="31:0" type="uint" />
+ <field name="Border Color Green As Float" dword="1" bits="31:0" type="float" />
+ <field name="Border Color Blue As S31" dword="2" bits="31:0" type="int" />
+ <field name="Border Color Blue As U32" dword="2" bits="31:0" type="uint" />
+ <field name="Border Color Blue As Float" dword="2" bits="31:0" type="float" />
+ <field name="Border Color Alpha As S31" dword="3" bits="31:0" type="int" />
+ <field name="Border Color Alpha As U32" dword="3" bits="31:0" type="uint" />
+ <field name="Border Color Alpha As Float" dword="3" bits="31:0" type="float" />
+ </struct>
+ <struct name="SAMPLER_STATE" length="4">
+ <field name="Anisotropic Algorithm" dword="0" bits="0:0" type="uint">
+ <value name="LEGACY" value="0" />
+ <value name="EWA Approximation" value="1" />
+ </field>
+ <field name="Texture LOD Bias" dword="0" bits="13:1" type="s4.8" />
+ <field name="Min Mode Filter" dword="0" bits="16:14" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mag Mode Filter" dword="0" bits="19:17" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mip Mode Filter" dword="0" bits="21:20" type="uint" prefix="MIPFILTER">
+ <value name="NONE" value="0" />
+ <value name="NEAREST" value="1" />
+ <value name="LINEAR" value="3" />
+ </field>
+ <field name="Coarse LOD Quality Mode" dword="0" bits="26:22" type="uint" />
+ <field name="LOD PreClamp Mode" dword="0" bits="28:27" type="uint" prefix="CLAMP_MODE">
+ <value name="NONE" value="0" />
+ <value name="OGL" value="2" />
+ </field>
+ <field name="Texture Border Color Mode" dword="0" bits="29:29" type="uint">
+ <value name="DX10/OGL" value="0" />
+ <value name="DX9" value="1" />
+ </field>
+ <field name="CPS LOD Compensation Enable" dword="0" bits="30:30" type="bool" />
+ <field name="Sampler Disable" dword="0" bits="31:31" type="bool" />
+ <field name="Cube Surface Control Mode" dword="1" bits="0:0" type="uint">
+ <value name="PROGRAMMED" value="0" />
+ <value name="OVERRIDE" value="1" />
+ </field>
+ <field name="Shadow Function" dword="1" bits="3:1" type="uint" prefix="PREFILTEROP">
+ <value name="ALWAYS" value="0" />
+ <value name="NEVER" value="1" />
+ <value name="LESS" value="2" />
+ <value name="EQUAL" value="3" />
+ <value name="LEQUAL" value="4" />
+ <value name="GREATER" value="5" />
+ <value name="NOTEQUAL" value="6" />
+ <value name="GEQUAL" value="7" />
+ </field>
+ <field name="ChromaKey Mode" dword="1" bits="4:4" type="uint">
+ <value name="KEYFILTER_KILL_ON_ANY_MATCH" value="0" />
+ <value name="KEYFILTER_REPLACE_BLACK" value="1" />
+ </field>
+ <field name="ChromaKey Index" dword="1" bits="6:5" type="uint" />
+ <field name="ChromaKey Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Max LOD" dword="1" bits="19:8" type="u4.8" />
+ <field name="Min LOD" dword="1" bits="31:20" type="u4.8" />
+ <field name="LOD Clamp Magnification Mode" dword="2" bits="0:0" type="uint">
+ <value name="MIPNONE" value="0" />
+ <value name="MIPFILTER" value="1" />
+ </field>
+ <field name="SRGB DECODE" dword="2" bits="1:1" type="uint">
+ <value name="DECODE_EXT" value="0" />
+ <value name="SKIP_DECODE_EXT" value="1" />
+ </field>
+ <field name="Return Filter Weight for Null Texels" dword="2" bits="2:2" type="uint" />
+ <field name="Return Filter Weight for Border Texels" dword="2" bits="3:3" type="uint" />
+ <field name="Force gather4 Behavior" dword="2" bits="5:5" type="bool" />
+ <field name="Border Color Pointer" dword="2" bits="23:6" type="offset" />
+ <field name="TCZ Address Control Mode" dword="3" bits="2:0" type="Texture Coordinate Mode" />
+ <field name="TCY Address Control Mode" dword="3" bits="5:3" type="Texture Coordinate Mode" />
+ <field name="TCX Address Control Mode" dword="3" bits="8:6" type="Texture Coordinate Mode" />
+ <field name="Reduction Type Enable" dword="3" bits="9:9" type="bool" />
+ <field name="Non-normalized Coordinate Enable" dword="3" bits="10:10" type="bool" />
+ <field name="Trilinear Filter Quality" dword="3" bits="12:11" type="uint">
+ <value name="FULL" value="0" />
+ <value name="HIGH" value="1" />
+ <value name="MED" value="2" />
+ <value name="LOW" value="3" />
+ </field>
+ <field name="R Address Min Filter Rounding Enable" dword="3" bits="13:13" type="bool" />
+ <field name="R Address Mag Filter Rounding Enable" dword="3" bits="14:14" type="bool" />
+ <field name="V Address Min Filter Rounding Enable" dword="3" bits="15:15" type="bool" />
+ <field name="V Address Mag Filter Rounding Enable" dword="3" bits="16:16" type="bool" />
+ <field name="U Address Min Filter Rounding Enable" dword="3" bits="17:17" type="bool" />
+ <field name="U Address Mag Filter Rounding Enable" dword="3" bits="18:18" type="bool" />
+ <field name="Maximum Anisotropy" dword="3" bits="21:19" type="uint">
+ <value name="RATIO 2:1" value="0" />
+ <value name="RATIO 4:1" value="1" />
+ <value name="RATIO 6:1" value="2" />
+ <value name="RATIO 8:1" value="3" />
+ <value name="RATIO 10:1" value="4" />
+ <value name="RATIO 12:1" value="5" />
+ <value name="RATIO 14:1" value="6" />
+ <value name="RATIO 16:1" value="7" />
+ </field>
+ <field name="Reduction Type" dword="3" bits="23:22" type="uint">
+ <value name="STD_FILTER" value="0" />
+ <value name="COMPARISON" value="1" />
+ <value name="MINIMUM" value="2" />
+ <value name="MAXIMUM" value="3" />
+ </field>
+ <field name="Allow Low Quality LOD Calculation" dword="3" bits="24:24" type="bool" />
+ </struct>
+ <struct name="SFC_AVS_CHROMA_COEFF_TABLE_BODY" length="64">
+ <field name="Table 1X Filter Coefficient[[n],2]" dword="0" bits="7:0" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[[n],2]" dword="0" bits="15:8" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[[n],3]" dword="0" bits="23:16" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[[n],3]" dword="0" bits="31:24" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[[n],4]" dword="1" bits="7:0" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[[n],4]" dword="1" bits="15:8" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[[n],5]" dword="1" bits="23:16" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[[n],5]" dword="1" bits="31:24" type="s1.6" />
+ <group count="31" dword="2" size="64">
+ <field name="Filter Coefficients" dword="0" bits="63:0" type="CHROMA_FILTER_COEFFICIENTS_ARRAY" />
+ </group>
+ </struct>
+ <struct name="SFC_AVS_LUMA_COEFF_TABLE_BODY" length="128">
+ <field name="Table 0X Filter Coefficient[[n],0]" dword="0" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],0]" dword="0" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],1]" dword="0" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],1]" dword="0" bits="31:24" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],2]" dword="1" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],2]" dword="1" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],3]" dword="1" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],3]" dword="1" bits="31:24" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],4]" dword="2" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],4]" dword="2" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],5]" dword="2" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],5]" dword="2" bits="31:24" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],6]" dword="3" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],6]" dword="3" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],7]" dword="3" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],7]" dword="3" bits="31:24" type="s1.6" />
+ <group count="31" dword="4" size="128">
+ <field name="Filter Coefficients" dword="0" bits="127:0" type="LUMA_FILTER_COEFFICIENTS_ARRAY" />
+ </group>
+ </struct>
+ <struct name="SFC_AVS_STATE_BODY" length="3">
+ <field name="Transition Area with 8 Pixels" dword="0" bits="2:0" type="uint" />
+ <field name="Transition Area with 4 Pixels" dword="0" bits="6:4" type="uint" />
+ <field name="Sharpness Level" dword="0" bits="31:24" type="uint" />
+ <field name="Max Derivative 8 Pixels" dword="1" bits="7:0" type="uint" />
+ <field name="Max Derivative 4 Pixels" dword="1" bits="23:16" type="uint" />
+ <field name="Input Vertical Siting" dword="2" bits="3:0" type="uint">
+ <value name="1/8" value="1" />
+ <value name="2/8" value="2" />
+ <value name="3/8" value="3" />
+ <value name="4/8" value="4" />
+ <value name="5/8" value="5" />
+ <value name="6/8" value="6" />
+ <value name="7/8" value="7" />
+ <value name="8/8" value="8" />
+ </field>
+ </struct>
+ <struct name="SLICE_HASH_TABLE" length="32">
+ <group count="16" dword="0" size="64">
+ <group count="16" dword="0" size="4">
+ <field name="Entry" dword="0" bits="3:0" type="uint" />
+ </group>
+ </group>
+ </struct>
+ <struct name="VDENC_SURFACE_STATE_FIELDS" length="4">
+ <field name="Cr(V)/Cb(U) Pixel Offset V Direction" dword="0" bits="1:0" type="u0.2" />
+ <field name="Surface Format Byte Swizzle" dword="0" bits="2:2" type="bool" />
+ <field name="Color space selection" dword="0" bits="3:3" type="uint" />
+ <field name="Width" dword="0" bits="17:4" type="uint" />
+ <field name="Height" dword="0" bits="31:18" type="uint" />
+ <field name="Tile Walk" dword="1" bits="0:0" type="uint" prefix="TW">
+ <value name="XMAJOR" value="0" />
+ <value name="YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="1" bits="1:1" type="uint" />
+ <field name="Half Pitch for Chroma" dword="1" bits="2:2" type="bool" />
+ <field name="Surface Pitch" dword="1" bits="19:3" type="uint" />
+ <field name="Chroma Downsample Filter Control" dword="1" bits="22:20" type="uint" />
+ <field name="Surface Format" dword="1" bits="31:27" type="uint" prefix="VDENC">
+ <value name="YUV 4:2:2" value="0" />
+ <value name="RGBA 4:4:4:4" value="1" />
+ <value name="YUV 4:4:4" value="2" />
+ <value name="Y8_UNORM" value="3" />
+ <value name="PLANAR_420_8" value="4" />
+ </field>
+ <field name="Y Offset for U(Cb)" dword="2" bits="14:0" type="uint" />
+ <field name="X Offset for U(Cb)" dword="2" bits="30:16" type="uint" />
+ <field name="Y Offset for V(Cr)" dword="3" bits="15:0" type="uint" />
+ <field name="X Offset for V(Cr)" dword="3" bits="28:16" type="uint" />
+ </struct>
+ <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="UAV Coherency Required" dword="0" bits="9:9" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Extended Parameters Present" dword="0" bits="11:11" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Primitive Topology Type" dword="1" bits="5:0" type="3D_Prim_Topo_Type" />
+ <field name="Vertex Access Type" dword="1" bits="8:8" type="uint">
+ <value name="SEQUENTIAL" value="0" />
+ <value name="RANDOM" value="1" />
+ </field>
+ <field name="End Offset Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Vertex Count Per Instance" dword="2" bits="31:0" type="uint" />
+ <field name="Start Vertex Location" dword="3" bits="31:0" type="uint" />
+ <field name="Instance Count" dword="4" bits="31:0" type="uint" />
+ <field name="Start Instance Location" dword="5" bits="31:0" type="uint" />
+ <field name="Base Vertex Location" dword="6" bits="31:0" type="int" />
+ </instruction>
+ <instruction name="3DPRIMITIVE_EXTENDED" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="UAV Coherency Required" dword="0" bits="9:9" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Extended Parameters Present" dword="0" bits="11:11" type="bool" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Primitive Topology Type" dword="1" bits="5:0" type="3D_Prim_Topo_Type" />
+ <field name="Vertex Access Type" dword="1" bits="8:8" type="uint">
+ <value name="SEQUENTIAL" value="0" />
+ <value name="RANDOM" value="1" />
+ </field>
+ <field name="End Offset Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Vertex Count Per Instance" dword="2" bits="31:0" type="uint" />
+ <field name="Start Vertex Location" dword="3" bits="31:0" type="uint" />
+ <field name="Instance Count" dword="4" bits="31:0" type="uint" />
+ <field name="Start Instance Location" dword="5" bits="31:0" type="uint" />
+ <field name="Base Vertex Location" dword="6" bits="31:0" type="int" />
+ <field name="Extended Parameter 0" dword="7" bits="31:0" type="uint" />
+ <field name="Extended Parameter 1" dword="8" bits="31:0" type="uint" />
+ <field name="Extended Parameter 2" dword="9" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_3D_MODE" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="30" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Cross Slice Hashing Mode" dword="1" bits="1:0" type="uint">
+ <value name="Normal Mode" value="0" />
+ <value name="Disable" value="1" />
+ <value name="hashing 32x32" value="3" />
+ </field>
+ <field name="Subslice Hashing Mode" dword="1" bits="3:2" type="uint">
+ <value name="hashing 8x8" value="0" />
+ <value name="hashing 16x4" value="1" />
+ <value name="hashing 8x4" value="2" />
+ <value name="hashing 16x16" value="3" />
+ </field>
+ <field name="Slice Hashing Table Enable" dword="1" bits="6:6" type="bool" />
+ <field name="Mask" dword="1" bits="31:16" type="mbo" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="MOCS" dword="0" bits="14:8" type="uint" nonzero="true" />
+ <field name="Disable Gather at Set Shader Hint" dword="0" bits="15:15" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="23" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="319:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CPS" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="34" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Min CP Size X" dword="1" bits="10:0" type="s3.7" />
+ <field name="Statistics Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Coarse Pixel Shading Mode" dword="1" bits="13:12" type="uint">
+ <value name="CPS_MODE_NONE" value="0" />
+ <value name="CPS_MODE_CONSTANT" value="1" />
+ <value name="CPS_MODE_RADIAL" value="2" />
+ </field>
+ <field name="Scale Axis" dword="1" bits="14:14" type="uint">
+ <value name="X axis" value="0" />
+ <value name="Y axis" value="1" />
+ </field>
+ <field name="Min CP Size Y" dword="1" bits="26:16" type="s3.7" />
+ <field name="Max CP Size X " dword="2" bits="10:0" type="s3.7" />
+ <field name="Max CP Size Y" dword="2" bits="26:16" type="s3.7" />
+ <field name="Y Focal" dword="3" bits="15:0" type="int" />
+ <field name="X Focal" dword="4" bits="15:0" type="int" />
+ <field name="M y" dword="5" bits="31:0" type="float" />
+ <field name="M x" dword="6" bits="31:0" type="float" />
+ <field name="R min" dword="7" bits="31:0" type="float" />
+ <field name="Aspect" dword="8" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_DS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="29" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="14:14" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="Patch URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Patch URB Entry Read Length" dword="6" bits="17:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="24:20" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Cache Disable" dword="7" bits="1:1" type="bool" />
+ <field name="Compute W Coordinate Enable" dword="7" bits="2:2" type="bool" />
+ <field name="Dispatch Mode" dword="7" bits="4:3" type="uint" prefix="DISPATCH_MODE">
+ <value name="SIMD8_SINGLE_PATCH" value="1" />
+ <value name="SIMD8_SINGLE_OR_DUAL_PATCH" value="2" />
+ </field>
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="7" bits="30:21" type="uint" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="8" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="8" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="8" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="8" bits="26:21" type="uint" />
+ <field name="DUAL_PATCH Kernel Start Pointer" dword="9" bits="63:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="17" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Expected Vertex Count" dword="3" bits="5:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="3" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Include Vertex Handles" dword="6" bits="10:10" type="bool" />
+ <field name="Vertex URB Entry Read Length" dword="6" bits="16:11" type="uint" />
+ <field name="Output Topology" dword="6" bits="22:17" type="3D_Prim_Topo_Type" />
+ <field name="Output Vertex Size" dword="6" bits="28:23" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data [5:4]" dword="6" bits="30:29" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Discard Adjacency" dword="7" bits="1:1" type="bool" />
+ <field name="Reorder Mode" dword="7" bits="2:2" type="uint">
+ <value name="LEADING" value="0" />
+ <value name="TRAILING" value="1" />
+ </field>
+ <field name="Hint" dword="7" bits="3:3" type="uint" />
+ <field name="Include Primitive ID" dword="7" bits="4:4" type="bool" />
+ <field name="Invocations Increment Value" dword="7" bits="9:5" type="uint" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Dispatch Mode" dword="7" bits="12:11" type="uint" prefix="DISPATCH_MODE">
+ <value name="SIMD8" value="3" />
+ </field>
+ <field name="Default Stream Id" dword="7" bits="14:13" type="uint" />
+ <field name="Instance Control" dword="7" bits="19:15" type="uint" />
+ <field name="Control Data Header Size" dword="7" bits="23:20" type="uint" />
+ <field name="Maximum Number of Threads" dword="8" bits="8:0" type="uint" />
+ <field name="Static Output Vertex Count" dword="8" bits="26:16" type="uint" />
+ <field name="Static Output" dword="8" bits="30:30" type="bool" />
+ <field name="Control Data Format" dword="8" bits="31:31" type="uint">
+ <value name="CUT" value="0" />
+ <value name="SID" value="1" />
+ </field>
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="9" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="9" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="9" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="9" bits="26:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_HS" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="27" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Software Exception Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="1" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="1" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Instance Count" dword="2" bits="3:0" type="uint" />
+ <field name="Maximum Number of Threads" dword="2" bits="16:8" type="uint" />
+ <field name="Statistics Enable" dword="2" bits="29:29" type="bool" />
+ <field name="Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Kernel Start Pointer" dword="3" bits="63:6" type="offset" />
+ <field name="Per-Thread Scratch Space" dword="5" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="5" bits="63:10" type="address" />
+ <field name="Include Primitive ID" dword="7" bits="0:0" type="bool" />
+ <field name="Vertex URB Entry Read Offset" dword="7" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="7" bits="16:11" type="uint" />
+ <field name="Dispatch Mode" dword="7" bits="18:17" type="uint" prefix="DISPATCH_MODE">
+ <value name="SINGLE_PATCH" value="0" />
+ <value name="8_PATCH" value="2" />
+ </field>
+ <field name="Dispatch GRF Start Register For URB Data" dword="7" bits="23:19" type="uint" />
+ <field name="Include Vertex Handles" dword="7" bits="24:24" type="bool" />
+ <field name="Accesses UAV" dword="7" bits="25:25" type="bool" />
+ <field name="Vector Mask Enable" dword="7" bits="26:26" type="bool" />
+ <field name="Single Program Flow" dword="7" bits="27:27" type="bool" />
+ <field name="Dispatch GRF Start Register For URB Data [5]" dword="7" bits="28:28" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="10" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="32" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer 0" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Rounding Mode" dword="3" bits="15:14" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Single Precision Denormal Mode" dword="3" bits="26:26" type="uint">
+ <value name="Flushed to Zero" value="0" />
+ <value name="Retained" value="1" />
+ </field>
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="3" bits="31:31" type="bool" />
+ <field name="Per Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="8 Pixel Dispatch Enable" dword="6" bits="0:0" type="bool" />
+ <field name="16 Pixel Dispatch Enable" dword="6" bits="1:1" type="bool" />
+ <field name="32 Pixel Dispatch Enable" dword="6" bits="2:2" type="bool" />
+ <field name="Position XY Offset Select" dword="6" bits="4:3" type="uint">
+ <value name="POSOFFSET_NONE" value="0" />
+ <value name="POSOFFSET_CENTROID" value="2" />
+ <value name="POSOFFSET_SAMPLE" value="3" />
+ </field>
+ <field name="Render Target Resolve Type" dword="6" bits="7:6" type="uint">
+ <value name="RESOLVE_DISABLED" value="0" />
+ <value name="RESOLVE_PARTIAL" value="1" />
+ <value name="FAST_CLEAR_0" value="2" />
+ <value name="RESOLVE_FULL" value="3" />
+ </field>
+ <field name="Render Target Fast Clear Enable" dword="6" bits="8:8" type="bool" />
+ <field name="Push Constant Enable" dword="6" bits="11:11" type="bool" />
+ <field name="Maximum Number of Threads Per PSD" dword="6" bits="31:23" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 2" dword="7" bits="6:0" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 1" dword="7" bits="14:8" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="7" bits="22:16" type="uint" />
+ <field name="Kernel Start Pointer 1" dword="8" bits="63:6" type="offset" />
+ <field name="Kernel Start Pointer 2" dword="10" bits="63:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="79" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Input Coverage Mask State" dword="1" bits="1:0" type="uint" prefix="ICMS">
+ <value name="NONE" value="0" />
+ <value name="NORMAL" value="1" />
+ <value name="INNER_CONSERVATIVE" value="2" />
+ <value name="DEPTH_COVERAGE" value="3" />
+ </field>
+ <field name="Pixel Shader Has UAV" dword="1" bits="2:2" type="bool" />
+ <field name="Pixel Shader Pulls Bary" dword="1" bits="3:3" type="bool" />
+ <field name="Pixel Shader Is Per Coarse Pixel" dword="1" bits="4:4" type="bool" />
+ <field name="Pixel Shader Computes Stencil" dword="1" bits="5:5" type="bool" />
+ <field name="Pixel Shader Is Per Sample" dword="1" bits="6:6" type="bool" />
+ <field name="Pixel Shader Disables Alpha To Coverage" dword="1" bits="7:7" type="bool" />
+ <field name="Attribute Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Simple PS Hint" dword="1" bits="9:9" type="bool" />
+ <field name="Pixel Shader Requires Subpixel Sample Offsets" dword="1" bits="18:18" type="bool" />
+ <field name="Pixel Shader Requires Non-Perspective Bary Plane Coefficients" dword="1" bits="19:19" type="bool" />
+ <field name="Pixel Shader Requires Perspective Bary Plane Coefficients" dword="1" bits="20:20" type="bool" />
+ <field name="Pixel Shader Requires Source Depth and/or W Plane Coefficients" dword="1" bits="21:21" type="bool" />
+ <field name="Pixel Shader Requires Requested Coarse Pixel Shading Size" dword="1" bits="22:22" type="bool" />
+ <field name="Pixel Shader Uses Source W" dword="1" bits="23:23" type="bool" />
+ <field name="Pixel Shader Uses Source Depth" dword="1" bits="24:24" type="bool" />
+ <field name="Force Computed Depth" dword="1" bits="25:25" type="bool" />
+ <field name="Pixel Shader Computed Depth Mode" dword="1" bits="27:26" type="uint">
+ <value name="PSCDEPTH_OFF" value="0" />
+ <value name="PSCDEPTH_ON" value="1" />
+ <value name="PSCDEPTH_ON_GE" value="2" />
+ <value name="PSCDEPTH_ON_LE" value="3" />
+ </field>
+ <field name="Pixel Shader Kills Pixel" dword="1" bits="28:28" type="bool" />
+ <field name="oMask Present to Render Target" dword="1" bits="29:29" type="bool" />
+ <field name="Pixel Shader Does not write to RT" dword="1" bits="30:30" type="mbz" />
+ <field name="Pixel Shader Valid" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_SLICE_TABLE_STATE_POINTERS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="32" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Slice Hash State Pointer Valid" dword="1" bits="0:0" type="bool" />
+ <field name="Slice Hash Table State Pointer" dword="1" bits="31:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_VF" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Indexed Draw Cut Index Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Component Packing Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Sequential Draw Cut Index Enable" dword="0" bits="10:10" type="bool" />
+ <field name="VertexID Offset Enable" dword="0" bits="11:11" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="12" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Cut Index" dword="1" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VF_SGVS_2" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="86" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="XP0 Element Offset" dword="1" bits="5:0" type="uint" />
+ <field name="XP0 Source Select" dword="1" bits="12:12" type="uint">
+ <value name="VERTEX_LOCATION" value="1" />
+ <value name="XP0_PARAMETER" value="0" />
+ </field>
+ <field name="XP0 Component Number" dword="1" bits="14:13" type="uint">
+ <value name="COMP_0" value="0" />
+ <value name="COMP_1" value="1" />
+ <value name="COMP_2" value="2" />
+ <value name="COMP_3" value="3" />
+ </field>
+ <field name="XP0 Enable" dword="1" bits="15:15" type="bool" />
+ <field name="XP1 Element Offset" dword="1" bits="21:16" type="uint" />
+ <field name="XP1 Source Select" dword="1" bits="28:28" type="uint">
+ <value name="Starting Instance Location" value="1" />
+ <value name="XP1_PARAMETER" value="0" />
+ </field>
+ <field name="XP1 Component Number" dword="1" bits="30:29" type="uint">
+ <value name="COMP_0" value="0" />
+ <value name="COMP_1" value="1" />
+ <value name="COMP_2" value="2" />
+ <value name="COMP_3" value="3" />
+ </field>
+ <field name="XP1 Enable" dword="1" bits="31:31" type="bool" />
+ <field name="XP2 Element Offset" dword="2" bits="5:0" type="uint" />
+ <field name="XP2 Component Number" dword="2" bits="14:13" type="uint">
+ <value name="COMP_0" value="0" />
+ <value name="COMP_1" value="1" />
+ <value name="COMP_2" value="2" />
+ <value name="COMP_3" value="3" />
+ </field>
+ <field name="XP2 Enable" dword="2" bits="15:15" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="16" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="Vertex URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="6" bits="16:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="24:20" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Vertex Cache Disable" dword="7" bits="1:1" type="bool" />
+ <field name="SIMD8 Dispatch Enable" dword="7" bits="2:2" type="bool" />
+ <field name="SIMD8 Single Instance Dispatch Enable" dword="7" bits="9:9" type="bool" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="7" bits="31:22" type="uint" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="8" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="8" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="8" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="8" bits="26:21" type="uint" />
+ </instruction>
+ <instruction name="HCP_IND_OBJ_BASE_ADDR_STATE" bias="2" length="29" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="27" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="3" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="HCP Indirect Bitstream Object - Base Address" dword="1" bits="63:0" type="address" />
+ <field name="HCP Indirect Bitstream Object - Memory Address Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP Indirect Bitstream Object - Access Upper Bound" dword="4" bits="63:0" type="address" />
+ <field name="HCP Indirect CU Object - Base Address" dword="6" bits="63:0" type="address" />
+ <field name="HCP Indirect CU Object - Memory Address Attributes" dword="8" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP PAK-BSE Object - Base Address" dword="9" bits="63:0" type="address" />
+ <field name="HCP PAK-BSE Object - Memory Address Attributes" dword="11" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP PAK-BSE Object - Access Upper Bound" dword="12" bits="63:0" type="address" />
+ <field name="HCP VP9 PAK Compressed Header Syntax Stream-In - Base Address" dword="14" bits="63:0" type="address" />
+ <field name="HCP VP9 PAK Compressed Header Syntax Stream-In - Memory Address Attributes" dword="16" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP VP9 PAK Probability Counter Stream-Out - Base Address" dword="17" bits="63:0" type="address" />
+ <field name="HCP VP9 PAK Probability Counter Stream-Out - Memory Address Attributes" dword="19" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP VP9 PAK Probability Deltas Stream-In - Base Address" dword="20" bits="63:0" type="address" />
+ <field name="HCP VP9 PAK Probability Deltas Stream-In - Memory Address Attributes" dword="22" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP VP9 PAK Tile Record Stream-Out - Base Address" dword="23" bits="63:0" type="address" />
+ <field name="HCP VP9 PAK Tile Record Stream-Out - Memory Address Attributes" dword="25" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP VP9 PAK CU Level Statistic Stream-Out - Base Address" dword="26" bits="63:0" type="address" />
+ <field name="HCP VP9 PAK CU Level Statistic Stream-Out - Memory Address Attributes" dword="28" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </instruction>
+ <instruction name="HCP_PAK_INSERT_OBJECT" bias="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="34" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="End of Slice" dword="1" bits="1:1" type="bool" />
+ <field name="Last Header" dword="1" bits="2:2" type="bool" />
+ <field name="Emulation Byte Bits Insert Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Skip Emulation Byte Count" dword="1" bits="7:4" type="uint" />
+ <field name="Data Bits In Last DW" dword="1" bits="13:8" type="uint" />
+ <field name="Slice Header Indicator" dword="1" bits="14:14" type="bool" />
+ <field name="Header Length Excluded From Size" dword="1" bits="15:15" type="uint">
+ <value name="ACCUMULATE" value="0" />
+ <value name="NO_ACCUMULATION" value="1" />
+ </field>
+ <field name="Data Byte Offset" dword="1" bits="17:16" type="uint" />
+ <field name="Indirect Payload Enable" dword="1" bits="31:31" type="bool" />
+ <group count="0" dword="2" size="128">
+ <field name="Indirect Payload" dword="0" bits="127:0" type="HCP_PAK_INSERT_OBJECT_INDIRECT_PAYLOAD" />
+ <field name="Inline PayLoad" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="HCP_PAK_OBJECT" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="33" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Split Level 2 Part 0" dword="1" bits="3:0" type="uint" />
+ <field name="Split Level 2 Part 1" dword="1" bits="7:4" type="uint" />
+ <field name="Split Level 2 Part 2" dword="1" bits="11:8" type="uint" />
+ <field name="Split Level 2 Part 3" dword="1" bits="15:12" type="uint" />
+ <field name="Split Level 1" dword="1" bits="19:16" type="uint" />
+ <field name="Split Level 0" dword="1" bits="20:20" type="uint" />
+ <field name="CU Count" dword="1" bits="29:24" type="uint" />
+ <field name="Last LCU of Tile" dword="1" bits="30:30" type="bool" />
+ <field name="Last LCU of Slice" dword="1" bits="31:31" type="bool" />
+ <field name="Current LCU X Address" dword="2" bits="15:0" type="uint" />
+ <field name="Current LCU Y Address" dword="2" bits="31:16" type="uint" />
+ <field name="Estimated LCU Size" dword="3" bits="31:0" type="uint" />
+ <field name="SSE ClassID 32x32_0" dword="4" bits="3:0" type="uint" />
+ <field name="SSE ClassID 32x32_1" dword="4" bits="7:4" type="uint" />
+ <field name="SSE ClassID 32x32_2" dword="4" bits="11:8" type="uint" />
+ <field name="SSE ClassID 32x32_3" dword="4" bits="15:12" type="uint" />
+ <field name="LCU Force Zero Coeff" dword="4" bits="16:16" type="bool" />
+ </instruction>
+ <instruction name="HCP_PIC_STATE" bias="2" length="38" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="36" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="16" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Width In Minimum Coding Block Size" dword="1" bits="10:0" type="uint" />
+ <field name="PAK Transform Skip Enable" dword="1" bits="15:15" type="bool" />
+ <field name="Frame Height In Minimum Coding Block Size" dword="1" bits="26:16" type="uint" />
+ <field name="Min CU Size" dword="2" bits="1:0" type="uint" prefix="LCU">
+ <value name="64x64" value="3" />
+ <value name="32x32" value="2" />
+ <value name="16x16" value="1" />
+ <value name="8x8" value="0" />
+ </field>
+ <field name="LCU Size" dword="2" bits="3:2" type="uint" prefix="LCU">
+ <value name="64x64" value="3" />
+ <value name="32x32" value="2" />
+ <value name="16x16" value="1" />
+ <value name="Illegal/reserved" value="0" />
+ </field>
+ <field name="Min TU Size" dword="2" bits="5:4" type="uint" prefix="TU">
+ <value name="32x32" value="3" />
+ <value name="16x16" value="2" />
+ <value name="8x8" value="1" />
+ <value name="4x4" value="0" />
+ </field>
+ <field name="Max TU Size" dword="2" bits="7:6" type="uint" prefix="TU">
+ <value name="32x32" value="3" />
+ <value name="16x16" value="2" />
+ <value name="8x8" value="1" />
+ <value name="4x4" value="0" />
+ </field>
+ <field name="Min PCM Size" dword="2" bits="9:8" type="uint" prefix="PCM">
+ <value name="32x32" value="2" />
+ <value name="16x16" value="1" />
+ <value name="8x8" value="0" />
+ </field>
+ <field name="Max PCM Size" dword="2" bits="11:10" type="uint" prefix="PCM">
+ <value name="32x32" value="2" />
+ <value name="16x16" value="1" />
+ <value name="8x8" value="0" />
+ </field>
+ <field name="Log2 SAO Offset Scale Luma" dword="2" bits="14:12" type="uint" />
+ <field name="Log2 SAO Offset Scale Chroma" dword="2" bits="18:16" type="uint" />
+ <field name="Chroma QP Offset List Length" dword="2" bits="22:20" type="uint" />
+ <field name="Diff CU Chroma QP Offset Depth" dword="2" bits="27:24" type="uint" />
+ <field name="Chroma QP Offset List Enable" dword="2" bits="28:28" type="bool" />
+ <field name="Chroma Subsampling" dword="2" bits="31:29" type="uint">
+ <value name="4:2:0" value="1" />
+ <value name="4:2:2" value="2" />
+ <value name="4:4:4" value="3" />
+ </field>
+ <field name="Collocated Picture Is I Slice" dword="3" bits="0:0" type="bool" />
+ <field name="Current Picture Is I Slice" dword="3" bits="1:1" type="bool" />
+ <field name="CABAC Zero Word Insertion Test Enable" dword="3" bits="2:2" type="bool" />
+ <field name="High Precision Offsets Enable" dword="3" bits="19:19" type="bool" />
+ <field name="Log2 Max Transform Skip Size" dword="3" bits="22:20" type="uint" />
+ <field name="Cross Component Prediction Enable" dword="3" bits="23:23" type="bool" />
+ <field name="CABAC Bypass Alignment Enable" dword="3" bits="24:24" type="bool" />
+ <field name="Persistent Rice Adaptation Enable" dword="3" bits="25:25" type="bool" />
+ <field name="Intra Smoothing Disable" dword="3" bits="26:26" type="bool" />
+ <field name="Explicit RDPCM Enable" dword="3" bits="27:27" type="bool" />
+ <field name="Implicit RDPCM Enable" dword="3" bits="28:28" type="bool" />
+ <field name="Transform Skip Context Enable" dword="3" bits="29:29" type="bool" />
+ <field name="Transform Skip Rotation Enable" dword="3" bits="30:30" type="bool" />
+ <field name="SPS Range Extension Enable" dword="3" bits="31:31" type="bool" />
+ <field name="Sample Adaptive Offset Enable" dword="4" bits="3:3" type="bool" />
+ <field name="PCM Enable" dword="4" bits="4:4" type="bool" />
+ <field name="CU QP Delta Enable" dword="4" bits="5:5" type="bool" />
+ <field name="Max DQP Depth" dword="4" bits="7:6" type="uint" />
+ <field name="PCM Loop Filter Disable" dword="4" bits="8:8" type="bool" />
+ <field name="Constrained Intra Prediction" dword="4" bits="9:9" type="bool" />
+ <field name="Log2 Parallel Merge Level" dword="4" bits="12:10" type="uint" />
+ <field name="Sign Data Hiding" dword="4" bits="13:13" type="bool" />
+ <field name="Loop Filter Enable" dword="4" bits="15:15" type="bool" />
+ <field name="Entropy Coding Sync Enable" dword="4" bits="16:16" type="bool" />
+ <field name="Tiling Enable" dword="4" bits="17:17" type="bool" />
+ <field name="Weighted BiPredication Enable" dword="4" bits="18:18" type="bool" />
+ <field name="Weighted Predication Enable" dword="4" bits="19:19" type="bool" />
+ <field name="Field Pic" dword="4" bits="20:20" type="bool" />
+ <field name="Top Field" dword="4" bits="21:21" type="bool" />
+ <field name="Transform Skip Enable" dword="4" bits="22:22" type="bool" />
+ <field name="AMP Enable" dword="4" bits="23:23" type="bool" />
+ <field name="Transquant Bypass Enable" dword="4" bits="25:25" type="bool" />
+ <field name="Strong Intra Smoothing Enable" dword="4" bits="26:26" type="bool" />
+ <field name="CU Packet Structure" dword="4" bits="27:27" type="uint">
+ <value name="VME" value="0" />
+ <value name="ExtEnc" value="1" />
+ </field>
+ <field name="Picture Cb QP Offset" dword="5" bits="4:0" type="int" />
+ <field name="Picture Cr QP Offset" dword="5" bits="9:5" type="int" />
+ <field name="Intra Max Transform Hierarchy Depth" dword="5" bits="12:10" type="uint" />
+ <field name="Inter Max Transform Hierarchy Depth" dword="5" bits="15:13" type="uint" />
+ <field name="Chroma PCM Sample Bit Depth" dword="5" bits="19:16" type="uint" />
+ <field name="Luma PCM Sample Bit Depth" dword="5" bits="23:20" type="uint" />
+ <field name="Chroma Bit Depth" dword="5" bits="26:24" type="uint">
+ <value name="8-bit" value="0" />
+ <value name="9-bit" value="1" />
+ <value name="10-bit" value="2" />
+ <value name="11-bit" value="3" />
+ <value name="12-bit" value="4" />
+ </field>
+ <field name="Luma Bit Depth" dword="5" bits="29:27" type="uint">
+ <value name="8-bit" value="0" />
+ <value name="9-bit" value="1" />
+ <value name="10-bit" value="2" />
+ <value name="11-bit" value="3" />
+ <value name="12-bit" value="4" />
+ </field>
+ <field name="LCU Max Bit Size Allowed" dword="6" bits="15:0" type="uint" />
+ <field name="Non First Pass" dword="6" bits="16:16" type="bool" />
+ <field name="LCU Max Size Report" dword="6" bits="24:24" type="bool" />
+ <field name="Frame Bitrate Max Report" dword="6" bits="25:25" type="bool" />
+ <field name="Frame Bitrate Min Report" dword="6" bits="26:26" type="bool" />
+ <field name="Load Bitstream Pointer Per Slice" dword="6" bits="29:29" type="bool" />
+ <field name="Frame Bitrate Max" dword="7" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Max Unit" dword="7" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min" dword="8" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit" dword="8" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="9" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="9" bits="30:16" type="uint" />
+ <field name="Frame Delta QP Max" dword="10" bits="63:0" type="FRAMEDELTAQP" />
+ <field name="Frame Delta QP Min" dword="12" bits="63:0" type="FRAMEDELTAQP" />
+ <field name="Frame Delta QP Max Range" dword="14" bits="63:0" type="FRAMEDELTAQPRANGE" />
+ <field name="Frame Delta QP Min Range" dword="16" bits="63:0" type="FRAMEDELTAQPRANGE" />
+ <field name="Minimum Frame Size" dword="18" bits="15:0" type="uint" />
+ <field name="Minimum Frame Size Units" dword="18" bits="31:30" type="uint" prefix="HCP_MFSU">
+ <value name="4Kb" value="0" />
+ <value name="16Kb" value="1" />
+ <value name="Compatibility mode" value="2" />
+ <value name="16 bytes" value="3" />
+ </field>
+ <field name="Fractional QP Input" dword="19" bits="2:0" type="uint" />
+ <field name="Fractional QP Offset" dword="19" bits="5:3" type="uint" />
+ <field name="Rho Domain Rate Control Enable" dword="19" bits="6:6" type="bool" />
+ <field name="Fractional QP Adjustment Enable" dword="19" bits="7:7" type="bool" />
+ <field name="Rho Domain Frame Level QP" dword="19" bits="13:8" type="uint" />
+ <field name="PAK Dynamic Slice Mode Enable" dword="19" bits="14:14" type="bool" />
+ <field name="No Output of Prior Pics" dword="19" bits="15:15" type="bool" />
+ <field name="First Slice Segment In Pic" dword="19" bits="16:16" type="bool" />
+ <field name="Nal Unit Type" dword="19" bits="17:17" type="uint" />
+ <field name="Slice_pic_parameter_set_id" dword="19" bits="23:18" type="uint" />
+ <field name="SSE Enable" dword="19" bits="24:24" type="bool" />
+ <field name="RDOQ Enable" dword="19" bits="25:25" type="bool" />
+ <field name="Number of LCUs InNormal Slice Size Conformance Mode" dword="19" bits="27:26" type="uint" />
+ <field name="Intra TU Count Based RDOQ Disable" dword="20" bits="6:6" type="bool" />
+ <field name="Slice Size Threshold" dword="21" bits="31:0" type="uint" />
+ <field name="Target Slice Size" dword="22" bits="31:0" type="uint" />
+ <field name="Class0_SSE_Threshold0" dword="23" bits="15:0" type="uint" />
+ <field name="Class0_SSE_Threshold1" dword="23" bits="31:16" type="uint" />
+ <field name="SSE Thresholds for Class1-8" dword="24" bits="255:0" type="uint" />
+ <field name="Cb QP Offset List[0]" dword="32" bits="4:0" type="int" />
+ <field name="Cb QP Offset List[1]" dword="32" bits="9:5" type="int" />
+ <field name="Cb QP Offset List[2]" dword="32" bits="14:10" type="int" />
+ <field name="Cb QP Offset List[3]" dword="32" bits="19:15" type="int" />
+ <field name="Cb QP Offset List[4]" dword="32" bits="24:20" type="int" />
+ <field name="Cb QP Offset List[5]" dword="32" bits="29:25" type="int" />
+ <field name="Cr QP Offset List[0]" dword="33" bits="4:0" type="int" />
+ <field name="Cr QP Offset List[1]" dword="33" bits="9:5" type="int" />
+ <field name="Cr QP Offset List[2]" dword="33" bits="14:10" type="int" />
+ <field name="Cr QP Offset List[3]" dword="33" bits="19:15" type="int" />
+ <field name="Cr QP Offset List[4]" dword="33" bits="24:20" type="int" />
+ <field name="Cr QP Offset List[5]" dword="33" bits="29:25" type="int" />
+ <field name="RDOQ Intra TU Threshold" dword="37" bits="15:0" type="uint" />
+ </instruction>
+ <instruction name="HCP_PIPE_BUF_ADDR_STATE" bias="2" length="121" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="119" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Decoded Picture - Address" dword="1" bits="63:0" type="address" />
+ <field name="Decoded Picture - Memory Address Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocking Filter Line Buffer - Address" dword="4" bits="63:0" type="address" />
+ <field name="Deblocking Filter Line Buffer - Memory Address Attributes" dword="6" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocking Filter Tile Line Buffer - Address" dword="7" bits="63:0" type="address" />
+ <field name="Deblocking Filter Tile Line Buffer - Memory Address Attributes" dword="9" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocking Filter Tile Column Buffer - Address" dword="10" bits="63:0" type="address" />
+ <field name="Deblocking Filter Tile Column Buffer - Memory Address Attributes" dword="12" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Metadata Line Buffer - Address" dword="13" bits="63:0" type="address" />
+ <field name="Metadata Line Buffer - Memory Address Attributes" dword="15" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Metadata Tile Line Buffer - Address" dword="16" bits="63:0" type="address" />
+ <field name="Metadata Tile Line Buffer - Memory Address Attributes" dword="18" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Metadata Tile Column Buffer - Address" dword="19" bits="63:0" type="address" />
+ <field name="Metadata Tile Column Buffer - Memory Address Attributes" dword="21" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SAO Line Buffer - Address" dword="22" bits="63:0" type="address" />
+ <field name="SAO Line Buffer - Memory Address Attributes" dword="24" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SAO Tile Line Buffer - Address" dword="25" bits="63:0" type="address" />
+ <field name="SAO Tile Line Buffer - Memory Address Attributes" dword="27" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SAO Tile Column Buffer - Address" dword="28" bits="63:0" type="address" />
+ <field name="SAO Tile Column Buffer - Memory Address Attributes" dword="30" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Current MV Temporal Buffer - Address" dword="31" bits="63:0" type="address" />
+ <field name="Current MV Temporal Buffer - Memory Address Attributes" dword="33" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <group count="8" dword="37" size="64">
+ <field name="Reference Picture - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Reference Picture - Memory Address Attributes" dword="53" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Original Uncompressed Picture Source - Address" dword="54" bits="63:0" type="address" />
+ <field name="Original Uncompressed Picture Source - Memory Address Attributes" dword="56" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Stream-Out Data Destination - Address" dword="57" bits="63:0" type="address" />
+ <field name="Stream-Out Data Destination - Memory Address Attributes" dword="59" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Decoded Picture Status Buffer - Address" dword="60" bits="63:0" type="address" />
+ <field name="Decoded Picture Status Buffer - Memory Address Attributes" dword="62" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="LCU ILDB Stream-Out Buffer - Address" dword="63" bits="63:0" type="address" />
+ <field name="LCU ILDB Stream-Out Buffer - Memory Address Attributes" dword="65" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <group count="8" dword="66" size="64">
+ <field name="Collocated MV Temporal Buffer - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Collocated MV Temporal Buffer - Memory Address Attributes" dword="82" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="VP9 Probability Buffer - Address" dword="83" bits="63:0" type="address" />
+ <field name="VP9 Probability Buffer - Memory Address Attributes" dword="85" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="VP9 Segment ID Buffer - Address" dword="86" bits="63:0" type="address" />
+ <field name="VP9 Segment ID Buffer - Memory Address Attributes" dword="88" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="VP9 HVD Line Row Store Buffer - Address" dword="89" bits="63:0" type="address" />
+ <field name="VP9 HVD Line Row Store Buffer - Memory Address Attributes" dword="91" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="VP9 HVD Tile Row Store Buffer - Address" dword="92" bits="63:0" type="address" />
+ <field name="VP9 HVD Tile Row Store Buffer - Memory Address Attributes" dword="94" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SAO Stream-Out Data Destination Buffer - Base Address" dword="95" bits="63:0" type="address" />
+ <field name="SAO Stream-Out Data Destination Buffer - Memory Address Attributes" dword="97" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Frame Statistics Stream-Out Data Destination Buffer - Base Address" dword="98" bits="63:0" type="address" />
+ <field name="Frame Statistics Stream-Out Data Destination Buffer - Memory Address Attributes" dword="100" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SSE Source Pixel Row Store Buffer - Base Address" dword="101" bits="63:0" type="address" />
+ <field name="SSE Source Pixel Row Store Buffer - Memory Address Attributes Read/Write" dword="103" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP Scalability Slice State Buffer - Base Address" dword="104" bits="63:0" type="address" />
+ <field name="HCP Scalability Slice State Buffer - Memory Address Attributes" dword="106" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP Scalability CABAC Decoded Syntax Elements Buffer - Base Address" dword="107" bits="63:0" type="address" />
+ <field name="HCP Scalability CABAC Decoded Syntax Elements Buffer - Memory Address Attributes" dword="109" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="MV Upper Right Column Store Buffer - Base Address" dword="110" bits="63:0" type="address" />
+ <field name="MV Upper Right Column Store Buffer - Memory Address Attributes" dword="112" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Intra Prediction Upper Right Column Store Buffer - Base Address" dword="113" bits="63:0" type="address" />
+ <field name="Intra Prediction Upper Right Column Store Buffer - Memory Address Attributes" dword="115" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Intra Prediction Left Recon Column Store Buffer - Base Address" dword="116" bits="63:0" type="address" />
+ <field name="Intra Prediction Left Recon Column Store Buffer - Memory Address Attributes" dword="118" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP Scalability CABAC Decoded Syntax Elements Buffer Max Address" dword="119" bits="63:0" type="address" />
+ </instruction>
+ <instruction name="HCP_PIPE_MODE_SELECT" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Codec Select" dword="1" bits="0:0" type="uint">
+ <value name="Decode" value="0" />
+ <value name="Encode" value="1" />
+ </field>
+ <field name="Deblocker Stream-Out Enable" dword="1" bits="1:1" type="bool" />
+ <field name="PAK Pipeline Stream-Out Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Pic Status/Error Report Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Codec Standard Select" dword="1" bits="7:5" type="uint">
+ <value name="HEVC" value="0" />
+ <value name="VP9" value="1" />
+ </field>
+ <field name="Advanced Rate Control Enable" dword="1" bits="9:9" type="bool" />
+ <field name="VDEnc Mode" dword="1" bits="10:10" type="uint" prefix="VM">
+ <value name="MBEnc Mode" value="0" />
+ <value name="VDEnc Mode" value="1" />
+ </field>
+ <field name="RDOQ Enable" dword="1" bits="11:11" type="bool" />
+ <field name="PAK Frame Level Stream-Out Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Multi-Engine Mode" dword="1" bits="14:13" type="uint" />
+ <field name="Pipe Working Mode" dword="1" bits="16:15" type="uint">
+ <value name="Legacy Decoder/Encoder Mode" value="0" />
+ <value name="CABAC FE Only Decode Mode" value="1" />
+ <value name="Decoder BE Only or Encoder Mode" value="2" />
+ </field>
+ <field name="Media Soft-Reset Counter" dword="2" bits="31:0" type="uint" />
+ <field name="Pic Status/Error Report ID" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="HCP_QM_STATE" bias="2" length="18" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="16" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="4" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Prediction Type" dword="1" bits="0:0" type="uint">
+ <value name="Intra" value="0" />
+ <value name="Inter" value="1" />
+ </field>
+ <field name="SizeID" dword="1" bits="2:1" type="uint">
+ <value name="4x4" value="0" />
+ <value name="8x8" value="1" />
+ <value name="16x16" value="2" />
+ <value name="32x32" value="3" />
+ </field>
+ <field name="Color Component" dword="1" bits="4:3" type="uint">
+ <value name="Luma" value="0" />
+ <value name="Chroma Cb" value="1" />
+ <value name="Chroma Cr" value="2" />
+ </field>
+ <field name="DC Coefficient" dword="1" bits="12:5" type="uint" />
+ <group count="64" dword="2" size="8">
+ <field name="Quantizer Matrix 8x8" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="HCP_RDOQ_STATE" bias="2" length="9" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="21" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Intra RDOQ" dword="1" bits="0:0" type="bool" />
+ <field name="Inter RDOQ" dword="1" bits="1:1" type="bool" />
+ <group count="26" dword="2" size="16">
+ <field name="Lambda Intra Luma" dword="0" bits="15:0" type="uint" />
+ </group>
+ <group count="26" dword="15" size="16">
+ <field name="Lambda Intra Chroma" dword="0" bits="15:0" type="uint" />
+ </group>
+ <group count="26" dword="28" size="16">
+ <field name="Lambda Inter Luma" dword="0" bits="15:0" type="uint" />
+ </group>
+ <group count="26" dword="41" size="16">
+ <field name="Lambda Inter Chroma" dword="0" bits="15:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="HCP_SLICE_STATE" bias="2" length="11" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="9" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="20" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Slice Horizontal Position" dword="1" bits="9:0" type="uint" />
+ <field name="Slice Vertical Position" dword="1" bits="25:16" type="uint" />
+ <field name="Next Slice Horizontal Position" dword="2" bits="9:0" type="uint" />
+ <field name="Next Slice Vertical Position" dword="2" bits="26:16" type="uint" />
+ <field name="Slice Type" dword="3" bits="1:0" type="uint" prefix="HCP_ST">
+ <value name="B Slice" value="0" />
+ <value name="P Slice" value="1" />
+ <value name="I Slice" value="2" />
+ </field>
+ <field name="Last Slice" dword="3" bits="2:2" type="bool" />
+ <field name="Slice QP Sign" dword="3" bits="3:3" type="uint" />
+ <field name="Dependent Slice" dword="3" bits="4:4" type="bool" />
+ <field name="Slice Temporal MVP Enable" dword="3" bits="5:5" type="bool" />
+ <field name="Slice QP" dword="3" bits="11:6" type="uint" />
+ <field name="Slice Cb QP Offset" dword="3" bits="16:12" type="int">
+ <value name="-12" value="20" />
+ <value name="-11" value="21" />
+ <value name="-10" value="22" />
+ <value name="-9" value="23" />
+ <value name="-8" value="24" />
+ <value name="-7" value="25" />
+ <value name="-6" value="26" />
+ <value name="-5" value="27" />
+ <value name="-4" value="28" />
+ <value name="-3" value="29" />
+ <value name="-2" value="30" />
+ <value name="-1" value="31" />
+ </field>
+ <field name="Slice Cr QP Offset" dword="3" bits="21:17" type="int">
+ <value name="-12" value="20" />
+ <value name="-11" value="21" />
+ <value name="-10" value="22" />
+ <value name="-9" value="23" />
+ <value name="-8" value="24" />
+ <value name="-7" value="25" />
+ <value name="-6" value="26" />
+ <value name="-5" value="27" />
+ <value name="-4" value="28" />
+ <value name="-3" value="29" />
+ <value name="-2" value="30" />
+ <value name="-1" value="31" />
+ </field>
+ <field name="Intra Ref Fetch Disable" dword="3" bits="22:22" type="bool" />
+ <field name="CU Chroma QP Offset Enable" dword="3" bits="23:23" type="bool" />
+ <field name="Last Slice of Tile" dword="3" bits="24:24" type="uint" />
+ <field name="Slice Header Disable Deblocking Filter" dword="4" bits="0:0" type="bool" />
+ <field name="Slice TC Offset Div2" dword="4" bits="4:1" type="int" />
+ <field name="Slice Beta Offset Div2" dword="4" bits="8:5" type="int" />
+ <field name="Slice Loop Filter Enable" dword="4" bits="10:10" type="bool" />
+ <field name="Slice SAO Chroma" dword="4" bits="11:11" type="bool" />
+ <field name="Slice SAO Luma" dword="4" bits="12:12" type="bool" />
+ <field name="MVD L1 Zero" dword="4" bits="13:13" type="bool" />
+ <field name="Low Delay" dword="4" bits="14:14" type="bool" />
+ <field name="Collocated From L0" dword="4" bits="15:15" type="bool" />
+ <field name="Log2 Weight Denominator Chroma" dword="4" bits="18:16" type="uint" />
+ <field name="Log2 Weight Denominator Luma" dword="4" bits="21:19" type="uint" />
+ <field name="CABAC Init" dword="4" bits="22:22" type="bool" />
+ <field name="Max Merge Index" dword="4" bits="25:23" type="uint" />
+ <field name="Collocated MV Temporal Buffer Index" dword="4" bits="28:26" type="uint" />
+ <field name="Slice Header Length" dword="5" bits="15:0" type="uint" />
+ <field name="Round Intra" dword="6" bits="23:20" type="uint">
+ <value name="+1/32" value="0" />
+ <value name="+2/32" value="1" />
+ <value name="+3/32" value="2" />
+ <value name="+4/32" value="3" />
+ <value name="+5/32" value="4" />
+ <value name="+6/32" value="5" />
+ <value name="+7/32" value="6" />
+ <value name="+8/32" value="7" />
+ <value name="+9/32" value="8" />
+ <value name="+10/32" value="9" />
+ <value name="+11/32" value="10" />
+ <value name="+12/32" value="11" />
+ <value name="+13/32" value="12" />
+ <value name="+14/32" value="13" />
+ <value name="+15/32" value="14" />
+ <value name="+16/32" value="15" />
+ </field>
+ <field name="Round Inter" dword="6" bits="29:26" type="uint">
+ <value name="+1/32" value="0" />
+ <value name="+2/32" value="1" />
+ <value name="+3/32" value="2" />
+ <value name="+4/32" value="3" />
+ <value name="+5/32" value="4" />
+ <value name="+6/32" value="5" />
+ <value name="+7/32" value="6" />
+ <value name="+8/32" value="7" />
+ <value name="+9/32" value="8" />
+ <value name="+10/32" value="9" />
+ <value name="+11/32" value="10" />
+ <value name="+12/32" value="11" />
+ <value name="+13/32" value="12" />
+ <value name="+14/32" value="13" />
+ <value name="+15/32" value="14" />
+ <value name="+16/32" value="15" />
+ </field>
+ <field name="CABAC Zero Word Insertion Enable" dword="7" bits="1:1" type="bool" />
+ <field name="Emulation Byte Slice Insert Enable" dword="7" bits="2:2" type="bool" />
+ <field name="Tail Insertion Present" dword="7" bits="8:8" type="bool" />
+ <field name="Slice Data Insertion Present" dword="7" bits="9:9" type="bool" />
+ <field name="Header Insertion Present" dword="7" bits="10:10" type="bool" />
+ <field name="Indirect PAK-BSE Data Start Offset" dword="8" bits="28:6" type="offset" />
+ <field name="Transform Skip Lambda" dword="9" bits="15:0" type="uint" />
+ <field name="Force SAO Parameters To Zero" dword="9" bits="31:31" type="bool" />
+ <field name="Transform Skip Number of Zero Coeffs Factor0" dword="10" bits="7:0" type="uint" />
+ <field name="Transform Skip Number of Non-Zero Coeffs Factor0" dword="10" bits="15:8" type="uint" />
+ <field name="Transform Skip Number of Zero Coeffs Factor1" dword="10" bits="23:16" type="uint" />
+ <field name="Transform Skip Number of Non-Zero Coeffs Factor1" dword="10" bits="31:24" type="uint" />
+ </instruction>
+ <instruction name="HCP_SURFACE_STATE" bias="2" length="4" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="2" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Surface ID" dword="1" bits="31:28" type="uint" prefix="HCP">
+ <value name="Current Decoded Picture" value="0" />
+ <value name="Source Input Picture" value="1" />
+ <value name="Prev Reference Picture" value="2" />
+ <value name="Golden Reference Picture" value="3" />
+ <value name="AltRef Reference Picture" value="4" />
+ </field>
+ <field name="Y Offset for U(Cb)" dword="2" bits="14:0" type="uint" />
+ <field name="Surface Format" dword="2" bits="31:27" type="uint">
+ <value name="YUY2" value="0" />
+ <value name="RGB_8" value="1" />
+ <value name="AYUV4444" value="2" />
+ <value name="P010Variant" value="3" />
+ <value name="PLANAR_420_8" value="4" />
+ <value name="YCRCB_SwapY" value="5" />
+ <value name="YCRCB_SwapUV" value="6" />
+ <value name="YCRCB_SwapUVY" value="7" />
+ <value name="Y216/Y210" value="8" />
+ <value name="RGB_10" value="9" />
+ <value name="Y410" value="10" />
+ <value name="NV21 Planar_420_8" value="11" />
+ <value name="Y416" value="12" />
+ <value name="P010" value="13" />
+ <value name="P016" value="14" />
+ <value name="Y216Variant" value="17" />
+ <value name="Y416Variant" value="18" />
+ <value name="YUY2Variant" value="19" />
+ <value name="AYUV4444Variant" value="20" />
+ </field>
+ <field name="Default Alpha Value" dword="3" bits="15:0" type="uint" />
+ <field name="Y Offset for V(Cr)" dword="3" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="HCP_TILE_CODING" bias="1" length="14" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="13" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="21" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Tile Column Position" dword="2" bits="9:0" type="uint" />
+ <field name="Tile Row Position" dword="2" bits="25:16" type="uint" />
+ <field name="Last Tile of Column" dword="2" bits="31:31" type="bool" />
+ <field name="Tile Height In Minimum Coding Block Size" dword="3" bits="10:0" type="uint" />
+ <field name="Tile Width In Minimum Coding Block Size" dword="3" bits="26:16" type="uint" />
+ <field name="SAO Parameter Offset" dword="4" bits="31:0" type="uint" />
+ <field name="Bitstream Byte Offset" dword="4" bits="31:6" type="uint" />
+ <field name="PAK Frame Statistics Offset" dword="5" bits="31:6" type="uint" />
+ <field name="CU Level Stream-Out Offset" dword="6" bits="31:6" type="uint" />
+ <field name="Slice Size Stream-Out Offset" dword="7" bits="31:6" type="uint" />
+ <field name="CU Record Offset" dword="8" bits="31:6" type="uint" />
+ <field name="SSE Row Store Offset" dword="9" bits="31:6" type="uint" />
+ <field name="SAO Row Store Offset" dword="10" bits="31:6" type="uint" />
+ <field name="Tile Size Stream-Out Offset" dword="11" bits="31:6" type="uint" />
+ <field name="VP9 Probability Counter Stream-Out Offset" dword="12" bits="31:6" type="uint" />
+ <field name="HCP Scalability Synchronize Buffer - Base Address" dword="13" bits="63:0" type="address" />
+ <field name="HCP Scalability Synchronize Buffer - Attributes" dword="15" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </instruction>
+ <instruction name="HCP_TILE_STATE" bias="2" length="17" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="15" />
+ <field name="Media Instruction Command" dword="0" bits="22:16" type="uint" default="17" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Number of Tile Rows" dword="1" bits="4:0" type="uint" />
+ <field name="Number of Tile Columns" dword="1" bits="9:5" type="uint" />
+ <group count="5" dword="2" size="32">
+ <field name="Column Position" dword="0" bits="31:0" type="HCP_TILE_POSITION_IN_CTB" />
+ </group>
+ <group count="6" dword="7" size="32">
+ <field name="Row position" dword="0" bits="31:0" type="HCP_TILE_POSITION_IN_CTB" />
+ </group>
+ <field name="Ctb Column Position MSB" dword="13" bits="63:0" type="HCP_TILE_POSITION_IN_CTB_MSB" />
+ <field name="Ctb Row Position MSB" dword="15" bits="63:0" type="HCP_TILE_POSITION_IN_CTB_MSB" />
+ </instruction>
+ <instruction name="HCP_VP9_PAK_OBJECT" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="53" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Split_coding_unit_flag[x0][y0]" dword="1" bits="20:0" type="uint" />
+ <field name="CU Count" dword="1" bits="29:24" type="uint" />
+ <field name="Last SB of Tile" dword="1" bits="31:31" type="bool" />
+ <field name="Current SB X Address" dword="2" bits="15:0" type="uint" />
+ <field name="Current SB Y Address" dword="2" bits="31:16" type="uint" />
+ <field name="SSE ClassID 32x32_0" dword="4" bits="3:0" type="uint" />
+ <field name="SSE ClassID 32x32_1" dword="4" bits="7:4" type="uint" />
+ <field name="SSE ClassID 32x32_2" dword="4" bits="11:8" type="uint" />
+ <field name="SSE ClassID 32x32_3" dword="4" bits="15:12" type="uint" />
+ <field name="LCU Force Zero Coeff" dword="4" bits="16:16" type="bool" />
+ </instruction>
+ <instruction name="HCP_VP9_PIC_STATE" bias="2" length="42" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="40" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="48" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Width" dword="1" bits="13:0" type="uint" />
+ <field name="Frame Height" dword="1" bits="29:16" type="uint" />
+ <field name="Frame Type" dword="2" bits="0:0" type="uint" prefix="VP9">
+ <value name="Key Frame" value="0" />
+ <value name="Inter Frame" value="1" />
+ </field>
+ <field name="Adapt Probabilities" dword="2" bits="1:1" type="bool" />
+ <field name="Intra Only" dword="2" bits="2:2" type="bool" />
+ <field name="Allow Hi Precision MV" dword="2" bits="3:3" type="bool" />
+ <field name="Motion Compensation Filter Type" dword="2" bits="6:4" type="uint">
+ <value name="Eight-tap" value="0" />
+ <value name="Eight-tap-Smooth" value="1" />
+ <value name="Eight-tap-Sharp" value="2" />
+ <value name="Bilinear" value="3" />
+ <value name="Switchable" value="4" />
+ </field>
+ <field name="Reference Frame Sign Bias" dword="2" bits="9:7" type="uint" />
+ <field name="Use Prev in Find MV References" dword="2" bits="10:10" type="bool" />
+ <field name="Hybrid Prediction Mode" dword="2" bits="11:11" type="uint" />
+ <field name="Selectable TX Mode" dword="2" bits="12:12" type="uint" />
+ <field name="Last Frame Type" dword="2" bits="13:13" type="uint" prefix="VP9">
+ <value name="Key Frame" value="0" />
+ <value name="Non Key Frame" value="1" />
+ </field>
+ <field name="Refresh Frame Context Enable" dword="2" bits="14:14" type="bool" />
+ <field name="Error Resilient Mode Enable" dword="2" bits="15:15" type="bool" />
+ <field name="Frame Parallel Decoding Mode Enable" dword="2" bits="16:16" type="bool" />
+ <field name="Filter Level" dword="2" bits="22:17" type="uint" />
+ <field name="Sharpness Level" dword="2" bits="25:23" type="uint" />
+ <field name="Segmentation Enable" dword="2" bits="26:26" type="bool" />
+ <field name="Segmentation Update Map" dword="2" bits="27:27" type="bool" />
+ <field name="Segmentation Temporal Update" dword="2" bits="28:28" type="bool" />
+ <field name="Lossless Mode" dword="2" bits="29:29" type="bool" />
+ <field name="Segment ID Stream-Out Enable" dword="2" bits="30:30" type="bool" />
+ <field name="Segment ID Stream-In Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Log2 Tile Column" dword="3" bits="3:0" type="uint">
+ <value name="1 Tile Column" value="0" />
+ <value name="2 Tile Column" value="1" />
+ <value name="4 Tile Column" value="2" />
+ <value name="8 Tile Column" value="3" />
+ <value name="16 Tile Column" value="4" />
+ <value name="32 Tile Column" value="5" />
+ <value name="64 Tile Column" value="6" />
+ </field>
+ <field name="Log2 Tile Row" dword="3" bits="9:8" type="uint">
+ <value name="1 Tile Row" value="0" />
+ <value name="2 Tile Row" value="1" />
+ <value name="4 Tile Row" value="2" />
+ </field>
+ <field name="SSE Enable" dword="3" bits="21:21" type="bool" />
+ <field name="Chroma Sampling Format" dword="3" bits="23:22" type="uint">
+ <value name="Format_420" value="0" />
+ <value name="Format_422" value="1" />
+ <value name="Format_444" value="2" />
+ </field>
+ <field name="Bit Depth" dword="3" bits="27:24" type="uint">
+ <value name="8-bit" value="0" />
+ <value name="10-bit" value="2" />
+ <value name="12-bit" value="4" />
+ </field>
+ <field name="Profile Level" dword="3" bits="31:28" type="uint">
+ <value name="Profile_0" value="0" />
+ <value name="Profile_1" value="1" />
+ <value name="Profile_2" value="2" />
+ <value name="Profile_3" value="3" />
+ </field>
+ <field name="Vertical Scale Factor for LAST" dword="4" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor for LAST" dword="4" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor for GOLDEN" dword="5" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor for GOLDEN" dword="5" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor for ALTREF" dword="6" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor for ALTREF" dword="6" bits="31:16" type="uint" />
+ <field name="Last Frame Width" dword="7" bits="13:0" type="uint" />
+ <field name="Last Frame Height" dword="7" bits="29:16" type="uint" />
+ <field name="Golden Frame Width" dword="8" bits="13:0" type="uint" />
+ <field name="Golden Frame Height" dword="8" bits="29:16" type="uint" />
+ <field name="Altref Frame Width" dword="9" bits="13:0" type="uint" />
+ <field name="Altref Frame Height" dword="9" bits="29:16" type="uint" />
+ <field name="Uncompressed Header Length" dword="10" bits="7:0" type="uint" />
+ <field name="First Partition Size" dword="10" bits="31:16" type="uint" />
+ <field name="Motion Comp Scaling Enable" dword="11" bits="1:1" type="bool" />
+ <field name="Compressed Header BIN count" dword="13" bits="15:0" type="uint" />
+ <field name="Luma AC Q Index Delta" dword="13" bits="23:16" type="uint" />
+ <field name="Tail Insertion Enable" dword="13" bits="24:24" type="bool" />
+ <field name="Header Insertion Enable" dword="13" bits="25:25" type="bool" />
+ <field name="Chroma AC Q Index Delta" dword="14" bits="4:0" type="int" />
+ <field name="Chroma DC Q Index Delta" dword="14" bits="12:8" type="int" />
+ <field name="Luma DC Q Index Delta" dword="14" bits="20:16" type="int" />
+ <field name="LF Ref Delta 0" dword="15" bits="6:0" type="int" />
+ <field name="LF Ref Delta 1" dword="15" bits="14:8" type="int" />
+ <field name="LF Ref Delta 2" dword="15" bits="22:16" type="int" />
+ <field name="LF Ref Delta 3" dword="15" bits="30:24" type="int" />
+ <field name="LF Mode Delta 0" dword="16" bits="6:0" type="int" />
+ <field name="LF Mode Delta 1" dword="16" bits="14:8" type="int" />
+ <field name="Bit Offset for LF Ref Delta" dword="17" bits="15:0" type="uint" />
+ <field name="Bit Offset for LF Mode Delta" dword="17" bits="31:16" type="uint" />
+ <field name="Bit Offset for QIndex" dword="18" bits="15:0" type="uint" />
+ <field name="Bit Offset for LF Level" dword="18" bits="31:16" type="uint" />
+ <field name="Non First Pass" dword="19" bits="16:16" type="bool" />
+ <field name="VDENC PAK_ONLY PASS" dword="19" bits="17:17" type="bool" />
+ <field name="Frame Bitrate Max Report" dword="19" bits="25:25" type="bool" />
+ <field name="Frame Bitrate Min Report" dword="19" bits="26:26" type="bool" />
+ <field name="Frame Bitrate Max" dword="20" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Max Unit" dword="20" bits="31:31" type="bool" />
+ <field name="Frame Bitrate Min" dword="21" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit" dword="21" bits="31:31" type="bool" />
+ <field name="Frame Delta QIndex Max" dword="22" bits="63:0" type="uint" />
+ <field name="Frame Delta QIndex Min" dword="24" bits="31:0" type="uint" />
+ <field name="Frame Delta LFMax" dword="25" bits="63:0" type="uint" />
+ <field name="Frame Delta LFMin" dword="27" bits="31:0" type="uint" />
+ <field name="Frame Delta QIndex LFMax Range" dword="28" bits="63:0" type="uint" />
+ <field name="Frame Delta QIndex LFMin Range" dword="30" bits="31:0" type="uint" />
+ <field name="Minimum Frame Size" dword="31" bits="15:0" type="uint" />
+ <field name="Minimum Frame Size Units" dword="31" bits="31:30" type="uint" prefix="VP9_MFSU">
+ <value name="4Kb" value="0" />
+ <value name="16Kb" value="1" />
+ <value name="Comaptibility mode" value="2" />
+ <value name="16 bytes" value="3" />
+ </field>
+ <field name="Bit Offset for First Partition Size" dword="32" bits="15:0" type="uint" />
+ <field name="Class0_SSE_Threshold0" dword="33" bits="15:0" type="uint" />
+ <field name="Class0_SSE_Threshold1" dword="33" bits="31:16" type="uint" />
+ <group count="8" dword="34" size="32">
+ <field name="SSE Threshold For Class1-8" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="HCP_VP9_SEGMENT_STATE" bias="2" length="8" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="6" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="50" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Segment ID" dword="1" bits="2:0" type="uint" />
+ <field name="Segment Skipped" dword="2" bits="0:0" type="bool" />
+ <field name="Segment Reference" dword="2" bits="2:1" type="uint" />
+ <field name="Segment Reference Enable" dword="2" bits="3:3" type="bool" />
+ <field name="Filter Level Ref0 Mode 0" dword="3" bits="5:0" type="uint" />
+ <field name="Filter Level Ref0 Mode 1" dword="3" bits="13:8" type="uint" />
+ <field name="Filter Level Ref1 Mode 0" dword="3" bits="21:16" type="uint" />
+ <field name="Filter Level Ref1 Mode 1" dword="3" bits="29:24" type="uint" />
+ <field name="Filter Level Ref2 Mode 0" dword="4" bits="5:0" type="uint" />
+ <field name="Filter Level Ref2 Mode 1" dword="4" bits="13:8" type="uint" />
+ <field name="Filter Level Ref3 Mode 0" dword="4" bits="21:16" type="uint" />
+ <field name="Filter Level Ref3 Mode 1" dword="4" bits="29:24" type="uint" />
+ <field name="Luma DC Quant Scale" dword="5" bits="14:0" type="uint" />
+ <field name="Luma AC Quant Scale" dword="5" bits="30:16" type="uint" />
+ <field name="Chroma DC Quant Scale" dword="6" bits="14:0" type="uint" />
+ <field name="Chroma AC Quant Scale" dword="6" bits="30:16" type="uint" />
+ <field name="Segment QIndex Delta" dword="7" bits="8:0" type="int" />
+ <field name="Segment LF Level Delta" dword="7" bits="22:16" type="int" />
+ </instruction>
+ <instruction name="HCP_WEIGHTOFFSET_STATE" bias="2" length="42" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="40" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="19" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Reference Picture List Select" dword="1" bits="0:0" type="uint" />
+ <group count="16" dword="2" size="32">
+ <field name="Luma Offsets" dword="0" bits="31:0" type="HCP_WEIGHTOFFSET_LUMA_ENTRY" />
+ </group>
+ <group count="16" dword="18" size="32">
+ <field name="Chroma Offsets" dword="0" bits="31:0" type="HCP_WEIGHTOFFSET_CHROMA_ENTRY" />
+ </group>
+ <group count="8" dword="34" size="32">
+ <field name="Chroma Offsets Ext" dword="0" bits="31:0" type="HCP_WEIGHTOFFSET_CHROMA_EXT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="HUC_STREAM_OBJECT" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="32" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="11" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect Stream-In Data Length" dword="1" bits="31:0" type="uint" />
+ <field name="Indirect Stream-In - Address" dword="2" bits="28:0" type="address" />
+ <field name="HuC Processing" dword="2" bits="31:31" type="bool" />
+ <field name="Indirect Stream-Out - Address" dword="3" bits="28:0" type="address" />
+ <field name="Start Code Byte [0]" dword="4" bits="7:0" type="uint" />
+ <field name="Start Code Byte [1]" dword="4" bits="15:8" type="uint" />
+ <field name="Start Code Byte [2]" dword="4" bits="23:16" type="uint" />
+ <field name="Start Code Search Engine" dword="4" bits="24:24" type="bool" />
+ <field name="Emulation Prevention Byte Removal" dword="4" bits="25:25" type="bool" />
+ <field name="Stream-Out" dword="4" bits="26:26" type="bool" />
+ <field name="DRM Length Mode" dword="4" bits="28:27" type="uint">
+ <value name="Start Code Mode" value="0" />
+ <value name="Length Mode" value="1" />
+ </field>
+ <field name="HUC Bitstream Enable" dword="4" bits="29:29" type="bool" />
+ </instruction>
+ <instruction name="MEDIA_OBJECT" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="14:0" type="uint" default="4" />
+ <field name="Media Command Sub-Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Media Command Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="SubSlice Destination Select" dword="2" bits="18:17" type="uint">
+ <value name="Subslice 3" value="3" />
+ <value name="SubSlice 2" value="2" />
+ <value name="SubSlice 1" value="1" />
+ <value name="SubSlice 0" value="0" />
+ </field>
+ <field name="Slice Destination Select" dword="2" bits="20:19" type="uint">
+ <value name="Slice 0" value="0" />
+ <value name="Slice 1" value="1" />
+ <value name="Slice 2" value="2" />
+ </field>
+ <field name="Force Destination" dword="2" bits="22:22" type="uint" />
+ <field name="Thread Synchronization" dword="2" bits="24:24" type="uint">
+ <value name="No thread synchronization" value="0" />
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
+ </field>
+ <field name="Slice Destination Select MSBs" dword="2" bits="26:25" type="uint" />
+ <field name="Children Present" dword="2" bits="31:31" type="bool" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="address" />
+ <field name="X Position" dword="4" bits="8:0" type="uint" />
+ <field name="Y Position" dword="4" bits="24:16" type="uint" />
+ <field name="Block Color" dword="5" bits="23:16" type="uint" />
+ <group count="0" dword="6" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_OBJECT_GRPID" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="5" />
+ <field name="Media Command Sub-Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Media Command Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="End of Thread Group" dword="2" bits="23:23" type="uint" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="address" />
+ <field name="X Position" dword="4" bits="8:0" type="uint" />
+ <field name="Y Position" dword="4" bits="24:16" type="uint" />
+ <field name="Block Color" dword="5" bits="23:16" type="uint" />
+ <field name="GroupID" dword="6" bits="31:0" type="uint" />
+ <group count="0" dword="7" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16" engine="render">
+ <field name="DWord Length" dword="0" bits="14:0" type="uint" default="14" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="PRT_FenceType" dword="2" bits="22:22" type="uint">
+ <value name="Root thread queue" value="0" />
+ <value name="VFE state flush" value="1" />
+ </field>
+ <field name="PRT_Fence Needed" dword="2" bits="23:23" type="bool" />
+ <field name="Children Present" dword="2" bits="31:31" type="bool" />
+ <group count="12" dword="4" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="14:0" type="uint" default="15" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="3" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="Masked Dispatch" dword="2" bits="23:22" type="uint" />
+ <field name="Thread Synchronization" dword="2" bits="24:24" type="uint">
+ <value name="No thread synchronization" value="0" />
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
+ </field>
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="uint" />
+ <field name="Group ID Loop Select" dword="5" bits="31:8" type="uint">
+ <value name="No_Groups" value="0" />
+ <value name="Color_Groups" value="1" />
+ <value name="InnerLocal_Groups" value="2" />
+ <value name="MidLocal_Groups" value="3" />
+ <value name="OuterLocal_Groups" value="4" />
+ <value name="InnerGlobal_Groups" value="5" />
+ </field>
+ <field name="Mid-Loop Unit X" dword="6" bits="9:8" type="int" />
+ <field name="Local Mid-Loop Unit Y" dword="6" bits="13:12" type="int" />
+ <field name="Middle Loop Extra Steps" dword="6" bits="20:16" type="uint" />
+ <field name="Color Count Minus One" dword="6" bits="31:24" type="uint" />
+ <field name="Local Loop Exec Count" dword="7" bits="11:0" type="uint" />
+ <field name="Global Loop Exec Count" dword="7" bits="27:16" type="uint" />
+ <field name="Block Resolution X" dword="8" bits="10:0" type="uint" />
+ <field name="Block Resolution Y" dword="8" bits="26:16" type="uint" />
+ <field name="Local Start X" dword="9" bits="10:0" type="uint" />
+ <field name="Local Start Y" dword="9" bits="26:16" type="uint" />
+ <field name="Local Outer Loop Stride X" dword="11" bits="11:0" type="int" />
+ <field name="Local Outer Loop Stride Y" dword="11" bits="27:16" type="int" />
+ <field name="Local Inner Loop Unit X" dword="12" bits="11:0" type="int" />
+ <field name="Local Inner Loop Unit Y" dword="12" bits="27:16" type="int" />
+ <field name="Global Resolution X" dword="13" bits="10:0" type="uint" />
+ <field name="Global Resolution Y" dword="13" bits="26:16" type="uint" />
+ <field name="Global Start X" dword="14" bits="11:0" type="int" />
+ <field name="Global Start Y" dword="14" bits="27:16" type="int" />
+ <field name="Global Outer Loop Stride X" dword="15" bits="11:0" type="int" />
+ <field name="Global Outer Loop Stride Y" dword="15" bits="27:16" type="int" />
+ <field name="Global Inner Loop Unit X" dword="16" bits="11:0" type="int" />
+ <field name="Global Inner Loop Unit Y" dword="16" bits="27:16" type="int" />
+ <group count="0" dword="17" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="0" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Flush to GO" dword="1" bits="7:7" type="bool" />
+ </instruction>
+ <instruction name="MEDIA_VFE_STATE" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="7" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Per Thread Scratch Space" dword="1" bits="3:0" type="uint" />
+ <field name="Stack Size" dword="1" bits="7:4" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="1" bits="47:10" type="address" />
+ <field name="Dispatch Load Balance" dword="3" bits="2:2" type="uint">
+ <value name="Color LSB" value="1" />
+ <value name="Least Loaded" value="0" />
+ </field>
+ <field name="Number of URB Entries" dword="3" bits="15:8" type="uint" />
+ <field name="Maximum Number of Threads" dword="3" bits="31:16" type="uint" />
+ <field name="Maximum Number of Dual-Subslices" dword="4" bits="7:0" type="uint" />
+ <field name="CURBE Allocation Size" dword="5" bits="15:0" type="uint" />
+ <field name="URB Entry Allocation Size" dword="5" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="MFD_AVC_BSD_OBJECT" bias="2" length="7" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="5" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect BSD Data Length" dword="1" bits="31:0" type="uint" />
+ <field name="Indirect BSD Data Start Address" dword="2" bits="28:0" type="offset" />
+ <field name="Inline Data" dword="3" bits="95:0" type="INLINE_DATA_DESCRIPTION_FOR_MFD_AVC_BSD_OBJECT" />
+ </instruction>
+ <instruction name="MFD_AVC_SLICEADDR" bias="2" length="4" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="2" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="7" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect BSD Data Length" dword="1" bits="31:0" type="uint" />
+ <field name="Indirect BSD Data Start Address" dword="2" bits="28:0" type="offset" />
+ <field name="Driver Provided NAL Type Value" dword="3" bits="7:0" type="uint" />
+ <field name="AVC NAL Type First Byte Override" dword="3" bits="8:8" type="uint">
+ <value name="Use Bitstream Decoded NAL Type" value="0" />
+ <value name="Use Driver Programmed NAL Type" value="1" />
+ </field>
+ </instruction>
+ <instruction name="MFX_AVC_IMG_STATE" bias="2" length="21" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="19" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Size" dword="1" bits="15:0" type="uint" />
+ <field name="Frame Width" dword="2" bits="7:0" type="uint" />
+ <field name="Frame Height" dword="2" bits="23:16" type="uint" />
+ <field name="Image Structure" dword="3" bits="9:8" type="uint">
+ <value name="Frame Picture" value="0" />
+ <value name="Top Field Picture" value="1" />
+ <value name="Bottom Field Picture" value="3" />
+ <value name="Invalid, not allowed." value="2" />
+ </field>
+ <field name="Weighted BiPrediction IDC" dword="3" bits="11:10" type="uint">
+ <value name="DEFAULT" value="0" />
+ <value name="EXPLICIT" value="1" />
+ <value name="IMPLICIT" value="2" />
+ </field>
+ <field name="Weighted Prediction Enable" dword="3" bits="12:12" type="bool" />
+ <field name="Rho Domain Rate Control Enable" dword="3" bits="13:13" type="bool" />
+ <field name="First Chroma QP Offset" dword="3" bits="20:16" type="int" />
+ <field name="Second Chroma QP Offset" dword="3" bits="28:24" type="int" />
+ <field name="Field Picture" dword="4" bits="0:0" type="bool" />
+ <field name="MBAFF Mode" dword="4" bits="1:1" type="bool" />
+ <field name="Frame MB Only" dword="4" bits="2:2" type="bool" />
+ <field name="8x8 IDCT Transform Mode" dword="4" bits="3:3" type="bool" />
+ <field name="Direct 8x8 Inference" dword="4" bits="4:4" type="bool" />
+ <field name="Constrained Intra Prediction" dword="4" bits="5:5" type="bool" />
+ <field name="Non-Reference Picture" dword="4" bits="6:6" type="bool" />
+ <field name="Entropy Coding Sync Enable" dword="4" bits="7:7" type="bool" />
+ <field name="MB MV Format" dword="4" bits="8:8" type="uint">
+ <value name="IGNORE" value="0" />
+ <value name="FOLLOW" value="1" />
+ </field>
+ <field name="Chroma Format IDC" dword="4" bits="11:10" type="uint">
+ <value name="Monochrome picture" value="0" />
+ <value name="4:2:0 picture" value="1" />
+ <value name="4:2:2 picture (not supported)" value="2" />
+ <value name="4:4:4 picture (not supported)" value="3" />
+ </field>
+ <field name="MV Unpacked Enable" dword="4" bits="12:12" type="bool" />
+ <field name="Load Bitstream Pointer Per Slice" dword="4" bits="14:14" type="bool" />
+ <field name="MB Status Read" dword="4" bits="15:15" type="bool" />
+ <field name="Minimum Frame Size" dword="4" bits="31:16" type="uint" />
+ <field name="Intra MB Max Bit Control" dword="5" bits="0:0" type="bool" />
+ <field name="Inter MB Max Bit Control" dword="5" bits="1:1" type="bool" />
+ <field name="Frame Bitrate Max Report" dword="5" bits="2:2" type="bool" />
+ <field name="Frame Bitrate Min Report" dword="5" bits="3:3" type="bool" />
+ <field name="Force IPCM Control" dword="5" bits="7:7" type="bool" />
+ <field name="MB Level Rate Control" dword="5" bits="9:9" type="bool" />
+ <field name="Minimum Frame Size Units" dword="5" bits="11:10" type="uint" prefix="AVC_MFSU">
+ <value name="Compatibility mode" value="0" />
+ <value name="16 bytes" value="1" />
+ <value name="4Kb" value="2" />
+ <value name="16Kb" value="3" />
+ </field>
+ <field name="Non First Pass" dword="5" bits="16:16" type="uint" />
+ <field name="Trellis Quantization Chroma Disable" dword="5" bits="27:27" type="bool" />
+ <field name="Trellis Quantization Rounding" dword="5" bits="30:28" type="uint" />
+ <field name="Trellis Quantization Enable" dword="5" bits="31:31" type="bool" />
+ <field name="Intra MB Conformance Max Size" dword="6" bits="11:0" type="uint" />
+ <field name="Inter MB Conformance Max Size" dword="6" bits="27:16" type="uint" />
+ <field name="Slice Delta QP Max[0]" dword="8" bits="7:0" type="int" />
+ <field name="Slice Delta QP Max[1]" dword="8" bits="15:8" type="int" />
+ <field name="Slice Delta QP Max[2]" dword="8" bits="23:16" type="uint" />
+ <field name="Slice Delta QP Max[3]" dword="8" bits="31:24" type="int" />
+ <field name="Slice Delta QP Min[0]" dword="9" bits="7:0" type="int" />
+ <field name="Slice Delta QP Min[1]" dword="9" bits="15:8" type="int" />
+ <field name="Slice Delta QP Min[2]" dword="9" bits="23:16" type="int" />
+ <field name="Slice Delta QP Min[3]" dword="9" bits="31:24" type="int" />
+ <field name="Frame Bitrate Min" dword="10" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit Mode" dword="10" bits="14:14" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Min Unit" dword="10" bits="15:15" type="uint" />
+ <field name="Frame Bitrate Max" dword="10" bits="29:16" type="uint" />
+ <field name="Frame Bitrate Max Unit Mode" dword="10" bits="30:30" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Max Unit" dword="10" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="11" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="11" bits="30:16" type="uint" />
+ <field name="Slice Stats Stream-Out Enable" dword="11" bits="31:31" type="bool" />
+ <field name="Initial QP Value" dword="13" bits="7:0" type="int" />
+ <field name="Number of Active Reference Pictures from L0" dword="13" bits="13:8" type="uint" />
+ <field name="Number of Active Reference Pictures from L1" dword="13" bits="21:16" type="uint" />
+ <field name="Number of Reference Frames" dword="13" bits="28:24" type="uint" />
+ <field name="Current Picture Has Performed MMCO5" dword="13" bits="29:29" type="bool" />
+ <field name="Pic Order Present" dword="14" bits="0:0" type="bool" />
+ <field name="Delta Pic Order Always Zero" dword="14" bits="1:1" type="bool" />
+ <field name="Pic Order Count Type" dword="14" bits="3:2" type="uint" />
+ <field name="Slice Group Map Type" dword="14" bits="10:8" type="uint" />
+ <field name="Redundant Pic Count Present" dword="14" bits="11:11" type="bool" />
+ <field name="Number of Slice Groups" dword="14" bits="14:12" type="uint" />
+ <field name="Deblocking Filter Control Present" dword="14" bits="15:15" type="bool" />
+ <field name="Log2 Max Frame Number" dword="14" bits="23:16" type="uint" />
+ <field name="Log2 Max Pic Order Count LSB" dword="14" bits="31:24" type="uint" />
+ <field name="Slice Group Change Rate" dword="15" bits="15:0" type="uint" />
+ <field name="Current Picture Frame Number" dword="15" bits="31:16" type="uint" />
+ <field name="Current Frame View ID" dword="16" bits="9:0" type="uint" />
+ <field name="Max View IDXL0" dword="16" bits="15:12" type="uint" />
+ <field name="Max View IDXL1" dword="16" bits="21:18" type="uint" />
+ <field name="Inter View Order Disable" dword="16" bits="31:31" type="bool" />
+ <field name="Fractional QP Input" dword="17" bits="2:0" type="uint" />
+ <field name="Fractional QP Offset" dword="17" bits="5:3" type="uint" />
+ <field name="Extended Rho Domain Statistics Enable" dword="17" bits="8:8" type="bool" />
+ <field name="Rho Domain Average MB QP" dword="17" bits="21:16" type="uint" />
+ <field name="Threshold Size" dword="19" bits="31:0" type="uint" />
+ <field name="Target Slice Size" dword="20" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MFX_MPEG2_PIC_STATE" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Scan Order" dword="1" bits="6:6" type="uint">
+ <value name="MPEG_ZIGZAG_SCAN" value="0" />
+ <value name="MPEG_ALTERNATE_VERTICAL_SCAN" value="1" />
+ </field>
+ <field name="Intra VLC Format" dword="1" bits="7:7" type="uint" />
+ <field name="Quantizer Scale Type" dword="1" bits="8:8" type="uint">
+ <value name="MPEG_QSCALE_LINEAR" value="0" />
+ <value name="MPEG_QSCALE_NONLINEAR" value="1" />
+ </field>
+ <field name="Concealment MV" dword="1" bits="9:9" type="bool" />
+ <field name="Frame Prediction Frame DCT" dword="1" bits="10:10" type="uint" />
+ <field name="Top Field First" dword="1" bits="11:11" type="bool" />
+ <field name="Picture Structure" dword="1" bits="13:12" type="uint">
+ <value name="MPEG_TOP_FIELD" value="1" />
+ <value name="MPEG_BOTTOM_FIELD" value="2" />
+ <value name="MPEG_FRAME" value="3" />
+ </field>
+ <field name="Intra DC Precision" dword="1" bits="15:14" type="uint" />
+ <field name="F_code[0][0]" dword="1" bits="19:16" type="uint" />
+ <field name="F_code[0][1]" dword="1" bits="23:20" type="uint" />
+ <field name="F_code[1][0]" dword="1" bits="27:24" type="uint" />
+ <field name="F_code[1][1]" dword="1" bits="31:28" type="uint" />
+ <field name="Disable Mismatch" dword="2" bits="0:0" type="bool" />
+ <field name="Mismatch Control Disable" dword="2" bits="1:1" type="bool" />
+ <field name="Picture Coding Type" dword="2" bits="10:9" type="uint">
+ <value name="MPEG_I_PICTURE" value="1" />
+ <value name="MPEG_P_PICTURE" value="2" />
+ <value name="MPEG_B_PICTURE" value="3" />
+ </field>
+ <field name="Load Bitstream Pointer Per Slice" dword="2" bits="14:14" type="bool" />
+ <field name="P/B Slice Predicted MV Override" dword="2" bits="24:24" type="uint">
+ <value name="Predicted" value="0" />
+ <value name="ZERO" value="1" />
+ </field>
+ <field name="P/B Slice Predicted Bi-direction MV Type Override" dword="2" bits="26:25" type="uint" prefix="MPEG2_MVTO">
+ <value name="BID" value="0" />
+ <value name="RESERVED" value="1" />
+ <value name="FWD" value="2" />
+ <value name="BWD" value="3" />
+ </field>
+ <field name="P/B Slice Concealment Mode" dword="2" bits="29:28" type="uint" prefix="MPEG2_CM">
+ <value name="INTER" value="0" />
+ <value name="LEFT" value="1" />
+ <value name="ZERO" value="2" />
+ <value name="INTRA" value="3" />
+ </field>
+ <field name="I Slice Concealment Mode" dword="2" bits="31:31" type="uint" prefix="MPEG2_CM">
+ <value name="Intra Concealment" value="0" />
+ <value name="Inter Concealment" value="1" />
+ </field>
+ <field name="Frame Width In MBs" dword="3" bits="7:0" type="uint" />
+ <field name="Frame Height In MBs" dword="3" bits="23:16" type="uint" />
+ <field name="Slice Concealment Disable" dword="3" bits="31:31" type="bool" />
+ <field name="Round Intra DC" dword="4" bits="2:1" type="uint" />
+ <field name="Round Inter DC" dword="4" bits="6:4" type="uint" />
+ <field name="Round Intra AC" dword="4" bits="10:8" type="uint" />
+ <field name="Round Inter AC," dword="4" bits="14:12" type="uint" />
+ <field name="Minimum Frame Size" dword="4" bits="31:16" type="uint" />
+ <field name="Intra MB Max Bit Control" dword="5" bits="0:0" type="uint" />
+ <field name="Inter MB Max Bit Control" dword="5" bits="1:1" type="uint" />
+ <field name="Frame Bitrate Max Report" dword="5" bits="2:2" type="uint" />
+ <field name="Frame Bitrate Min Report" dword="5" bits="3:3" type="uint" />
+ <field name="MBRateControlMask" dword="5" bits="9:9" type="uint" />
+ <field name="Minimum Frame Size Units" dword="5" bits="11:10" type="uint" prefix="MPEG2_MFSU">
+ <value name="Compatibility mode" value="0" />
+ <value name="16 bytes" value="1" />
+ <value name="4Kb" value="2" />
+ <value name="16Kb" value="3" />
+ </field>
+ <field name="Inter MB Force CBP to Zero Control" dword="5" bits="12:12" type="uint" />
+ <field name="Frame Size Control" dword="5" bits="16:16" type="uint" />
+ <field name="Intra MB Conformance Max Size" dword="6" bits="11:0" type="uint" />
+ <field name="Inter MB Conformance Max Size" dword="6" bits="27:16" type="uint" />
+ <field name="Slice Delta QP Max[0]" dword="8" bits="7:0" type="int" />
+ <field name="Slice Delta QP Max[1]" dword="8" bits="15:8" type="int" />
+ <field name="Slice Delta QP Max[2]" dword="8" bits="23:16" type="int" />
+ <field name="Slice Delta QP Max[3]" dword="8" bits="31:24" type="int" />
+ <field name="Slice Delta QP Min[0]" dword="9" bits="7:0" type="int" />
+ <field name="Slice Delta QP Min[1]" dword="9" bits="15:8" type="int" />
+ <field name="Slice Delta QP Min[2]" dword="9" bits="23:16" type="int" />
+ <field name="Slice Delta QP Min[3]" dword="9" bits="31:24" type="int" />
+ <field name="Frame Bitrate Min" dword="10" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit Mode" dword="10" bits="14:14" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Min Unit" dword="10" bits="15:15" type="uint" />
+ <field name="Frame Bitrate Max" dword="10" bits="29:16" type="uint" />
+ <field name="Frame Bitrate Max Unit Mode" dword="10" bits="30:30" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Max Unit" dword="10" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="11" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="11" bits="30:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_PIPE_BUF_ADDR_STATE" bias="2" length="65" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="63" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pre Deblocking Destination - Address" dword="1" bits="47:6" type="address" />
+ <field name="Pre Deblocking Destination - Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Post Deblocking Destination - Address" dword="4" bits="47:6" type="address" />
+ <field name="Post Deblocking Destination - Attributes" dword="6" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Original Uncompressed Picture Source - Address" dword="7" bits="47:6" type="address" />
+ <field name="Original Uncompressed Picture Source - Attributes" dword="9" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Stream-Out Data Destination - Address" dword="10" bits="47:6" type="address" />
+ <field name="Stream-Out Data Destination - Attributes" dword="12" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Intra Row Store Scratch Buffer - Address" dword="13" bits="47:6" type="address" />
+ <field name="Intra Row Store Scratch Buffer - Attributes" dword="15" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocking Filter Row Store Scratch - Address" dword="16" bits="47:6" type="address" />
+ <field name="Deblocking Filter Row Store Scratch - Attributes" dword="18" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <group count="16" dword="19" size="64">
+ <field name="Reference Picture - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Reference Picture - Attributes" dword="51" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="MB Status Buffer - Address" dword="52" bits="47:6" type="address" />
+ <field name="MB Status Buffer - Attributes" dword="54" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="MB ILDB Stream-Out Buffer - Address" dword="55" bits="47:6" type="address" />
+ <field name="MB ILDB Stream-Out Buffer - Attributes" dword="57" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Second MB ILDB Stream-Out Buffer - Address" dword="58" bits="47:6" type="address" />
+ <field name="Second MB ILDB Stream-Out Buffer - Attributes" dword="60" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <group count="16" dword="61" size="2">
+ <field name="Reference Picture - Memory Compression Mode" dword="0" bits="1:1" type="uint" />
+ <field name="Reference Picture - Memory Compression Enable" dword="0" bits="0:0" type="bool" />
+ </group>
+ <field name="Scaled Reference Surface - Address" dword="62" bits="47:6" type="address" />
+ <field name="Scaled Reference Surface - Attributes" dword="64" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </instruction>
+ <instruction name="MFX_PIPE_MODE_SELECT" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Standard Select" dword="1" bits="3:0" type="uint" prefix="SS">
+ <value name="MPEG2" value="0" />
+ <value name="VC1" value="1" />
+ <value name="AVC" value="2" />
+ <value name="JPEG" value="3" />
+ <value name="VP8" value="5" />
+ <value name="UVLD" value="15" />
+ </field>
+ <field name="Codec Select" dword="1" bits="4:4" type="uint">
+ <value name="Decode" value="0" />
+ <value name="Encode" value="1" />
+ </field>
+ <field name="Stitch Mode" dword="1" bits="5:5" type="bool" />
+ <field name="Frame Statistics Stream-Out Enable" dword="1" bits="6:6" type="bool" />
+ <field name="Scaled Surface Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Pre Deblocking Output Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Post Deblocking Output Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Stream-Out Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Pic Error/Status Report Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Deblocker Stream-Out Enable" dword="1" bits="12:12" type="bool" />
+ <field name="VDEnc Mode" dword="1" bits="13:13" type="uint" prefix="VM">
+ <value name="MBEnc Mode" value="0" />
+ <value name="VDEnc Mode" value="1" />
+ </field>
+ <field name="Standalone VDEnc Mode Enable" dword="1" bits="14:14" type="bool" />
+ <field name="Decoder Mode Select" dword="1" bits="16:15" type="uint">
+ <value name="VLD Mode" value="0" />
+ <value name="IT Mode" value="1" />
+ <value name="Deblocker Mode" value="2" />
+ <value name="Interlayer Mode" value="3" />
+ </field>
+ <field name="Decoder Short Format Mode" dword="1" bits="17:17" type="uint">
+ <value name="Short Format Driver Interface" value="0" />
+ <value name="Long Format Driver Interface" value="1" />
+ </field>
+ <field name="Extended Stream-Out Enable" dword="1" bits="18:18" type="bool" />
+ <field name="AES Control" dword="1" bits="31:24" type="uint" />
+ <field name="Pic Status/Error Report ID" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MFX_VP8_ENCODER_CFG" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="4" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Performance Counter Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Final Bitstream Output Disable" dword="1" bits="1:1" type="bool" />
+ <field name="Token Statistics Output Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Bitstream Statistics Output Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Update Segment Feature Data Flag" dword="1" bits="4:4" type="bool" />
+ <field name="Skip Final Bitstream when Over/Underflow" dword="1" bits="5:5" type="bool" />
+ <field name="Rate Control Initial Pass" dword="1" bits="6:6" type="bool" />
+ <field name="Per Segment Delta Qindex / LoopFilter Disable" dword="1" bits="7:7" type="bool" />
+ <field name="Finer BRC Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Compressed Bitstream Output Disable" dword="1" bits="9:9" type="bool" />
+ <field name="VBSP Unit Power Clock Gating Disable" dword="1" bits="10:10" type="bool" />
+ <field name="Max Frame Bit count Rate Control Enable" dword="2" bits="0:0" type="bool" />
+ <field name="Min Frame Bit Count Rate Control Enable" dword="2" bits="1:1" type="bool" />
+ <field name="Max Inter MB Bit Count Check Enable" dword="2" bits="2:2" type="bool" />
+ <field name="Max Intra MB Bit Count Check Enable" dword="2" bits="3:3" type="bool" />
+ <field name="Intermediate Bit Buffer Overrun Enable" dword="2" bits="4:4" type="bool" />
+ <field name="Final Bitstream Buffer Overrun Enable" dword="2" bits="5:5" type="bool" />
+ <field name="QIndex Clamp High for Underflow" dword="2" bits="6:6" type="bool" />
+ <field name="QIndex Clamp High for Overflow" dword="2" bits="7:7" type="bool" />
+ <field name="Max Inter MB Bit Count" dword="3" bits="11:0" type="uint" />
+ <field name="Max Intra MB Bit Count Limit" dword="3" bits="27:16" type="uint" />
+ <field name="Frame Bitrate Max" dword="4" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Max Unit" dword="4" bits="14:14" type="uint" />
+ <field name="Frame Bitrate Max Unit Mode" dword="4" bits="15:15" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Min" dword="4" bits="29:16" type="uint" />
+ <field name="Frame Bitrate Min Unit" dword="4" bits="30:30" type="uint" />
+ <field name="Frame Bitrate Min Unit Mode" dword="4" bits="31:31" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Delta QIndex Max[0]" dword="5" bits="7:0" type="uint" />
+ <field name="Frame Delta QIndex Max[1]" dword="5" bits="15:8" type="uint" />
+ <field name="Frame Delta QIndex Max[2]" dword="5" bits="23:16" type="uint" />
+ <field name="Frame Delta QIndex Max[3]" dword="5" bits="31:24" type="uint" />
+ <field name="Frame Delta QIndex Min[0]" dword="6" bits="7:0" type="uint" />
+ <field name="Frame Delta QIndex Min[1]" dword="6" bits="15:8" type="uint" />
+ <field name="Frame Delta QIndex Min[2]" dword="6" bits="23:16" type="uint" />
+ <field name="Frame Delta QIndex Min[3]" dword="6" bits="31:24" type="uint" />
+ <field name="Per Segment Frame Delta QIndex Max[1]" dword="7" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta QIndex Min[1]" dword="8" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta QIndex Max[2]" dword="9" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta QIndex Min[2]" dword="10" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta QIndex Max[3]" dword="11" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta QIndex Min[3]" dword="12" bits="31:0" type="uint" />
+ <field name="Frame Delta Loop Filter Max[0]" dword="13" bits="7:0" type="uint" />
+ <field name="Frame Delta Loop Filter Max[1]" dword="13" bits="15:8" type="uint" />
+ <field name="Frame Delta Loop Filter Max[2]" dword="13" bits="23:16" type="uint" />
+ <field name="Frame Delta Loop Filter Max[3]" dword="13" bits="31:24" type="uint" />
+ <field name="Frame Delta Loop Filter Min[0]" dword="14" bits="7:0" type="uint" />
+ <field name="Frame Delta Loop Filter Min[1]" dword="14" bits="15:8" type="uint" />
+ <field name="Frame Delta Loop Filter Min[2]" dword="14" bits="23:16" type="uint" />
+ <field name="Frame Delta Loop Filter Min[3]" dword="14" bits="31:24" type="uint" />
+ <field name="Per Segment Frame Delta Loop Filter Max[1]" dword="15" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta Loop Filter Min[1]" dword="16" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta Loop Filter Max[2]" dword="17" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta Loop Filter Min[2]" dword="18" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta Loop Filter Max[3]" dword="19" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta Loop Filter Min[3]" dword="20" bits="31:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="21" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="21" bits="30:16" type="uint" />
+ <field name="Minimum Frame Size" dword="22" bits="15:0" type="uint" />
+ <field name="Minimum Frame Size Unit" dword="22" bits="17:16" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Bitstream Format Version" dword="22" bits="22:20" type="uint" />
+ <field name="Show Frame" dword="22" bits="23:23" type="uint" />
+ <field name="Horizontal_Size_Code" dword="23" bits="15:0" type="uint" />
+ <field name="Vertical_Size_Code" dword="23" bits="31:16" type="uint" />
+ <field name="Frame Header Bit Count" dword="24" bits="31:0" type="uint" />
+ <field name="Frame Header Bin Buffer QIndex Update Pointer" dword="25" bits="31:0" type="uint" />
+ <field name="Frame Header Bin Buffer Loop Filter Update Pointer" dword="26" bits="31:0" type="uint" />
+ <field name="Frame Header Bin Buffer Token Update Pointer" dword="27" bits="31:0" type="uint" />
+ <field name="Frame Header Bin Buffer MV Update Pointer" dword="28" bits="31:0" type="uint" />
+ <field name="CV0" dword="29" bits="3:0" type="uint" />
+ <field name="CV1" dword="29" bits="7:4" type="uint" />
+ <field name="CV2" dword="29" bits="11:8" type="uint" />
+ <field name="CV3" dword="29" bits="15:12" type="uint" />
+ <field name="CV4" dword="29" bits="19:16" type="uint" />
+ <field name="CV5" dword="29" bits="23:20" type="uint" />
+ <field name="CV6" dword="29" bits="27:24" type="uint" />
+ <field name="CV7" dword="29" bits="31:28" type="uint" />
+ </instruction>
+ <instruction name="MFX_VP8_PIC_STATE" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command OpCode" dword="0" bits="26:24" type="uint" default="4" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Width" dword="1" bits="7:0" type="uint" />
+ <field name="Frame Height" dword="1" bits="23:16" type="uint" />
+ <field name="MC Filter Select" dword="2" bits="0:0" type="uint" />
+ <field name="Chroma Full Pixel MC Filter Mode" dword="2" bits="1:1" type="uint" />
+ <field name="DBLK Filter Type" dword="2" bits="4:4" type="uint" />
+ <field name="Key Frame" dword="2" bits="5:5" type="bool" />
+ <field name="Segmentation ID Stream-Out Enable" dword="2" bits="6:6" type="bool" />
+ <field name="Segmentation ID Stream-In Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Segment Enable" dword="2" bits="8:8" type="bool" />
+ <field name="Update MB Segment Map" dword="2" bits="9:9" type="bool" />
+ <field name="MB NoCoeff Skip" dword="2" bits="10:10" type="bool" />
+ <field name="Mode Reference Loop Filter Delta Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Golden Ref Picture MV Sign Bias" dword="2" bits="12:12" type="bool" />
+ <field name="Alternate Ref Pic MV Sign Bias" dword="2" bits="13:13" type="bool" />
+ <field name="Deblock Sharpness Level" dword="2" bits="18:16" type="uint" />
+ <field name="Log2 Num of Partition" dword="2" bits="25:24" type="uint">
+ <value name="1 Token partition" value="0" />
+ <value name="2 Token partition" value="1" />
+ <value name="4 Token partition" value="2" />
+ <value name="8 Token partition" value="3" />
+ </field>
+ <field name="DBLK Filter Level for Segment0" dword="3" bits="5:0" type="uint" />
+ <field name="DBLK Filter Level for Segment1" dword="3" bits="13:8" type="uint" />
+ <field name="DBLK Filter Level for Segment2" dword="3" bits="21:16" type="uint" />
+ <field name="DBLK Filter Level for Segment3" dword="3" bits="29:24" type="uint" />
+ <field name="Segment0 QIndex" dword="4" bits="6:0" type="uint" />
+ <field name="Segment1 QIndex" dword="4" bits="14:8" type="uint" />
+ <field name="Segment2 QIndex" dword="4" bits="22:16" type="uint" />
+ <field name="Segment3 QIndex" dword="4" bits="30:24" type="uint" />
+ <field name="Y2DC QIndex Delta" dword="5" bits="3:0" type="uint" />
+ <field name="Y2AC QIndex Delta Sign" dword="5" bits="4:4" type="uint" />
+ <field name="Y2AC QIndex Delta" dword="5" bits="11:8" type="uint" />
+ <field name="Y2AC QIndex Sign" dword="5" bits="12:12" type="uint" />
+ <field name="UVDC QIndex Delta" dword="5" bits="19:16" type="uint" />
+ <field name="UVDC QIndex Delta Sign" dword="5" bits="20:20" type="uint" />
+ <field name="UVAC QIndex Delta" dword="5" bits="27:24" type="uint" />
+ <field name="UVAC QIndex Delta Sign" dword="5" bits="28:28" type="uint" />
+ <field name="Y1DC QIndex Delta" dword="6" bits="3:0" type="uint" />
+ <field name="Y1DC QIndex Delta Sign" dword="6" bits="4:4" type="uint" />
+ <field name="Clamp QIndex Low" dword="7" bits="6:0" type="uint" />
+ <field name="Clamp QIndex High" dword="7" bits="14:8" type="uint" />
+ <field name="Quantizer Value [1][UVDC]" dword="8" bits="8:0" type="uint" />
+ <field name="Quantizer Value [1][UVAC]" dword="8" bits="24:16" type="uint" />
+ <field name="Quantizer Value [1][Y2DC]" dword="9" bits="8:0" type="uint" />
+ <field name="Quantizer Value [1][Y2AC]" dword="9" bits="24:16" type="uint" />
+ <field name="Quantizer Value [2][Y1DC]" dword="10" bits="8:0" type="uint" />
+ <field name="Quantizer Value [2][Y1AC]" dword="10" bits="24:16" type="uint" />
+ <field name="Quantizer Value [2][UVDC]" dword="11" bits="8:0" type="uint" />
+ <field name="Quantizer Value [2][UVAC]" dword="11" bits="24:16" type="uint" />
+ <field name="Quantizer Value [2][Y2DC]" dword="12" bits="8:0" type="uint" />
+ <field name="Quantizer Value [2][Y2AC]" dword="12" bits="24:16" type="uint" />
+ <field name="Quantizer Value [3][Y1DC]" dword="13" bits="8:0" type="uint" />
+ <field name="Quantizer Value [3][Y1AC]" dword="13" bits="24:16" type="uint" />
+ <field name="Quantizer Value [3][UVDC]" dword="14" bits="8:0" type="uint" />
+ <field name="Quantizer Value [3][UVAC]" dword="14" bits="24:16" type="uint" />
+ <field name="Quantizer Value [3][Y2DC]" dword="15" bits="8:0" type="uint" />
+ <field name="Quantizer Value [3][Y2AC]" dword="15" bits="24:16" type="uint" />
+ <field name="CoeffProbability Stream-In - Address" dword="16" bits="47:6" type="uint" />
+ <field name="CoeffProbability Stream-In - MOCS (Encoder Only)" dword="18" bits="6:0" type="uint" nonzero="true" />
+ <field name="CoeffProbability Stream-In - Arbitration Priority Control" dword="18" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="CoeffProbability Stream-In - Memory Compression Enable" dword="18" bits="9:9" type="bool" />
+ <field name="CoeffProbability Stream-In - Memory Compression Mode" dword="18" bits="10:10" type="uint" />
+ <field name="CoeffProbability Stream-In - Tiled Resource Mode" dword="18" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ <field name="MBSegmentIDTreeProbs[0]" dword="19" bits="7:0" type="uint" />
+ <field name="MBSegmentIDTreeProbs[1]" dword="19" bits="15:8" type="uint" />
+ <field name="MBSegmentIDTreeProbs[2]" dword="19" bits="23:16" type="uint" />
+ <field name="InterPredFromGRefRefProb" dword="20" bits="7:0" type="uint" />
+ <field name="InterPredFromLastRefProb" dword="20" bits="15:8" type="uint" />
+ <field name="IntraMBProb" dword="20" bits="23:16" type="uint" />
+ <field name="MBNoCoeffSkipFalseProb" dword="20" bits="31:24" type="uint" />
+ <field name="YModeProb[0]" dword="21" bits="7:0" type="uint" />
+ <field name="YModeProb[1]" dword="21" bits="15:8" type="uint" />
+ <field name="YModeProb[2]" dword="21" bits="23:16" type="uint" />
+ <field name="YModeProb[3]" dword="21" bits="31:24" type="uint" />
+ <field name="UVModeProb[0]" dword="22" bits="7:0" type="uint" />
+ <field name="UVModeProb[1]" dword="22" bits="15:8" type="uint" />
+ <field name="UVModeProb[2]" dword="22" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][0]" dword="23" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][1]" dword="23" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][2]" dword="23" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][3]" dword="23" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[0][4]" dword="24" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][5]" dword="24" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][6]" dword="24" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][7]" dword="24" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[0][8]" dword="25" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][9]" dword="25" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][10]" dword="25" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][11]" dword="25" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[0][12]" dword="26" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][13]" dword="26" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][14]" dword="26" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][15]" dword="26" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[0][16]" dword="27" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][17]" dword="27" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][18]" dword="27" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][0]" dword="28" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][1]" dword="28" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][2]" dword="28" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][3]" dword="28" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[1][4]" dword="29" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][5]" dword="29" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][6]" dword="29" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][7]" dword="29" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[1][8]" dword="30" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][9]" dword="30" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][10]" dword="30" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][11]" dword="30" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[1][12]" dword="31" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][13]" dword="31" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][14]" dword="31" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][15]" dword="31" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[1][16]" dword="32" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][17]" dword="32" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][18]" dword="32" bits="23:16" type="uint" />
+ <field name="RefLFDelta0" dword="33" bits="6:0" type="int" />
+ <field name="RefLFDelta1" dword="33" bits="14:8" type="int" />
+ <field name="RefLFDelta2" dword="33" bits="22:16" type="int" />
+ <field name="RefLFDelta3" dword="33" bits="30:24" type="int" />
+ <field name="ModeLFDelta0" dword="34" bits="6:0" type="int" />
+ <field name="ModeLFDelta1" dword="34" bits="14:8" type="int" />
+ <field name="ModeLFDelta2" dword="34" bits="22:16" type="int" />
+ <field name="ModeLFDelta3" dword="34" bits="30:24" type="int" />
+ <field name="Segmentation ID Stream - Address" dword="35" bits="47:0" type="uint" />
+ <field name="CoeffProbability Stream-In - MOCS" dword="37" bits="6:0" type="uint" nonzero="true" />
+ <field name="Segmentation ID Stream - Arbitration Priority Control" dword="37" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Segmentation ID Stream - Memory Compression Enable" dword="37" bits="9:9" type="bool" />
+ <field name="Segmentation ID Stream - Memory Compression Mode" dword="37" bits="10:10" type="uint" />
+ <field name="Segmentation ID Stream - Tiled Resource Mode" dword="37" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ </instruction>
+ <instruction name="MI_ARB_ON_OFF" bias="1" length="1">
+ <field name="Arbitration Enable" dword="0" bits="0:0" type="bool" default="1" />
+ <field name="Allow Lite Restore" dword="0" bits="1:1" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="8" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_BATCH_BUFFER_END" bias="1" length="1">
+ <field name="End Context" dword="0" bits="0:0" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="10" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_BATCH_BUFFER_START" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Address Space Indicator" dword="0" bits="8:8" type="uint" prefix="ASI">
+ <value name="GGTT" value="0" />
+ <value name="PPGTT" value="1" />
+ </field>
+ <field name="Resource Streamer Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Predication Enable" dword="0" bits="15:15" type="bool" />
+ <field name="Second Level Batch Buffer" dword="0" bits="22:22" type="uint">
+ <value name="First level batch" value="0" />
+ <value name="Second level batch" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="49" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Batch Buffer Start Address" dword="1" bits="63:2" type="address" />
+ </instruction>
+ <instruction name="MI_DISPLAY_FLIP" bias="2" length="3" engine="render|blitter">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Display Plane Select" dword="0" bits="13:8" type="uint">
+ <value name="Display Plane 1" value="0" />
+ <value name="Display Plane 2" value="1" />
+ <value name="Display Plane 3" value="2" />
+ <value name="Display Plane 4" value="4" />
+ <value name="Display Plane 5" value="5" />
+ <value name="Display Plane 6" value="6" />
+ <value name="Display Plane 7" value="7" />
+ <value name="Display Plane 8" value="8" />
+ <value name="Display Plane 9" value="9" />
+ <value name="Display Plane 10" value="10" />
+ <value name="Display Plane 11" value="11" />
+ <value name="Display Plane 12" value="12" />
+ <value name="Display Plane 13" value="13" />
+ <value name="Display Plane 14" value="14" />
+ <value name="Display Plane 15" value="15" />
+ <value name="Display Plane 16" value="16" />
+ <value name="Display Plane 17" value="17" />
+ <value name="Display Plane 18" value="18" />
+ <value name="Display Plane 19" value="19" />
+ <value name="Display Plane 20" value="20" />
+ <value name="Display Plane 21" value="21" />
+ <value name="Display Plane 22" value="22" />
+ <value name="Display Plane 23" value="23" />
+ <value name="Display Plane 24" value="24" />
+ <value name="Display Plane 25" value="25" />
+ <value name="Display Plane 26" value="26" />
+ <value name="Display Plane 27" value="27" />
+ <value name="Display Plane 28" value="28" />
+ <value name="Display Plane 29" value="29" />
+ <value name="Display Plane 30" value="30" />
+ <value name="Display Plane 31" value="31" />
+ <value name="Display Plane 32" value="32" />
+ </field>
+ <field name="Async Flip Indicator" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="20" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Tile Parameter" dword="1" bits="2:0" type="uint" />
+ <field name="Display Buffer Pitch" dword="1" bits="15:6" type="uint" />
+ <field name="Stereoscopic 3D Mode" dword="1" bits="31:31" type="bool" />
+ <field name="Flip Type" dword="2" bits="1:0" type="uint">
+ <value name="Sync Flip" value="0" />
+ <value name="Async Flip" value="1" />
+ <value name="Stereo 3D Flip" value="2" />
+ </field>
+ <field name="VRR Master Flip" dword="2" bits="11:11" type="uint" />
+ <field name="Display Buffer Base Address" dword="2" bits="31:12" type="address" />
+ <field name="Left Eye Display Buffer Base Address" dword="3" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="MI_FLUSH_DW" bias="2" length="5" engine="blitter|video">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="3" />
+ <field name="Video Pipeline Cache Invalidate" dword="0" bits="7:7" type="bool" />
+ <field name="Notify Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Flush LLC" dword="0" bits="9:9" type="bool" />
+ <field name="Post-Sync Operation" dword="0" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="TLB Invalidate" dword="0" bits="18:18" type="bool" />
+ <field name="Store Data Index" dword="0" bits="21:21" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="38" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Destination Address Type" dword="1" bits="2:2" type="uint" prefix="DAT">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Address" dword="1" bits="47:3" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="MI_FORCE_WAKEUP" bias="2" length="2">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="29" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Force Media-Slice0 Awake" dword="1" bits="0:0" type="uint" />
+ <field name="Force Render Awake" dword="1" bits="1:1" type="uint" />
+ <field name="Force Media-Slice1 Awake" dword="1" bits="2:2" type="uint" />
+ <field name="Force Media-Slice2 Awake" dword="1" bits="3:3" type="uint" />
+ <field name="Force Media-Slice3 Awake" dword="1" bits="4:4" type="uint" />
+ <field name="Mask Bits" dword="1" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="MI_LOAD_REGISTER_IMM" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Byte Write Disables" dword="0" bits="11:8" type="uint" />
+ <field name="Add CS MMIO Start Offset" dword="0" bits="19:19" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="34" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Offset" dword="1" bits="22:2" type="offset" />
+ <field name="Data DWord" dword="2" bits="31:0" type="uint" />
+ <group count="0" dword="3" size="64">
+ <field name="Register Offset" dword="0" bits="22:2" type="offset" />
+ <field name="Data DWord" dword="1" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MI_LOAD_REGISTER_MEM" bias="2" length="4">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Add CS MMIO Start Offset" dword="0" bits="19:19" type="uint" />
+ <field name="Add Loop Variable" dword="0" bits="20:20" type="uint" />
+ <field name="Async Mode Enable" dword="0" bits="21:21" type="bool" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="41" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Address" dword="1" bits="22:2" type="offset" />
+ <field name="Memory Address" dword="2" bits="63:2" type="address" />
+ </instruction>
+ <instruction name="MI_LOAD_REGISTER_REG" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Add CS MMIO Start Offset Source" dword="0" bits="18:18" type="uint" />
+ <field name="Add CS MMIO Start Offset Destination" dword="0" bits="19:19" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="42" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Source Register Address" dword="1" bits="22:2" type="offset" />
+ <field name="Destination Register Address" dword="2" bits="22:2" type="offset" />
+ </instruction>
+ <instruction name="MI_LOAD_SCAN_LINES_EXCL" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="0" />
+ <field name="Display (Plane) Select" dword="0" bits="21:19" type="uint">
+ <value name="Display Plane A" value="0" />
+ <value name="Display Plane B" value="1" />
+ <value name="Display Plane C" value="4" />
+ <value name="Display Plane D" value="5" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="19" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="End Scan Line Number" dword="1" bits="12:0" type="uint" />
+ <field name="Start Scan Line Number" dword="1" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MI_LOAD_SCAN_LINES_INCL" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="0" />
+ <field name="Scan Line Event Done Forward" dword="0" bits="18:17" type="uint" />
+ <field name="Display (Plane) Select" dword="0" bits="21:19" type="uint">
+ <value name="Display Plane 1 A" value="0" />
+ <value name="Display Plane 1 B" value="1" />
+ <value name="Display Plane 1 C" value="4" />
+ <value name="Display Plane 1 D" value="5" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="18" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="End Scan Line Number" dword="1" bits="12:0" type="uint" />
+ <field name="Start Scan Line Number" dword="1" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MI_SEMAPHORE_SIGNAL" bias="2" length="2">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Target Engine Select" dword="0" bits="18:15" type="uint">
+ <value name="RCS" value="0" />
+ <value name="VCS0" value="1" />
+ <value name="BCS" value="2" />
+ <value name="VECS" value="3" />
+ <value name="VCS1" value="4" />
+ <value name="VCS2" value="6" />
+ <value name="VCS3" value="7" />
+ <value name="VCS4" value="8" />
+ <value name="VCS5" value="9" />
+ <value name="VCS6" value="10" />
+ <value name="VCS7" value="11" />
+ <value name="VECS1" value="12" />
+ <value name="VECS2" value="13" />
+ <value name="VECS3" value="14" />
+ </field>
+ <field name="Post-Sync Operation" dword="0" bits="21:21" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="27" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Target Context ID" dword="1" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_SET_CONTEXT" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="24" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Restore Inhibit" dword="1" bits="0:0" type="uint" />
+ <field name="Force Restore" dword="1" bits="1:1" type="uint" />
+ <field name="Resource Streamer State Restore Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Resource Streamer State Save Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Core Mode Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Reserved, Must be 1" dword="1" bits="8:8" type="uint" />
+ <field name="Logical Context Address" dword="1" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="MI_SET_PREDICATE" bias="1" length="1">
+ <field name="Predicate Enable" dword="0" bits="3:0" type="uint">
+ <value name="NOOP Never" value="0" />
+ <value name="NOOP On Result2 Clear" value="1" />
+ <value name="NOOP On Result2 Set" value="2" />
+ <value name="NOOP On Result Clear" value="3" />
+ <value name="NOOP On Result Set" value="4" />
+ <value name="NOOP Always" value="15" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_STORE_REGISTER_MEM" bias="2" length="4">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Add CS MMIO Start Offset" dword="0" bits="19:19" type="uint" />
+ <field name="Predicate Enable" dword="0" bits="21:21" type="bool" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="36" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Address" dword="1" bits="22:2" type="offset" />
+ <field name="Memory Address" dword="2" bits="63:2" type="address" />
+ </instruction>
+ <instruction name="MI_WAIT_FOR_EVENT_2" bias="1" length="1" engine="render|blitter">
+ <field name="Display Plane Flip Pending Wait Enable" dword="0" bits="5:0" type="uint" />
+ <field name="Display Pipe Vertical Blank Wait Enable" dword="0" bits="10:8" type="uint" />
+ <field name="Display Pipe Scan Line Wait Enable" dword="0" bits="14:12" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="4" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Cache Flush Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Stall At Pixel Scoreboard" dword="1" bits="1:1" type="bool" />
+ <field name="State Cache Invalidation Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Constant Cache Invalidation Enable" dword="1" bits="3:3" type="bool" />
+ <field name="VF Cache Invalidation Enable" dword="1" bits="4:4" type="bool" />
+ <field name="DC Flush Enable" dword="1" bits="5:5" type="bool" />
+ <field name="Pipe Control Flush Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Notify Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Indirect State Pointers Disable" dword="1" bits="9:9" type="bool" />
+ <field name="Texture Cache Invalidation Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Instruction Cache Invalidate Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Render Target Cache Flush Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Depth Stall Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Post Sync Operation" dword="1" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write PS Depth Count" value="2" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="Generic Media State Clear" dword="1" bits="16:16" type="bool" />
+ <field name="PSD Sync Enable" dword="1" bits="17:17" type="bool" />
+ <field name="TLB Invalidate" dword="1" bits="18:18" type="bool" />
+ <field name="Global Snapshot Count Reset" dword="1" bits="19:19" type="bool" />
+ <field name="Command Streamer Stall Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Store Data Index" dword="1" bits="21:21" type="uint" />
+ <field name="LRI Post Sync Operation" dword="1" bits="23:23" type="uint">
+ <value name="No LRI Operation" value="0" />
+ <value name="MMIO Write Immediate Data" value="1" />
+ </field>
+ <field name="Destination Address Type" dword="1" bits="24:24" type="uint" prefix="DAT">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Flush LLC" dword="1" bits="26:26" type="bool" />
+ <field name="Command Cache Invalidate Enable" dword="1" bits="29:29" type="bool" />
+ <field name="Address" dword="2" bits="47:2" type="address" />
+ <field name="Immediate Data" dword="4" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="SFC_AVS_STATE" bias="2" length="4" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="2" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="10" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="AVS State Body" dword="1" bits="1535:0" type="SFC_AVS_STATE_BODY" />
+ </instruction>
+ <instruction name="SFC_STATE" bias="2" length="32" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="30" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="10" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SFC Pipe Mode" dword="1" bits="3:0" type="uint" />
+ <field name="SFC Input Chroma Sub-Sampling" dword="1" bits="7:4" type="uint">
+ <value name="4:0:0" value="0" />
+ <value name="4:2:0" value="1" />
+ <value name="4:2:2 Horizontal" value="2" />
+ <value name="4:4:4 Progressive/Interleaved" value="4" />
+ </field>
+ <field name="VD/VE Input Ordering Mode" dword="1" bits="10:8" type="uint" />
+ <field name="Input Frame Resolution Width" dword="2" bits="11:0" type="uint" />
+ <field name="Input Frame Resolution Height" dword="2" bits="27:16" type="uint" />
+ <field name="Output Surface Format Type" dword="3" bits="3:0" type="uint" />
+ <field name="RGBA Channel Swap Enable" dword="3" bits="5:5" type="bool" />
+ <field name="Output Chroma Downsampling Co-siting position Vertical Direction" dword="3" bits="11:8" type="uint">
+ <value name="0/8 (Left Full Pixel)" value="0" />
+ <value name="1/8" value="1" />
+ <value name="1/4 (2/8)" value="2" />
+ <value name="3/8" value="3" />
+ <value name="1/2 (4/8)" value="4" />
+ <value name="5/8" value="5" />
+ <value name="3/4 (6/8)" value="6" />
+ <value name="7/8" value="7" />
+ <value name="8/8" value="8" />
+ </field>
+ <field name="Output Chroma Downsampling Co-siting position Horizontal Direction" dword="3" bits="15:12" type="uint">
+ <value name="0/8 (Left Full Pixel)" value="0" />
+ <value name="1/8" value="1" />
+ <value name="1/4 (2/8)" value="2" />
+ <value name="3/8" value="3" />
+ <value name="1/2 (4/8)" value="4" />
+ <value name="5/8" value="5" />
+ <value name="3/4 (6/8)" value="6" />
+ <value name="7/8" value="7" />
+ <value name="8/8" value="8" />
+ </field>
+ <field name="IEF Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Skin Tone Tuned IEF_Enable" dword="4" bits="1:1" type="bool" />
+ <field name="IEF4 Smooth Enable" dword="4" bits="2:2" type="bool" />
+ <field name="AVS Filter Mode" dword="4" bits="5:4" type="uint">
+ <value name="5x5 Poly-phase filter + Bilinear" value="0" />
+ <value name="8x8 poly-phase filter + Bilinear" value="1" />
+ <value name="Bilinear filter only" value="2" />
+ </field>
+ <field name="Adaptive Filter for all Channels" dword="4" bits="6:6" type="bool" />
+ <field name="AVS Scaling Enable" dword="4" bits="7:7" type="bool" />
+ <field name="Bypass Y Adaptive Filtering" dword="4" bits="8:8" type="bool" />
+ <field name="Bypass X Adaptive Filtering" dword="4" bits="9:9" type="bool" />
+ <field name="RGB Adaptive" dword="4" bits="10:10" type="bool" />
+ <field name="Chroma Upsampling Enable" dword="4" bits="12:12" type="bool" />
+ <field name="Mirror Type" dword="4" bits="13:13" type="uint">
+ <value name="Horizontal Flip" value="0" />
+ <value name="Vertical Flip" value="1" />
+ </field>
+ <field name="Mirror Mode" dword="4" bits="14:14" type="bool" />
+ <field name="Rotation Mode" dword="4" bits="17:16" type="uint">
+ <value name="0" value="0" />
+ <value name="90 CW" value="1" />
+ <value name="180 CW" value="2" />
+ <value name="270 CW" value="3" />
+ </field>
+ <field name="Color Fill Enable" dword="4" bits="18:18" type="bool" />
+ <field name="CSC Enable" dword="4" bits="19:19" type="bool" />
+ <field name="Bit Depth" dword="4" bits="21:20" type="uint" prefix="SFC">
+ <value name="10-bit" value="0" />
+ <value name="16-bit" value="1" />
+ </field>
+ <field name="Source Region Width" dword="5" bits="11:0" type="uint" />
+ <field name="Source Region Height" dword="5" bits="27:16" type="uint" />
+ <field name="Source Region Horizontal Offset" dword="6" bits="11:0" type="uint" />
+ <field name="Source Region Vertical Offset" dword="6" bits="27:16" type="uint" />
+ <field name="Output Frame Width" dword="7" bits="11:0" type="uint" />
+ <field name="Output Frame Height" dword="7" bits="27:16" type="uint" />
+ <field name="Scaled Region Size Width" dword="8" bits="11:0" type="uint" />
+ <field name="Scaled Region Size Height" dword="8" bits="27:16" type="uint" />
+ <field name="Scaled Region Horizontal Offset" dword="9" bits="12:0" type="int" />
+ <field name="Scaled Region Vertical Offset" dword="9" bits="28:16" type="int" />
+ <field name="Gray Bar Pixel - U/G" dword="10" bits="9:0" type="uint" />
+ <field name="Gray Bar Pixel - Y/R" dword="10" bits="25:16" type="uint" />
+ <field name="Gray Bar Pixel - A" dword="11" bits="9:0" type="uint" />
+ <field name="Gray Bar Pixel - V/B" dword="11" bits="25:16" type="uint" />
+ <field name="UV Default value for U channel" dword="12" bits="9:0" type="uint" />
+ <field name="UV Default value for V channel" dword="12" bits="25:16" type="uint" />
+ <field name="Alpha Default Value" dword="13" bits="9:0" type="uint" />
+ <field name="Scaling Factor Height" dword="14" bits="20:0" type="u4.17" />
+ <field name="Scaling Factor Width" dword="15" bits="20:0" type="u4.17" />
+ <field name="Output Frame - Address" dword="17" bits="47:12" type="uint" />
+ <field name="Output Frame - MOCS" dword="19" bits="6:0" type="uint" nonzero="true" />
+ <field name="Output Frame - Arbitration Priority Control" dword="19" bits="8:7" type="HEVC_ARBITRATION_PRIORITY" />
+ <field name="Output Frame - Memory Compression Enable" dword="19" bits="9:9" type="bool" />
+ <field name="Output Frame - Memory Compression Mode" dword="19" bits="10:10" type="uint" />
+ <field name="Output Frame - Cache Select" dword="19" bits="12:12" type="bool" />
+ <field name="Output Frame - Tiled Mode" dword="19" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ <field name="AVS Line Buffer - Address" dword="20" bits="47:12" type="uint" />
+ <field name="AVS Line Buffer - MOCS" dword="22" bits="6:0" type="uint" nonzero="true" />
+ <field name="AVS Line Buffer - Arbitration Priority Control" dword="22" bits="8:7" type="HEVC_ARBITRATION_PRIORITY" />
+ <field name="AVS Line Buffer - Memory Compression Enable" dword="22" bits="9:9" type="bool" />
+ <field name="AVS Line Buffer - Memory Compression Mode" dword="22" bits="10:10" type="uint">
+ <value name="Horizontal Compression Mode" value="0" />
+ </field>
+ <field name="AVS Line Buffer - Cache Select" dword="22" bits="12:12" type="uint">
+ <value name="LLC" value="0" />
+ </field>
+ <field name="AVS Line Buffer - Tiled Mode" dword="22" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ <field name="IEF Line Buffer - Address" dword="23" bits="47:12" type="uint" />
+ <field name="IEF Line Buffer - MOCS" dword="25" bits="6:0" type="uint" nonzero="true" />
+ <field name="IEF Line Buffer - Arbitration Priority Control" dword="25" bits="8:7" type="HEVC_ARBITRATION_PRIORITY" />
+ <field name="IEF Line Buffer - Memory Compression Enable" dword="25" bits="9:9" type="bool" />
+ <field name="IEF Line Buffer - Memory Compression Mode" dword="25" bits="10:10" type="uint" />
+ <field name="IEF Line Buffer - Cache Select" dword="25" bits="12:12" type="uint" />
+ <field name="IEF Line Buffer - Tiled Mode" dword="25" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ <field name="Output Surface Tile Walk" dword="29" bits="0:0" type="uint" prefix="TW">
+ <value name="XMAJOR" value="0" />
+ <value name="YMAJOR" value="1" />
+ </field>
+ <field name="Output Surface Tiled" dword="29" bits="1:1" type="bool" />
+ <field name="Output Surface Half Pitch for Chroma" dword="29" bits="2:2" type="bool" />
+ <field name="Output Surface Pitch" dword="29" bits="19:3" type="uint" />
+ <field name="Output Surface Interleave Chroma Enable" dword="29" bits="27:27" type="bool" />
+ <field name="Output Surface Format" dword="29" bits="31:28" type="uint" />
+ <field name="Output Surface Y Offset for U" dword="30" bits="13:0" type="uint" />
+ <field name="Output Surface X Offset for U" dword="30" bits="29:16" type="uint" />
+ <field name="Output Surface Y Offset for V" dword="31" bits="13:0" type="uint" />
+ <field name="Output Surface X Offset for V" dword="31" bits="29:16" type="uint" />
+ </instruction>
+ <instruction name="STATE_BASE_ADDRESS" bias="2" length="22" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="20" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="General State Base Address Modify Enable" dword="1" bits="0:0" type="bool" />
+ <field name="General State MOCS" dword="1" bits="10:4" type="uint" nonzero="true" />
+ <field name="General State Base Address" dword="1" bits="63:12" type="address" />
+ <field name="Stateless Data Port Access MOCS" dword="3" bits="22:16" type="uint" nonzero="true" />
+ <field name="Surface State Base Address Modify Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Surface State MOCS" dword="4" bits="10:4" type="uint" nonzero="true" />
+ <field name="Surface State Base Address" dword="4" bits="63:12" type="address" />
+ <field name="Dynamic State Base Address Modify Enable" dword="6" bits="0:0" type="bool" />
+ <field name="Dynamic State MOCS" dword="6" bits="10:4" type="uint" nonzero="true" />
+ <field name="Dynamic State Base Address" dword="6" bits="63:12" type="address" />
+ <field name="Indirect Object Base Address Modify Enable" dword="8" bits="0:0" type="bool" />
+ <field name="Indirect Object MOCS" dword="8" bits="10:4" type="uint" nonzero="true" />
+ <field name="Indirect Object Base Address" dword="8" bits="63:12" type="address" />
+ <field name="Instruction Base Address Modify Enable" dword="10" bits="0:0" type="bool" />
+ <field name="Instruction MOCS" dword="10" bits="10:4" type="uint" nonzero="true" />
+ <field name="Instruction Base Address" dword="10" bits="63:12" type="address" />
+ <field name="General State Buffer Size Modify Enable" dword="12" bits="0:0" type="bool" />
+ <field name="General State Buffer Size" dword="12" bits="31:12" type="uint" />
+ <field name="Dynamic State Buffer Size Modify Enable" dword="13" bits="0:0" type="bool" />
+ <field name="Dynamic State Buffer Size" dword="13" bits="31:12" type="uint" />
+ <field name="Indirect Object Buffer Size Modify Enable" dword="14" bits="0:0" type="bool" />
+ <field name="Indirect Object Buffer Size" dword="14" bits="31:12" type="uint" />
+ <field name="Instruction Buffer size Modify Enable" dword="15" bits="0:0" type="bool" />
+ <field name="Instruction Buffer Size" dword="15" bits="31:12" type="uint" />
+ <field name="Bindless Surface State Base Address Modify Enable" dword="16" bits="0:0" type="bool" />
+ <field name="Bindless Surface State MOCS" dword="16" bits="10:4" type="uint" nonzero="true" />
+ <field name="Bindless Surface State Base Address" dword="16" bits="63:12" type="address" />
+ <field name="Bindless Surface State Size" dword="18" bits="31:12" type="uint" />
+ <field name="Bindless Sampler State Base Address Modify Enable" dword="19" bits="0:0" type="bool" />
+ <field name="Bindless Sampler State MOCS" dword="19" bits="10:4" type="uint" nonzero="true" />
+ <field name="Bindless Sampler State Base Address" dword="19" bits="63:12" type="address" />
+ <field name="Bindless Sampler State Buffer Size" dword="21" bits="31:12" type="uint" />
+ </instruction>
+ <instruction name="VDENC_DS_REF_SURFACE_STATE" bias="2" length="10" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="8" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="8X Surface State" dword="2" bits="127:0" type="VDENC_SURFACE_STATE_FIELDS" />
+ <field name="4X Surface State" dword="6" bits="127:0" type="VDENC_SURFACE_STATE_FIELDS" />
+ </instruction>
+ <instruction name="VDENC_IMG_STATE" bias="2" length="35" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="33" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="5" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Bidirectional Mix Disable" dword="1" bits="2:2" type="bool" />
+ <field name="VDENC PerfMode" dword="1" bits="3:3" type="uint">
+ <value name="Speed" value="1" />
+ </field>
+ <field name="Time Budget Overflow Check" dword="1" bits="4:4" type="bool" />
+ <field name="VDEnc Extended PAK_OBJ_CMD Enable" dword="1" bits="6:6" type="bool" />
+ <field name="Transform 8x8" dword="1" bits="7:7" type="bool" />
+ <field name="VDEnc L1 Cache Priority" dword="1" bits="9:8" type="uint" />
+ <field name="Lambda Value for Trellis" dword="1" bits="31:16" type="uint" />
+ <field name="Bidirectional Weight" dword="2" bits="21:16" type="uint" />
+ <field name="Unidirectional Mix Disable" dword="2" bits="28:28" type="bool" />
+ <field name="Picture Width" dword="3" bits="31:16" type="uint" />
+ <field name="Sub-Pel Mode" dword="4" bits="13:12" type="uint" />
+ <field name="Forward Transform Skip Check Enable" dword="4" bits="17:17" type="bool" />
+ <field name="Bme Disable For Fbr Message" dword="4" bits="18:18" type="bool" />
+ <field name="Block-Based Skip Enable" dword="4" bits="19:19" type="bool" />
+ <field name="Inter SAD Measure Adjustment" dword="4" bits="21:20" type="uint" prefix="ISMA">
+ <value name="None" value="0" />
+ <value name="Haar Transform Adjusted" value="2" />
+ </field>
+ <field name="Intra SAD Measure Adjustment" dword="4" bits="23:22" type="uint" prefix="ISMA">
+ <value name="None" value="0" />
+ <value name="Haar Transform Adjusted" value="2" />
+ </field>
+ <field name="Sub-MB Sub-Partition Mask" dword="4" bits="30:24" type="uint" />
+ <field name="Block-Based Skip Type" dword="4" bits="31:31" type="uint" />
+ <field name="Picture Height" dword="5" bits="15:0" type="uint" />
+ <field name="CRE Prefetch Enable" dword="5" bits="16:16" type="bool" />
+ <field name="HME Ref1 Disable" dword="5" bits="17:17" type="bool" />
+ <field name="MB Slice Threshold Value" dword="5" bits="21:18" type="uint" />
+ <field name="Constrained Intra Prediction" dword="5" bits="26:26" type="bool" />
+ <field name="Picture Type" dword="5" bits="30:29" type="uint" prefix="PI">
+ <value name="I" value="0" />
+ <value name="P" value="1" />
+ </field>
+ <field name="Slice MB Height" dword="6" bits="15:0" type="uint" />
+ <field name="HME0 X Offset" dword="7" bits="7:0" type="int" />
+ <field name="HME0 Y Offset" dword="7" bits="15:8" type="int" />
+ <field name="HME1 X Offset" dword="7" bits="23:16" type="int" />
+ <field name="HME1 Y Offset" dword="7" bits="31:24" type="int" />
+ <field name="Luma Intra Partition Mask" dword="8" bits="4:0" type="uint" />
+ <field name="Non Skip Zero MV Cost Added" dword="8" bits="5:5" type="uint" />
+ <field name="Non Skip MB Mode Cost Added" dword="8" bits="6:6" type="uint" />
+ <field name="MV Cost Scaling Factor" dword="8" bits="17:16" type="uint">
+ <value name="Qpel" value="0" />
+ <value name="Hpel" value="1" />
+ <value name="Pel" value="2" />
+ <value name="2pel" value="3" />
+ </field>
+ <field name="BiLinear Filter Enable" dword="8" bits="18:18" type="bool" />
+ <field name="RefID Cost Mode Select" dword="8" bits="22:22" type="uint" />
+ <field name="Mode 0 Cost" dword="9" bits="7:0" type="uint" />
+ <field name="Mode 1 Cost" dword="9" bits="15:8" type="uint" />
+ <field name="Mode 2 Cost" dword="9" bits="23:16" type="uint" />
+ <field name="Mode 3 Cost" dword="9" bits="31:24" type="uint" />
+ <field name="Mode 4 Cost" dword="10" bits="7:0" type="uint" />
+ <field name="Mode 5 Cost" dword="10" bits="15:8" type="uint" />
+ <field name="Mode 6 Cost" dword="10" bits="23:16" type="uint" />
+ <field name="Mode 7 Cost" dword="10" bits="31:24" type="uint" />
+ <field name="Mode 8 Cost" dword="11" bits="7:0" type="uint" />
+ <field name="Mode 9 Cost" dword="11" bits="15:8" type="uint" />
+ <field name="RefID Cost" dword="11" bits="23:16" type="uint" />
+ <field name="Chroma Intra Mode Cost" dword="11" bits="31:24" type="uint" />
+ <field name="MV Cost" dword="12" bits="63:0" type="IMAGE_STATE_COST" />
+ <field name="QpPrimeY" dword="14" bits="7:0" type="int" />
+ <field name="TargetSizeInWord" dword="14" bits="31:24" type="uint" />
+ <field name="AVC Intra 4x4 Mode Mask" dword="17" bits="8:0" type="uint" />
+ <field name="AVC Intra 8x8 Mode Mask" dword="17" bits="24:16" type="uint" />
+ <field name="AVC Intra 16x16 Mode Mask" dword="18" bits="3:0" type="uint" />
+ <field name="AVC Intra Chroma Mode Mask" dword="18" bits="7:4" type="uint" />
+ <field name="Intra Compute Type" dword="18" bits="9:8" type="uint" />
+ <field name="Penalty for Intra 16x16 Non-DC Prediction" dword="20" bits="7:0" type="uint" />
+ <field name="Penalty for Intra 8x8 Non-DC Prediction" dword="20" bits="15:8" type="uint" />
+ <field name="Penalty for Intra 4x4 Non-DC Prediction" dword="20" bits="23:16" type="uint" />
+ <field name="Intra Refresh MB Position" dword="21" bits="7:0" type="uint" />
+ <field name="Intra Refresh MB Size" dword="21" bits="15:8" type="uint" />
+ <field name="Intra Refresh Enable (Rolling-I Enable)" dword="21" bits="16:16" type="bool" />
+ <field name="Intra Refresh Mode" dword="21" bits="17:17" type="uint">
+ <value name="Row Based" value="0" />
+ <value name="Column Based" value="1" />
+ </field>
+ <field name="QP Adjustment for Rolling-I" dword="21" bits="31:24" type="int" />
+ <field name="PanicModeMBThreshold" dword="22" bits="15:0" type="uint" />
+ <field name="SmallMbSizeInWord" dword="22" bits="23:16" type="uint" />
+ <field name="LargeMbSizeInWord" dword="22" bits="31:24" type="uint" />
+ <field name="L0 Number of References" dword="23" bits="7:0" type="int" />
+ <field name="L1 Number of References" dword="23" bits="23:16" type="int" />
+ <field name="Macroblock Budget" dword="24" bits="15:0" type="uint" />
+ <field name="Initial Time" dword="24" bits="31:16" type="uint" />
+ <field name="HME Ref Windows Combining Threshold" dword="26" bits="15:8" type="uint" />
+ <field name="Max Horizontal MV Range" dword="27" bits="15:0" type="uint" />
+ <field name="Max Vertical MV Range" dword="27" bits="31:16" type="uint" />
+ <field name="HME MV Cost" dword="28" bits="63:0" type="IMAGE_STATE_COST" />
+ <field name="ROI QP Adjustment for Zone0" dword="30" bits="3:0" type="int" />
+ <field name="ROI QP Adjustment for Zone1" dword="30" bits="7:4" type="int" />
+ <field name="ROI QP Adjustment for Zone2" dword="30" bits="11:8" type="int" />
+ <field name="ROI QP Adjustment for Zone3" dword="30" bits="15:12" type="int" />
+ <field name="QP Adjustment for Shape Best Intra 4x4 Winner" dword="30" bits="19:16" type="int" />
+ <field name="QP Adjustment for Shape Best Intra 8x8 Winner" dword="30" bits="23:20" type="int" />
+ <field name="QP Adjustment for Shape Best Intra 16x16 Winner" dword="30" bits="27:24" type="int" />
+ <field name="Best Distortion QP Adjustment for Zone0" dword="31" bits="3:0" type="int" />
+ <field name="Best Distortion QP Adjustment for Zone1" dword="31" bits="7:4" type="int" />
+ <field name="Best Distortion QP Adjustment for Zone2" dword="31" bits="11:8" type="int" />
+ <field name="Best Distortion QP Adjustment for Zone3" dword="31" bits="15:12" type="int" />
+ <field name="Sad/Haar Threshold 0" dword="31" bits="31:16" type="uint" />
+ <field name="Sad/Haar Threshold 1" dword="32" bits="15:0" type="uint" />
+ <field name="Sad/Haar Threshold 2" dword="32" bits="31:16" type="uint" />
+ <field name="Max QP" dword="33" bits="7:0" type="uint" />
+ <field name="Min QP" dword="33" bits="15:8" type="uint" />
+ <field name="Max Delta QP" dword="33" bits="27:24" type="uint" />
+ <field name="ROI Enable" dword="34" bits="0:0" type="bool" />
+ <field name="Fwd/Predictor0 MV Enable" dword="34" bits="1:1" type="bool" />
+ <field name="Bwd/Predictor1 MV Enable" dword="34" bits="2:2" type="bool" />
+ <field name="MB Level QP Enable" dword="34" bits="3:3" type="bool" />
+ <field name="TargetSizeinWordsMB/MaxSizeinWordsMB Enable" dword="34" bits="4:4" type="bool" />
+ <field name="PPMV Disable" dword="34" bits="8:8" type="bool" />
+ <field name="Coefficient Clamp Enable" dword="34" bits="9:9" type="bool" />
+ <field name="Long Term Reference Frame Bwd Ref0 Indicator" dword="34" bits="10:10" type="bool" />
+ <field name="Long Term Reference Frame Fwd Ref2 Indicator" dword="34" bits="11:11" type="bool" />
+ <field name="Long Term Reference Frame Fwd Ref1 Indicator" dword="34" bits="12:12" type="bool" />
+ <field name="Long Term Reference Frame Fwd Ref0 Indicator" dword="34" bits="13:13" type="bool" />
+ <field name="Midpoint Sad/Haar" dword="34" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="VDENC_PIPE_BUF_ADDR_STATE" bias="2" length="62" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="60" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="4" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="DS FWD REF0" dword="1" bits="95:0" type="VDENC_PICTURE" />
+ <field name="DS FWD REF1" dword="4" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Original Uncompressed Picture" dword="10" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Stream-In Data Picture" dword="13" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Row Store Scratch Buffer" dword="16" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Colocated MV Read Buffer" dword="19" bits="95:0" type="VDENC_PICTURE" />
+ <field name="FWD REF0" dword="22" bits="95:0" type="VDENC_PICTURE" />
+ <field name="FWD REF1" dword="25" bits="95:0" type="VDENC_PICTURE" />
+ <field name="FWD REF2" dword="28" bits="95:0" type="VDENC_PICTURE" />
+ <field name="BWD REF0" dword="31" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VDEnc Statistics Stream-Out" dword="34" bits="95:0" type="VDENC_PICTURE" />
+ <field name="DS FWD REF0 4X" dword="37" bits="95:0" type="VDENC_PICTURE" />
+ <field name="DS FWD REF1 4X" dword="40" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VDEnc CU Record Stream-Out Buffer" dword="46" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VDEnc LCU PAK_OBJ_CMD Buffer" dword="49" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Scaled Reference Surface 8X" dword="52" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Scaled Reference Surface 4X" dword="55" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VP9 Segmentation Map Stream-In Buffer" dword="58" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VP9 Segmentation Map Stream-Out Buffer" dword="61" bits="31:0" type="VDENC_PICTURE" />
+ <field name="Weights Histogram Stream-Out Offset" dword="62" bits="95:0" type="uint" />
+ </instruction>
+ <instruction name="VDENC_PIPE_MODE_SELECT" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Standard Select" dword="1" bits="3:0" type="uint" prefix="SS">
+ <value name="HEVC" value="0" />
+ <value name="VP9" value="1" />
+ <value name="AVC" value="2" />
+ </field>
+ <field name="Scalability Mode" dword="1" bits="4:4" type="bool" />
+ <field name="Frame Statistics Stream-Out Enable" dword="1" bits="5:5" type="bool" />
+ <field name="VDEnc PAK_OBJ_CMD Stream-Out Enable" dword="1" bits="6:6" type="bool" />
+ <field name="TLB Prefetch Enable" dword="1" bits="7:7" type="bool" />
+ <field name="PAK Threshold Check Enable" dword="1" bits="8:8" type="bool" />
+ <field name="VDEnc Stream-In Enable" dword="1" bits="9:9" type="bool" />
+ <field name="DownScaled 8x Write Disable" dword="1" bits="10:10" type="bool" />
+ <field name="DownScaled 4x Write Disable" dword="1" bits="11:11" type="bool" />
+ <field name="Bit Depth" dword="1" bits="14:12" type="uint">
+ <value name="8-bit" value="0" />
+ <value name="10-bit" value="2" />
+ </field>
+ <field name="PAK Chroma Sub-Sampling Type" dword="1" bits="16:15" type="uint">
+ <value name="4:2:0" value="1" />
+ <value name="4:4:4" value="3" />
+ </field>
+ <field name="Output Range Control After Color Space Conversion" dword="1" bits="17:17" type="bool" />
+ <field name="Disable Speed Mode Fetch Optimization" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="VDENC_WALKER_STATE" bias="2" length="10" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="8" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="7" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MB/LCU Start Y Position" dword="1" bits="8:0" type="uint" />
+ <field name="MB/LCU Start X Position" dword="1" bits="24:16" type="uint" />
+ <field name="First Super Slice" dword="1" bits="28:28" type="bool" />
+ <field name="Next Slice MB Start Y Position" dword="2" bits="9:0" type="uint" />
+ <field name="Next Slice MB/LCU Start X Position" dword="2" bits="25:16" type="uint" />
+ <field name="Log2 Weight Denominator Luma" dword="3" bits="2:0" type="uint" />
+ <field name="HEVC/VP9 Log2 Weight Denominator Luma" dword="3" bits="6:4" type="uint" />
+ <field name="Number of Parallel Engines" dword="3" bits="10:9" type="uint" />
+ <field name="Tile Number" dword="3" bits="31:24" type="uint" />
+ <field name="Tile Start CTB-Y" dword="4" bits="15:0" type="uint" />
+ <field name="Tile Start CTB-X" dword="4" bits="31:16" type="uint" />
+ <field name="Tile Width" dword="5" bits="15:0" type="uint" />
+ <field name="Tile Height" dword="5" bits="31:16" type="uint" />
+ <field name="Tile Stream-In Offset Enable" dword="6" bits="0:0" type="bool" />
+ <field name="Tile Stream-In Offset" dword="6" bits="31:6" type="uint" />
+ <field name="Tile Row Store Offset Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Tile Row Store Offset" dword="7" bits="31:6" type="uint" />
+ <field name="Tile Stream-Out Offset Enable" dword="8" bits="0:0" type="bool" />
+ <field name="Tile Stream-Out Offset" dword="8" bits="31:6" type="uint" />
+ <field name="Tile LCU Stream-Out Offset Enable" dword="9" bits="0:0" type="bool" />
+ <field name="Tile LCU Stream-Out Offset" dword="9" bits="31:6" type="uint" />
+ </instruction>
+ <instruction name="VDENC_WEIGHTSOFFSETS_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command OpCode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Weights Forward Reference 0" dword="1" bits="7:0" type="int" />
+ <field name="Offset Forward Reference 0" dword="1" bits="15:8" type="int" />
+ <field name="Weights Forward Reference 1" dword="1" bits="23:16" type="int" />
+ <field name="Offset Forward Reference 1" dword="1" bits="31:24" type="int" />
+ <field name="Weights Forward Reference 2" dword="2" bits="7:0" type="int" />
+ <field name="Offset Forward Reference 2" dword="2" bits="15:8" type="int" />
+ <field name="HEVC/VP9 Weights Backward Reference 0" dword="2" bits="23:16" type="int" />
+ <field name="HEVC/VP9 Offset Backward Reference 0" dword="2" bits="31:24" type="int" />
+ </instruction>
+ <register name="3D_CHICKEN3" length="1" num="0x2090">
+ <field name="AA Line Quality Fix" dword="0" bits="5:5" type="bool" />
+ <field name="AA Line Quality Fix Mask" dword="0" bits="21:21" type="bool" />
+ </register>
+ <register name="CACHE_MODE_0" length="1" num="0x7000">
+ <field name="Disable Byte sharing for 3D TYF LOD1 surfaces for 32/64/128 bpp" dword="0" bits="0:0" type="bool" />
+ <field name="Disable clock gating in the pixel backend" dword="0" bits="1:1" type="bool" />
+ <field name="Hierarchical Z Disable" dword="0" bits="3:3" type="bool" />
+ <field name="RCC Eviction Policy" dword="0" bits="4:4" type="bool" />
+ <field name="STC PMA Optimization Disable" dword="0" bits="5:5" type="bool" />
+ <field name="STC Read-Hit Wonly Optimization Disable" dword="0" bits="6:6" type="bool" />
+ <field name="Depth Related Cache Pipelined Flush Disable" dword="0" bits="8:8" type="bool" />
+ <field name="Sampler L2 TLB Prefetch Enable" dword="0" bits="9:9" type="bool" />
+ <field name="RCZ PMA Not-Promoted Allocation stall optimization Disable due to change in depth parameters" dword="0" bits="10:10" type="bool" />
+ <field name="MSAA Compression Plane Number Threshold for eLLC" dword="0" bits="14:12" type="uint" />
+ <field name="Disable Repacking for Compression" dword="0" bits="15:15" type="bool" />
+ <field name="Disable Byte sharing for 3D TYF LOD1 surfaces for 32/64/128 bpp Mask" dword="0" bits="16:16" type="bool" />
+ <field name="Disable clock gating in the pixel backend Mask" dword="0" bits="17:17" type="bool" />
+ <field name="Hierarchical Z Disable Mask" dword="0" bits="19:19" type="bool" />
+ <field name="RCC Eviction Policy Mask" dword="0" bits="20:20" type="bool" />
+ <field name="STC PMA Optimization Disable Mask" dword="0" bits="21:21" type="bool" />
+ <field name="STC Read-Hit Wonly Optimization Disable Mask" dword="0" bits="22:22" type="bool" />
+ <field name="Depth Related Cache Pipelined Flush Disable Mask" dword="0" bits="24:24" type="bool" />
+ <field name="Sampler L2 TLB Prefetch Enable Mask" dword="0" bits="25:25" type="bool" />
+ <field name="RCZ PMA Not-Promoted Allocation stall optimization Disable due to change in depth parameters Mask" dword="0" bits="26:26" type="bool" />
+ <field name="MSAA Compression Plane Number Threshold for eLLC Mask" dword="0" bits="30:28" type="uint" />
+ <field name="Disable Repacking for Compression Mask" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="CACHE_MODE_1" length="1" num="0x7004">
+ <field name="Partial Resolve Disable In VC" dword="0" bits="1:1" type="bool" />
+ <field name="RCZ PMA Promoted 2 Not-Promoted Allocation stall optimization Disable" dword="0" bits="3:3" type="bool" />
+ <field name="MCS Cache Disable" dword="0" bits="5:5" type="bool" />
+ <field name="MSC RAW Hazard Avoidance Bit" dword="0" bits="9:9" type="bool" />
+ <field name="NP Early Z Fails Disable" dword="0" bits="13:13" type="uint" />
+ <field name="Blend Optimization Fix Disable" dword="0" bits="14:14" type="bool" />
+ <field name="Color Compression Disable" dword="0" bits="15:15" type="bool" />
+ <field name="Partial Resolve Disable In VC Mask" dword="0" bits="17:17" type="bool" />
+ <field name="RCZ PMA Promoted 2 Not-Promoted Allocation stall optimization Disable Mask" dword="0" bits="19:19" type="bool" />
+ <field name="MCS Cache Disable Mask" dword="0" bits="21:21" type="bool" />
+ <field name="MSC RAW Hazard Avoidance Bit Mask" dword="0" bits="25:25" type="bool" />
+ <field name="NP Early Z Fails Disable Mask" dword="0" bits="29:29" type="bool" />
+ <field name="Blend Optimization Fix Disable Mask" dword="0" bits="30:30" type="bool" />
+ <field name="Color Compression Disable Mask" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="COMMON_SLICE_CHICKEN3" length="1" num="0x7304">
+ <field name="PS Thread Panic Dispatch" dword="0" bits="7:6" type="uint" />
+ <field name="PS Thread Panic Dispatch Mask" dword="0" bits="23:22" type="uint" />
+ </register>
+ <register name="COMMON_SLICE_CHICKEN4" length="1" num="0x7300">
+ <field name="Enable Hardware Filtering in WM" dword="0" bits="5:5" type="bool" />
+ <field name="Enable Hardware Filtering in WM Mask" dword="0" bits="21:21" type="bool" />
+ </register>
+ <register name="GT_MODE" length="1" num="0x7008">
+ <field name="Binding Table Alignment" dword="0" bits="10:10" type="uint">
+ <value name="BTP_15_5" value="0" />
+ <value name="BTP_18_8" value="1" />
+ </field>
+ <field name="Binding Table Alignment Mask" dword="0" bits="26:26" type="bool" />
+ </register>
+ <register name="HALF_SLICE_CHICKEN7" length="1" num="0x0e194">
+ <field name="Enabled Texel Offset Precision Fix" dword="0" bits="1:1" type="bool" />
+ <field name="Enabled Texel Offset Precision Fix Mask" dword="0" bits="17:17" type="bool" />
+ </register>
+ <register name="INSTDONE_1" length="1" num="0x206c">
+ <field name="PRB0 Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="VFG Done" dword="0" bits="1:1" type="bool" />
+ <field name="VS Done" dword="0" bits="2:2" type="bool" />
+ <field name="HS Done" dword="0" bits="3:3" type="bool" />
+ <field name="TE Done" dword="0" bits="4:4" type="bool" />
+ <field name="DS Done" dword="0" bits="5:5" type="bool" />
+ <field name="GS Done" dword="0" bits="6:6" type="bool" />
+ <field name="SOL Done" dword="0" bits="7:7" type="bool" />
+ <field name="CL Done" dword="0" bits="8:8" type="bool" />
+ <field name="SF Done" dword="0" bits="9:9" type="bool" />
+ <field name="TDG1 Done" dword="0" bits="11:11" type="bool" />
+ <field name="TDG0 Done" dword="0" bits="12:12" type="bool" />
+ <field name="URBM Done" dword="0" bits="13:13" type="bool" />
+ <field name="SVG Done" dword="0" bits="14:14" type="bool" />
+ <field name="GAFS Done" dword="0" bits="15:15" type="bool" />
+ <field name="VFE Done" dword="0" bits="16:16" type="bool" />
+ <field name="TSG0 Done" dword="0" bits="17:17" type="bool" />
+ <field name="GAFM Done" dword="0" bits="18:18" type="bool" />
+ <field name="GAM Done" dword="0" bits="19:19" type="bool" />
+ <field name="RS Done" dword="0" bits="20:20" type="bool" />
+ <field name="CS Done" dword="0" bits="21:21" type="bool" />
+ <field name="SDE Done" dword="0" bits="22:22" type="bool" />
+ <field name="RCCFBC CS Done" dword="0" bits="23:23" type="bool" />
+ <field name="TSG1 Done" dword="0" bits="24:24" type="bool" />
+ </register>
+ <register name="L3CNTLREG" length="1" num="0x7034">
+ <field name="URB Allocation" dword="0" bits="7:1" type="uint" />
+ <field name="Error Detection Behavior Control" dword="0" bits="9:9" type="bool" />
+ <field name="Use Full Ways" dword="0" bits="10:10" type="bool" />
+ <field name="RO Allocation" dword="0" bits="17:11" type="uint" />
+ <field name="DC Allocation" dword="0" bits="24:18" type="uint" />
+ <field name="All Allocation" dword="0" bits="31:25" type="uint" />
+ </register>
+ <register name="SAMPLER_INSTDONE" length="1" num="0xe160">
+ <field name="IME Done" dword="0" bits="0:0" type="bool" />
+ <field name="PL0 Done" dword="0" bits="1:1" type="bool" />
+ <field name="SO0 Done" dword="0" bits="2:2" type="bool" />
+ <field name="DG0 Done" dword="0" bits="3:3" type="bool" />
+ <field name="FT0 Done" dword="0" bits="4:4" type="bool" />
+ <field name="DM0 Done" dword="0" bits="5:5" type="bool" />
+ <field name="SC Done" dword="0" bits="6:6" type="bool" />
+ <field name="FL0 Done" dword="0" bits="7:7" type="bool" />
+ <field name="QC Done" dword="0" bits="8:8" type="bool" />
+ <field name="SVSM Done" dword="0" bits="9:9" type="bool" />
+ <field name="SI0 Done" dword="0" bits="10:10" type="bool" />
+ <field name="MT0 Done" dword="0" bits="11:11" type="bool" />
+ <field name="AVS Done" dword="0" bits="12:12" type="bool" />
+ <field name="IEF Done" dword="0" bits="13:13" type="bool" />
+ <field name="CRE Done" dword="0" bits="14:14" type="bool" />
+ <field name="SVSM_ARB_SIFM" dword="0" bits="15:15" type="bool" />
+ <field name="SVSM ARB2" dword="0" bits="16:16" type="bool" />
+ <field name="SVSM ARB1" dword="0" bits="17:17" type="bool" />
+ <field name="SVSM Adapter" dword="0" bits="18:18" type="bool" />
+ <field name="BDM Done" dword="0" bits="19:19" type="bool" />
+ </register>
+ <register name="SAMPLER_MODE" length="1" num="0x0e18c">
+ <field name="Headerless Message for Pre-emptable Contexts" dword="0" bits="5:5" type="bool" />
+ <field name="Enable Small PL" dword="0" bits="15:15" type="bool" />
+ <field name="Headerless Message for Pre-emptable Contexts Mask" dword="0" bits="21:21" type="bool" />
+ <field name="Enable Small PL Mask" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="SC_INSTDONE" length="1" num="0x7100">
+ <field name="SVL Done" dword="0" bits="0:0" type="bool" />
+ <field name="WMFE Done" dword="0" bits="1:1" type="bool" />
+ <field name="WMBE Done" dword="0" bits="2:2" type="bool" />
+ <field name="HIZ Done" dword="0" bits="3:3" type="bool" />
+ <field name="STC Done" dword="0" bits="4:4" type="bool" />
+ <field name="IZ Done" dword="0" bits="5:5" type="bool" />
+ <field name="SBE Done" dword="0" bits="6:6" type="bool" />
+ <field name="RCZ Done" dword="0" bits="8:8" type="bool" />
+ <field name="RCC Done" dword="0" bits="9:9" type="bool" />
+ <field name="RCPBE Done" dword="0" bits="10:10" type="bool" />
+ <field name="RCPFE Done" dword="0" bits="11:11" type="bool" />
+ <field name="DAPB Done" dword="0" bits="12:12" type="bool" />
+ <field name="DAPRBE Done" dword="0" bits="13:13" type="bool" />
+ <field name="SARB Done" dword="0" bits="15:15" type="bool" />
+ <field name="DC0 Done" dword="0" bits="16:16" type="bool" />
+ <field name="DC1 Done" dword="0" bits="17:17" type="bool" />
+ <field name="DC2 Done" dword="0" bits="18:18" type="bool" />
+ <field name="DC3 Done" dword="0" bits="19:19" type="bool" />
+ <field name="GW0 Done" dword="0" bits="20:20" type="bool" />
+ <field name="GW1 Done" dword="0" bits="21:21" type="bool" />
+ <field name="GW2 Done" dword="0" bits="22:22" type="bool" />
+ <field name="GW3 Done" dword="0" bits="23:23" type="bool" />
+ <field name="TDC Done" dword="0" bits="24:24" type="bool" />
+ <field name="SFBE Done" dword="0" bits="25:25" type="bool" />
+ </register>
+ <register name="SLICE_COMMON_ECO_CHICKEN1" length="1" num="0x731c">
+ <field name="State Cache Redirect To CS Section Enable" dword="0" bits="11:11" type="bool" />
+ <field name="State Cache Redirect To CS Section Enable Mask" dword="0" bits="27:27" type="bool" />
+ </register>
+ <register name="TCCNTLREG" length="1" num="0xb0a4">
+ <field name="URB Partial Write Merging Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Color/Z Partial Write Merging Enable" dword="0" bits="1:1" type="bool" />
+ <field name="L3 Data Partial Write Merging Enable" dword="0" bits="2:2" type="bool" />
+ <field name="TC Disable" dword="0" bits="3:3" type="bool" />
+ </register>
+ <register name="VCS_INSTDONE" length="1" num="0x1206c">
+ <field name="Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="USB Done" dword="0" bits="1:1" type="bool" />
+ <field name="QRC Done" dword="0" bits="2:2" type="bool" />
+ <field name="SEC Done" dword="0" bits="3:3" type="bool" />
+ <field name="MPC Done" dword="0" bits="4:4" type="bool" />
+ <field name="VFT Done" dword="0" bits="5:5" type="bool" />
+ <field name="BSP Done" dword="0" bits="6:6" type="bool" />
+ <field name="VLF Done" dword="0" bits="7:7" type="bool" />
+ <field name="VOP Done" dword="0" bits="8:8" type="bool" />
+ <field name="VMC Done" dword="0" bits="9:9" type="bool" />
+ <field name="VIP Done" dword="0" bits="10:10" type="bool" />
+ <field name="VIT Done" dword="0" bits="11:11" type="bool" />
+ <field name="VDS Done" dword="0" bits="12:12" type="bool" />
+ <field name="VMX Done" dword="0" bits="13:13" type="bool" />
+ <field name="VCP Done" dword="0" bits="14:14" type="bool" />
+ <field name="VCD Done" dword="0" bits="15:15" type="bool" />
+ <field name="VAD Done" dword="0" bits="16:16" type="bool" />
+ <field name="VMD Done" dword="0" bits="17:17" type="bool" />
+ <field name="VIS Done" dword="0" bits="18:18" type="bool" />
+ <field name="VAC Done" dword="0" bits="19:19" type="bool" />
+ <field name="VAM Done" dword="0" bits="20:20" type="bool" />
+ <field name="JPG Done" dword="0" bits="21:21" type="bool" />
+ <field name="VBP Done" dword="0" bits="22:22" type="bool" />
+ <field name="VHR Done" dword="0" bits="23:23" type="bool" />
+ <field name="VCI Done" dword="0" bits="24:24" type="bool" />
+ <field name="VIN Done" dword="0" bits="26:26" type="bool" />
+ <field name="VPR Done" dword="0" bits="27:27" type="bool" />
+ <field name="VTQ Done" dword="0" bits="28:28" type="bool" />
+ <field name="Reserved" dword="0" bits="29:29" type="bool" />
+ <field name="VCS Done" dword="0" bits="30:30" type="bool" />
+ <field name="GAC Done" dword="0" bits="31:31" type="bool" />
+ </register>
+</genxml>
diff --git a/lib/genxml/gen120.xml b/lib/genxml/gen120.xml
new file mode 100644
index 000000000..ec9746ea9
--- /dev/null
+++ b/lib/genxml/gen120.xml
@@ -0,0 +1,2432 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="TGL" gen="12">
+ <import name="gen110.xml">
+ <exclude name="3DSTATE_CPS" />
+ <exclude name="L3CNTLREG" />
+ <exclude name="PERFCNT1" />
+ <exclude name="PERFCNT2" />
+ <exclude name="SAMPLER_MODE" />
+ <exclude name="TCCNTLREG" />
+ <exclude name="VD_PIPELINE_FLUSH" />
+ </import>
+ <struct name="3DSTATE_CONSTANT_ALL_DATA" length="2">
+ <field name="Constant Buffer Read Length" dword="0" bits="4:0" type="uint" />
+ <field name="Pointer To Constant Buffer" dword="0" bits="63:5" type="address" />
+ </struct>
+ <struct name="3DSTATE_SO_BUFFER_INDEX_BODY" length="7">
+ <field name="Stream Output Buffer Offset Address Enable" dword="0" bits="20:20" type="bool" />
+ <field name="Stream Offset Write Enable" dword="0" bits="21:21" type="bool" />
+ <field name="MOCS" dword="0" bits="28:22" type="uint" nonzero="true" />
+ <field name="SO Buffer Enable" dword="0" bits="31:31" type="bool" />
+ <field name="Surface Base Address" dword="1" bits="47:2" type="address" />
+ <field name="Surface Size" dword="3" bits="29:0" type="uint" />
+ <field name="Stream Output Buffer Offset Address" dword="4" bits="47:2" type="address" />
+ <field name="Stream Offset" dword="6" bits="31:0" type="uint" />
+ </struct>
+ <struct name="CPS_STATE" length="8">
+ <field name="Min CP Size X" dword="0" bits="10:0" type="s3.7" />
+ <field name="Statistics Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Coarse Pixel Shading Mode" dword="0" bits="13:12" type="uint">
+ <value name="CPS_MODE_NONE" value="0" />
+ <value name="CPS_MODE_CONSTANT" value="1" />
+ <value name="CPS_MODE_RADIAL" value="2" />
+ </field>
+ <field name="Scale Axis" dword="0" bits="14:14" type="uint" prefix="SCALE_AXIS">
+ <value name="X Axis" value="0" />
+ <value name="Y Axis" value="1" />
+ </field>
+ <field name="Min CP Size Y" dword="0" bits="26:16" type="s3.7" />
+ <field name="Max CP Size X" dword="1" bits="10:0" type="s3.7" />
+ <field name="Max CP Size Y" dword="1" bits="26:16" type="s3.7" />
+ <field name="Y Focal" dword="2" bits="15:0" type="s15.0" />
+ <field name="X Focal" dword="3" bits="15:0" type="s15.0" />
+ <field name="M y" dword="4" bits="31:0" type="float" />
+ <field name="M x" dword="5" bits="31:0" type="float" />
+ <field name="R min" dword="6" bits="31:0" type="float" />
+ <field name="Aspect" dword="7" bits="31:0" type="float" />
+ </struct>
+ <struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
+ <field name="Kernel Start Pointer" dword="0" bits="47:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="2" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="2" bits="18:18" type="bool" />
+ <field name="Denorm Mode" dword="2" bits="19:19" type="uint">
+ <value name="Ftz" value="0" />
+ <value name="SetByKernel" value="1" />
+ </field>
+ <field name="Thread Preemption Disable" dword="2" bits="20:20" type="bool" />
+ <field name="Sampler Count" dword="3" bits="4:2" type="uint">
+ <value name="No samplers used" value="0" />
+ <value name="Between 1 and 4 samplers used" value="1" />
+ <value name="Between 5 and 8 samplers used" value="2" />
+ <value name="Between 9 and 12 samplers used" value="3" />
+ <value name="Between 13 and 16 samplers used" value="4" />
+ </field>
+ <field name="Sampler State Pointer" dword="3" bits="31:5" type="offset" />
+ <field name="Binding Table Entry Count" dword="4" bits="4:0" type="uint" />
+ <field name="Binding Table Pointer" dword="4" bits="15:5" type="offset" />
+ <field name="Constant URB Entry Read Offset" dword="5" bits="15:0" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="5" bits="31:16" type="uint" />
+ <field name="Number of Threads in GPGPU Thread Group" dword="6" bits="9:0" type="uint" />
+ <field name="Global Barrier Enable" dword="6" bits="15:15" type="bool" />
+ <field name="Shared Local Memory Size" dword="6" bits="20:16" type="uint">
+ <value name="Encodes 0K" value="0" />
+ <value name="Encodes 1K" value="1" />
+ <value name="Encodes 2K" value="2" />
+ <value name="Encodes 4K" value="3" />
+ <value name="Encodes 8K" value="4" />
+ <value name="Encodes 16K" value="5" />
+ <value name="Encodes 32K" value="6" />
+ <value name="Encodes 64K" value="7" />
+ </field>
+ <field name="Barrier Enable" dword="6" bits="21:21" type="bool" />
+ <field name="Rounding Mode" dword="6" bits="23:22" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Cross-Thread Constant Data Read Length" dword="7" bits="7:0" type="uint" />
+ </struct>
+ <struct name="RENDER_SURFACE_STATE" length="16">
+ <field name="Cube Face Enable - Positive Z" dword="0" bits="0:0" type="bool" />
+ <field name="Cube Face Enable - Negative Z" dword="0" bits="1:1" type="bool" />
+ <field name="Cube Face Enable - Positive Y" dword="0" bits="2:2" type="bool" />
+ <field name="Cube Face Enable - Negative Y" dword="0" bits="3:3" type="bool" />
+ <field name="Cube Face Enable - Positive X" dword="0" bits="4:4" type="bool" />
+ <field name="Cube Face Enable - Negative X" dword="0" bits="5:5" type="bool" />
+ <field name="Media Boundary Pixel Mode" dword="0" bits="7:6" type="uint">
+ <value name="NORMAL_MODE" value="0" />
+ <value name="PROGRESSIVE_FRAME" value="2" />
+ <value name="INTERLACED_FRAME" value="3" />
+ </field>
+ <field name="Render Cache Read Write Mode" dword="0" bits="8:8" type="uint">
+ <value name="Write-Only Cache" value="0" />
+ <value name="Read-Write Cache" value="1" />
+ </field>
+ <field name="Sampler L2 Bypass Mode Disable" dword="0" bits="9:9" type="bool" />
+ <field name="Vertical Line Stride Offset" dword="0" bits="10:10" type="uint" />
+ <field name="Vertical Line Stride" dword="0" bits="11:11" type="uint" />
+ <field name="Tile Mode" dword="0" bits="13:12" type="uint">
+ <value name="LINEAR" value="0" />
+ <value name="XMAJOR" value="2" />
+ <value name="YMAJOR" value="3" />
+ </field>
+ <field name="Surface Horizontal Alignment" dword="0" bits="15:14" type="uint">
+ <value name="HALIGN_4" value="1" />
+ <value name="HALIGN_8" value="2" />
+ <value name="HALIGN_16" value="3" />
+ </field>
+ <field name="Surface Vertical Alignment" dword="0" bits="17:16" type="uint">
+ <value name="VALIGN_4" value="1" />
+ <value name="VALIGN_8" value="2" />
+ <value name="VALIGN_16" value="3" />
+ </field>
+ <field name="Surface Format" dword="0" bits="27:18" type="uint" />
+ <field name="Surface Array" dword="0" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="0" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_BUFFER" value="4" />
+ <value name="SURFTYPE_STRBUF" value="5" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface QPitch" dword="1" bits="14:0" type="uint" />
+ <field name="Sample Tap Discard Disable" dword="1" bits="15:15" type="bool" />
+ <field name="Double Fetch Disable" dword="1" bits="17:17" type="bool" />
+ <field name="Corner Texel Mode" dword="1" bits="18:18" type="uint" />
+ <field name="Base Mip Level" dword="1" bits="23:19" type="u4.1" />
+ <field name="MOCS" dword="1" bits="30:24" type="uint" nonzero="true" />
+ <field name="Enable Unorm Path In Color Pipe" dword="1" bits="31:31" type="bool" />
+ <field name="Width" dword="2" bits="13:0" type="uint" />
+ <field name="Height" dword="2" bits="29:16" type="uint" />
+ <field name="Depth Stencil Resource" dword="2" bits="31:31" type="bool" />
+ <field name="Surface Pitch" dword="3" bits="17:0" type="uint" />
+ <field name="Null Probing Enable" dword="3" bits="18:18" type="uint" />
+ <field name="Standard Tiling Mode Extensions" dword="3" bits="19:19" type="uint" />
+ <field name="Tile Address Mapping Mode" dword="3" bits="20:20" type="uint">
+ <value name="Gfx9" value="0" />
+ <value name="Gfx10+" value="1" />
+ </field>
+ <field name="Depth" dword="3" bits="31:21" type="uint" />
+ <field name="Multisample Position Palette Index" dword="4" bits="2:0" type="uint" />
+ <field name="Number of Multisamples" dword="4" bits="5:3" type="uint">
+ <value name="MULTISAMPLECOUNT_1" value="0" />
+ <value name="MULTISAMPLECOUNT_2" value="1" />
+ <value name="MULTISAMPLECOUNT_4" value="2" />
+ <value name="MULTISAMPLECOUNT_8" value="3" />
+ <value name="MULTISAMPLECOUNT_16" value="4" />
+ </field>
+ <field name="Multisampled Surface Storage Format" dword="4" bits="6:6" type="uint">
+ <value name="MSFMT_MSS" value="0" />
+ <value name="MSFMT_DEPTH_STENCIL" value="1" />
+ </field>
+ <field name="Render Target View Extent" dword="4" bits="17:7" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="28:18" type="uint" />
+ <field name="Render Target And Sample Unorm Rotation" dword="4" bits="30:29" type="uint">
+ <value name="0DEG" value="0" />
+ <value name="90DEG" value="1" />
+ <value name="180DEG" value="2" />
+ <value name="270DEG" value="3" />
+ </field>
+ <field name="Decompress In L3" dword="4" bits="31:31" type="bool" />
+ <field name="MIP Count / LOD" dword="5" bits="3:0" type="uint" />
+ <field name="Surface Min LOD" dword="5" bits="7:4" type="uint" />
+ <field name="Mip Tail Start LOD" dword="5" bits="11:8" type="uint" />
+ <field name="Coherency Type" dword="5" bits="14:14" type="uint">
+ <value name="GPU coherent" value="0" />
+ <value name="IA coherent" value="1" />
+ </field>
+ <field name="Tiled Resource Mode" dword="5" bits="19:18" type="uint">
+ <value name="NONE" value="0" />
+ <value name="4KB" value="1" />
+ <value name="64KB" value="2" />
+ <value name="TILEYF" value="1" />
+ <value name="TILEYS" value="2" />
+ </field>
+ <field name="EWA Disable For Cube" dword="5" bits="20:20" type="bool" />
+ <field name="Y Offset" dword="5" bits="23:21" type="uint" />
+ <field name="X Offset" dword="5" bits="31:25" type="uint" />
+ <field name="Auxiliary Surface Mode" dword="6" bits="2:0" type="uint">
+ <value name="AUX_NONE" value="0" />
+ <value name="AUX_CCS_D" value="1" />
+ <value name="AUX_APPEND" value="2" />
+ <value name="AUX_MCS_LCE" value="4" />
+ <value name="AUX_CCS_E" value="5" />
+ </field>
+ <field name="Y Offset for U or UV Plane" dword="6" bits="13:0" type="uint" />
+ <field name="Auxiliary Surface Pitch" dword="6" bits="11:3" type="uint" />
+ <field name="YUV Interpolation Enable" dword="6" bits="15:15" type="bool" />
+ <field name="Auxiliary Surface QPitch" dword="6" bits="30:16" type="uint" />
+ <field name="X Offset for U or UV Plane" dword="6" bits="29:16" type="uint" />
+ <field name="Half Pitch for Chroma" dword="6" bits="30:30" type="uint" />
+ <field name="Separate UV Plane Enable" dword="6" bits="31:31" type="bool" />
+ <field name="Resource Min LOD" dword="7" bits="11:0" type="u4.8" />
+ <field name="Shader Channel Select Alpha" dword="7" bits="18:16" type="Shader Channel Select" />
+ <field name="Shader Channel Select Blue" dword="7" bits="21:19" type="Shader Channel Select" />
+ <field name="Shader Channel Select Green" dword="7" bits="24:22" type="Shader Channel Select" />
+ <field name="Shader Channel Select Red" dword="7" bits="27:25" type="Shader Channel Select" />
+ <field name="Memory Compression Enable" dword="7" bits="30:30" type="bool" />
+ <field name="Memory Compression Mode" dword="7" bits="31:31" type="uint">
+ <value name="Horizontal" value="0" />
+ </field>
+ <field name="Surface Base Address" dword="8" bits="63:0" type="address" />
+ <field name="Clear Value Address Enable" dword="10" bits="10:10" type="bool" />
+ <field name="Caching Expanded Formats" dword="10" bits="11:11" type="uint" />
+ <field name="Auxiliary Surface Base Address" dword="10" bits="63:12" type="address" />
+ <field name="Clear Value Address" dword="12" bits="47:6" type="address" />
+ </struct>
+ <struct name="SAMPLER_STATE" length="4">
+ <field name="Anisotropic Algorithm" dword="0" bits="0:0" type="uint">
+ <value name="LEGACY" value="0" />
+ <value name="EWA Approximation" value="1" />
+ </field>
+ <field name="Texture LOD Bias" dword="0" bits="13:1" type="s4.8" />
+ <field name="Min Mode Filter" dword="0" bits="16:14" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mag Mode Filter" dword="0" bits="19:17" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mip Mode Filter" dword="0" bits="21:20" type="uint" prefix="MIPFILTER">
+ <value name="NONE" value="0" />
+ <value name="NEAREST" value="1" />
+ <value name="LINEAR" value="3" />
+ </field>
+ <field name="Coarse LOD Quality Mode" dword="0" bits="26:22" type="uint" />
+ <field name="LOD PreClamp Mode" dword="0" bits="28:27" type="uint" prefix="CLAMP_MODE">
+ <value name="NONE" value="0" />
+ <value name="OGL" value="2" />
+ </field>
+ <field name="Texture Border Color Mode" dword="0" bits="29:29" type="uint">
+ <value name="DX10/OGL" value="0" />
+ <value name="DX9" value="1" />
+ </field>
+ <field name="CPS LOD Compensation Enable" dword="0" bits="30:30" type="bool" />
+ <field name="Sampler Disable" dword="0" bits="31:31" type="bool" />
+ <field name="Cube Surface Control Mode" dword="1" bits="0:0" type="uint">
+ <value name="PROGRAMMED" value="0" />
+ <value name="OVERRIDE" value="1" />
+ </field>
+ <field name="Shadow Function" dword="1" bits="3:1" type="uint" prefix="PREFILTEROP">
+ <value name="ALWAYS" value="0" />
+ <value name="NEVER" value="1" />
+ <value name="LESS" value="2" />
+ <value name="EQUAL" value="3" />
+ <value name="LEQUAL" value="4" />
+ <value name="GREATER" value="5" />
+ <value name="NOTEQUAL" value="6" />
+ <value name="GEQUAL" value="7" />
+ </field>
+ <field name="ChromaKey Mode" dword="1" bits="4:4" type="uint">
+ <value name="KEYFILTER_KILL_ON_ANY_MATCH" value="0" />
+ <value name="KEYFILTER_REPLACE_BLACK" value="1" />
+ </field>
+ <field name="ChromaKey Index" dword="1" bits="6:5" type="uint" />
+ <field name="ChromaKey Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Max LOD" dword="1" bits="19:8" type="u4.8" />
+ <field name="Min LOD" dword="1" bits="31:20" type="u4.8" />
+ <field name="LOD Clamp Magnification Mode" dword="2" bits="0:0" type="uint">
+ <value name="MIPNONE" value="0" />
+ <value name="MIPFILTER" value="1" />
+ </field>
+ <field name="SRGB DECODE" dword="2" bits="1:1" type="uint">
+ <value name="DECODE_EXT" value="0" />
+ <value name="SKIP_DECODE_EXT" value="1" />
+ </field>
+ <field name="Return Filter Weight for Null Texels" dword="2" bits="2:2" type="uint" />
+ <field name="Return Filter Weight for Border Texels" dword="2" bits="3:3" type="uint" />
+ <field name="Force gather4 Behavior" dword="2" bits="5:5" type="bool" />
+ <field name="Border Color Pointer" dword="2" bits="31:6" type="offset" />
+ <field name="TCZ Address Control Mode" dword="3" bits="2:0" type="Texture Coordinate Mode" />
+ <field name="TCY Address Control Mode" dword="3" bits="5:3" type="Texture Coordinate Mode" />
+ <field name="TCX Address Control Mode" dword="3" bits="8:6" type="Texture Coordinate Mode" />
+ <field name="Reduction Type Enable" dword="3" bits="9:9" type="bool" />
+ <field name="Non-normalized Coordinate Enable" dword="3" bits="10:10" type="bool" />
+ <field name="Trilinear Filter Quality" dword="3" bits="12:11" type="uint">
+ <value name="FULL" value="0" />
+ <value name="HIGH" value="1" />
+ <value name="MED" value="2" />
+ <value name="LOW" value="3" />
+ </field>
+ <field name="R Address Min Filter Rounding Enable" dword="3" bits="13:13" type="bool" />
+ <field name="R Address Mag Filter Rounding Enable" dword="3" bits="14:14" type="bool" />
+ <field name="V Address Min Filter Rounding Enable" dword="3" bits="15:15" type="bool" />
+ <field name="V Address Mag Filter Rounding Enable" dword="3" bits="16:16" type="bool" />
+ <field name="U Address Min Filter Rounding Enable" dword="3" bits="17:17" type="bool" />
+ <field name="U Address Mag Filter Rounding Enable" dword="3" bits="18:18" type="bool" />
+ <field name="Maximum Anisotropy" dword="3" bits="21:19" type="uint">
+ <value name="RATIO 2:1" value="0" />
+ <value name="RATIO 4:1" value="1" />
+ <value name="RATIO 6:1" value="2" />
+ <value name="RATIO 8:1" value="3" />
+ <value name="RATIO 10:1" value="4" />
+ <value name="RATIO 12:1" value="5" />
+ <value name="RATIO 14:1" value="6" />
+ <value name="RATIO 16:1" value="7" />
+ </field>
+ <field name="Reduction Type" dword="3" bits="23:22" type="uint">
+ <value name="STD_FILTER" value="0" />
+ <value name="COMPARISON" value="1" />
+ <value name="MINIMUM" value="2" />
+ <value name="MAXIMUM" value="3" />
+ </field>
+ <field name="Allow Low Quality LOD Calculation" dword="3" bits="24:24" type="bool" />
+ <field name="Low Quality Filter" dword="3" bits="26:26" type="bool" />
+ </struct>
+ <struct name="VD_CONTROL_STATE_BODY" length="2">
+ <field name="Pipeline Initialization" dword="0" bits="0:0" type="bool" />
+ <field name="Scalable Mode Pipe Lock" dword="1" bits="0:0" type="bool" />
+ <field name="Scalable Mode Pipe Unlock" dword="1" bits="1:1" type="bool" />
+ <field name="Memory Implicit Flush" dword="1" bits="2:2" type="bool" />
+ </struct>
+ <struct name="VERTEX_BUFFER_STATE" length="4">
+ <field name="Buffer Pitch" dword="0" bits="11:0" type="uint" />
+ <field name="Null Vertex Buffer" dword="0" bits="13:13" type="bool" />
+ <field name="Address Modify Enable" dword="0" bits="14:14" type="bool" />
+ <field name="MOCS" dword="0" bits="22:16" type="uint" nonzero="true" />
+ <field name="L3 Bypass Disable" dword="0" bits="25:25" type="bool" />
+ <field name="Vertex Buffer Index" dword="0" bits="31:26" type="uint" />
+ <field name="Buffer Starting Address" dword="1" bits="63:0" type="address" />
+ <field name="Buffer Size" dword="3" bits="31:0" type="uint" />
+ </struct>
+ <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="UAV Coherency Required" dword="0" bits="9:9" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Extended Parameters Present" dword="0" bits="11:11" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Primitive Topology Type" dword="1" bits="5:0" type="3D_Prim_Topo_Type" />
+ <field name="Vertex Access Type" dword="1" bits="8:8" type="uint">
+ <value name="SEQUENTIAL" value="0" />
+ <value name="RANDOM" value="1" />
+ </field>
+ <field name="End Offset Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Vertex Count Per Instance" dword="2" bits="31:0" type="uint" />
+ <field name="Start Vertex Location" dword="3" bits="31:0" type="uint" />
+ <field name="Instance Count" dword="4" bits="31:0" type="uint" />
+ <field name="Start Instance Location" dword="5" bits="31:0" type="uint" />
+ <field name="Base Vertex Location" dword="6" bits="31:0" type="int" />
+ <field name="Extended Parameter 0" dword="7" bits="31:0" type="uint" />
+ <field name="Extended Parameter 1" dword="8" bits="31:0" type="uint" />
+ <field name="Extended Parameter 2" dword="9" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_3D_MODE" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="30" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Cross Slice Hashing Mode" dword="1" bits="1:0" type="uint">
+ <value name="Normal Mode" value="0" />
+ <value name="Disable" value="1" />
+ <value name="hashing 32x32" value="3" />
+ </field>
+ <field name="3D Scoreboard Hashing Mode" dword="1" bits="4:4" type="bool" />
+ <field name="Subslice Hashing Table Enable" dword="1" bits="5:5" type="bool" />
+ <field name="Slice Hashing Table Enable" dword="1" bits="6:6" type="bool" />
+ <field name="Cross Slice Hashing Mode Mask" dword="1" bits="17:16" type="uint" />
+ <field name="3D Scoreboard Hashing Mode Mask" dword="1" bits="20:20" type="bool" />
+ <field name="Subslice Hashing Table Enable Mask" dword="1" bits="21:21" type="bool" />
+ <field name="Slice Hashing Table Enable Mask" dword="1" bits="22:22" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_ALL" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Shader Update Enable" dword="0" bits="12:8" type="uint" />
+ <field name="Vertex Shader Update Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Hull Shader Update Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Domain Shader Update Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Geometry Shader Update Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Pixel Shader Update Enable" dword="0" bits="12:12" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="109" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MOCS" dword="1" bits="6:0" type="uint" nonzero="true" />
+ <field name="Pointer Buffer Mask" dword="1" bits="19:16" type="uint" />
+ <field name="Update Mode" dword="1" bits="31:31" type="bool" />
+ <group count="0" dword="2" size="64">
+ <field name="Constant Body" dword="0" bits="63:0" type="3DSTATE_CONSTANT_ALL_DATA" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_CPS_POINTERS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="34" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Coarse Pixel Shading State Array Pointer" dword="1" bits="31:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_DEPTH_BOUNDS" bias="2" length="4" engine="render">
+ <field name="Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Depth Bounds Test Value Modify Disable" dword="0" bits="14:14" type="bool" />
+ <field name="Depth Bounds Test Enable Modify Disable" dword="0" bits="15:15" type="bool" />
+ <field name="3DSTATE Command Sub Opcode" dword="0" bits="23:16" type="uint" default="113" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Bounds Test Enable" dword="1" bits="0:0" type="uint" />
+ <field name="Depth Bounds Test Min Value" dword="2" bits="31:0" type="float" />
+ <field name="Depth Bounds Test Max Value" dword="3" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="17:0" type="uint" />
+ <field name="Control Surface Enable" dword="1" bits="19:19" type="bool" />
+ <field name="Depth Buffer Compression Enable" dword="1" bits="21:21" type="bool" />
+ <field name="Hierarchical Depth Buffer Enable" dword="1" bits="22:22" type="bool" />
+ <field name="Corner Texel Mode" dword="1" bits="23:23" type="bool" />
+ <field name="Surface Format" dword="1" bits="26:24" type="uint">
+ <value name="D32_FLOAT" value="1" />
+ <value name="D24_UNORM_X8_UINT" value="3" />
+ <value name="D16_UNORM" value="5" />
+ </field>
+ <field name="Null Page Coherency Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Depth Write Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="Width" dword="4" bits="14:1" type="uint" />
+ <field name="Height" dword="4" bits="30:17" type="uint" />
+ <field name="MOCS" dword="5" bits="6:0" type="uint" nonzero="true" />
+ <field name="Minimum Array Element" dword="5" bits="18:8" type="uint" />
+ <field name="Depth" dword="5" bits="30:20" type="uint" />
+ <field name="Mip Tail Start LOD" dword="6" bits="29:26" type="uint" />
+ <field name="Tiled Resource Mode" dword="6" bits="31:30" type="uint">
+ <value name="NONE" value="0" />
+ <value name="TILEYF" value="1" />
+ <value name="TILEYS" value="2" />
+ </field>
+ <field name="Surface QPitch" dword="7" bits="14:0" type="uint" />
+ <field name="LOD" dword="7" bits="19:16" type="uint" />
+ <field name="Render Target View Extent" dword="7" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_DS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="29" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="14:14" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="Patch URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Patch URB Entry Read Length" dword="6" bits="17:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="24:20" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Cache Disable" dword="7" bits="1:1" type="bool" />
+ <field name="Compute W Coordinate Enable" dword="7" bits="2:2" type="bool" />
+ <field name="Dispatch Mode" dword="7" bits="4:3" type="uint" prefix="DISPATCH_MODE">
+ <value name="SIMD8_SINGLE_PATCH" value="1" />
+ <value name="SIMD8_SINGLE_OR_DUAL_PATCH" value="2" />
+ </field>
+ <field name="Primitive ID Not Required" dword="7" bits="9:9" type="bool" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="7" bits="30:21" type="uint" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="8" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="8" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="8" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="8" bits="26:21" type="uint" />
+ <field name="DUAL_PATCH Kernel Start Pointer" dword="9" bits="63:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="7" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Hierarchical Depth Buffer Write Thru Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Tiled Mode" dword="1" bits="23:22" type="uint">
+ <value name="NONE" value="0" />
+ <value name="TILEYF" value="1" />
+ <value name="TILEYS" value="2" />
+ </field>
+ <field name="MOCS" dword="1" bits="31:25" type="uint" nonzero="true" />
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="Surface QPitch" dword="4" bits="14:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_HS" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="27" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Software Exception Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="1" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="1" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Instance Count" dword="2" bits="4:0" type="uint" />
+ <field name="Maximum Number of Threads" dword="2" bits="16:8" type="uint" />
+ <field name="Statistics Enable" dword="2" bits="29:29" type="bool" />
+ <field name="Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Kernel Start Pointer" dword="3" bits="63:6" type="offset" />
+ <field name="Per-Thread Scratch Space" dword="5" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="5" bits="63:10" type="address" />
+ <field name="Include Primitive ID" dword="7" bits="0:0" type="bool" />
+ <field name="Patch Count Threshold" dword="7" bits="3:1" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="7" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="7" bits="16:11" type="uint" />
+ <field name="Dispatch Mode" dword="7" bits="18:17" type="uint" prefix="DISPATCH_MODE">
+ <value name="SINGLE_PATCH" value="0" />
+ <value name="8_PATCH" value="2" />
+ </field>
+ <field name="Dispatch GRF Start Register For URB Data" dword="7" bits="23:19" type="uint" />
+ <field name="Include Vertex Handles" dword="7" bits="24:24" type="bool" />
+ <field name="Accesses UAV" dword="7" bits="25:25" type="bool" />
+ <field name="Vector Mask Enable" dword="7" bits="26:26" type="bool" />
+ <field name="Single Program Flow" dword="7" bits="27:27" type="bool" />
+ <field name="Dispatch GRF Start Register For URB Data [5]" dword="7" bits="28:28" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="10" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MOCS" dword="1" bits="6:0" type="uint" nonzero="true" />
+ <field name="Index Format" dword="1" bits="9:8" type="uint" prefix="INDEX">
+ <value name="BYTE" value="0" />
+ <value name="WORD" value="1" />
+ <value name="DWORD" value="2" />
+ </field>
+ <field name="L3 Bypass Disable" dword="1" bits="11:11" type="bool" />
+ <field name="Buffer Starting Address" dword="2" bits="63:0" type="address" />
+ <field name="Buffer Size" dword="4" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_PRIMITIVE_REPLICATION" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="108" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Replication Count" dword="1" bits="3:0" type="uint" />
+ <field name="Replica Mask" dword="1" bits="31:16" type="uint" />
+ <group count="16" dword="2" size="4">
+ <field name="Viewport Offset" dword="0" bits="3:0" type="uint" />
+ </group>
+ <group count="16" dword="4" size="4">
+ <field name="RTAI Offset" dword="0" bits="3:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="10" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="32" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer 0" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Rounding Mode" dword="3" bits="15:14" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Single Precision Denormal Mode" dword="3" bits="26:26" type="uint">
+ <value name="Flushed to Zero" value="0" />
+ <value name="Retained" value="1" />
+ </field>
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="3" bits="31:31" type="bool" />
+ <field name="Per Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="8 Pixel Dispatch Enable" dword="6" bits="0:0" type="bool" />
+ <field name="16 Pixel Dispatch Enable" dword="6" bits="1:1" type="bool" />
+ <field name="32 Pixel Dispatch Enable" dword="6" bits="2:2" type="bool" />
+ <field name="Position XY Offset Select" dword="6" bits="4:3" type="uint">
+ <value name="POSOFFSET_NONE" value="0" />
+ <value name="POSOFFSET_CENTROID" value="2" />
+ <value name="POSOFFSET_SAMPLE" value="3" />
+ </field>
+ <field name="Dual SIMD8 Dispatch Enable" dword="6" bits="5:5" type="bool" />
+ <field name="Render Target Resolve Type" dword="6" bits="7:6" type="uint">
+ <value name="RESOLVE_DISABLED" value="0" />
+ <value name="RESOLVE_PARTIAL" value="1" />
+ <value name="FAST_CLEAR_0" value="2" />
+ <value name="RESOLVE_FULL" value="3" />
+ </field>
+ <field name="Render Target Fast Clear Enable" dword="6" bits="8:8" type="bool" />
+ <field name="Overlapping Subspans Enable" dword="6" bits="9:9" type="bool" />
+ <field name="Push Constant Enable" dword="6" bits="11:11" type="bool" />
+ <field name="Maximum Number of Threads Per PSD" dword="6" bits="31:23" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 2" dword="7" bits="6:0" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 1" dword="7" bits="14:8" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="7" bits="22:16" type="uint" />
+ <field name="Kernel Start Pointer 1" dword="8" bits="63:6" type="offset" />
+ <field name="Kernel Start Pointer 2" dword="10" bits="63:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_SF" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="19" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Viewport Transform Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Legacy Global Depth Bias Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Line Width" dword="1" bits="29:12" type="u11.7" />
+ <field name="Line End Cap Antialiasing Region Width" dword="2" bits="17:16" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Deref Block Size" dword="2" bits="30:29" type="uint">
+ <value name="Block Deref Size 32" value="0" />
+ <value name="Per Poly Deref Mode" value="1" />
+ <value name="Block Deref Size 8" value="2" />
+ </field>
+ <field name="Point Width" dword="3" bits="10:0" type="u8.3" />
+ <field name="Point Width Source" dword="3" bits="11:11" type="uint">
+ <value name="Vertex" value="0" />
+ <value name="State" value="1" />
+ </field>
+ <field name="Vertex Sub Pixel Precision Select" dword="3" bits="12:12" type="uint">
+ <value name="8 Bit" value="0" />
+ <value name="4 Bit" value="1" />
+ </field>
+ <field name="Smooth Point Enable" dword="3" bits="13:13" type="bool" />
+ <field name="AA Line Distance Mode" dword="3" bits="14:14" type="uint">
+ <value name="AALINEDISTANCE_TRUE" value="1" />
+ </field>
+ <field name="Triangle Fan Provoking Vertex Select" dword="3" bits="26:25" type="uint" />
+ <field name="Line Strip/List Provoking Vertex Select" dword="3" bits="28:27" type="uint" />
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="3" bits="30:29" type="uint" />
+ <field name="Last Pixel Enable" dword="3" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_SO_BUFFER_INDEX_0" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="96" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SO Buffer Index State Body" dword="1" bits="223:0" type="3DSTATE_SO_BUFFER_INDEX_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_SO_BUFFER_INDEX_1" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="97" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SO Buffer Index State Body" dword="1" bits="223:0" type="3DSTATE_SO_BUFFER_INDEX_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_SO_BUFFER_INDEX_2" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="98" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SO Buffer Index State Body" dword="1" bits="223:0" type="3DSTATE_SO_BUFFER_INDEX_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_SO_BUFFER_INDEX_3" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="99" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SO Buffer Index State Body" dword="1" bits="223:0" type="3DSTATE_SO_BUFFER_INDEX_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Corner Texel Mode" dword="1" bits="23:23" type="bool" />
+ <field name="Control Surface Enable" dword="1" bits="24:24" type="bool" />
+ <field name="Stencil Compression Enable" dword="1" bits="25:25" type="bool" />
+ <field name="Null Page Coherency Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Stencil Write Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="Width" dword="4" bits="14:1" type="uint" />
+ <field name="Height" dword="4" bits="30:17" type="uint" />
+ <field name="MOCS" dword="5" bits="6:0" type="uint" nonzero="true" />
+ <field name="Minimum Array Element" dword="5" bits="18:8" type="uint" />
+ <field name="Depth" dword="5" bits="30:20" type="uint" />
+ <field name="Mip Tail Start LOD" dword="6" bits="29:26" type="uint" />
+ <field name="Tiled Mode" dword="6" bits="31:30" type="uint">
+ <value name="NONE" value="0" />
+ <value name="TILEYF" value="1" />
+ <value name="TILEYS" value="2" />
+ </field>
+ <field name="Surface QPitch" dword="7" bits="14:0" type="uint" />
+ <field name="Surf LOD" dword="7" bits="19:16" type="uint" />
+ <field name="Render Target View Extent" dword="7" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_SUBSLICE_HASH_TABLE" bias="2" length="14" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="12" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="31" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="8" dword="1" size="2">
+ <field name="Slice Hash Control" dword="0" bits="1:0" type="uint">
+ <value name="COMPUTED" value="0" />
+ <value name="UNBALANCED_TABLE_0" value="1" />
+ <value name="TABLE_0" value="2" />
+ <value name="TABLE_1" value="3" />
+ </field>
+ </group>
+ <field name="Slice Table Mode" dword="1" bits="31:30" type="uint">
+ <value name="SINGLE_TABLE" value="0" />
+ <value name="DUAL_TABLE" value="1" />
+ </field>
+ <group count="8" dword="2" size="16">
+ <group count="16" dword="0" size="1">
+ <field name="Two Way Table Entry" dword="0" bits="0:0" type="uint" />
+ </group>
+ </group>
+ <group count="8" dword="6" size="32">
+ <group count="16" dword="0" size="2">
+ <field name="Three Way Table Entry" dword="0" bits="1:0" type="uint" />
+ </group>
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_TE" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="28" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="TE Enable" dword="1" bits="0:0" type="bool" />
+ <field name="TE Mode" dword="1" bits="2:1" type="uint">
+ <value name="HW_TESS" value="0" />
+ </field>
+ <field name="TE Domain" dword="1" bits="5:4" type="uint">
+ <value name="QUAD" value="0" />
+ <value name="TRI" value="1" />
+ <value name="ISOLINE" value="2" />
+ </field>
+ <field name="Output Topology" dword="1" bits="9:8" type="uint" prefix="OUTPUT">
+ <value name="POINT" value="0" />
+ <value name="LINE" value="1" />
+ <value name="TRI_CW" value="2" />
+ <value name="TRI_CCW" value="3" />
+ </field>
+ <field name="Partitioning" dword="1" bits="13:12" type="uint">
+ <value name="INTEGER" value="0" />
+ <value name="ODD_FRACTIONAL" value="1" />
+ <value name="EVEN_FRACTIONAL" value="2" />
+ </field>
+ <field name="Tessellation Scale Factor Enable" dword="1" bits="19:19" type="bool" />
+ <field name="Tessellation Factor Format" dword="1" bits="20:20" type="uint">
+ <value name="FLOAT32" value="0" />
+ <value name="FLOAT16" value="1" />
+ </field>
+ <field name="Patch Header Layout" dword="1" bits="23:22" type="uint">
+ <value name="LEGACY" value="0" />
+ <value name="REVERSED" value="2" />
+ <value name="REVERSED_TRI_INSIDE_SEPARATE" value="3" />
+ </field>
+ <field name="Maximum Tessellation Factor Odd" dword="2" bits="31:0" type="float" />
+ <field name="Maximum Tessellation Factor Not Odd" dword="3" bits="31:0" type="float" />
+ <field name="Tessellation Scale Factor" dword="4" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_URB_ALLOC_DS" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="90" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="DS URB Entry Allocation Size" dword="1" bits="9:0" type="uint" />
+ <field name="DS URB Starting Address Slice0" dword="1" bits="17:10" type="uint" />
+ <field name="DS URB Starting Address Slice N" dword="1" bits="28:21" type="uint" />
+ <field name="DS Number of URB Entries Slice0" dword="2" bits="15:0" type="uint" />
+ <field name="DS Number of URB Entries Slice N" dword="2" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_ALLOC_GS" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="91" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="GS URB Entry Allocation Size" dword="1" bits="9:0" type="uint" />
+ <field name="GS URB Starting Address Slice0" dword="1" bits="17:10" type="uint" />
+ <field name="GS URB Starting Address Slice N" dword="1" bits="28:21" type="uint" />
+ <field name="GS Number of URB Entries Slice0" dword="2" bits="15:0" type="uint" />
+ <field name="GS Number of URB Entries Slice N" dword="2" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_ALLOC_HS" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="89" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="HS URB Entry Allocation Size" dword="1" bits="9:0" type="uint" />
+ <field name="HS URB Starting Address Slice0" dword="1" bits="17:10" type="uint" />
+ <field name="HS URB Starting Address Slice N" dword="1" bits="28:21" type="uint" />
+ <field name="HS Number of URB Entries Slice0" dword="2" bits="15:0" type="uint" />
+ <field name="HS Number of URB Entries Slice N" dword="2" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_ALLOC_VS" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="88" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="VS URB Entry Allocation Size" dword="1" bits="9:0" type="uint" />
+ <field name="VS URB Starting Address Slice0" dword="1" bits="17:10" type="uint" />
+ <field name="VS URB Starting Address Slice N" dword="1" bits="28:21" type="uint" />
+ <field name="VS Number of URB Entries Slice0" dword="2" bits="15:0" type="uint" />
+ <field name="VS Number of URB Entries Slice N" dword="2" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_WM_DEPTH_STENCIL" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Stencil Reference Value Modify Disable" dword="0" bits="8:8" type="bool" />
+ <field name="Stencil Test Mask Modify Disable" dword="0" bits="9:9" type="bool" />
+ <field name="Stencil Write Mask Modify Disable" dword="0" bits="10:10" type="bool" />
+ <field name="Stencil State Modify Disable" dword="0" bits="11:11" type="bool" />
+ <field name="Depth State Modify Disable" dword="0" bits="12:12" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="78" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Buffer Write Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Depth Test Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Stencil Buffer Write Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Stencil Test Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Double Sided Stencil Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Depth Test Function" dword="1" bits="7:5" type="3D_Compare_Function" />
+ <field name="Stencil Test Function" dword="1" bits="10:8" type="3D_Compare_Function" />
+ <field name="Backface Stencil Pass Depth Pass Op" dword="1" bits="13:11" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Pass Depth Fail Op" dword="1" bits="16:14" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Fail Op" dword="1" bits="19:17" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Test Function" dword="1" bits="22:20" type="3D_Compare_Function" />
+ <field name="Stencil Pass Depth Pass Op" dword="1" bits="25:23" type="3D_Stencil_Operation" />
+ <field name="Stencil Pass Depth Fail Op" dword="1" bits="28:26" type="3D_Stencil_Operation" />
+ <field name="Stencil Fail Op" dword="1" bits="31:29" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Write Mask" dword="2" bits="7:0" type="uint" />
+ <field name="Backface Stencil Test Mask" dword="2" bits="15:8" type="uint" />
+ <field name="Stencil Write Mask" dword="2" bits="23:16" type="uint" />
+ <field name="Stencil Test Mask" dword="2" bits="31:24" type="uint" />
+ <field name="Backface Stencil Reference Value" dword="3" bits="7:0" type="uint" />
+ <field name="Stencil Reference Value" dword="3" bits="15:8" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="82" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Number of Multisamples" dword="1" bits="15:13" type="uint" />
+ <field name="Stencil Clear Value" dword="1" bits="23:16" type="uint" />
+ <field name="Stencil Buffer Resolve Enable" dword="1" bits="24:24" type="bool" />
+ <field name="Full Surface Depth and Stencil Clear" dword="1" bits="25:25" type="bool" />
+ <field name="Pixel Position Offset Enable" dword="1" bits="26:26" type="bool" />
+ <field name="Hierarchical Depth Buffer Resolve Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Depth Buffer Resolve Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Scissor Rectangle Enable" dword="1" bits="29:29" type="bool" />
+ <field name="Depth Buffer Clear Enable" dword="1" bits="30:30" type="bool" />
+ <field name="Stencil Buffer Clear Enable" dword="1" bits="31:31" type="bool" />
+ <field name="Clear Rectangle X Min" dword="2" bits="15:0" type="uint" />
+ <field name="Clear Rectangle Y Min" dword="2" bits="31:16" type="uint" />
+ <field name="Clear Rectangle X Max" dword="3" bits="15:0" type="uint" />
+ <field name="Clear Rectangle Y Max" dword="3" bits="31:16" type="uint" />
+ <field name="Sample Mask" dword="4" bits="15:0" type="uint" />
+ </instruction>
+ <instruction name="AVP_BSD_OBJECT" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="32" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Tile Indirect BSD Data Length" dword="1" bits="31:0" type="uint" />
+ <field name="Tile Indirect Data Start Address" dword="2" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="AVP_IND_OBJ_BASE_ADDR_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="3" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="AVP Indirect Bitstream Object Base Address" dword="1" bits="63:0" type="address" />
+ <field name="AVP Indirect Bitstream Object Address Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="AVP Indirect Bitstream Object Access Upper Bound" dword="4" bits="63:0" type="address" />
+ </instruction>
+ <instruction name="AVP_INLOOP_FILTER_STATE" bias="2" length="15" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="13" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="51" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Luma Y Deblocker Filter Level Vertical" dword="1" bits="5:0" type="uint" />
+ <field name="Luma Y Deblocker Filter Level Horizontal" dword="1" bits="11:6" type="uint" />
+ <field name="Chroma U Deblocker Filter Level" dword="1" bits="17:12" type="uint" />
+ <field name="Chroma V Deblocker Filter Level" dword="1" bits="23:18" type="uint" />
+ <field name="Deblocker Filter Sharpness Level" dword="1" bits="26:24" type="uint" />
+ <field name="Deblocker Filter Mode Ref Delta Enable Flag" dword="1" bits="27:27" type="bool" />
+ <field name="Deblocker Delta LF Resolution" dword="1" bits="29:28" type="uint" />
+ <field name="Deblocker Filter Delta LF Multi Flag" dword="1" bits="30:30" type="bool" />
+ <field name="Deblocker Filter Delta LF Present Flag" dword="1" bits="31:31" type="bool" />
+ <field name="Deblocker Filter Ref Deltas 0" dword="2" bits="6:0" type="int" />
+ <field name="Deblocker Filter Ref Deltas 1" dword="2" bits="14:8" type="int" />
+ <field name="Deblocker Filter Ref Deltas 2" dword="2" bits="22:16" type="int" />
+ <field name="Deblocker Filter Ref Deltas 3" dword="2" bits="30:24" type="int" />
+ <field name="Deblocker Filter Ref Deltas 4" dword="3" bits="6:0" type="int" />
+ <field name="Deblocker Filter Ref Deltas 5" dword="3" bits="14:8" type="int" />
+ <field name="Deblocker Filter Ref Deltas 6" dword="3" bits="22:16" type="int" />
+ <field name="Deblocker Filter Ref Deltas 7" dword="3" bits="30:24" type="int" />
+ <field name="Deblocker Filter Mode Deltas 0" dword="4" bits="6:0" type="int" />
+ <field name="Deblocker Filter Mode Deltas 1" dword="4" bits="14:8" type="int" />
+ <field name="CDEF Y Strength 0" dword="5" bits="5:0" type="uint" />
+ <field name="CDEF Y Strength 1" dword="5" bits="11:6" type="uint" />
+ <field name="CDEF Y Strength 2" dword="5" bits="17:12" type="uint" />
+ <field name="CDEF Y Strength 3" dword="5" bits="23:18" type="uint" />
+ <field name="CDEF Bits" dword="5" bits="29:28" type="uint" />
+ <field name="CDEF Filter Dmpaing Factor Minus 3" dword="5" bits="31:30" type="uint" />
+ <field name="CDEF Y Strength 4" dword="6" bits="5:0" type="uint" />
+ <field name="CDEF Y Strength 5" dword="6" bits="11:6" type="uint" />
+ <field name="CDEF Y Strength 6" dword="6" bits="17:12" type="uint" />
+ <field name="CDEF Y Strength 7" dword="6" bits="23:18" type="uint" />
+ <field name="CDEF UV Strength 0" dword="7" bits="5:0" type="uint" />
+ <field name="CDEF UV Strength 1" dword="7" bits="11:6" type="uint" />
+ <field name="CDEF UV Strength 2" dword="7" bits="17:12" type="uint" />
+ <field name="CDEF UV Strength 3" dword="7" bits="23:18" type="uint" />
+ <field name="CDEF UV Strength 4" dword="8" bits="5:0" type="uint" />
+ <field name="CDEF UV Strength 5" dword="8" bits="11:6" type="uint" />
+ <field name="CDEF UV Strength 6" dword="8" bits="17:12" type="uint" />
+ <field name="CDEF UV Strength 7" dword="8" bits="23:18" type="uint" />
+ <field name="Super Res Upscaled Frame Width Minus 1" dword="9" bits="15:0" type="uint" />
+ <field name="Super Res Denom" dword="9" bits="20:16" type="uint" />
+ <field name="Frame Loop Restoration Filter Luma Y" dword="10" bits="1:0" type="uint" />
+ <field name="Frame Loop Restoration Filter Chroma U" dword="10" bits="3:2" type="uint" />
+ <field name="Frame Loop Restoration Filter Chroma V" dword="10" bits="5:4" type="uint" />
+ <field name="Loop Restoration Unit Size Luma Y" dword="10" bits="9:8" type="uint" />
+ <field name="Use Same Loop Restoration Unit Size Chromas UV Flag" dword="10" bits="10:10" type="bool" />
+ <field name="Luma Plane x_step_qn" dword="11" bits="15:0" type="uint" />
+ <field name="Luma Plane x0_qn" dword="12" bits="31:0" type="uint" />
+ <field name="Chroma Plane x_step_qn" dword="13" bits="15:0" type="uint" />
+ <field name="Chroma Plane x0_qn" dword="14" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="AVP_INTER_PRED_STATE" bias="2" length="15" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="13" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="18" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="7" dword="1" size="8">
+ <field name="Saved Order Hints 0" dword="0" bits="7:0" type="uint" />
+ </group>
+ <field name="Active Reference Bitmask" dword="2" bits="31:24" type="uint" />
+ <group count="7" dword="3" size="8">
+ <field name="Saved Order Hints 1" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="7" dword="5" size="8">
+ <field name="Saved Order Hints 2" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="7" dword="7" size="8">
+ <field name="Saved Order Hints 3" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="7" dword="9" size="8">
+ <field name="Saved Order Hints 4" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="7" dword="11" size="8">
+ <field name="Saved Order Hints 5" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="7" dword="13" size="8">
+ <field name="Saved Order Hints 6" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="7" dword="15" size="8">
+ <field name="Saved Order Hints 7" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="AVP_PIC_STATE" bias="2" length="51" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="49" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="48" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Width" dword="1" bits="13:0" type="uint" />
+ <field name="Frame Height" dword="1" bits="29:16" type="uint" />
+ <field name="Sequence Chroma SubSampling Format" dword="2" bits="1:0" type="uint" prefix="SS">
+ <value name="Monochrome" value="0" />
+ <value name="420" value="1" />
+ <value name="422" value="2" />
+ <value name="444" value="3" />
+ </field>
+ <field name="Sequence Pixel Bit-Depth Idc" dword="2" bits="4:3" type="uint" prefix="SeqPix">
+ <value name="8-bit" value="0" />
+ <value name="10-bit" value="1" />
+ <value name="12-bit" value="2" />
+ </field>
+ <field name="Sequence Superblock Size Used" dword="2" bits="8:7" type="uint">
+ <value name="64x64" value="0" />
+ <value name="128x128" value="1" />
+ </field>
+ <field name="Sequence Enable Order Hint Flag" dword="2" bits="9:9" type="bool" />
+ <field name="Sequence Order Hint Bits Minus 1" dword="2" bits="12:10" type="uint" />
+ <field name="Sequence Enable Filter Intra Flag" dword="2" bits="16:16" type="bool" />
+ <field name="Sequence Enable Intra Edge Filter Flag" dword="2" bits="17:17" type="bool" />
+ <field name="Sequence Enable Dual Filter Flag" dword="2" bits="18:18" type="bool" />
+ <field name="Sequence Enable Inter Intra Compound Flag" dword="2" bits="19:19" type="bool" />
+ <field name="Sequence Enable Masked Compound Flag" dword="2" bits="20:20" type="bool" />
+ <field name="Sequence Enable Joint Compound Flag" dword="2" bits="21:21" type="bool" />
+ <field name="Allow Screen Content Tools Flag" dword="3" bits="0:0" type="bool" />
+ <field name="Force Integer MV Flag" dword="3" bits="1:1" type="bool" />
+ <field name="Allow Warped Motion Flag" dword="3" bits="2:2" type="bool" />
+ <field name="Use CDEF Filter Flag" dword="3" bits="4:4" type="bool" />
+ <field name="Use Super-Res Flag" dword="3" bits="5:5" type="bool" />
+ <field name="Frame Level Loop Restoration Filter Enable" dword="3" bits="6:6" type="bool" />
+ <field name="Frame Type" dword="3" bits="17:16" type="uint" />
+ <field name="Intra Only Flag" dword="3" bits="19:19" type="bool" />
+ <field name="Error Resilient Mode Flag" dword="3" bits="22:22" type="bool" />
+ <field name="Allow IntraBC Flag" dword="3" bits="23:23" type="bool" />
+ <field name="Primary Reference Frame Idx" dword="3" bits="30:28" type="uint" />
+ <field name="Segmentation Enable Flag" dword="4" bits="0:0" type="bool" />
+ <field name="Segmentation Update Map Flag" dword="4" bits="1:1" type="bool" />
+ <field name="Segmentation Temporal Update Flag" dword="4" bits="2:2" type="bool" />
+ <field name="Pre Skip Segment ID Flag" dword="4" bits="3:3" type="bool" />
+ <field name="Last Active Segment Segment ID" dword="4" bits="6:4" type="uint" />
+ <field name="Delta Q Present Flag" dword="4" bits="7:7" type="bool" />
+ <field name="Delta Q Res" dword="4" bits="9:8" type="uint" />
+ <field name="Frame Coded Lossless Mode" dword="4" bits="10:10" type="bool" />
+ <field name="Segment Map is Zero Flag" dword="4" bits="11:11" type="bool" />
+ <field name="Segment ID Buffer Stream In Enable Flag" dword="4" bits="12:12" type="bool" />
+ <field name="Segment ID Buffer Stream Out Enable Flag" dword="4" bits="13:13" type="bool" />
+ <field name="Base Qindex" dword="4" bits="23:16" type="uint" />
+ <field name="Y dc delta Q" dword="4" bits="30:24" type="int" />
+ <field name="U dc delta Q" dword="5" bits="6:0" type="int" />
+ <field name="U ac delta Q" dword="5" bits="14:8" type="int" />
+ <field name="V dc delta Q" dword="5" bits="22:16" type="int" />
+ <field name="V ac delta Q" dword="5" bits="30:24" type="int" />
+ <field name="Allow High Precision MV" dword="6" bits="0:0" type="bool" />
+ <field name="Frame Level Reference Mode Select" dword="6" bits="1:1" type="bool" />
+ <field name="Mcomp Filter Type" dword="6" bits="4:2" type="uint">
+ <value name="Eight Tap" value="0" />
+ <value name="Eight Tap Smooth" value="1" />
+ <value name="Eight Tap Sharp" value="2" />
+ <value name="Bilinear" value="3" />
+ <value name="Switchable" value="4" />
+ </field>
+ <field name="Motion Mode Switchable Flag" dword="6" bits="6:6" type="bool" />
+ <field name="Use Reference Frame MV Set Flag" dword="6" bits="7:7" type="bool" />
+ <field name="Reference Frame Sign Bias" dword="6" bits="15:8" type="uint" />
+ <field name="Current Frame Order Hint" dword="6" bits="23:16" type="uint" />
+ <field name="Reduced Tx Set Used" dword="7" bits="0:0" type="bool" />
+ <field name="Frame Transform Mode" dword="7" bits="2:1" type="uint" />
+ <field name="Skip Mode Present Flag" dword="7" bits="4:4" type="bool" />
+ <field name="Skip Mode Frame 0" dword="7" bits="7:5" type="uint" />
+ <field name="Skip Mode Frame 1" dword="7" bits="11:9" type="uint" />
+ <field name="Reference Frame Side" dword="7" bits="31:24" type="uint" />
+ <field name="Global Motion Type 1" dword="8" bits="4:3" type="uint" />
+ <field name="Global Motion Type 2" dword="8" bits="7:6" type="uint" />
+ <field name="Global Motion Type 3" dword="8" bits="10:9" type="uint" />
+ <field name="Global Motion Type 4" dword="8" bits="13:12" type="uint" />
+ <field name="Global Motion Type 5" dword="8" bits="16:15" type="uint" />
+ <field name="Global Motion Type 6" dword="8" bits="19:18" type="uint" />
+ <field name="Global Motion Type 7" dword="8" bits="22:21" type="uint" />
+ <field name="Frame Level Global Motion Invalid Flags" dword="8" bits="31:24" type="uint" />
+ <group count="42" dword="9" size="16">
+ <field name="Warp Parameters" dword="0" bits="15:0" type="uint" />
+ </group>
+ <field name="Reference Frame Idx 0" dword="30" bits="2:0" type="uint" />
+ <field name="Reference Frame Idx 1" dword="30" bits="6:4" type="uint" />
+ <field name="Reference Frame Idx 2" dword="30" bits="10:8" type="uint" />
+ <field name="Reference Frame Idx 3" dword="30" bits="14:12" type="uint" />
+ <field name="Reference Frame Idx 4" dword="30" bits="18:16" type="uint" />
+ <field name="Reference Frame Idx 5" dword="30" bits="22:20" type="uint" />
+ <field name="Reference Frame Idx 6" dword="30" bits="26:24" type="uint" />
+ <field name="Reference Frame Idx 7" dword="30" bits="30:28" type="uint" />
+ <field name="Intra Frame Width in Pixel Minus 1" dword="31" bits="15:0" type="uint" />
+ <field name="Intra Frame Height in Pixel Minus 1" dword="31" bits="31:16" type="uint" />
+ <field name="Last Frame Width in Pixel Minus 1" dword="32" bits="15:0" type="uint" />
+ <field name="Last Frame Height in Pixel Minus 1" dword="32" bits="31:16" type="uint" />
+ <field name="Last2 Frame Width in Pixel Minus 1" dword="33" bits="15:0" type="uint" />
+ <field name="Last2 Frame Height in Pixel Minus 1" dword="33" bits="31:16" type="uint" />
+ <field name="Last3 Frame Width in Pixel Minus 1" dword="34" bits="15:0" type="uint" />
+ <field name="Last3 Frame Height in Pixel Minus 1" dword="34" bits="31:16" type="uint" />
+ <field name="Golden Frame Width in Pixel Minus 1" dword="35" bits="15:0" type="uint" />
+ <field name="Golden Frame Height in Pixel Minus 1" dword="35" bits="31:16" type="uint" />
+ <field name="BWDREF Frame Width in Pixel Minus 1" dword="36" bits="15:0" type="uint" />
+ <field name="BWDREF Frame Height in Pixel Minus 1" dword="36" bits="31:16" type="uint" />
+ <field name="ALTREF2 Frame Width in Pixel Minus 1" dword="37" bits="15:0" type="uint" />
+ <field name="ALTREF2 Frame Height in Pixel Minus 1" dword="37" bits="31:16" type="uint" />
+ <field name="ALTREF Frame Width in Pixel Minus 1" dword="38" bits="15:0" type="uint" />
+ <field name="ALTREF Frame Height in Pixel Minus 1" dword="38" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Intra" dword="39" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Intra" dword="39" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Last" dword="40" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Last" dword="40" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Last2" dword="41" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Last2" dword="41" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Last3" dword="42" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Last3" dword="42" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Golden" dword="43" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Golden" dword="43" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For BWDREF" dword="44" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For BWDREF" dword="44" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For ALTREF2" dword="45" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For ALTREF2" dword="45" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For ALTREF" dword="46" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For ALTREF" dword="46" bits="31:16" type="uint" />
+ <group count="8" dword="47" size="8">
+ <field name="Reference Frame Order Hint" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="AVP_PIPE_BUF_ADDR_STATE" bias="2" length="188" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="186" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="8" dword="1" size="64">
+ <field name="Reference Picture - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Reference Picture - Attributes" dword="17" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Decoded Output Frame Buffer Address" dword="18" bits="63:0" type="address" />
+ <field name="Decoded Output Frame Buffer Address - Attributes" dword="20" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="IntraBC Decoded Output Frame Buffer Address" dword="24" bits="63:0" type="address" />
+ <field name="IntraBC Decoded Output Frame Buffer Address - Attributes" dword="26" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDF Tables Initialization Buffer Address" dword="27" bits="63:0" type="address" />
+ <field name="CDF Tables Initialization Buffer Address - Attributes" dword="29" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDF Tables Backward Adaptation Buffer Address" dword="30" bits="63:0" type="address" />
+ <field name="CDF Tables Backward Adaptation Buffer Address - Attributes" dword="32" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="AV1 Segment ID Read Buffer Address" dword="33" bits="63:0" type="address" />
+ <field name="AV1 Segment ID Read Buffer Address - Attributes" dword="35" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="AV1 Segment ID Write Buffer Address" dword="36" bits="63:0" type="address" />
+ <field name="AV1 Segment ID Write Buffer Address - Attributes" dword="38" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <group count="8" dword="39" size="64">
+ <field name="Collocated MV Temporal Buffer - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Collocated MV Temporal Buffer - Attributes" dword="55" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Current Frame MV Write Buffer Address" dword="56" bits="63:0" type="address" />
+ <field name="Current Frame MV Write Buffer Address - Attributes" dword="58" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Bitstream Line Rowstore Buffer Address" dword="62" bits="63:0" type="address" />
+ <field name="Bitstream Line Rowstore Buffer Address - Attributes" dword="64" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Bitstream Tile Line Rowstore Buffer Address" dword="65" bits="63:0" type="address" />
+ <field name="Bitstream Tile Line Rowstore Buffer Address - Attributes" dword="67" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Intra Prediction Line Rowstore Buffer Address" dword="68" bits="63:0" type="address" />
+ <field name="Intra Prediction Line Rowstore Buffer Address - Attributes" dword="70" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Intra Prediction Tile Line Rowstore Buffer Address" dword="71" bits="63:0" type="address" />
+ <field name="Intra Prediction Tile Line Rowstore Buffer Address - Attributes" dword="73" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Spatial Motion Vector Line Buffer Address" dword="74" bits="63:0" type="address" />
+ <field name="Spatial Motion Vector Line Buffer Address - Attributes" dword="76" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Spatial Motion Vector Tile Line Buffer Address" dword="77" bits="63:0" type="address" />
+ <field name="Spatial Motion Vector Tile Line Buffer Address - Attributes" dword="79" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Meta Tile Column Buffer Address" dword="80" bits="63:0" type="address" />
+ <field name="Loop Restoration Meta Tile Column Buffer Address - Attributes" dword="82" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Line Y Buffer Address" dword="83" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Line Y Buffer Address - Attributes" dword="85" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Line U Buffer Address" dword="86" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Line U Buffer Address - Attributes" dword="88" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Line V Buffer Address" dword="89" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Line V Buffer Address - Attributes" dword="91" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Line Y Buffer Address" dword="92" bits="63:0" type="address" />
+ <field name="Deblocker Filter Line Y Buffer Address - Attributes" dword="94" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Line U Buffer Address" dword="95" bits="63:0" type="address" />
+ <field name="Deblocker Filter Line U Buffer Address - Attributes" dword="97" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Line V Buffer Address" dword="98" bits="63:0" type="address" />
+ <field name="Deblocker Filter Line V Buffer Address - Attributes" dword="100" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Line Y Buffer Address" dword="101" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Line Y Buffer Address - Attributes" dword="103" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Line U Buffer Address" dword="104" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Line U Buffer Address - Attributes" dword="106" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Line V Buffer Address" dword="107" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Line V Buffer Address - Attributes" dword="109" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Column Y Buffer Address" dword="110" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Column Y Buffer Address - Attributes" dword="112" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Column U Buffer Address" dword="113" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Column U Buffer Address - Attributes" dword="115" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Column V Buffer Address" dword="116" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Column V Buffer Address - Attributes" dword="118" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Line Buffer Address" dword="119" bits="63:0" type="address" />
+ <field name="CDEF Filter Line Buffer Address - Attributes" dword="121" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Tile Line Buffer Address" dword="128" bits="63:0" type="address" />
+ <field name="CDEF Filter Tile Line Buffer Address - Attributes" dword="130" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Tile Column Buffer Address" dword="137" bits="63:0" type="address" />
+ <field name="CDEF Filter Tile Column Buffer Address - Attributes" dword="139" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Meta Tile Line Buffer Address" dword="140" bits="63:0" type="address" />
+ <field name="CDEF Filter Meta Tile Line Buffer Address - Attributes" dword="142" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Meta Tile Column Buffer Address" dword="143" bits="63:0" type="address" />
+ <field name="CDEF Filter Meta Tile Column Buffer Address - Attributes" dword="145" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Top Left Corner Buffer Address" dword="146" bits="63:0" type="address" />
+ <field name="CDEF Filter Top Left Corner Buffer Address - Attributes" dword="148" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Super Res Tile Column Y Buffer Address" dword="149" bits="63:0" type="address" />
+ <field name="Super Res Tile Column Y Buffer Address - Attributes" dword="151" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Super Res Tile Column U Buffer Address" dword="152" bits="63:0" type="address" />
+ <field name="Super Res Tile Column U Buffer Address - Attributes" dword="154" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Super Res Tile Column V Buffer Address" dword="155" bits="63:0" type="address" />
+ <field name="Super Res Tile Column V Buffer Address - Attributes" dword="157" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Column Y Buffer Address" dword="158" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Column Y Buffer Address - Attributes" dword="160" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Column U Buffer Address" dword="161" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Column U Buffer Address - Attributes" dword="163" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Column V Buffer Address" dword="164" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Column V Buffer Address - Attributes" dword="166" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Decoded Frame Status Error Buffer Address" dword="176" bits="63:0" type="address" />
+ <field name="Decoded Frame Status Error Buffer Address - Attributes" dword="178" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Decoded Block Data Streamout Buffer Address" dword="179" bits="63:0" type="address" />
+ <field name="Decoded Block Data Streamout Buffer Address - Attributes" dword="181" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </instruction>
+ <instruction name="AVP_PIPE_MODE_SELECT" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Codec Select" dword="1" bits="0:0" type="bool">
+ <value name="Decode" value="0" />
+ <value name="Encode" value="1" />
+ </field>
+ <field name="Pic Status/Error Report Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Codec Standard Select" dword="1" bits="7:5" type="uint" default="2" />
+ <field name="Multi Engine Mode" dword="1" bits="14:13" type="uint">
+ <value name="Single Engine Mode" value="0" />
+ <value name="Left Engine Mode" value="1" />
+ <value name="Right Engine Mode" value="2" />
+ <value name="Middle Engine Mode" value="3" />
+ </field>
+ <field name="Pipe Working Mode" dword="1" bits="16:15" type="uint">
+ <value name="Legacy Single Pipe" value="0" />
+ <value name="Decode Scalable Mode" value="3" />
+ </field>
+ <field name="Pic Status/Error Report ID" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="AVP_SEGMENT_STATE" bias="2" length="4" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="2" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="50" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Segment ID" dword="1" bits="2:0" type="uint" />
+ <field name="Segment Feature Mask" dword="2" bits="7:0" type="uint" />
+ <field name="Segment Delta Qindex" dword="2" bits="16:8" type="int" />
+ <field name="Segment Block Skip Flag" dword="2" bits="17:17" type="bool" />
+ <field name="Segment Block Global MV Flag" dword="2" bits="18:18" type="bool" />
+ <field name="Segment Lossless Flag" dword="2" bits="19:19" type="bool" />
+ <field name="Segment Luma Y QM Level" dword="2" bits="23:20" type="uint" />
+ <field name="Segment Chroma U QM Level" dword="2" bits="27:24" type="uint" />
+ <field name="Segment Chroma V QM Level" dword="2" bits="31:28" type="uint" />
+ <field name="Segment Delta Loop Filter Level Luma Vertical" dword="3" bits="6:0" type="uint" />
+ <field name="Segment Delta Loop Filter Level Luma Horizontal" dword="3" bits="13:7" type="uint" />
+ <field name="Segment Delta Loop Filter Level Chroma U" dword="3" bits="20:14" type="uint" />
+ <field name="Segment Delta Loop Filter Level Chroma V" dword="3" bits="27:21" type="uint" />
+ <field name="Segment Reference Frame" dword="3" bits="30:28" type="uint" />
+ </instruction>
+ <instruction name="AVP_SURFACE_STATE" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch Minus 1" dword="1" bits="15:0" type="uint" />
+ <field name="Surface ID" dword="1" bits="31:28" type="uint" />
+ <field name="Y Offset for UCb" dword="2" bits="14:0" type="uint" />
+ <field name="Surface Format" dword="2" bits="31:27" type="uint" prefix="AVP">
+ <value name="PLANAR_420_8" value="4" />
+ <value name="P010" value="13" />
+ </field>
+ <field name="Default Alpha Value" dword="3" bits="15:0" type="uint" />
+ <field name="Y Offset for VCr" dword="3" bits="31:16" type="uint" />
+ <field name="Memory Compression Enable for Intra Frame" dword="4" bits="0:0" type="bool" />
+ <field name="Memory Compression Enable for Last Frame" dword="4" bits="1:1" type="bool" />
+ <field name="Memory Compression Enable for Last2 Frame" dword="4" bits="2:2" type="bool" />
+ <field name="Memory Compression Enable for Last3 Frame" dword="4" bits="3:3" type="bool" />
+ <field name="Memory Compression Enable for Golden Frame" dword="4" bits="4:4" type="bool" />
+ <field name="Memory Compression Enable for BwdRef Frame" dword="4" bits="5:5" type="bool" />
+ <field name="Memory Compression Enable for AltRef2 Frame" dword="4" bits="6:6" type="bool" />
+ <field name="Memory Compression Enable for AltRef Frame" dword="4" bits="7:7" type="bool" />
+ <field name="Compression Type for Intra Frame" dword="4" bits="8:8" type="bool" />
+ <field name="Compression Type for Last Frame" dword="4" bits="9:9" type="bool" />
+ <field name="Compression Type for Last2 Frame" dword="4" bits="10:10" type="bool" />
+ <field name="Compression Type for Last3 Frame" dword="4" bits="11:11" type="bool" />
+ <field name="Compression Type for Golden Frame" dword="4" bits="12:12" type="bool" />
+ <field name="Compression Type for BwdRef Frame" dword="4" bits="13:13" type="bool" />
+ <field name="Compression Type for AltRef2 Frame" dword="4" bits="14:14" type="bool" />
+ <field name="Compression Type for AltRef Frame" dword="4" bits="15:15" type="bool" />
+ </instruction>
+ <instruction name="AVP_TILE_CODING" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="21" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Tile ID" dword="1" bits="11:0" type="uint" />
+ <field name="TG Tile Num" dword="1" bits="23:12" type="uint" />
+ <field name="Tile Group ID" dword="1" bits="31:24" type="uint" />
+ <field name="Tile Column Position in SB Unit" dword="2" bits="9:0" type="uint" />
+ <field name="Tile Row Position in SB Unit" dword="2" bits="25:16" type="uint" />
+ <field name="Tile Width in SB Minus 1" dword="3" bits="5:0" type="uint" />
+ <field name="Tile Height in SB Minus 1" dword="3" bits="25:16" type="uint" />
+ <field name="Is Last Tile of Column Flag" dword="4" bits="25:25" type="bool" />
+ <field name="Is Last Tile of Row Flag" dword="4" bits="26:26" type="bool" />
+ <field name="Is Start Tile of Tile Group Flag" dword="4" bits="27:27" type="bool" />
+ <field name="Is End Tile of Tile Group Flag" dword="4" bits="28:28" type="bool" />
+ <field name="Is Last Tile of Frame Flag" dword="4" bits="29:29" type="bool" />
+ <field name="Disable CDF Update Flag" dword="4" bits="30:30" type="bool" />
+ <field name="Disable Frame Context Update Flag" dword="4" bits="31:31" type="bool" />
+ <field name="Number of Active BE Pipes" dword="5" bits="7:0" type="uint" />
+ <field name="Num of Tile Columns in Frame Minus 1" dword="5" bits="21:12" type="uint" />
+ <field name="Num of Tile Rows in Frame Minus 1" dword="5" bits="31:22" type="uint" />
+ </instruction>
+ <instruction name="AVP_VD_CONTROL_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="10" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="VD Control State" dword="1" bits="63:0" type="VD_CONTROL_STATE_BODY" />
+ </instruction>
+ <instruction name="HCP_FQM_STATE" bias="2" length="34" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="32" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="5" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Intra/Inter" dword="1" bits="0:0" type="uint">
+ <value name="Intra" value="0" />
+ <value name="Inter" value="1" />
+ </field>
+ <field name="SizeID" dword="1" bits="2:1" type="uint">
+ <value name="4x4" value="0" />
+ <value name="8x8" value="1" />
+ <value name="16x16" value="2" />
+ <value name="32x32" value="3" />
+ </field>
+ <field name="Color Component" dword="1" bits="4:3" type="uint">
+ <value name="Luma" value="0" />
+ <value name="Chroma Cb" value="1" />
+ <value name="Chroma Cr" value="2" />
+ </field>
+ <field name="FQM DC Value" dword="1" bits="31:16" type="uint" />
+ <group count="128" dword="2" size="8">
+ <field name="Quantizer Matrix 8x8" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="HCP_PIC_STATE" bias="2" length="41" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="39" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="16" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Width In Minimum Coding Block Size" dword="1" bits="10:0" type="uint" />
+ <field name="PAK Transform Skip Enable" dword="1" bits="15:15" type="bool" />
+ <field name="Frame Height In Minimum Coding Block Size" dword="1" bits="26:16" type="uint" />
+ <field name="Min CU Size" dword="2" bits="1:0" type="uint" prefix="LCU">
+ <value name="64x64" value="3" />
+ <value name="32x32" value="2" />
+ <value name="16x16" value="1" />
+ <value name="8x8" value="0" />
+ </field>
+ <field name="LCU Size" dword="2" bits="3:2" type="uint" prefix="LCU">
+ <value name="64x64" value="3" />
+ <value name="32x32" value="2" />
+ <value name="16x16" value="1" />
+ <value name="Illegal/reserved" value="0" />
+ </field>
+ <field name="Min TU Size" dword="2" bits="5:4" type="uint" prefix="TU">
+ <value name="32x32" value="3" />
+ <value name="16x16" value="2" />
+ <value name="8x8" value="1" />
+ <value name="4x4" value="0" />
+ </field>
+ <field name="Max TU Size" dword="2" bits="7:6" type="uint" prefix="TU">
+ <value name="32x32" value="3" />
+ <value name="16x16" value="2" />
+ <value name="8x8" value="1" />
+ <value name="4x4" value="0" />
+ </field>
+ <field name="Min PCM Size" dword="2" bits="9:8" type="uint" prefix="PCM">
+ <value name="32x32" value="2" />
+ <value name="16x16" value="1" />
+ <value name="8x8" value="0" />
+ </field>
+ <field name="Max PCM Size" dword="2" bits="11:10" type="uint" prefix="PCM">
+ <value name="32x32" value="2" />
+ <value name="16x16" value="1" />
+ <value name="8x8" value="0" />
+ </field>
+ <field name="Log2 SAO Offset Scale Luma" dword="2" bits="14:12" type="uint" />
+ <field name="Log2 SAO Offset Scale Chroma" dword="2" bits="18:16" type="uint" />
+ <field name="Chroma QP Offset List Length" dword="2" bits="22:20" type="uint" />
+ <field name="Diff CU Chroma QP Offset Depth" dword="2" bits="27:24" type="uint" />
+ <field name="Chroma QP Offset List Enable" dword="2" bits="28:28" type="bool" />
+ <field name="Chroma Subsampling" dword="2" bits="31:29" type="uint">
+ <value name="4:2:0" value="1" />
+ <value name="4:2:2" value="2" />
+ <value name="4:4:4" value="3" />
+ </field>
+ <field name="Collocated Picture Is I Slice" dword="3" bits="0:0" type="bool" />
+ <field name="Current Picture Is I Slice" dword="3" bits="1:1" type="bool" />
+ <field name="CABAC Zero Word Insertion Test Enable" dword="3" bits="2:2" type="bool" />
+ <field name="High Precision Offsets Enable" dword="3" bits="19:19" type="bool" />
+ <field name="Log2 Max Transform Skip Size" dword="3" bits="22:20" type="uint" />
+ <field name="Cross Component Prediction Enable" dword="3" bits="23:23" type="bool" />
+ <field name="CABAC Bypass Alignment Enable" dword="3" bits="24:24" type="bool" />
+ <field name="Persistent Rice Adaptation Enable" dword="3" bits="25:25" type="bool" />
+ <field name="Intra Smoothing Disable" dword="3" bits="26:26" type="bool" />
+ <field name="Explicit RDPCM Enable" dword="3" bits="27:27" type="bool" />
+ <field name="Implicit RDPCM Enable" dword="3" bits="28:28" type="bool" />
+ <field name="Transform Skip Context Enable" dword="3" bits="29:29" type="bool" />
+ <field name="Transform Skip Rotation Enable" dword="3" bits="30:30" type="bool" />
+ <field name="SPS Range Extension Enable" dword="3" bits="31:31" type="bool" />
+ <field name="Sample Adaptive Offset Enable" dword="4" bits="3:3" type="bool" />
+ <field name="PCM Enable" dword="4" bits="4:4" type="bool" />
+ <field name="CU QP Delta Enable" dword="4" bits="5:5" type="bool" />
+ <field name="Max DQP Depth" dword="4" bits="7:6" type="uint" />
+ <field name="PCM Loop Filter Disable" dword="4" bits="8:8" type="bool" />
+ <field name="Constrained Intra Prediction" dword="4" bits="9:9" type="bool" />
+ <field name="Log2 Parallel Merge Level" dword="4" bits="12:10" type="uint" />
+ <field name="Sign Data Hiding" dword="4" bits="13:13" type="bool" />
+ <field name="Loop Filter Enable" dword="4" bits="15:15" type="bool" />
+ <field name="Entropy Coding Sync Enable" dword="4" bits="16:16" type="bool" />
+ <field name="Tiling Enable" dword="4" bits="17:17" type="bool" />
+ <field name="Weighted BiPredication Enable" dword="4" bits="18:18" type="bool" />
+ <field name="Weighted Predication Enable" dword="4" bits="19:19" type="bool" />
+ <field name="Field Pic" dword="4" bits="20:20" type="bool" />
+ <field name="Top Field" dword="4" bits="21:21" type="bool" />
+ <field name="Transform Skip Enable" dword="4" bits="22:22" type="bool" />
+ <field name="AMP Enable" dword="4" bits="23:23" type="bool" />
+ <field name="Transquant Bypass Enable" dword="4" bits="25:25" type="bool" />
+ <field name="Strong Intra Smoothing Enable" dword="4" bits="26:26" type="bool" />
+ <field name="CU Packet Structure" dword="4" bits="27:27" type="uint">
+ <value name="VME" value="0" />
+ <value name="ExtEnc" value="1" />
+ </field>
+ <field name="Picture Cb QP Offset" dword="5" bits="4:0" type="int" />
+ <field name="Picture Cr QP Offset" dword="5" bits="9:5" type="int" />
+ <field name="Intra Max Transform Hierarchy Depth" dword="5" bits="12:10" type="uint" />
+ <field name="Inter Max Transform Hierarchy Depth" dword="5" bits="15:13" type="uint" />
+ <field name="Chroma PCM Sample Bit Depth" dword="5" bits="19:16" type="uint" />
+ <field name="Luma PCM Sample Bit Depth" dword="5" bits="23:20" type="uint" />
+ <field name="Chroma Bit Depth" dword="5" bits="26:24" type="uint">
+ <value name="8-bit" value="0" />
+ <value name="9-bit" value="1" />
+ <value name="10-bit" value="2" />
+ <value name="11-bit" value="3" />
+ <value name="12-bit" value="4" />
+ </field>
+ <field name="Luma Bit Depth" dword="5" bits="29:27" type="uint">
+ <value name="8-bit" value="0" />
+ <value name="9-bit" value="1" />
+ <value name="10-bit" value="2" />
+ <value name="11-bit" value="3" />
+ <value name="12-bit" value="4" />
+ </field>
+ <field name="LCU Max Bit Size Allowed" dword="6" bits="15:0" type="uint" />
+ <field name="Non First Pass" dword="6" bits="16:16" type="bool" />
+ <field name="LCU Max Size Report" dword="6" bits="24:24" type="bool" />
+ <field name="Frame Bitrate Max Report" dword="6" bits="25:25" type="bool" />
+ <field name="Frame Bitrate Min Report" dword="6" bits="26:26" type="bool" />
+ <field name="Load Bitstream Pointer Per Slice" dword="6" bits="29:29" type="bool" />
+ <field name="Frame Bitrate Max" dword="7" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Max Unit" dword="7" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min" dword="8" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit" dword="8" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="9" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="9" bits="30:16" type="uint" />
+ <field name="Frame Delta QP Max" dword="10" bits="63:0" type="FRAMEDELTAQP" />
+ <field name="Frame Delta QP Min" dword="12" bits="63:0" type="FRAMEDELTAQP" />
+ <field name="Frame Delta QP Max Range" dword="14" bits="63:0" type="FRAMEDELTAQPRANGE" />
+ <field name="Frame Delta QP Min Range" dword="16" bits="63:0" type="FRAMEDELTAQPRANGE" />
+ <field name="Minimum Frame Size" dword="18" bits="15:0" type="uint" />
+ <field name="Minimum Frame Size Units" dword="18" bits="31:30" type="uint" prefix="HCP_MFSU">
+ <value name="4Kb" value="0" />
+ <value name="16Kb" value="1" />
+ <value name="Compatibility mode" value="2" />
+ <value name="16 bytes" value="3" />
+ </field>
+ <field name="Fractional QP Input" dword="19" bits="2:0" type="uint" />
+ <field name="Fractional QP Offset" dword="19" bits="5:3" type="uint" />
+ <field name="Rho Domain Rate Control Enable" dword="19" bits="6:6" type="bool" />
+ <field name="Fractional QP Adjustment Enable" dword="19" bits="7:7" type="bool" />
+ <field name="Rho Domain Frame Level QP" dword="19" bits="13:8" type="uint" />
+ <field name="PAK Dynamic Slice Mode Enable" dword="19" bits="14:14" type="bool" />
+ <field name="No Output of Prior Pics" dword="19" bits="15:15" type="bool" />
+ <field name="First Slice Segment In Pic" dword="19" bits="16:16" type="bool" />
+ <field name="Nal Unit Type" dword="19" bits="17:17" type="uint" />
+ <field name="Slice_pic_parameter_set_id" dword="19" bits="23:18" type="uint" />
+ <field name="SSE Enable" dword="19" bits="24:24" type="bool" />
+ <field name="RDOQ Enable" dword="19" bits="25:25" type="bool" />
+ <field name="Number of LCUs InNormal Slice Size Conformance Mode" dword="19" bits="27:26" type="uint" />
+ <field name="Intra TU Count Based RDOQ Disable" dword="20" bits="6:6" type="bool" />
+ <field name="Slice Size Threshold" dword="21" bits="31:0" type="uint" />
+ <field name="Target Slice Size" dword="22" bits="31:0" type="uint" />
+ <field name="Class0_SSE_Threshold0" dword="23" bits="15:0" type="uint" />
+ <field name="Class0_SSE_Threshold1" dword="23" bits="31:16" type="uint" />
+ <field name="SSE Thresholds for Class1-8" dword="24" bits="255:0" type="uint" />
+ <field name="Cb QP Offset List[0]" dword="32" bits="4:0" type="int" />
+ <field name="Cb QP Offset List[1]" dword="32" bits="9:5" type="int" />
+ <field name="Cb QP Offset List[2]" dword="32" bits="14:10" type="int" />
+ <field name="Cb QP Offset List[3]" dword="32" bits="19:15" type="int" />
+ <field name="Cb QP Offset List[4]" dword="32" bits="24:20" type="int" />
+ <field name="Cb QP Offset List[5]" dword="32" bits="29:25" type="int" />
+ <field name="Cr QP Offset List[0]" dword="33" bits="4:0" type="int" />
+ <field name="Cr QP Offset List[1]" dword="33" bits="9:5" type="int" />
+ <field name="Cr QP Offset List[2]" dword="33" bits="14:10" type="int" />
+ <field name="Cr QP Offset List[3]" dword="33" bits="19:15" type="int" />
+ <field name="Cr QP Offset List[4]" dword="33" bits="24:20" type="int" />
+ <field name="Cr QP Offset List[5]" dword="33" bits="29:25" type="int" />
+ <field name="RDOQ Intra TU Threshold" dword="37" bits="15:0" type="uint" />
+ </instruction>
+ <instruction name="HCP_PIPE_MODE_SELECT" bias="2" length="7" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="5" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Codec Select" dword="1" bits="0:0" type="uint">
+ <value name="Decode" value="0" />
+ <value name="Encode" value="1" />
+ </field>
+ <field name="Deblocker Stream-Out Enable" dword="1" bits="1:1" type="bool" />
+ <field name="PAK Pipeline Stream-Out Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Pic Status/Error Report Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Codec Standard Select" dword="1" bits="7:5" type="uint">
+ <value name="HEVC" value="0" />
+ <value name="VP9" value="1" />
+ </field>
+ <field name="Advanced Rate Control Enable" dword="1" bits="9:9" type="bool" />
+ <field name="VDEnc Mode" dword="1" bits="10:10" type="uint" prefix="VM">
+ <value name="MBEnc Mode" value="0" />
+ <value name="VDEnc Mode" value="1" />
+ </field>
+ <field name="RDOQ Enable" dword="1" bits="11:11" type="bool" />
+ <field name="PAK Frame Level Stream-Out Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Multi-Engine Mode" dword="1" bits="14:13" type="uint" />
+ <field name="Pipe Working Mode" dword="1" bits="16:15" type="uint">
+ <value name="Legacy Decoder/Encoder Mode" value="0" />
+ <value name="CABAC FE Only Decode Mode" value="1" />
+ <value name="Decoder BE Only or Encoder Mode" value="2" />
+ </field>
+ <field name="Media Soft-Reset Counter" dword="2" bits="31:0" type="uint" />
+ <field name="Pic Status/Error Report ID" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="HCP_SLICE_STATE" bias="2" length="13" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="11" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="20" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Slice Horizontal Position" dword="1" bits="9:0" type="uint" />
+ <field name="Slice Vertical Position" dword="1" bits="25:16" type="uint" />
+ <field name="Next Slice Horizontal Position" dword="2" bits="9:0" type="uint" />
+ <field name="Next Slice Vertical Position" dword="2" bits="26:16" type="uint" />
+ <field name="Slice Type" dword="3" bits="1:0" type="uint" prefix="HCP_ST">
+ <value name="B Slice" value="0" />
+ <value name="P Slice" value="1" />
+ <value name="I Slice" value="2" />
+ </field>
+ <field name="Last Slice" dword="3" bits="2:2" type="bool" />
+ <field name="Slice QP Sign" dword="3" bits="3:3" type="uint" />
+ <field name="Dependent Slice" dword="3" bits="4:4" type="bool" />
+ <field name="Slice Temporal MVP Enable" dword="3" bits="5:5" type="bool" />
+ <field name="Slice QP" dword="3" bits="11:6" type="uint" />
+ <field name="Slice Cb QP Offset" dword="3" bits="16:12" type="int">
+ <value name="-12" value="20" />
+ <value name="-11" value="21" />
+ <value name="-10" value="22" />
+ <value name="-9" value="23" />
+ <value name="-8" value="24" />
+ <value name="-7" value="25" />
+ <value name="-6" value="26" />
+ <value name="-5" value="27" />
+ <value name="-4" value="28" />
+ <value name="-3" value="29" />
+ <value name="-2" value="30" />
+ <value name="-1" value="31" />
+ </field>
+ <field name="Slice Cr QP Offset" dword="3" bits="21:17" type="int">
+ <value name="-12" value="20" />
+ <value name="-11" value="21" />
+ <value name="-10" value="22" />
+ <value name="-9" value="23" />
+ <value name="-8" value="24" />
+ <value name="-7" value="25" />
+ <value name="-6" value="26" />
+ <value name="-5" value="27" />
+ <value name="-4" value="28" />
+ <value name="-3" value="29" />
+ <value name="-2" value="30" />
+ <value name="-1" value="31" />
+ </field>
+ <field name="Intra Ref Fetch Disable" dword="3" bits="22:22" type="bool" />
+ <field name="CU Chroma QP Offset Enable" dword="3" bits="23:23" type="bool" />
+ <field name="Last Slice of Tile" dword="3" bits="24:24" type="uint" />
+ <field name="Slice Header Disable Deblocking Filter" dword="4" bits="0:0" type="bool" />
+ <field name="Slice TC Offset Div2" dword="4" bits="4:1" type="int" />
+ <field name="Slice Beta Offset Div2" dword="4" bits="8:5" type="int" />
+ <field name="Slice Loop Filter Enable" dword="4" bits="10:10" type="bool" />
+ <field name="Slice SAO Chroma" dword="4" bits="11:11" type="bool" />
+ <field name="Slice SAO Luma" dword="4" bits="12:12" type="bool" />
+ <field name="MVD L1 Zero" dword="4" bits="13:13" type="bool" />
+ <field name="Low Delay" dword="4" bits="14:14" type="bool" />
+ <field name="Collocated From L0" dword="4" bits="15:15" type="bool" />
+ <field name="Log2 Weight Denominator Chroma" dword="4" bits="18:16" type="uint" />
+ <field name="Log2 Weight Denominator Luma" dword="4" bits="21:19" type="uint" />
+ <field name="CABAC Init" dword="4" bits="22:22" type="bool" />
+ <field name="Max Merge Index" dword="4" bits="25:23" type="uint" />
+ <field name="Collocated MV Temporal Buffer Index" dword="4" bits="28:26" type="uint" />
+ <field name="Slice Header Length" dword="5" bits="15:0" type="uint" />
+ <field name="Round Intra" dword="6" bits="23:20" type="uint">
+ <value name="+1/32" value="0" />
+ <value name="+2/32" value="1" />
+ <value name="+3/32" value="2" />
+ <value name="+4/32" value="3" />
+ <value name="+5/32" value="4" />
+ <value name="+6/32" value="5" />
+ <value name="+7/32" value="6" />
+ <value name="+8/32" value="7" />
+ <value name="+9/32" value="8" />
+ <value name="+10/32" value="9" />
+ <value name="+11/32" value="10" />
+ <value name="+12/32" value="11" />
+ <value name="+13/32" value="12" />
+ <value name="+14/32" value="13" />
+ <value name="+15/32" value="14" />
+ <value name="+16/32" value="15" />
+ </field>
+ <field name="Round Inter" dword="6" bits="29:26" type="uint">
+ <value name="+1/32" value="0" />
+ <value name="+2/32" value="1" />
+ <value name="+3/32" value="2" />
+ <value name="+4/32" value="3" />
+ <value name="+5/32" value="4" />
+ <value name="+6/32" value="5" />
+ <value name="+7/32" value="6" />
+ <value name="+8/32" value="7" />
+ <value name="+9/32" value="8" />
+ <value name="+10/32" value="9" />
+ <value name="+11/32" value="10" />
+ <value name="+12/32" value="11" />
+ <value name="+13/32" value="12" />
+ <value name="+14/32" value="13" />
+ <value name="+15/32" value="14" />
+ <value name="+16/32" value="15" />
+ </field>
+ <field name="CABAC Zero Word Insertion Enable" dword="7" bits="1:1" type="bool" />
+ <field name="Emulation Byte Slice Insert Enable" dword="7" bits="2:2" type="bool" />
+ <field name="Tail Insertion Present" dword="7" bits="8:8" type="bool" />
+ <field name="Slice Data Insertion Present" dword="7" bits="9:9" type="bool" />
+ <field name="Header Insertion Present" dword="7" bits="10:10" type="bool" />
+ <field name="Indirect PAK-BSE Data Start Offset" dword="8" bits="28:6" type="offset" />
+ <field name="Transform Skip Lambda" dword="9" bits="15:0" type="uint" />
+ <field name="Force SAO Parameters To Zero" dword="9" bits="31:31" type="bool" />
+ <field name="Transform Skip Number of Zero Coeffs Factor0" dword="10" bits="7:0" type="uint" />
+ <field name="Transform Skip Number of Non-Zero Coeffs Factor0" dword="10" bits="15:8" type="uint" />
+ <field name="Transform Skip Number of Zero Coeffs Factor1" dword="10" bits="23:16" type="uint" />
+ <field name="Transform Skip Number of Non-Zero Coeffs Factor1" dword="10" bits="31:24" type="uint" />
+ <field name="Original Slice Start Ctb X" dword="11" bits="9:0" type="uint" />
+ <field name="Original Slice Start Ctb Y" dword="11" bits="25:16" type="uint" />
+ <field name="Slice Act Cr QP offset" dword="12" bits="5:0" type="uint" />
+ <field name="Slice Act Cb QP offset" dword="12" bits="11:6" type="uint" />
+ <field name="Slice Act Y QP offset" dword="12" bits="17:12" type="uint" />
+ <field name="Use Integer MV flag" dword="12" bits="31:31" type="uint" />
+ </instruction>
+ <instruction name="HCP_SURFACE_STATE" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Surface ID" dword="1" bits="31:28" type="uint" prefix="HCP">
+ <value name="Current Decoded Picture" value="0" />
+ <value name="Source Input Picture" value="1" />
+ <value name="Prev Reference Picture" value="2" />
+ <value name="Golden Reference Picture" value="3" />
+ <value name="AltRef Reference Picture" value="4" />
+ <value name="Reference Picture" value="5" />
+ </field>
+ <field name="Y Offset for U(Cb)" dword="2" bits="14:0" type="uint" />
+ <field name="Surface Format" dword="2" bits="31:27" type="uint">
+ <value name="YUY2" value="0" />
+ <value name="RGB_8" value="1" />
+ <value name="AYUV4444" value="2" />
+ <value name="P010Variant" value="3" />
+ <value name="PLANAR_420_8" value="4" />
+ <value name="YCRCB_SwapY" value="5" />
+ <value name="YCRCB_SwapUV" value="6" />
+ <value name="YCRCB_SwapUVY" value="7" />
+ <value name="Y216/Y210" value="8" />
+ <value name="RGB_10" value="9" />
+ <value name="Y410" value="10" />
+ <value name="NV21 Planar_420_8" value="11" />
+ <value name="Y416" value="12" />
+ <value name="P010" value="13" />
+ <value name="P016" value="14" />
+ <value name="Y216Variant" value="17" />
+ <value name="Y416Variant" value="18" />
+ <value name="YUY2Variant" value="19" />
+ <value name="AYUV4444Variant" value="20" />
+ </field>
+ <field name="Default Alpha Value" dword="3" bits="15:0" type="uint" />
+ <field name="Y Offset for V(Cr)" dword="3" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="MI_ARB_CHECK" bias="1" length="1">
+ <field name="Pre-Parser Disable" dword="0" bits="0:0" type="bool" />
+ <field name="Pre-Parser Disable Mask" dword="0" bits="8:8" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="5" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_FORCE_WAKEUP" bias="2" length="2">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="29" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Force Media-Slice0 Awake" dword="1" bits="0:0" type="uint" />
+ <field name="Force Render Awake" dword="1" bits="1:1" type="uint" />
+ <field name="Force Media-Slice1 Awake" dword="1" bits="2:2" type="uint" />
+ <field name="Force Media-Slice2 Awake" dword="1" bits="3:3" type="uint" />
+ <field name="Force Media-Slice3 Awake" dword="1" bits="4:4" type="uint" />
+ <field name="HEVC Power Well Control" dword="1" bits="8:8" type="bool" />
+ <field name="MFX Power Well Control" dword="1" bits="9:9" type="bool" />
+ <field name="Mask Bits" dword="1" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="MI_SET_APPID" bias="1" length="1">
+ <field name="Protected Memory Application ID" dword="0" bits="6:0" type="uint" />
+ <field name="Protected Memory Application ID Type" dword="0" bits="7:7" type="uint">
+ <value name="DISPLAY_APP" value="0" />
+ <value name="TRANSCODE_APP" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="14" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_STORE_DATA_IMM" bias="2" length="4">
+ <field name="DWord Length" dword="0" bits="9:0" type="uint" default="2" />
+ <field name="Force Write Completion Check " dword="0" bits="10:10" type="bool" />
+ <field name="Store Qword" dword="0" bits="21:21" type="uint" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="32" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Core Mode Enable" dword="1" bits="0:0" type="uint" />
+ <field name="Address" dword="1" bits="47:2" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="HDC Pipeline Flush Enable" dword="0" bits="9:9" type="bool" />
+ <field name="L3 Read Only Cache Invalidation Enable" dword="0" bits="10:10" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Cache Flush Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Stall At Pixel Scoreboard" dword="1" bits="1:1" type="bool" />
+ <field name="State Cache Invalidation Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Constant Cache Invalidation Enable" dword="1" bits="3:3" type="bool" />
+ <field name="VF Cache Invalidation Enable" dword="1" bits="4:4" type="bool" />
+ <field name="DC Flush Enable" dword="1" bits="5:5" type="bool" />
+ <field name="Pipe Control Flush Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Notify Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Indirect State Pointers Disable" dword="1" bits="9:9" type="bool" />
+ <field name="Texture Cache Invalidation Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Instruction Cache Invalidate Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Render Target Cache Flush Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Depth Stall Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Post Sync Operation" dword="1" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write PS Depth Count" value="2" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="Generic Media State Clear" dword="1" bits="16:16" type="bool" />
+ <field name="PSD Sync Enable" dword="1" bits="17:17" type="bool" />
+ <field name="TLB Invalidate" dword="1" bits="18:18" type="bool" />
+ <field name="Global Snapshot Count Reset" dword="1" bits="19:19" type="bool" />
+ <field name="Command Streamer Stall Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Store Data Index" dword="1" bits="21:21" type="uint" />
+ <field name="Protected Memory Enable" dword="1" bits="22:22" type="bool" />
+ <field name="LRI Post Sync Operation" dword="1" bits="23:23" type="uint">
+ <value name="No LRI Operation" value="0" />
+ <value name="MMIO Write Immediate Data" value="1" />
+ </field>
+ <field name="Destination Address Type" dword="1" bits="24:24" type="uint" prefix="DAT">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Flush LLC" dword="1" bits="26:26" type="bool" />
+ <field name="Protected Memory Disable" dword="1" bits="27:27" type="bool" />
+ <field name="Tile Cache Flush Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Command Cache Invalidate Enable" dword="1" bits="29:29" type="bool" />
+ <field name="L3 Fabric Flush" dword="1" bits="30:30" type="bool" />
+ <field name="Address" dword="2" bits="47:2" type="address" />
+ <field name="Immediate Data" dword="4" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="VDENC_CMD1" bias="2" length="31" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="29" />
+ <field name="SubOpcodeB" dword="0" bits="20:16" type="uint" default="10" />
+ <field name="SubOpcodeA" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command OpCode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="30" dword="1" size="32">
+ <field name="Values" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="VDENC_CMD2" bias="2" length="51" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="49" />
+ <field name="SubOpcodeB" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcodeA" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command OpCode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Width In Pixels Minus One" dword="1" bits="15:0" type="uint" />
+ <field name="Values1" dword="1" bits="31:0" type="uint" />
+ <field name="Frame Height In Pixels Minus One" dword="1" bits="31:16" type="uint" />
+ <field name="Values2" dword="2" bits="31:0" type="uint" />
+ <field name="Picture Type" dword="2" bits="21:20" type="uint" />
+ <field name="Temporal MVP Enable Flag" dword="2" bits="22:22" type="bool" />
+ <field name="Long Term Reference Flags L0" dword="2" bits="26:24" type="uint" />
+ <field name="Long Term Reference Flags L1" dword="2" bits="27:27" type="uint" />
+ <field name="Transform Skip" dword="2" bits="30:30" type="bool" />
+ <field name="POC Number For Refid0 In L0" dword="3" bits="7:0" type="int" />
+ <field name="Values3" dword="3" bits="31:0" type="uint" />
+ <field name="POC Number For Refid0 In L1" dword="3" bits="15:8" type="int" />
+ <field name="POC Number For Refid1 In L0" dword="3" bits="23:16" type="int" />
+ <field name="POC Number For Refid1 In L1" dword="3" bits="31:24" type="int" />
+ <field name="POC Number For Refid2 In L0" dword="4" bits="7:0" type="int" />
+ <field name="Values4" dword="4" bits="31:0" type="uint" />
+ <field name="POC Number For Refid2 In L1" dword="4" bits="15:8" type="int" />
+ <field name="Values5" dword="5" bits="31:0" type="uint" />
+ <field name="Stream In ROI Enable" dword="5" bits="8:8" type="bool" />
+ <field name="Sub Pel Mode" dword="5" bits="11:10" type="uint" />
+ <field name="Num Ref Idx L0 Minus One" dword="5" bits="27:24" type="uint" />
+ <field name="Num Ref Idx L1 Minus One" dword="5" bits="31:28" type="uint" />
+ <field name="Values6" dword="6" bits="31:0" type="uint" />
+ <field name="Values7" dword="7" bits="31:0" type="uint" />
+ <field name="Segmentation Enable" dword="7" bits="4:4" type="bool" />
+ <field name="Segmentation Map Temporal Prediction Enable" dword="7" bits="5:5" type="bool" />
+ <field name="Tiling Enable" dword="7" bits="7:7" type="bool" />
+ <field name="VDEnc Stream In Enable" dword="7" bits="9:9" type="bool" />
+ <field name="PAK Only Multi Pass Enable" dword="7" bits="16:16" type="bool" />
+ <field name="Values8" dword="8" bits="31:0" type="uint" />
+ <field name="Values9" dword="9" bits="31:0" type="uint" />
+ <field name="Values10" dword="10" bits="31:0" type="uint" />
+ <field name="Values11" dword="11" bits="31:0" type="uint" />
+ <field name="Values12" dword="12" bits="31:0" type="uint" />
+ <field name="Values13" dword="13" bits="31:0" type="uint" />
+ <field name="Roi QP Adjustment For Zone1 Stage3" dword="13" bits="7:4" type="uint" />
+ <field name="Roi QP Adjustment For Zone2 Stage3" dword="13" bits="11:8" type="uint" />
+ <field name="Roi QP Adjustment For Zone3 Stage3" dword="13" bits="15:12" type="uint" />
+ <field name="Values14" dword="14" bits="31:0" type="uint" />
+ <field name="Values15" dword="15" bits="31:0" type="uint" />
+ <field name="Min Qp" dword="16" bits="7:0" type="uint" />
+ <field name="Values16" dword="16" bits="31:0" type="uint" />
+ <field name="Max Qp" dword="16" bits="15:8" type="uint" />
+ <field name="Values17" dword="17" bits="31:0" type="uint" />
+ <field name="Temporal MV Enable For Integer Search" dword="17" bits="20:20" type="bool" />
+ <field name="Values18" dword="18" bits="31:0" type="uint" />
+ <field name="Values19" dword="19" bits="31:0" type="uint" />
+ <field name="Values20" dword="20" bits="31:0" type="uint" />
+ <field name="Intra Refresh Pos" dword="21" bits="8:0" type="uint" />
+ <field name="Values21" dword="21" bits="31:0" type="uint" />
+ <field name="Intra Refresh MB Size Minus One" dword="21" bits="23:16" type="uint" />
+ <field name="Intra Refresh Mode" dword="21" bits="24:24" type="uint" />
+ <field name="QP Adjustment For Rolling I" dword="21" bits="31:28" type="uint" />
+ <field name="Values22" dword="22" bits="31:0" type="uint" />
+ <field name="Values23" dword="23" bits="31:0" type="uint" />
+ <field name="QP For Seg0" dword="24" bits="7:0" type="uint" />
+ <field name="Values24" dword="24" bits="31:0" type="uint" />
+ <field name="QP For Seg1" dword="24" bits="15:8" type="uint" />
+ <field name="QP For Seg2" dword="24" bits="23:16" type="uint" />
+ <field name="QP For Seg3" dword="24" bits="31:24" type="uint" />
+ <field name="QP For Seg4" dword="25" bits="7:0" type="uint" />
+ <field name="Values25" dword="25" bits="31:0" type="uint" />
+ <field name="QP For Seg5" dword="25" bits="15:8" type="uint" />
+ <field name="QP For Seg6" dword="25" bits="23:16" type="uint" />
+ <field name="QP For Seg7" dword="25" bits="31:24" type="uint" />
+ <field name="Rd Qp Lambda" dword="26" bits="15:0" type="uint" />
+ <field name="Values26" dword="26" bits="31:0" type="uint" />
+ <field name="Sad Qp Lambda" dword="26" bits="24:16" type="uint" />
+ <field name="VP9 Dynamic Slice Enable" dword="26" bits="25:25" type="bool" />
+ <field name="Qp Prime YDc" dword="27" bits="7:0" type="uint" />
+ <field name="Values27" dword="27" bits="31:0" type="uint" />
+ <field name="Qp Prime YAc" dword="27" bits="15:8" type="uint" />
+ <field name="Values28" dword="28" bits="31:0" type="uint" />
+ <field name="Values29" dword="29" bits="31:0" type="uint" />
+ <field name="Values30" dword="30" bits="31:0" type="uint" />
+ <field name="Values31" dword="31" bits="31:0" type="uint" />
+ <field name="Values32" dword="32" bits="31:0" type="uint" />
+ <field name="Values33" dword="33" bits="31:0" type="uint" />
+ <field name="Values34" dword="34" bits="31:0" type="uint" />
+ <field name="Values35" dword="35" bits="31:0" type="uint" />
+ <field name="Intra Refresh Boundary Ref0" dword="36" bits="8:0" type="uint" />
+ <field name="Intra Refresh Boundary Ref1" dword="36" bits="18:10" type="uint" />
+ <field name="Intra Refresh Boundary Ref2" dword="36" bits="28:20" type="uint" />
+ <field name="Tile Replay Enable" dword="37" bits="27:27" type="bool" />
+ <field name="Values39" dword="38" bits="31:0" type="uint" />
+ <field name="Values40" dword="39" bits="31:0" type="uint" />
+ <field name="Values41" dword="40" bits="31:0" type="uint" />
+ <field name="Values42" dword="41" bits="31:0" type="uint" />
+ <field name="Values43" dword="42" bits="31:0" type="uint" />
+ <field name="Values44" dword="43" bits="31:0" type="uint" />
+ <field name="Values45" dword="44" bits="31:0" type="uint" />
+ <field name="Values46" dword="45" bits="31:0" type="uint" />
+ <field name="Values47" dword="46" bits="31:0" type="uint" />
+ <field name="Values48" dword="47" bits="31:0" type="uint" />
+ <field name="Values49" dword="48" bits="31:0" type="uint" />
+ <field name="Values50" dword="49" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="VDENC_CONTROL_STATE" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="11" />
+ <field name="Media Command OpCode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Vdenc Initialization" dword="1" bits="1:1" type="bool" />
+ </instruction>
+ <instruction name="VDENC_PIPE_BUF_ADDR_STATE" bias="2" length="71" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="69" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="4" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="DS FWD REF0" dword="1" bits="95:0" type="VDENC_PICTURE" />
+ <field name="DS FWD REF1" dword="4" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Original Uncompressed Picture" dword="10" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Stream-In Data Picture" dword="13" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Row Store Scratch Buffer" dword="16" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Colocated MV Read Buffer" dword="19" bits="95:0" type="VDENC_PICTURE" />
+ <field name="FWD REF0" dword="22" bits="95:0" type="VDENC_PICTURE" />
+ <field name="FWD REF1" dword="25" bits="95:0" type="VDENC_PICTURE" />
+ <field name="FWD REF2" dword="28" bits="95:0" type="VDENC_PICTURE" />
+ <field name="BWD REF0" dword="31" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VDEnc Statistics Stream-Out" dword="34" bits="95:0" type="VDENC_PICTURE" />
+ <field name="DS FWD REF0 4X" dword="37" bits="95:0" type="VDENC_PICTURE" />
+ <field name="DS FWD REF1 4X" dword="40" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VDEnc CU Record Stream-Out Buffer" dword="46" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VDEnc LCU PAK_OBJ_CMD Buffer" dword="49" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Scaled Reference Surface 8X" dword="52" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Scaled Reference Surface 4X" dword="55" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VP9 Segmentation Map Stream-In Buffer" dword="58" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VP9 Segmentation Map Stream-Out Buffer" dword="61" bits="31:0" type="VDENC_PICTURE" />
+ <field name="Weights Histogram Stream-Out Offset" dword="62" bits="95:0" type="uint" />
+ <field name="VDEnc Tile Row Store Buffer" dword="65" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VDEnc Cumulative CU Count Stream-Out Surface" dword="68" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VDEnc Palette Mode Stream-Out Surface" dword="71" bits="95:0" type="VDENC_PICTURE" />
+ </instruction>
+ <instruction name="VDENC_PIPE_MODE_SELECT" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Standard Select" dword="1" bits="3:0" type="uint" prefix="SS">
+ <value name="HEVC" value="0" />
+ <value name="VP9" value="1" />
+ <value name="AVC" value="2" />
+ </field>
+ <field name="Scalability Mode" dword="1" bits="4:4" type="bool" />
+ <field name="Frame Statistics Stream-Out Enable" dword="1" bits="5:5" type="bool" />
+ <field name="VDEnc PAK_OBJ_CMD Stream-Out Enable" dword="1" bits="6:6" type="bool" />
+ <field name="TLB Prefetch Enable" dword="1" bits="7:7" type="bool" />
+ <field name="PAK Threshold Check Enable" dword="1" bits="8:8" type="bool" />
+ <field name="VDEnc Stream-In Enable" dword="1" bits="9:9" type="bool" />
+ <field name="DownScaled 8x Write Disable" dword="1" bits="10:10" type="bool" />
+ <field name="DownScaled 4x Write Disable" dword="1" bits="11:11" type="bool" />
+ <field name="Bit Depth" dword="1" bits="14:12" type="uint">
+ <value name="8-bit" value="0" />
+ <value name="10-bit" value="2" />
+ </field>
+ <field name="PAK Chroma Sub-Sampling Type" dword="1" bits="16:15" type="uint">
+ <value name="4:2:0" value="1" />
+ <value name="4:4:4" value="3" />
+ </field>
+ <field name="Output Range Control After Color Space Conversion" dword="1" bits="17:17" type="bool" />
+ <field name="Is Random Access" dword="1" bits="18:18" type="bool" />
+ <field name="RGB Encoding Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Primary Channel Selection For RGB Encoding" dword="1" bits="22:21" type="uint" default="1" />
+ <field name="First Secondary Channel Selection For RGB Encoding" dword="1" bits="24:23" type="uint" default="2" />
+ <field name="Tile Replay Enable" dword="1" bits="25:25" type="bool" />
+ <field name="Streaming Buffer Config" dword="1" bits="27:26" type="uint" />
+ <field name="Disable Speed Mode Fetch Optimization" dword="1" bits="31:31" type="bool" />
+ <field name="HME Region Prefetch Enable" dword="2" bits="0:0" type="bool" default="1" />
+ <field name="Top Prefetch Enable Mode" dword="2" bits="2:1" type="uint" default="1" />
+ <field name="Left Prefetch At Wrap Around" dword="2" bits="3:3" type="bool" default="1" />
+ <field name="VerticalShift32Minus1" dword="2" bits="7:4" type="uint" />
+ <field name="HzShift32Minus1" dword="2" bits="11:8" type="uint" default="3" />
+ <field name="Number of Vertical Requests" dword="2" bits="19:16" type="uint" default="11" />
+ <field name="Number of Horizontal Requests" dword="2" bits="23:20" type="uint" default="2" />
+ <field name="Prefetch Offset for Reference" dword="2" bits="27:24" type="uint" />
+ <field name="Source Luma/Packed Data TLB Prefetch Enable" dword="3" bits="0:0" type="bool" default="1" />
+ <field name="Source Chroma TLB Prefetch Enable" dword="3" bits="1:1" type="bool" default="1" />
+ <field name="VerticalShift32Minus1Src" dword="3" bits="7:4" type="uint" />
+ <field name="HzShift32Minus1Src" dword="3" bits="11:8" type="uint" default="3" />
+ <field name="Number of Vertical Requests for Source" dword="3" bits="19:16" type="uint" />
+ <field name="Number of Horizontal Request for Source" dword="3" bits="23:20" type="uint" />
+ <field name="Prefetch Offset for Source" dword="3" bits="27:24" type="uint" default="4" />
+ </instruction>
+ <instruction name="VDENC_WALKER_STATE" bias="2" length="27" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="25" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="7" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MB/LCU Start Y Position" dword="1" bits="8:0" type="uint" />
+ <field name="MB/LCU Start X Position" dword="1" bits="24:16" type="uint" />
+ <field name="First Super Slice" dword="1" bits="28:28" type="bool" />
+ <field name="Next Slice MB Start Y Position" dword="2" bits="9:0" type="uint" />
+ <field name="Next Slice MB/LCU Start X Position" dword="2" bits="25:16" type="uint" />
+ <field name="Log2 Weight Denominator Luma" dword="3" bits="2:0" type="uint" />
+ <field name="HEVC/VP9 Log2 Weight Denominator Luma" dword="3" bits="6:4" type="uint" />
+ <field name="Number of Parallel Engines" dword="3" bits="10:9" type="uint" />
+ <field name="Tile Number" dword="3" bits="31:24" type="uint" />
+ <field name="Tile Start CTB-Y" dword="4" bits="15:0" type="uint" />
+ <field name="Tile Start CTB-X" dword="4" bits="31:16" type="uint" />
+ <field name="Tile Width" dword="5" bits="15:0" type="uint" />
+ <field name="Tile Height" dword="5" bits="31:16" type="uint" />
+ <field name="Tile Stream-In Offset Enable" dword="6" bits="0:0" type="bool" />
+ <field name="Tile Stream-In Offset" dword="6" bits="31:6" type="uint" />
+ <field name="Tile Row Store Offset Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Tile Row Store Offset" dword="7" bits="31:6" type="uint" />
+ <field name="Tile Stream-Out Offset Enable" dword="8" bits="0:0" type="bool" />
+ <field name="Tile Stream-Out Offset" dword="8" bits="31:6" type="uint" />
+ <field name="Tile LCU Stream-Out Offset Enable" dword="9" bits="0:0" type="bool" />
+ <field name="Tile LCU Stream-Out Offset" dword="9" bits="31:6" type="uint" />
+ <field name="Palette Mode Enable" dword="12" bits="26:26" type="bool" />
+ <field name="IBC Control" dword="12" bits="28:27" type="uint" />
+ <field name="Adaptive Channel Threshold" dword="16" bits="27:24" type="uint" />
+ </instruction>
+ <instruction name="VD_CONTROL_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="10" />
+ <field name="Media Command OpCode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pipeline Initialization" dword="1" bits="0:0" type="bool" />
+ <field name="Scalable Mode Pipe Lock" dword="2" bits="0:0" type="bool" />
+ <field name="Scalable Mode Pipe Unlock" dword="2" bits="1:1" type="bool" />
+ <field name="Memory Implicit Flush" dword="2" bits="2:2" type="bool" />
+ </instruction>
+ <instruction name="VD_PIPELINE_FLUSH" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="15" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="HEVC Pipeline Done" dword="1" bits="0:0" type="bool" />
+ <field name="VD-ENC Pipeline Done" dword="1" bits="1:1" type="bool" />
+ <field name="MFX Pipeline Done" dword="1" bits="3:3" type="bool" />
+ <field name="VD Command/Message Parser Done" dword="1" bits="4:4" type="bool" />
+ <field name="AVP Pipeline Done" dword="1" bits="5:5" type="bool" />
+ <field name="HEVC Pipeline Command Flush" dword="1" bits="16:16" type="bool" />
+ <field name="VD-ENC Pipeline Command Flush" dword="1" bits="17:17" type="bool" />
+ <field name="MFX Pipeline Command Flush" dword="1" bits="19:19" type="bool" />
+ <field name="AVP Pipeline Command Flush" dword="1" bits="20:20" type="bool" />
+ </instruction>
+ <instruction name="XY_BLOCK_COPY_BLT" bias="2" length="12" engine="blitter">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="10" />
+ <field name="Color Depth" dword="0" bits="21:19" type="uint" prefix="XY_BPP">
+ <value name="8_BIT" value="0" />
+ <value name="16_BIT" value="1" />
+ <value name="32_BIT" value="2" />
+ <value name="64_BIT" value="3" />
+ <value name="96_BIT" value="4" />
+ <value name="128_BIT" value="5" />
+ </field>
+ <field name="Opcode" dword="0" bits="28:22" type="uint" default="0x41" />
+ <field name="Client" dword="0" bits="31:29" type="uint" default="2" />
+ <field name="Destination Pitch" dword="1" bits="17:0" type="uint" />
+ <field name="Destination MOCS" dword="1" bits="27:21" type="uint" nonzero="true" />
+ <field name="Destination Tiling" dword="1" bits="31:30" type="int" prefix="XY_TILE">
+ <value name="LINEAR" value="0" />
+ <value name="Y" value="1" />
+ </field>
+ <field name="Destination X1" dword="2" bits="15:0" type="int" />
+ <field name="Destination Y1" dword="2" bits="31:16" type="int" />
+ <field name="Destination X2" dword="3" bits="15:0" type="int" />
+ <field name="Destination Y2" dword="3" bits="31:16" type="int" />
+ <field name="Destination Base Address" dword="4" bits="63:0" type="address" />
+ <field name="Destination X Offset" dword="6" bits="13:0" type="uint" />
+ <field name="Destination Y Offset" dword="6" bits="29:16" type="uint" />
+ <field name="Source X1" dword="7" bits="15:0" type="int" />
+ <field name="Source Y1" dword="7" bits="31:16" type="int" />
+ <field name="Source Pitch" dword="8" bits="17:0" type="uint" />
+ <field name="Source MOCS" dword="8" bits="27:21" type="uint" nonzero="true" />
+ <field name="Source Tiling" dword="8" bits="31:30" type="uint" prefix="XY_TILE">
+ <value name="LINEAR" value="0" />
+ <value name="Y" value="1" />
+ </field>
+ <field name="Source Base Address" dword="9" bits="63:0" type="address" />
+ <field name="Source X Offset" dword="11" bits="13:0" type="uint" />
+ <field name="Source Y Offset" dword="11" bits="29:16" type="uint" />
+ </instruction>
+ <instruction name="XY_FAST_COLOR_BLT" bias="2" length="11" engine="blitter">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="Color Depth" dword="0" bits="21:19" type="uint" prefix="XY_BPP">
+ <value name="8_BIT" value="0" />
+ <value name="16_BIT" value="1" />
+ <value name="32_BIT" value="2" />
+ <value name="64_BIT" value="3" />
+ <value name="96_BIT" value="4" />
+ <value name="128_BIT" value="5" />
+ </field>
+ <field name="Opcode" dword="0" bits="28:22" type="uint" default="0x44" />
+ <field name="Client" dword="0" bits="31:29" type="uint" default="2" />
+ <field name="Destination Pitch" dword="1" bits="17:0" type="uint" />
+ <field name="Destination MOCS" dword="1" bits="27:21" type="uint" />
+ <field name="Destination Tiling" dword="1" bits="31:30" type="int" prefix="XY_TILE">
+ <value name="LINEAR" value="0" />
+ <value name="Y" value="1" />
+ </field>
+ <field name="Destination X1" dword="2" bits="15:0" type="int" />
+ <field name="Destination Y1" dword="2" bits="31:16" type="int" />
+ <field name="Destination X2" dword="3" bits="15:0" type="int" />
+ <field name="Destination Y2" dword="3" bits="31:16" type="int" />
+ <field name="Destination Base Address" dword="4" bits="63:0" type="address" />
+ <field name="Destination X Offset" dword="6" bits="13:0" type="uint" />
+ <field name="Destination Y Offset" dword="6" bits="29:16" type="uint" />
+ <group count="4" dword="7" size="32">
+ <field name="Fill Color" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <register name="BLT_TRTT_CR" length="1" num="0x4480">
+ <field name="TR-TT Enable" dword="0" bits="0:0" type="bool" />
+ </register>
+ <register name="BLT_TRTT_INVAL" length="1" num="0x4494">
+ <field name="Invalid Tile Detection Value" dword="0" bits="31:0" type="uint" />
+ </register>
+ <register name="BLT_TRTT_L3_BASE_HIGH" length="1" num="0x448C">
+ <field name="TR-VA L3 Pointer Upper Address" dword="0" bits="15:0" type="uint" />
+ </register>
+ <register name="BLT_TRTT_L3_BASE_LOW" length="1" num="0x4488">
+ <field name="TR-VA L3 Pointer Lower Address" dword="0" bits="31:12" type="uint" />
+ </register>
+ <register name="BLT_TRTT_NULL" length="1" num="0x4490">
+ <field name="Null Tile Detection Value" dword="0" bits="31:0" type="uint" />
+ </register>
+ <register name="BLT_TRTT_VA_RANGE" length="1" num="0x4484">
+ <field name="TR-VA Data Value" dword="0" bits="3:0" type="uint" />
+ <field name="TR-VA Mask Value" dword="0" bits="7:4" type="uint" />
+ </register>
+ <register name="COMMON_SLICE_CHICKEN1" length="1" num="0x7010">
+ <field name="HIZ Plane Optimization disable bit" dword="0" bits="9:9" type="bool" />
+ <field name="RCC RHWO Optimization Disable" dword="0" bits="14:14" type="bool" />
+ <field name="HIZ Plane Optimization disable bit Mask" dword="0" bits="25:25" type="bool" />
+ <field name="RCC RHWO Optimization Disable Mask" dword="0" bits="30:30" type="bool" />
+ </register>
+ <register name="COMPCS0_AUX_TABLE_BASE_ADDR" length="2" num="0x42C0">
+ <field name="Address" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="COMPCS0_CCS_AUX_INV" length="1" num="0x42C8">
+ <field name="Aux Inv" dword="0" bits="0:0" type="bool" />
+ </register>
+ <register name="COMP_CTX0_TRTT_CR" length="1" num="0x4580">
+ <field name="TR-TT Enable" dword="0" bits="0:0" type="bool" />
+ </register>
+ <register name="COMP_CTX0_TRTT_INVAL" length="1" num="0x4594">
+ <field name="Invalid Tile Detection Value" dword="0" bits="31:0" type="uint" />
+ </register>
+ <register name="COMP_CTX0_TRTT_L3_BASE_HIGH" length="1" num="0x458C">
+ <field name="TR-VA L3 Pointer Upper Address" dword="0" bits="15:0" type="uint" />
+ </register>
+ <register name="COMP_CTX0_TRTT_L3_BASE_LOW" length="1" num="0x4588">
+ <field name="TR-VA L3 Pointer Lower Address" dword="0" bits="31:12" type="uint" />
+ </register>
+ <register name="COMP_CTX0_TRTT_NULL" length="1" num="0x4590">
+ <field name="Null Tile Detection Value" dword="0" bits="31:0" type="uint" />
+ </register>
+ <register name="COMP_CTX0_TRTT_VA_RANGE" length="1" num="0x4584">
+ <field name="TR-VA Data Value" dword="0" bits="3:0" type="uint" />
+ <field name="TR-VA Mask Value" dword="0" bits="7:4" type="uint" />
+ </register>
+ <register name="CS_CHICKEN1" length="1" num="0x2580">
+ <field name="Replay Mode" dword="0" bits="0:0" type="uint">
+ <value name="Mid-cmdbuffer Preemption" value="0" />
+ <value name="Object Level Preemption" value="1" />
+ </field>
+ <field name="Media And GPGPU Pre-emption Control" dword="0" bits="2:1" type="uint">
+ <value name="Mid-thread Pre-emption" value="0" />
+ <value name="Thread Group Pre-emption" value="1" />
+ <value name="Command Level Pre-emption" value="2" />
+ </field>
+ <field name="Disable Preemption and High Priority Pausing due to 3DPRIMITIVE Command" dword="0" bits="10:10" type="bool" />
+ <field name="Replay Mode Mask" dword="0" bits="16:16" type="bool" />
+ <field name="Media And GPGPU Pre-emption Control Mask" dword="0" bits="18:17" type="uint" />
+ <field name="Disable Preemption and High Priority Pausing due to 3DPRIMITIVE Command Mask" dword="0" bits="26:26" type="bool" />
+ </register>
+ <register name="FF_MODE2" length="1" num="0x6604">
+ <field name="VS Timer Value" dword="0" bits="7:0" type="uint" />
+ <field name="HS Timer Value" dword="0" bits="15:8" type="uint" />
+ <field name="TDS Timer Value" dword="0" bits="23:16" type="uint" />
+ <field name="GS Timer Value" dword="0" bits="31:24" type="uint" />
+ </register>
+ <register name="GAM_DONE" length="1" num="0xcf68">
+ <field name="GFX TLB0 Done" dword="0" bits="0:0" type="bool" />
+ <field name="GFX TLB1 Done" dword="0" bits="1:1" type="bool" />
+ <field name="COMP TLB0 Done" dword="0" bits="2:2" type="bool" />
+ <field name="COMP TLB1 Done" dword="0" bits="3:3" type="bool" />
+ <field name="GUC TLB Done" dword="0" bits="4:4" type="bool" />
+ <field name="KCR TLB Done" dword="0" bits="5:5" type="bool" />
+ <field name="OAC TLB Done" dword="0" bits="6:6" type="bool" />
+ <field name="VDBOX0 TLB Done" dword="0" bits="7:7" type="bool" />
+ <field name="VDBOX2 TLB Done" dword="0" bits="8:8" type="bool" />
+ <field name="VEBOX0 TLB Done" dword="0" bits="9:9" type="bool" />
+ <field name="CM INGRESS Done" dword="0" bits="10:10" type="bool" />
+ <field name="Data INGRESS Done" dword="0" bits="11:11" type="bool" />
+ <field name="REQ STRM Done" dword="0" bits="12:12" type="bool" />
+ <field name="S TLB Done" dword="0" bits="13:13" type="bool" />
+ <field name="BLT TLB Done" dword="0" bits="14:14" type="bool" />
+ <field name="TLB Hit ARB COMP Done" dword="0" bits="15:15" type="bool" />
+ <field name="TLB Hit ARB MISC Done" dword="0" bits="16:16" type="bool" />
+ <field name="TLB Hit ARB STG Done" dword="0" bits="17:17" type="bool" />
+ <field name="TLB Hit GFX STG Done" dword="0" bits="18:18" type="bool" />
+ <field name="TLB Miss ARB GFX Done" dword="0" bits="19:19" type="bool" />
+ <field name="TLB Miss ARB COMP Done" dword="0" bits="20:20" type="bool" />
+ <field name="TLB Miss ARB MISC Done" dword="0" bits="21:21" type="bool" />
+ <field name="TLB Miss ARB STG Done" dword="0" bits="22:22" type="bool" />
+ <field name="TR TLB Done" dword="0" bits="23:23" type="bool" />
+ <field name="WKRS Done" dword="0" bits="24:24" type="bool" />
+ <field name="CCS Done" dword="0" bits="25:25" type="bool" />
+ <field name="CTRLCOMM Done" dword="0" bits="26:26" type="bool" />
+ <field name="FLWCTRL Done" dword="0" bits="27:27" type="bool" />
+ <field name="DRTN Done" dword="0" bits="28:28" type="bool" />
+ <field name="VEBOX1 TBL Done" dword="0" bits="29:29" type="bool" />
+ <field name="XBL Done" dword="0" bits="30:30" type="bool" />
+ </register>
+ <register name="GFX_AUX_TABLE_BASE_ADDR" length="2" num="0x4200">
+ <field name="Address" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="GFX_CCS_AUX_INV" length="1" num="0x4208">
+ <field name="Aux Inv" dword="0" bits="0:0" type="bool" />
+ </register>
+ <register name="GFX_TRTT_CR" length="1" num="0x4400">
+ <field name="TR-TT Enable" dword="0" bits="0:0" type="bool" />
+ </register>
+ <register name="GFX_TRTT_INVAL" length="1" num="0x4414">
+ <field name="Invalid Tile Detection Value" dword="0" bits="31:0" type="uint" />
+ </register>
+ <register name="GFX_TRTT_L3_BASE_HIGH" length="1" num="0x440C">
+ <field name="TR-VA L3 Pointer Upper Address" dword="0" bits="15:0" type="uint" />
+ </register>
+ <register name="GFX_TRTT_L3_BASE_LOW" length="1" num="0x4408">
+ <field name="TR-VA L3 Pointer Lower Address" dword="0" bits="31:12" type="uint" />
+ </register>
+ <register name="GFX_TRTT_NULL" length="1" num="0x4410">
+ <field name="Null Tile Detection Value" dword="0" bits="31:0" type="uint" />
+ </register>
+ <register name="GFX_TRTT_VA_RANGE" length="1" num="0x4404">
+ <field name="TR-VA Data Value" dword="0" bits="3:0" type="uint" />
+ <field name="TR-VA Mask Value" dword="0" bits="7:4" type="uint" />
+ </register>
+ <register name="HIZ_CHICKEN" length="1" num="0x7018">
+ <field name="HZ Depth Test LE/GE Optimization Disable" dword="0" bits="13:13" type="bool" />
+ <field name="HZ Depth Test LE/GE Optimization Disable Mask" dword="0" bits="29:29" type="bool" />
+ </register>
+ <register name="L3ALLOC" length="1" num="0xB134">
+ <field name="Allocation Error" dword="0" bits="0:0" type="uint" />
+ <field name="URB Allocation" dword="0" bits="7:1" type="uint" />
+ <field name="L3 Full Way Allocation Enable" dword="0" bits="9:9" type="bool" />
+ <field name="RO Allocation" dword="0" bits="17:11" type="uint" />
+ <field name="DC Allocation" dword="0" bits="24:18" type="uint" />
+ <field name="All Allocation" dword="0" bits="31:25" type="uint" />
+ </register>
+ <register name="ROW_INSTDONE" length="1" num="0xe164">
+ <field name="BC Done" dword="0" bits="0:0" type="bool" />
+ <field name="PSD Done" dword="0" bits="1:1" type="bool" />
+ <field name="TDP Done" dword="0" bits="2:2" type="bool" />
+ <field name="DAPR Done" dword="0" bits="3:3" type="bool" />
+ <field name="CPSS Done" dword="0" bits="4:4" type="bool" />
+ <field name="TDL Done" dword="0" bits="6:6" type="bool" />
+ <field name="EU00 done SS1" dword="0" bits="7:7" type="bool" />
+ <field name="EU01 done SS1" dword="0" bits="8:8" type="bool" />
+ <field name="EU02 done SS1" dword="0" bits="9:9" type="bool" />
+ <field name="EU03 done SS1" dword="0" bits="10:10" type="bool" />
+ <field name="MA0 done SS1" dword="0" bits="11:11" type="bool" />
+ <field name="IC Done" dword="0" bits="12:12" type="bool" />
+ <field name="MA0 Done SS0" dword="0" bits="15:15" type="bool" />
+ <field name="EU00 Done SS0" dword="0" bits="16:16" type="bool" />
+ <field name="EU01 Done SS0" dword="0" bits="17:17" type="bool" />
+ <field name="EU02 Done SS0" dword="0" bits="18:18" type="bool" />
+ <field name="EU03 Done SS0" dword="0" bits="19:19" type="bool" />
+ <field name="EU10 Done SS0" dword="0" bits="21:21" type="bool" />
+ <field name="EU11 Done SS0" dword="0" bits="22:22" type="bool" />
+ <field name="EU12 Done SS0" dword="0" bits="23:23" type="bool" />
+ <field name="EU13 Done SS0" dword="0" bits="24:24" type="bool" />
+ <field name="EU10 Done SS1" dword="0" bits="27:27" type="bool" />
+ <field name="EU11 Done SS1" dword="0" bits="28:28" type="bool" />
+ <field name="EU12 Done SS1" dword="0" bits="29:29" type="bool" />
+ <field name="EU13 Done SS1" dword="0" bits="30:30" type="bool" />
+ </register>
+ <register name="SAMPLER_INSTDONE" length="1" num="0xe160">
+ <field name="IME Done" dword="0" bits="0:0" type="bool" />
+ <field name="PL0 Done" dword="0" bits="1:1" type="bool" />
+ <field name="SO0 Done" dword="0" bits="2:2" type="bool" />
+ <field name="DG0 Done" dword="0" bits="3:3" type="bool" />
+ <field name="FT0 Done" dword="0" bits="4:4" type="bool" />
+ <field name="DM0 Done" dword="0" bits="5:5" type="bool" />
+ <field name="SC Done" dword="0" bits="6:6" type="bool" />
+ <field name="FL0 Done" dword="0" bits="7:7" type="bool" />
+ <field name="ST Done" dword="0" bits="8:8" type="bool" />
+ <field name="SVSM Done" dword="0" bits="9:9" type="bool" />
+ <field name="SI0 Done" dword="0" bits="10:10" type="bool" />
+ <field name="MT0 Done" dword="0" bits="11:11" type="bool" />
+ <field name="AVS Done" dword="0" bits="12:12" type="bool" />
+ <field name="VAFE Done" dword="0" bits="13:13" type="bool" />
+ <field name="CRE Done" dword="0" bits="14:14" type="bool" />
+ <field name="Media Sampler Arb Done" dword="0" bits="15:15" type="bool" />
+ <field name="SVSM ARB2" dword="0" bits="16:16" type="bool" />
+ <field name="SVSM ARB1" dword="0" bits="17:17" type="bool" />
+ <field name="SVSM Adapter" dword="0" bits="18:18" type="bool" />
+ <field name="BDM Done" dword="0" bits="19:19" type="bool" />
+ <field name="SO1 Done" dword="0" bits="22:22" type="bool" />
+ <field name="FL1 Done" dword="0" bits="23:23" type="bool" />
+ <field name="DG1 Done" dword="0" bits="24:24" type="bool" />
+ <field name="PL1 Done" dword="0" bits="25:25" type="bool" />
+ <field name="SI1 Done" dword="0" bits="26:26" type="bool" />
+ <field name="MEDIASAMPLER ARB2" dword="0" bits="27:27" type="bool" />
+ <field name="MEDIASAMPLER ARB1" dword="0" bits="28:28" type="bool" />
+ <field name="MS SUBSLICED FORK" dword="0" bits="29:29" type="bool" />
+ <field name="VMESC Done" dword="0" bits="30:30" type="bool" />
+ <field name="RDE Done" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="SC_INSTDONE" length="1" num="0x7100">
+ <field name="SVL Done" dword="0" bits="0:0" type="bool" />
+ <field name="WMFE Done" dword="0" bits="1:1" type="bool" />
+ <field name="WMBE Done" dword="0" bits="2:2" type="bool" />
+ <field name="HIZ Done" dword="0" bits="3:3" type="bool" />
+ <field name="IZBE Done 0" dword="0" bits="4:4" type="bool" />
+ <field name="IZFE Done" dword="0" bits="5:5" type="bool" />
+ <field name="SBE Done" dword="0" bits="6:6" type="bool" />
+ <field name="RCC Done" dword="0" bits="9:9" type="bool" />
+ <field name="RCPBE Done" dword="0" bits="10:10" type="bool" />
+ <field name="RCPFE Done" dword="0" bits="11:11" type="bool" />
+ <field name="DAPB Done" dword="0" bits="12:12" type="bool" />
+ <field name="DAPRBE Done" dword="0" bits="13:13" type="bool" />
+ <field name="SARB Done" dword="0" bits="15:15" type="bool" />
+ <field name="DC0 Done" dword="0" bits="16:16" type="bool" />
+ <field name="DC1 Done" dword="0" bits="17:17" type="bool" />
+ <field name="DC2 Done" dword="0" bits="18:18" type="bool" />
+ <field name="GW0 Done" dword="0" bits="20:20" type="bool" />
+ <field name="GW1 Done" dword="0" bits="21:21" type="bool" />
+ <field name="GW2 Done" dword="0" bits="22:22" type="bool" />
+ <field name="TDC Done" dword="0" bits="24:24" type="bool" />
+ <field name="SFBE Done" dword="0" bits="25:25" type="bool" />
+ <field name="PSS Done" dword="0" bits="26:26" type="bool" />
+ <field name="AMFS Done" dword="0" bits="27:27" type="bool" />
+ </register>
+ <register name="VD0_AUX_TABLE_BASE_ADDR" length="2" num="0x4210">
+ <field name="Address" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="VD0_CCS_AUX_INV" length="1" num="0x4218">
+ <field name="Aux Inv" dword="0" bits="0:0" type="bool" />
+ </register>
+</genxml>
diff --git a/lib/genxml/gen125.xml b/lib/genxml/gen125.xml
new file mode 100644
index 000000000..2bc5bd3cb
--- /dev/null
+++ b/lib/genxml/gen125.xml
@@ -0,0 +1,2628 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="GFX125" gen="12.5">
+ <import name="gen120.xml">
+ <exclude name="3D_CHICKEN3" />
+ <exclude name="GPGPU_WALKER" />
+ <exclude name="GT_MODE" />
+ <exclude name="MEDIA_CURBE_LOAD" />
+ <exclude name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" />
+ <exclude name="MEDIA_OBJECT" />
+ <exclude name="MEDIA_OBJECT_GRPID" />
+ <exclude name="MEDIA_OBJECT_PRT" />
+ <exclude name="MEDIA_OBJECT_WALKER" />
+ <exclude name="MEDIA_STATE_FLUSH" />
+ <exclude name="MEDIA_VFE_STATE" />
+ </import>
+ <enum name="FRAME_BITRATE_UNITS" prefix="FRAME_BR">
+ <value name="32BYTE_UNITS" value="0" />
+ <value name="4KBYTE_UNITS" value="1" />
+ </enum>
+ <enum name="L1_CACHE_CONTROL" prefix="L1CC">
+ <value name="WBP" value="0" />
+ <value name="UC" value="1" />
+ <value name="WB" value="2" />
+ <value name="WT" value="3" />
+ <value name="WS" value="4" />
+ </enum>
+ <enum name="PREF_SLM_ALLOCATION_SIZE">
+ <value name="SLM_ENCODES_0K" value="8" />
+ <value name="SLM_ENCODES_16K" value="9" />
+ <value name="SLM_ENCODES_32K" value="10" />
+ <value name="SLM_ENCODES_64K" value="11" />
+ <value name="SLM_ENCODES_96K" value="12" />
+ <value name="SLM_ENCODES_128K" value="13" />
+ <value name="SLM_ENCODES_192K" value="14" />
+ <value name="SLM_ENCODES_256K" value="15" />
+ </enum>
+ <enum name="STATE_SURFACE_TYPE">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_BUFFER" value="4" />
+ <value name="SURFTYPE_RES5" value="5" />
+ <value name="SURFTYPE_SCRATCH" value="6" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </enum>
+ <struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="2" bits="18:18" type="bool" />
+ <field name="Denorm Mode" dword="2" bits="19:19" type="uint">
+ <value name="Ftz" value="0" />
+ <value name="SetByKernel" value="1" />
+ </field>
+ <field name="Thread Preemption Disable" dword="2" bits="20:20" type="uint" />
+ <field name="Sampler Count" dword="3" bits="4:2" type="uint">
+ <value name="No samplers used" value="0" />
+ <value name="Between 1 and 4 samplers used" value="1" />
+ <value name="Between 5 and 8 samplers used" value="2" />
+ <value name="Between 9 and 12 samplers used" value="3" />
+ <value name="Between 13 and 16 samplers used" value="4" />
+ </field>
+ <field name="Sampler State Pointer" dword="3" bits="31:5" type="offset" />
+ <field name="Binding Table Entry Count" dword="4" bits="4:0" type="uint" />
+ <field name="Binding Table Pointer" dword="4" bits="20:5" type="offset" />
+ <field name="Number of Threads in GPGPU Thread Group" dword="5" bits="9:0" type="uint" />
+ <field name="Shared Local Memory Size" dword="5" bits="20:16" type="uint">
+ <value name="Encodes 0K" value="0" />
+ <value name="Encodes 1K" value="1" />
+ <value name="Encodes 2K" value="2" />
+ <value name="Encodes 4K" value="3" />
+ <value name="Encodes 8K" value="4" />
+ <value name="Encodes 16K" value="5" />
+ <value name="Encodes 32K" value="6" />
+ <value name="Encodes 64K" value="7" />
+ </field>
+ <field name="Barrier Enable" dword="5" bits="21:21" type="bool" />
+ <field name="Rounding Mode" dword="5" bits="23:22" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Thread Group Dispatch Size" dword="5" bits="27:26" type="uint">
+ <value name="TG size 8" value="0" />
+ <value name="TG size 4" value="1" />
+ <value name="TG size 2" value="2" />
+ <value name="TG size 1" value="3" />
+ </field>
+ <field name="Number Of Barriers" dword="5" bits="30:28" type="uint" prefix="BARRIER_SIZE">
+ <value name="NONE" value="0" />
+ <value name="B1" value="1" />
+ <value name="B2" value="2" />
+ <value name="B4" value="3" />
+ <value name="B8" value="4" />
+ <value name="B16" value="5" />
+ <value name="B24" value="6" />
+ <value name="B32" value="7" />
+ </field>
+ <field name="BTD Mode" dword="5" bits="31:31" type="uint" />
+ <field name="Preferred SLM Allocation Size" dword="6" bits="3:0" type="uint" />
+ </struct>
+ <struct name="POSTSYNC_DATA" length="5">
+ <field name="Operation" dword="0" bits="1:0" type="uint" default="0">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="HDC Pipeline Flush" dword="0" bits="2:2" type="bool" />
+ <field name="L3 flush" dword="0" bits="3:3" type="bool" />
+ <field name="MOCS" dword="0" bits="10:4" type="uint" nonzero="true" />
+ <field name="Destination Address" dword="1" bits="63:0" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </struct>
+ <struct name="COMPUTE_WALKER_BODY" length="38">
+ <field name="Indirect Data Length" dword="1" bits="16:0" type="uint" />
+ <field name="L3 prefetch disable" dword="1" bits="17:17" type="bool" />
+ <field name="Partition Type" dword="1" bits="31:30" type="uint">
+ <value name="PartitionX" value="1" />
+ <value name="PartitionY" value="2" />
+ <value name="PartitionZ" value="3" />
+ </field>
+ <field name="Indirect Data Start Address" dword="2" bits="31:6" type="offset" />
+ <field name="Message SIMD" dword="3" bits="18:17" type="uint">
+ <value name="SIMD8" value="0" />
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="Tile Layout" dword="3" bits="21:19" type="uint">
+ <value name="Linear" value="0" />
+ <value name="TileY 32bpe" value="1" />
+ <value name="TileY 64bpe" value="2" />
+ <value name="TileY 128bpe" value="3" />
+ </field>
+ <field name="Walk Order" dword="3" bits="24:22" type="uint">
+ <value name="Walk 012" value="0" />
+ <value name="Walk 021" value="1" />
+ <value name="Walk 102" value="2" />
+ <value name="Walk 120" value="3" />
+ <value name="Walk 201" value="4" />
+ <value name="Walk 210" value="5" />
+ </field>
+ <field name="Emit Inline Parameter" dword="3" bits="25:25" type="bool" />
+ <field name="Emit Local" dword="3" bits="28:26" type="uint">
+ <value name="Emit None" value="0" />
+ <value name="Emit X" value="1" />
+ <value name="Emit XY" value="3" />
+ <value name="Emit XYZ" value="7" />
+ </field>
+ <field name="Generate Local ID" dword="3" bits="29:29" type="bool" />
+ <field name="SIMD Size" dword="3" bits="31:30" type="uint">
+ <value name="SIMD8" value="0" />
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="Execution Mask" dword="4" bits="31:0" type="uint" />
+ <field name="Local X Maximum" dword="5" bits="9:0" type="uint" />
+ <field name="Local Y Maximum" dword="5" bits="19:10" type="uint" />
+ <field name="Local Z Maximum" dword="5" bits="29:20" type="uint" />
+ <field name="Thread Group ID X Dimension" dword="6" bits="31:0" type="uint" />
+ <field name="Thread Group ID Y Dimension" dword="7" bits="31:0" type="uint" />
+ <field name="Thread Group ID Z Dimension" dword="8" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting X" dword="9" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting Y" dword="10" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting Z" dword="11" bits="31:0" type="uint" />
+ <field name="Partition ID" dword="12" bits="31:0" type="uint" />
+ <field name="Partition Size" dword="13" bits="31:0" type="uint" />
+ <field name="Preempt X" dword="14" bits="31:0" type="uint" />
+ <field name="Preempt Y" dword="15" bits="31:0" type="uint" />
+ <field name="Preempt Z" dword="16" bits="31:0" type="uint" />
+ <field name="Interface Descriptor" dword="17" bits="255:0" type="INTERFACE_DESCRIPTOR_DATA" />
+ <field name="Post Sync" dword="25" bits="159:0" type="POSTSYNC_DATA" />
+ <group count="8" dword="30" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </struct>
+ <struct name="CPS_STATE" length="8">
+ <field name="MinCPSizeX" dword="0" bits="10:0" type="s3.7" />
+ <field name="Statistics Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Coarse Pixel Shading Mode" dword="0" bits="13:12" type="uint">
+ <value name="CPS_MODE_NONE" value="0" />
+ <value name="CPS_MODE_CONSTANT" value="1" />
+ <value name="CPS_MODE_RADIAL" value="2" />
+ </field>
+ <field name="ScaleAxis" dword="0" bits="14:14" type="uint">
+ <value name="X axis" value="0" />
+ <value name="Y axis" value="1" />
+ </field>
+ <field name="MinCPSizeY" dword="0" bits="25:15" type="s3.7" />
+ <field name="Combiner1 Opcode for CPsize" dword="0" bits="28:26" type="uint">
+ <value name="PASSTHROUGH" value="0" />
+ <value name="OVERRIDE" value="1" />
+ <value name="HIGH_QUALITY" value="2" />
+ <value name="LOW_QUALITY" value="3" />
+ <value name="RELATIVE" value="4" />
+ </field>
+ <field name="Combiner0 Opcode for CPsize" dword="0" bits="31:29" type="uint">
+ <value name="PASSTHROUGH" value="0" />
+ <value name="OVERRIDE" value="1" />
+ <value name="HIGH_QUALITY" value="2" />
+ <value name="LOW_QUALITY" value="3" />
+ <value name="RELATIVE" value="4" />
+ </field>
+ <field name="MaxCPSizeX" dword="1" bits="10:0" type="s3.7" />
+ <field name="MaxCPSizeY" dword="1" bits="26:16" type="s3.7" />
+ <field name="Y_Focal" dword="2" bits="15:0" type="int" />
+ <field name="X_Focal" dword="3" bits="15:0" type="int" />
+ <field name="My" dword="4" bits="31:0" type="uint" />
+ <field name="Mx" dword="5" bits="31:0" type="uint" />
+ <field name="Rmin" dword="6" bits="31:0" type="uint" />
+ <field name="Aspect" dword="7" bits="31:0" type="uint" />
+ </struct>
+ <struct name="MEMORYADDRESSATTRIBUTES" length="1">
+ <field name="MOCS" dword="0" bits="6:0" type="uint" nonzero="true" />
+ <field name="Arbitration Priority Control" dword="0" bits="8:7" type="HEVC_ARBITRATION_PRIORITY" />
+ <field name="Memory Compression Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Memory Compression Mode" dword="0" bits="10:10" type="uint" />
+ <field name="Row Store Scratch Buffer Cache Select" dword="0" bits="12:12" type="uint">
+ <value name="LLC" value="0" />
+ <value name="Internal Media Storage" value="1" />
+ </field>
+ <field name="Tiled Resource Mode" dword="0" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILES" value="1" />
+ <value name="TRMODE_TILEX" value="2" />
+ <value name="TRMODE_TILEF" value="3" />
+ </field>
+ </struct>
+ <struct name="MI_MATH_ALU_INSTRUCTION" length="1">
+ <field name="Operand 2" dword="0" bits="9:0" type="uint" prefix="MI_ALU">
+ <value name="REG0" value="0x00" />
+ <value name="REG1" value="0x01" />
+ <value name="REG2" value="0x02" />
+ <value name="REG3" value="0x03" />
+ <value name="REG4" value="0x04" />
+ <value name="REG5" value="0x05" />
+ <value name="REG6" value="0x06" />
+ <value name="REG7" value="0x07" />
+ <value name="REG8" value="0x08" />
+ <value name="REG9" value="0x09" />
+ <value name="REG10" value="0x0a" />
+ <value name="REG11" value="0x0b" />
+ <value name="REG12" value="0x0c" />
+ <value name="REG13" value="0x0d" />
+ <value name="REG14" value="0x0e" />
+ <value name="REG15" value="0x0f" />
+ <value name="SRCA" value="0x20" />
+ <value name="SRCB" value="0x21" />
+ <value name="ACCU" value="0x31" />
+ <value name="ZF" value="0x32" />
+ <value name="CF" value="0x33" />
+ </field>
+ <field name="Operand 1" dword="0" bits="19:10" type="uint" prefix="MI_ALU">
+ <value name="REG0" value="0x00" />
+ <value name="REG1" value="0x01" />
+ <value name="REG2" value="0x02" />
+ <value name="REG3" value="0x03" />
+ <value name="REG4" value="0x04" />
+ <value name="REG5" value="0x05" />
+ <value name="REG6" value="0x06" />
+ <value name="REG7" value="0x07" />
+ <value name="REG8" value="0x08" />
+ <value name="REG9" value="0x09" />
+ <value name="REG10" value="0x0a" />
+ <value name="REG11" value="0x0b" />
+ <value name="REG12" value="0x0c" />
+ <value name="REG13" value="0x0d" />
+ <value name="REG14" value="0x0e" />
+ <value name="REG15" value="0x0f" />
+ <value name="SRCA" value="0x20" />
+ <value name="SRCB" value="0x21" />
+ <value name="ACCU" value="0x31" />
+ <value name="ZF" value="0x32" />
+ <value name="CF" value="0x33" />
+ </field>
+ <field name="ALU Opcode" dword="0" bits="31:20" type="uint" prefix="MI_ALU">
+ <value name="NOOP" value="0x000" />
+ <value name="FENCE_RD" value="0x001" />
+ <value name="FENCE_WR" value="0x002" />
+ <value name="LOAD" value="0x080" />
+ <value name="LOADINV" value="0x480" />
+ <value name="LOAD0" value="0x081" />
+ <value name="LOAD1" value="0x481" />
+ <value name="LOADIND" value="0x082" />
+ <value name="ADD" value="0x100" />
+ <value name="SUB" value="0x101" />
+ <value name="AND" value="0x102" />
+ <value name="OR" value="0x103" />
+ <value name="XOR" value="0x104" />
+ <value name="SHL" value="0x105" />
+ <value name="SHR" value="0x106" />
+ <value name="SAR" value="0x107" />
+ <value name="STORE" value="0x180" />
+ <value name="STOREINV" value="0x580" />
+ <value name="STOREIND" value="0x181" />
+ </field>
+ </struct>
+ <struct name="RENDER_SURFACE_STATE" length="16">
+ <field name="Cube Face Enable - Positive Z" dword="0" bits="0:0" type="bool" />
+ <field name="Cube Face Enable - Negative Z" dword="0" bits="1:1" type="bool" />
+ <field name="Cube Face Enable - Positive Y" dword="0" bits="2:2" type="bool" />
+ <field name="Cube Face Enable - Negative Y" dword="0" bits="3:3" type="bool" />
+ <field name="Cube Face Enable - Positive X" dword="0" bits="4:4" type="bool" />
+ <field name="Cube Face Enable - Negative X" dword="0" bits="5:5" type="bool" />
+ <field name="Media Boundary Pixel Mode" dword="0" bits="7:6" type="uint">
+ <value name="NORMAL_MODE" value="0" />
+ <value name="PROGRESSIVE_FRAME" value="2" />
+ <value name="INTERLACED_FRAME" value="3" />
+ </field>
+ <field name="Render Cache Read Write Mode" dword="0" bits="8:8" type="uint">
+ <value name="Write-Only Cache" value="0" />
+ <value name="Read-Write Cache" value="1" />
+ </field>
+ <field name="Sampler L2 Bypass Mode Disable" dword="0" bits="9:9" type="bool" />
+ <field name="Vertical Line Stride Offset" dword="0" bits="10:10" type="uint" />
+ <field name="Vertical Line Stride" dword="0" bits="11:11" type="uint" />
+ <field name="Tile Mode" dword="0" bits="13:12" type="uint">
+ <value name="LINEAR" value="0" />
+ <value name="TILE64" value="1" />
+ <value name="XMAJOR" value="2" />
+ <value name="TILE4" value="3" />
+ </field>
+ <field name="Surface Horizontal Alignment" dword="0" bits="15:14" type="uint">
+ <value name="HALIGN_16" value="0" />
+ <value name="HALIGN_32" value="1" />
+ <value name="HALIGN_64" value="2" />
+ <value name="HALIGN_128" value="3" />
+ </field>
+ <field name="Surface Vertical Alignment" dword="0" bits="17:16" type="uint">
+ <value name="VALIGN_4" value="1" />
+ <value name="VALIGN_8" value="2" />
+ <value name="VALIGN_16" value="3" />
+ </field>
+ <field name="Surface Format" dword="0" bits="26:18" type="uint" />
+ <field name="Surface Array" dword="0" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="0" bits="31:29" type="STATE_SURFACE_TYPE" />
+ <field name="Surface QPitch" dword="1" bits="14:0" type="uint" />
+ <field name="Sample Tap Discard Disable" dword="1" bits="15:15" type="bool" />
+ <field name="Double Fetch Disable" dword="1" bits="17:17" type="bool" />
+ <field name="Corner Texel Mode" dword="1" bits="18:18" type="uint" />
+ <field name="Base Mip Level" dword="1" bits="23:19" type="u4.1" />
+ <field name="MOCS" dword="1" bits="30:24" type="uint" nonzero="true" />
+ <field name="Width" dword="2" bits="13:0" type="uint" />
+ <field name="Height" dword="2" bits="29:16" type="uint" />
+ <field name="Depth Stencil Resource" dword="2" bits="31:31" type="bool" />
+ <field name="Surface Pitch" dword="3" bits="17:0" type="uint" />
+ <field name="Null Probing Enable" dword="3" bits="18:18" type="uint" />
+ <field name="Depth" dword="3" bits="31:21" type="uint" />
+ <field name="Multisample Position Palette Index" dword="4" bits="2:0" type="uint" />
+ <field name="Number of Multisamples" dword="4" bits="5:3" type="uint">
+ <value name="MULTISAMPLECOUNT_1" value="0" />
+ <value name="MULTISAMPLECOUNT_2" value="1" />
+ <value name="MULTISAMPLECOUNT_4" value="2" />
+ <value name="MULTISAMPLECOUNT_8" value="3" />
+ <value name="MULTISAMPLECOUNT_16" value="4" />
+ </field>
+ <field name="Multisampled Surface Storage Format" dword="4" bits="6:6" type="uint">
+ <value name="MSFMT_MSS" value="0" />
+ <value name="MSFMT_DEPTH_STENCIL" value="1" />
+ </field>
+ <field name="Render Target View Extent" dword="4" bits="17:7" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="28:18" type="uint" />
+ <field name="Render Target And Sample Unorm Rotation" dword="4" bits="30:29" type="uint">
+ <value name="0DEG" value="0" />
+ <value name="90DEG" value="1" />
+ <value name="180DEG" value="2" />
+ <value name="270DEG" value="3" />
+ </field>
+ <field name="Decompress In L3" dword="4" bits="31:31" type="bool" />
+ <field name="MIP Count / LOD" dword="5" bits="3:0" type="uint" />
+ <field name="Surface Min LOD" dword="5" bits="7:4" type="uint" />
+ <field name="Mip Tail Start LOD" dword="5" bits="11:8" type="uint" />
+ <field name="Coherency Type" dword="5" bits="14:14" type="mbz" />
+ <field name="L1 Cache Control" dword="5" bits="18:16" type="L1_CACHE_CONTROL" />
+ <field name="EWA Disable For Cube" dword="5" bits="20:20" type="bool" />
+ <field name="Y Offset" dword="5" bits="23:21" type="uint" />
+ <field name="X Offset" dword="5" bits="31:25" type="uint" />
+ <field name="Auxiliary Surface Mode" dword="6" bits="2:0" type="uint">
+ <value name="AUX_NONE" value="0" />
+ <value name="AUX_CCS_D" value="1" />
+ <value name="AUX_APPEND" value="2" />
+ <value name="AUX_MCS_LCE" value="4" />
+ <value name="AUX_CCS_E" value="5" />
+ </field>
+ <field name="Y Offset for U or UV Plane" dword="6" bits="13:0" type="uint" />
+ <field name="Auxiliary Surface Pitch" dword="6" bits="12:3" type="uint" />
+ <field name="YUV Interpolation Enable" dword="6" bits="15:15" type="bool" />
+ <field name="Auxiliary Surface QPitch" dword="6" bits="30:16" type="uint" />
+ <field name="X Offset for U or UV Plane" dword="6" bits="29:16" type="uint" />
+ <field name="Half Pitch for Chroma" dword="6" bits="30:30" type="uint" />
+ <field name="Separate UV Plane Enable" dword="6" bits="31:31" type="bool" />
+ <field name="Resource Min LOD" dword="7" bits="11:0" type="u4.8" />
+ <field name="Shader Channel Select Alpha" dword="7" bits="18:16" type="Shader Channel Select" />
+ <field name="Shader Channel Select Blue" dword="7" bits="21:19" type="Shader Channel Select" />
+ <field name="Shader Channel Select Green" dword="7" bits="24:22" type="Shader Channel Select" />
+ <field name="Shader Channel Select Red" dword="7" bits="27:25" type="Shader Channel Select" />
+ <field name="Memory Compression Enable" dword="7" bits="30:30" type="bool" />
+ <field name="Memory Compression Mode" dword="7" bits="31:31" type="uint">
+ <value name="Media Compression" value="0" />
+ <value name="3D Compression" value="1" />
+ </field>
+ <field name="Surface Base Address" dword="8" bits="63:0" type="address" />
+ <field name="Clear Value Address Enable" dword="10" bits="10:10" type="bool" />
+ <field name="Caching Expanded Formats" dword="10" bits="11:11" type="uint" />
+ <field name="Auxiliary Surface Base Address" dword="10" bits="63:12" type="address" />
+ <field name="Compression Format" dword="12" bits="4:0" type="uint" />
+ <field name="Clear Value Address" dword="12" bits="47:6" type="address" />
+ </struct>
+ <struct name="SLICE_HASH_TABLE" length="224">
+ <group count="7" dword="0" size="1024">
+ <group count="16" dword="0" size="64">
+ <group count="16" dword="0" size="4">
+ <field name="Entry" dword="0" bits="3:0" type="uint" />
+ </group>
+ </group>
+ </group>
+ </struct>
+ <struct name="VDENC_SURFACE_CONTROL_BITS" length="1">
+ <field name="MOCS" dword="0" bits="6:0" type="uint" nonzero="true" />
+ <field name="Arbitration Priority Control" dword="0" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Memory Compression Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Memory Compression Mode" dword="0" bits="10:10" type="uint" />
+ <field name="Cache Select" dword="0" bits="12:12" type="uint" />
+ </struct>
+ <instruction name="3DMESH_1D" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="UAV Coherency Required" dword="0" bits="9:9" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="TBIMR Enabled" dword="0" bits="13:13" type="uint" />
+ <field name="Extended Parameter 0 Present" dword="0" bits="14:14" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="ThreadGroup Count X" dword="1" bits="31:0" type="uint" />
+ <field name="Starting ThreadGroup ID X" dword="2" bits="31:0" type="uint" />
+ <field name="Extended Parameter 0 (XP0)" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DMESH_3D" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="UAV Coherency Required" dword="0" bits="9:9" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="TBIMR Enabled" dword="0" bits="13:13" type="uint" />
+ <field name="Extended Parameter 0 Present" dword="0" bits="14:14" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="2" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="ThreadGroup Count X" dword="1" bits="31:0" type="uint" />
+ <field name="ThreadGroup Count Y" dword="2" bits="31:0" type="uint" />
+ <field name="ThreadGroup Count Z" dword="3" bits="31:0" type="uint" />
+ <field name="Extended Parameter 0 (XP0)" dword="4" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="UAV Coherency Required" dword="0" bits="9:9" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Extended Parameters Present" dword="0" bits="11:11" type="uint" />
+ <field name="TBIMR Enable" dword="0" bits="13:13" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Primitive Topology Type" dword="1" bits="5:0" type="3D_Prim_Topo_Type" />
+ <field name="Vertex Access Type" dword="1" bits="8:8" type="uint">
+ <value name="SEQUENTIAL" value="0" />
+ <value name="RANDOM" value="1" />
+ </field>
+ <field name="End Offset Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Vertex Count Per Instance" dword="2" bits="31:0" type="uint" />
+ <field name="Start Vertex Location" dword="3" bits="31:0" type="uint" />
+ <field name="Instance Count" dword="4" bits="31:0" type="uint" />
+ <field name="Start Instance Location" dword="5" bits="31:0" type="uint" />
+ <field name="Base Vertex Location" dword="6" bits="31:0" type="int" />
+ <field name="Extended Parameter 0" dword="7" bits="31:0" type="uint" />
+ <field name="Extended Parameter 1" dword="8" bits="31:0" type="uint" />
+ <field name="Extended Parameter 2" dword="9" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DPRIMITIVE_EXTENDED" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="UAV Coherency Required" dword="0" bits="9:9" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Extended Parameters Present" dword="0" bits="11:11" type="bool" default="1" />
+ <field name="TBIMR Enable" dword="0" bits="13:13" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Primitive Topology Type" dword="1" bits="5:0" type="3D_Prim_Topo_Type" />
+ <field name="Vertex Access Type" dword="1" bits="8:8" type="uint">
+ <value name="SEQUENTIAL" value="0" />
+ <value name="RANDOM" value="1" />
+ </field>
+ <field name="End Offset Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Vertex Count Per Instance" dword="2" bits="31:0" type="uint" />
+ <field name="Start Vertex Location" dword="3" bits="31:0" type="uint" />
+ <field name="Instance Count" dword="4" bits="31:0" type="uint" />
+ <field name="Start Instance Location" dword="5" bits="31:0" type="uint" />
+ <field name="Base Vertex Location" dword="6" bits="31:0" type="int" />
+ <field name="Extended Parameter 0" dword="7" bits="31:0" type="uint" />
+ <field name="Extended Parameter 1" dword="8" bits="31:0" type="uint" />
+ <field name="Extended Parameter 2" dword="9" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_3D_MODE" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="30" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Cross Slice Hashing Mode" dword="1" bits="1:0" type="uint">
+ <value name="Normal Mode" value="0" />
+ <value name="Disable" value="1" />
+ <value name="hashing 32x32" value="3" />
+ </field>
+ <field name="3D Scoreboard Hashing Mode" dword="1" bits="4:4" type="bool" />
+ <field name="Subslice Hashing Table Enable" dword="1" bits="5:5" type="bool" />
+ <field name="Slice Hashing Table Enable" dword="1" bits="6:6" type="bool" />
+ <field name="DX10 OGL Border Mode for YCRCB" dword="1" bits="10:10" type="bool" />
+ <field name="Cross Slice Hashing Mode Mask" dword="1" bits="17:16" type="int" />
+ <field name="3D Scoreboard Hashing Mode Mask" dword="1" bits="20:20" type="bool" />
+ <field name="Subslice Hashing Table Enable Mask" dword="1" bits="21:21" type="bool" />
+ <field name="Slice Hashing Table Enable Mask" dword="1" bits="22:22" type="bool" />
+ <field name="DX10 OGL Border Mode for YCRCB Mask" dword="1" bits="26:26" type="bool" />
+ <field name="Fast Clear Optimization Enable" dword="3" bits="10:10" type="bool" />
+ <field name="RCC RHWO Optimization Disable" dword="3" bits="15:15" type="bool" />
+ <field name="Fast Clear Optimization Enable Mask" dword="3" bits="26:26" type="bool" />
+ <field name="RCC RHWO Optimization Disable Mask" dword="3" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="40" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to DS Binding Table" dword="1" bits="20:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="41" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to GS Binding Table" dword="1" bits="20:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="39" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to HS Binding Table" dword="1" bits="20:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="42" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to PS Binding Table" dword="1" bits="20:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="38" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to VS Binding Table" dword="1" bits="20:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="25" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MOCS" dword="1" bits="6:0" type="uint" nonzero="true" />
+ <field name="Binding Table Pool Base Address" dword="1" bits="63:12" type="address" />
+ <field name="Binding Table Pool Buffer Size" dword="3" bits="31:12" type="uint">
+ <value name="No Valid Data" value="0" />
+ </field>
+ </instruction>
+ <instruction name="3DSTATE_BTD" bias="2" length="6" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Dispatch Timeout Counter" dword="1" bits="1:0" type="uint">
+ <value name="64 clocks" value="0" />
+ <value name="128 clocks" value="1" />
+ <value name="192 clocks" value="2" />
+ <value name="256 clocks" value="3" />
+ </field>
+ <field name="AMFS Mode" dword="1" bits="4:3" type="uint" prefix="AMFS_MODE">
+ <value name="NORMAL" value="0" />
+ <value name="TOUCH" value="1" />
+ <value name="BACKFILL" value="2" />
+ <value name="FALLBACK" value="3" />
+ </field>
+ <field name="Per DSS Memory Backed Buffer Size" dword="2" bits="2:0" type="uint" />
+ <field name="Memory Backed Buffer Base Pointer" dword="2" bits="63:10" type="address" />
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="ChromaKey Table Index" dword="1" bits="31:30" type="uint" />
+ <field name="ChromaKey Low Value" dword="2" bits="31:0" type="uint" />
+ <field name="ChromaKey High Value" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_CLIP_MESH" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="129" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="1" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="1" bits="15:8" type="uint" />
+ <field name="Primitive Header Enable" dword="1" bits="16:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_CPSIZE_CONTROL_BUFFER" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="131" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Lossless Compression Enable" dword="1" bits="25:25" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint" />
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="Width" dword="4" bits="14:1" type="uint" />
+ <field name="Height" dword="4" bits="30:17" type="uint" />
+ <field name="MOCS" dword="5" bits="6:0" type="uint" />
+ <field name="Minimum Array Element" dword="5" bits="18:8" type="uint" />
+ <field name="Depth" dword="5" bits="30:20" type="uint" />
+ <field name="Mip Tail Start LOD" dword="6" bits="29:26" type="uint" />
+ <field name="Tiled Mode" dword="6" bits="31:30" type="uint">
+ <value name="TILE64" value="1" />
+ <value name="TILE4" value="3" />
+ </field>
+ <field name="Surface QPitch" dword="7" bits="14:0" type="uint" />
+ <field name="Surf LOD" dword="7" bits="19:16" type="uint" />
+ <field name="Render Target View Extent" dword="7" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="17:0" type="uint" />
+ <field name="Control Surface Enable" dword="1" bits="19:19" type="bool" />
+ <field name="Depth Buffer Compression Enable" dword="1" bits="21:21" type="bool" />
+ <field name="Hierarchical Depth Buffer Enable" dword="1" bits="22:22" type="bool" />
+ <field name="Corner Texel Mode" dword="1" bits="23:23" type="bool" />
+ <field name="Surface Format" dword="1" bits="26:24" type="uint">
+ <value name="D32_FLOAT" value="1" />
+ <value name="D24_UNORM_X8_UINT" value="3" />
+ <value name="D16_UNORM" value="5" />
+ </field>
+ <field name="Null Page Coherency Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Depth Write Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="Width" dword="4" bits="14:1" type="uint" />
+ <field name="Height" dword="4" bits="30:17" type="uint" />
+ <field name="MOCS" dword="5" bits="6:0" type="uint" nonzero="true" />
+ <field name="Minimum Array Element" dword="5" bits="18:8" type="uint" />
+ <field name="Depth" dword="5" bits="30:20" type="uint" />
+ <field name="Render Compression Format" dword="6" bits="4:0" type="uint" />
+ <field name="Compression Mode" dword="6" bits="5:5" type="bool" />
+ <field name="Mip Tail Start LOD" dword="6" bits="29:26" type="uint" />
+ <field name="Tiled Mode" dword="6" bits="31:30" type="uint">
+ <value name="TILE64" value="1" />
+ <value name="TILE4" value="3" />
+ </field>
+ <field name="Surface QPitch" dword="7" bits="14:0" type="uint" />
+ <field name="LOD" dword="7" bits="19:16" type="uint" />
+ <field name="Render Target View Extent" dword="7" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_DS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="29" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="14:14" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ <field name="Patch URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Patch URB Entry Read Length" dword="6" bits="17:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="24:20" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Cache Disable" dword="7" bits="1:1" type="bool" />
+ <field name="Compute W Coordinate Enable" dword="7" bits="2:2" type="bool" />
+ <field name="Dispatch Mode" dword="7" bits="4:3" type="uint" prefix="DISPATCH_MODE">
+ <value name="SIMD8_SINGLE_PATCH" value="1" />
+ <value name="SIMD8_SINGLE_OR_DUAL_PATCH" value="2" />
+ </field>
+ <field name="Primitive ID Not Required" dword="7" bits="9:9" type="bool" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="7" bits="30:21" type="uint" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="8" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="8" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="8" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="8" bits="26:21" type="uint" />
+ <field name="DUAL_PATCH Kernel Start Pointer" dword="9" bits="63:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="17" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Expected Vertex Count" dword="3" bits="5:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="3" bits="31:31" type="bool" />
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Include Vertex Handles" dword="6" bits="10:10" type="bool" />
+ <field name="Vertex URB Entry Read Length" dword="6" bits="16:11" type="uint" />
+ <field name="Output Topology" dword="6" bits="22:17" type="3D_Prim_Topo_Type" />
+ <field name="Output Vertex Size" dword="6" bits="28:23" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data [5:4]" dword="6" bits="30:29" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Discard Adjacency" dword="7" bits="1:1" type="bool" />
+ <field name="Reorder Mode" dword="7" bits="2:2" type="uint">
+ <value name="LEADING" value="0" />
+ <value name="TRAILING" value="1" />
+ </field>
+ <field name="Hint" dword="7" bits="3:3" type="uint" />
+ <field name="Include Primitive ID" dword="7" bits="4:4" type="bool" />
+ <field name="Invocations Increment Value" dword="7" bits="9:5" type="uint" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Dispatch Mode" dword="7" bits="12:11" type="uint" prefix="DISPATCH_MODE">
+ <value name="SIMD8" value="3" />
+ </field>
+ <field name="Default Stream Id" dword="7" bits="14:13" type="uint" />
+ <field name="Instance Control" dword="7" bits="19:15" type="uint" />
+ <field name="Control Data Header Size" dword="7" bits="23:20" type="uint" />
+ <field name="Maximum Number of Threads" dword="8" bits="8:0" type="uint" />
+ <field name="Static Output Vertex Count" dword="8" bits="26:16" type="uint" />
+ <field name="Static Output" dword="8" bits="30:30" type="bool" />
+ <field name="Control Data Format" dword="8" bits="31:31" type="uint">
+ <value name="CUT" value="0" />
+ <value name="SID" value="1" />
+ </field>
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="9" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="9" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="9" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="9" bits="26:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="7" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Hierarchical Depth Buffer Write Thru Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Tiled Mode" dword="1" bits="23:22" type="uint">
+ <value name="TILE64" value="1" />
+ <value name="TILE4" value="3" />
+ </field>
+ <field name="MOCS" dword="1" bits="31:25" type="uint" nonzero="true" />
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="Surface QPitch" dword="4" bits="14:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_HS" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="27" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Software Exception Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="1" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="1" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Instance Count" dword="2" bits="4:0" type="uint" />
+ <field name="Maximum Number of Threads" dword="2" bits="16:8" type="uint" />
+ <field name="Statistics Enable" dword="2" bits="29:29" type="bool" />
+ <field name="Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Kernel Start Pointer" dword="3" bits="63:6" type="offset" />
+ <field name="Scratch Space Buffer" dword="5" bits="31:10" type="uint" />
+ <field name="Include Primitive ID" dword="7" bits="0:0" type="bool" />
+ <field name="Patch Count Threshold" dword="7" bits="3:1" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="7" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="7" bits="16:11" type="uint" />
+ <field name="Dispatch Mode" dword="7" bits="18:17" type="uint" prefix="DISPATCH_MODE">
+ <value name="SINGLE_PATCH" value="0" />
+ <value name="8_PATCH" value="2" />
+ </field>
+ <field name="Dispatch GRF Start Register For URB Data" dword="7" bits="23:19" type="uint" />
+ <field name="Include Vertex Handles" dword="7" bits="24:24" type="bool" />
+ <field name="Accesses UAV" dword="7" bits="25:25" type="bool" />
+ <field name="Vector Mask Enable" dword="7" bits="26:26" type="bool" />
+ <field name="Single Program Flow" dword="7" bits="27:27" type="bool" />
+ <field name="Dispatch GRF Start Register For URB Data [5]" dword="7" bits="28:28" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_MESH_CONTROL" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="119" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Maximum Number of ThreadGroups" dword="1" bits="8:0" type="uint" />
+ <field name="Thread Dispatch Priority" dword="1" bits="28:28" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Fused EU Dispatch" dword="1" bits="29:29" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="30:30" type="bool" />
+ <field name="MeshShader Enable" dword="1" bits="31:31" type="uint" />
+ <field name="Scratch Space Buffer" dword="2" bits="31:10" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_MESH_DISTRIB" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="120" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Mesh Distribution Disable" dword="1" bits="0:0" type="bool" />
+ <field name="Task Distribution Disable" dword="1" bits="1:1" type="bool" />
+ <field name="Distribution Mode" dword="1" bits="2:2" type="uint" prefix="MESH">
+ <value name="RR_FREE" value="1" />
+ <value name="RR_STRICT" value="0" />
+ </field>
+ <field name="Mesh Distribution Batch Size" dword="1" bits="7:4" type="uint" />
+ <field name="Task Distribution Batch Size" dword="1" bits="13:10" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_MESH_SHADER" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="122" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Local X Maximum" dword="3" bits="9:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="10:10" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="3" bits="18:18" type="uint" />
+ <field name="Denorm Mode" dword="3" bits="19:19" type="uint">
+ <value name="Ftz" value="0" />
+ <value name="SetByKernel" value="1" />
+ </field>
+ <field name="Number of Threads in GPGPU Thread Group" dword="4" bits="9:0" type="uint" />
+ <field name="Shared Local Memory Size" dword="4" bits="20:16" type="uint" />
+ <field name="Barrier Enable" dword="4" bits="21:21" type="bool" />
+ <field name="Rounding Mode" dword="4" bits="23:22" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Preferred SLM Allocation Size" dword="4" bits="27:24" type="PREF_SLM_ALLOCATION_SIZE" />
+ <field name="Number of Barriers" dword="4" bits="30:28" type="uint" />
+ <field name="Indirect Data Length" dword="5" bits="16:0" type="uint" />
+ <field name="L3 Prefetch Disable" dword="5" bits="17:17" type="bool" />
+ <field name="Emit Local ID X" dword="5" bits="18:18" type="bool" />
+ <field name="Emit Inline Parameter" dword="5" bits="19:19" type="bool" />
+ <field name="Systolic Mode Enable" dword="5" bits="20:20" type="bool" />
+ <field name="Accesses UAV" dword="5" bits="21:21" type="bool" />
+ <field name="XP0 Required" dword="5" bits="22:22" type="uint" />
+ <field name="Message SIMD" dword="5" bits="29:28" type="uint">
+ <value name="SIMD8" value="0" />
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="SIMD Size" dword="5" bits="31:30" type="uint">
+ <value name="SIMD8" value="0" />
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="Execution Mask" dword="6" bits="31:0" type="uint" />
+ <field name="Maximum Primitive Count" dword="7" bits="9:0" type="uint" />
+ <field name="Per-Primitive Data Pitch" dword="7" bits="16:12" type="uint" />
+ <field name="Per-Vertex Data Pitch" dword="7" bits="24:20" type="uint" />
+ <field name="Index Format" dword="7" bits="27:25" type="uint" prefix="INDEX">
+ <value name="U888X" value="0" />
+ <value name="U101010X" value="1" />
+ <value name="U8" value="4" />
+ <value name="U16" value="5" />
+ <value name="U32" value="3" />
+ </field>
+ <field name="Output Topology" dword="7" bits="29:28" type="uint" prefix="OUTPUT">
+ <value name="POINT" value="0" />
+ <value name="LINE" value="1" />
+ <value name="TRI" value="2" />
+ </field>
+ <field name="Per-Primitive Data Present" dword="7" bits="31:31" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_MESH_SHADER_DATA" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="123" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect Data Start Address" dword="1" bits="31:6" type="offset" />
+ <group count="8" dword="2" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="17" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Monochrome Filter Height" dword="1" bits="2:0" type="uint" />
+ <field name="Monochrome Filter Width" dword="1" bits="5:3" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="10" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="32" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer 0" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Rounding Mode" dword="3" bits="15:14" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Single Precision Denormal Mode" dword="3" bits="26:26" type="uint">
+ <value name="Flushed to Zero" value="0" />
+ <value name="Retained" value="1" />
+ </field>
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="3" bits="31:31" type="bool" />
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ <field name="8 Pixel Dispatch Enable" dword="6" bits="0:0" type="bool" />
+ <field name="16 Pixel Dispatch Enable" dword="6" bits="1:1" type="bool" />
+ <field name="32 Pixel Dispatch Enable" dword="6" bits="2:2" type="bool" />
+ <field name="Position XY Offset Select" dword="6" bits="4:3" type="uint">
+ <value name="POSOFFSET_NONE" value="0" />
+ <value name="POSOFFSET_CENTROID" value="2" />
+ <value name="POSOFFSET_SAMPLE" value="3" />
+ </field>
+ <field name="Dual SIMD8 Dispatch Enable" dword="6" bits="5:5" type="bool" />
+ <field name="Render Target Resolve Type" dword="6" bits="7:6" type="uint">
+ <value name="RESOLVE_DISABLED" value="0" />
+ <value name="RESOLVE_PARTIAL" value="1" />
+ <value name="FAST_CLEAR_0" value="2" />
+ <value name="RESOLVE_FULL" value="3" />
+ </field>
+ <field name="Render Target Fast Clear Enable" dword="6" bits="8:8" type="bool" />
+ <field name="Overlapping Subspans Enable" dword="6" bits="9:9" type="bool" />
+ <field name="Push Constant Enable" dword="6" bits="11:11" type="bool" />
+ <field name="Maximum Number of Threads Per PSD" dword="6" bits="31:23" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 2" dword="7" bits="6:0" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 1" dword="7" bits="14:8" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="7" bits="22:16" type="uint" />
+ <field name="Kernel Start Pointer 1" dword="8" bits="63:6" type="offset" />
+ <field name="Kernel Start Pointer 2" dword="10" bits="63:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="79" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Input Coverage Mask State" dword="1" bits="1:0" type="uint" prefix="ICMS">
+ <value name="NONE" value="0" />
+ <value name="NORMAL" value="1" />
+ <value name="INNER_CONSERVATIVE" value="2" />
+ <value name="DEPTH_COVERAGE" value="3" />
+ </field>
+ <field name="Pixel Shader Has UAV" dword="1" bits="2:2" type="bool" />
+ <field name="Pixel Shader Pulls Bary" dword="1" bits="3:3" type="bool" />
+ <field name="Pixel Shader Is Per Coarse Pixel" dword="1" bits="4:4" type="bool" />
+ <field name="Pixel Shader Computes Stencil" dword="1" bits="5:5" type="bool" />
+ <field name="Pixel Shader Is Per Sample" dword="1" bits="6:6" type="bool" />
+ <field name="Pixel Shader Disables Alpha To Coverage" dword="1" bits="7:7" type="bool" />
+ <field name="Attribute Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Simple PS Hint" dword="1" bits="9:9" type="bool" />
+ <field name="Enable PS Dependency On CPsize Change" dword="1" bits="17:17" type="bool" />
+ <field name="Pixel Shader Requires Subpixel Sample Offsets" dword="1" bits="18:18" type="bool" />
+ <field name="Pixel Shader Requires Non-Perspective Bary Plane Coefficients" dword="1" bits="19:19" type="bool" />
+ <field name="Pixel Shader Requires Perspective Bary Plane Coefficients" dword="1" bits="20:20" type="bool" />
+ <field name="Pixel Shader Requires Source Depth and/or W Plane Coefficients" dword="1" bits="21:21" type="bool" />
+ <field name="Pixel Shader Requires Requested Coarse Pixel Shading Size" dword="1" bits="22:22" type="bool" />
+ <field name="Pixel Shader Uses Source W" dword="1" bits="23:23" type="bool" />
+ <field name="Pixel Shader Uses Source Depth" dword="1" bits="24:24" type="bool" />
+ <field name="Force Computed Depth" dword="1" bits="25:25" type="bool" />
+ <field name="Pixel Shader Computed Depth Mode" dword="1" bits="27:26" type="uint">
+ <value name="PSCDEPTH_OFF" value="0" />
+ <value name="PSCDEPTH_ON" value="1" />
+ <value name="PSCDEPTH_ON_GE" value="2" />
+ <value name="PSCDEPTH_ON_LE" value="3" />
+ </field>
+ <field name="Pixel Shader Kills Pixel" dword="1" bits="28:28" type="bool" />
+ <field name="oMask Present to Render Target" dword="1" bits="29:29" type="bool" />
+ <field name="Pixel Shader Does not write to RT" dword="1" bits="30:30" type="mbz" />
+ <field name="Pixel Shader Valid" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_SBE_MESH" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="130" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Per-Vertex URB Entry Output Read Length" dword="1" bits="4:0" type="uint" />
+ <field name="Per-Vertex URB Entry Output Read Offset" dword="1" bits="10:5" type="uint" />
+ <field name="Per-Primitive URB Entry Output Read Length" dword="1" bits="15:11" type="uint" />
+ <field name="Per-Primitive URB Entry Output Read Offset" dword="1" bits="21:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_SF" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="19" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Viewport Transform Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Legacy Global Depth Bias Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Line Width" dword="1" bits="29:12" type="u11.7" />
+ <field name="Line End Cap Antialiasing Region Width" dword="2" bits="17:16" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Deref Block Size" dword="2" bits="30:29" type="uint">
+ <value name="Block Deref Size 32" value="0" />
+ <value name="Per Poly Deref Mode" value="1" />
+ <value name="Block Deref Size 8" value="2" />
+ <value name="Mesh Shader EODB" value="3" />
+ </field>
+ <field name="Point Width" dword="3" bits="10:0" type="u8.3" />
+ <field name="Point Width Source" dword="3" bits="11:11" type="uint">
+ <value name="Vertex" value="0" />
+ <value name="State" value="1" />
+ </field>
+ <field name="Vertex Sub Pixel Precision Select" dword="3" bits="12:12" type="uint">
+ <value name="8 Bit" value="0" />
+ <value name="4 Bit" value="1" />
+ </field>
+ <field name="Smooth Point Enable" dword="3" bits="13:13" type="bool" />
+ <field name="AA Line Distance Mode" dword="3" bits="14:14" type="uint">
+ <value name="AALINEDISTANCE_TRUE" value="1" />
+ </field>
+ <field name="Triangle Fan Provoking Vertex Select" dword="3" bits="26:25" type="uint" />
+ <field name="Line Strip/List Provoking Vertex Select" dword="3" bits="28:27" type="uint" />
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="3" bits="30:29" type="uint" />
+ <field name="Last Pixel Enable" dword="3" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Corner Texel Mode" dword="1" bits="23:23" type="bool" />
+ <field name="Control Surface Enable" dword="1" bits="24:24" type="bool" />
+ <field name="Stencil Compression Enable" dword="1" bits="25:25" type="bool" />
+ <field name="Null Page Coherency Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Stencil Write Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="Width" dword="4" bits="14:1" type="uint" />
+ <field name="Height" dword="4" bits="30:17" type="uint" />
+ <field name="MOCS" dword="5" bits="6:0" type="uint" nonzero="true" />
+ <field name="Minimum Array Element" dword="5" bits="18:8" type="uint" />
+ <field name="Depth" dword="5" bits="30:20" type="uint" />
+ <field name="Render Compression Format" dword="6" bits="4:0" type="uint" />
+ <field name="Compression Mode" dword="6" bits="5:5" type="bool" />
+ <field name="Mip Tail Start LOD" dword="6" bits="29:26" type="uint" />
+ <field name="Tiled Mode" dword="6" bits="31:30" type="uint">
+ <value name="TILE64" value="1" />
+ <value name="TILE4" value="3" />
+ </field>
+ <field name="Surface QPitch" dword="7" bits="14:0" type="uint" />
+ <field name="Surf LOD" dword="7" bits="19:16" type="uint" />
+ <field name="Render Target View Extent" dword="7" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_TASK_CONTROL" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="124" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Maximum Number of ThreadGroups" dword="1" bits="8:0" type="uint" />
+ <field name="Thread Dispatch Priority" dword="1" bits="28:28" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Fused EU Dispatch" dword="1" bits="29:29" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="30:30" type="bool" />
+ <field name="TaskShader Enable" dword="1" bits="31:31" type="uint" />
+ <field name="Scratch Space Buffer" dword="2" bits="31:10" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_TASK_REDISTRIB" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="121" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Task Redistribution Mode" dword="1" bits="1:0" type="uint">
+ <value name="TASKREDISTRIB_OFF" value="0" />
+ <value name="TASKREDISTRIB_RR_STRICT" value="1" />
+ <value name="TASKREDISTRIB_RR_FREE" value="2" />
+ </field>
+ <field name="Task Redistribution Level" dword="1" bits="3:2" type="uint">
+ <value name="TASKREDISTRIB_TASK" value="0" />
+ <value name="TASKREDISTRIB_BOM" value="1" />
+ </field>
+ <field name="Target Mesh Batch Size" dword="1" bits="7:4" type="uint" />
+ <field name="Small TaskThreshold" dword="1" bits="12:10" type="uint" />
+ <field name="Local BOT Accumulator Threshold" dword="1" bits="17:16" type="uint">
+ <value name="MULTIPLIER_0" value="0" />
+ <value name="MULTIPLIER_1" value="1" />
+ <value name="MULTIPLIER_2" value="2" />
+ <value name="MULTIPLIER_4" value="3" />
+ </field>
+ </instruction>
+ <instruction name="3DSTATE_TASK_SHADER" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="125" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Local X Maximum" dword="3" bits="9:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="10:10" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="3" bits="18:18" type="uint" />
+ <field name="Denorm Mode" dword="3" bits="19:19" type="uint">
+ <value name="Ftz" value="0" />
+ <value name="SetByKernel" value="1" />
+ </field>
+ <field name="Number of Threads in GPGPU Thread Group" dword="4" bits="9:0" type="uint" />
+ <field name="Shared Local Memory Size" dword="4" bits="20:16" type="uint" />
+ <field name="Barrier Enable" dword="4" bits="21:21" type="bool" />
+ <field name="Rounding Mode" dword="4" bits="23:22" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Preferred SLM Allocation Size" dword="4" bits="27:24" type="uint" />
+ <field name="Number of Barriers" dword="4" bits="30:28" type="uint" />
+ <field name="Indirect Data Length" dword="5" bits="16:0" type="uint" />
+ <field name="L3 Prefetch Disable" dword="5" bits="17:17" type="bool" />
+ <field name="Emit Local ID X" dword="5" bits="18:18" type="bool" />
+ <field name="Emit Inline Parameter" dword="5" bits="19:19" type="bool" />
+ <field name="Systolic Mode Enable" dword="5" bits="20:20" type="bool" />
+ <field name="Accesses UAV" dword="5" bits="21:21" type="bool" />
+ <field name="XP0 Required" dword="5" bits="22:22" type="uint" />
+ <field name="Message SIMD" dword="5" bits="29:28" type="uint">
+ <value name="SIMD8" value="0" />
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="SIMD Size" dword="5" bits="31:30" type="uint">
+ <value name="SIMD8" value="0" />
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="Execution Mask" dword="6" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_TASK_SHADER_DATA" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="126" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect Data Start Address" dword="1" bits="31:6" type="offset" />
+ <group count="8" dword="2" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_TBIMR_TILE_PASS_INFO" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="110" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Tile Rectangle Height" dword="1" bits="14:0" type="uint" />
+ <field name="Tile Rectangle Width" dword="1" bits="30:16" type="uint" />
+ <field name="Vertical Tile Count" dword="2" bits="15:0" type="uint" />
+ <field name="Horizontal Tile Count" dword="2" bits="31:16" type="uint" />
+ <field name="Walk Pattern" dword="3" bits="0:0" type="uint" />
+ <field name="Tile Box Check" dword="3" bits="2:2" type="uint" />
+ <field name="TBIMR Batch Size" dword="3" bits="5:3" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_TE" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="28" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="TE Enable" dword="1" bits="0:0" type="bool" />
+ <field name="TE Mode" dword="1" bits="2:1" type="uint">
+ <value name="HW_TESS" value="0" />
+ </field>
+ <field name="TE Domain" dword="1" bits="5:4" type="uint">
+ <value name="QUAD" value="0" />
+ <value name="TRI" value="1" />
+ <value name="ISOLINE" value="2" />
+ </field>
+ <field name="Output Topology" dword="1" bits="9:8" type="uint" prefix="OUTPUT">
+ <value name="POINT" value="0" />
+ <value name="LINE" value="1" />
+ <value name="TRI_CW" value="2" />
+ <value name="TRI_CCW" value="3" />
+ </field>
+ <field name="Partitioning" dword="1" bits="13:12" type="uint">
+ <value name="INTEGER" value="0" />
+ <value name="ODD_FRACTIONAL" value="1" />
+ <value name="EVEN_FRACTIONAL" value="2" />
+ </field>
+ <field name="Tessellation Distribution Mode" dword="1" bits="15:14" type="uint">
+ <value name="TEDMODE_OFF" value="0" />
+ <value name="TEDMODE_RR_STRICT" value="1" />
+ <value name="TEDMODE_RR_FREE" value="2" />
+ </field>
+ <field name="Tessellation Distribution Level" dword="1" bits="18:17" type="uint">
+ <value name="TEDLEVEL_PATCH" value="0" />
+ </field>
+ <field name="Tessellation Scale Factor Enable" dword="1" bits="19:19" type="bool" />
+ <field name="Tessellation Factor Format" dword="1" bits="20:20" type="uint">
+ <value name="FLOAT32" value="0" />
+ <value name="FLOAT16" value="1" />
+ </field>
+ <field name="Patch Header Layout" dword="1" bits="23:22" type="uint">
+ <value name="LEGACY" value="0" />
+ <value name="REVERSED" value="2" />
+ <value name="REVERSED_TRI_INSIDE_SEPARATE" value="3" />
+ </field>
+ <field name="Small Patch Threshold" dword="1" bits="25:24" type="uint">
+ <value name="SPT_8_TRIANGLES" value="0" />
+ <value name="SPT_16_TRIANGLES" value="1" />
+ <value name="SPT_32_TRIANGLES" value="2" />
+ <value name="SPT_64_TRIANGLES" value="3" />
+ </field>
+ <field name="Target Block Size" dword="1" bits="29:26" type="uint">
+ <value name="64_TRIANGLES" value="0" />
+ <value name="96_TRIANGLES" value="1" />
+ <value name="128_TRIANGLES" value="2" />
+ <value name="192_TRIANGLES" value="3" />
+ <value name="256_TRIANGLES" value="4" />
+ <value name="384_TRIANGLES" value="5" />
+ <value name="512_TRIANGLES" value="6" />
+ <value name="768_TRIANGLES" value="7" />
+ <value name="1K_TRIANGLES" value="8" />
+ <value name="1.5K_TRIANGLES" value="9" />
+ <value name="2K_TRIANGLES" value="10" />
+ <value name="3K_TRIANGLES" value="11" />
+ <value name="4K_TRIANGLES" value="12" />
+ <value name="6K_TRIANGLES" value="13" />
+ <value name="8K_TRIANGLES" value="14" />
+ <value name="12K_TRIANGLES" value="15" />
+ </field>
+ <field name="Local BOP Accumulator Threshold" dword="1" bits="31:30" type="uint">
+ <value name="MULTIPLIER_0" value="0" />
+ <value name="MULTIPLIER_1" value="1" />
+ <value name="MULTIPLIER_2" value="2" />
+ <value name="MULTIPLIER_3" value="3" />
+ </field>
+ <field name="Maximum Tessellation Factor Odd" dword="2" bits="31:0" type="float" />
+ <field name="Maximum Tessellation Factor Not Odd" dword="3" bits="31:0" type="float" />
+ <field name="Tessellation Scale Factor" dword="4" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_URB_ALLOC_MESH" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="127" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MESH URB Entry Allocation Size" dword="1" bits="9:0" type="uint" />
+ <field name="MESH URB Starting Address Slice0" dword="1" bits="17:10" type="uint" />
+ <field name="MESH URB Starting Address SliceN" dword="1" bits="28:21" type="uint" />
+ <field name="MESH Number of URB Entries Slice0" dword="2" bits="15:0" type="uint" />
+ <field name="MESH Number of URB Entries SliceN" dword="2" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_ALLOC_TASK" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="128" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="TASK URB Entry Allocation Size" dword="1" bits="9:0" type="uint" />
+ <field name="TASK URB Starting Address Slice0" dword="1" bits="17:10" type="uint" />
+ <field name="TASK URB Starting Address SliceN" dword="1" bits="28:21" type="uint" />
+ <field name="TASK Number of URB Entries Slice0" dword="2" bits="15:0" type="uint" />
+ <field name="TASK Number of URB Entries SliceN" dword="2" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VF" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Indexed Draw Cut Index Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Component Packing Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Sequential Draw Cut Index Enable" dword="0" bits="10:10" type="bool" />
+ <field name="VertexID Offset Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Geometry Distribution Enable" dword="0" bits="12:12" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="12" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Cut Index" dword="1" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VFG" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="87" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Distribution Granularity" dword="1" bits="1:0" type="uint">
+ <value name="Batch Level Granularity" value="0" />
+ <value name="Instance Level Granularity" value="1" />
+ <value name="Draw Level Granularity" value="2" />
+ </field>
+ <field name="Granularity Threshold Disable" dword="1" bits="2:2" type="bool" />
+ <field name="List Cut Index Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Distribution Mode" dword="1" bits="4:4" type="uint">
+ <value name="RR_STRICT" value="0" />
+ <value name="RR_FREE" value="1" />
+ </field>
+ <field name="List 1 Batch Size Scale" dword="2" bits="2:0" type="uint" />
+ <field name="List 2 Batch Size Scale" dword="2" bits="10:8" type="uint" />
+ <field name="List 3 Batch Size Scale" dword="2" bits="18:16" type="uint" />
+ <field name="List N Batch Size Scale" dword="2" bits="26:24" type="uint" />
+ <field name="Strip Batch Size Scale" dword="3" bits="2:0" type="uint" />
+ <field name="Patch Batch Size Scale" dword="3" bits="10:8" type="uint" />
+ <field name="Patch Batch Size Multiplier" dword="3" bits="20:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VF_SGVS_2" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="86" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="XP0 Element Offset" dword="1" bits="5:0" type="uint" />
+ <field name="XP0 Source Select" dword="1" bits="12:12" type="uint">
+ <value name="VERTEX_LOCATION" value="1" />
+ <value name="XP0_PARAMETER" value="0" />
+ </field>
+ <field name="XP0 Component Number" dword="1" bits="14:13" type="uint">
+ <value name="COMP_0" value="0" />
+ <value name="COMP_1" value="1" />
+ <value name="COMP_2" value="2" />
+ <value name="COMP_3" value="3" />
+ </field>
+ <field name="XP0 Enable" dword="1" bits="15:15" type="uint" />
+ <field name="XP1 Element Offset" dword="1" bits="21:16" type="uint" />
+ <field name="XP1 Source Select" dword="1" bits="28:28" type="uint">
+ <value name="Starting Instance Location" value="1" />
+ <value name="XP1_PARAMETER" value="0" />
+ </field>
+ <field name="XP1 Component Number" dword="1" bits="30:29" type="uint">
+ <value name="COMP_0" value="0" />
+ <value name="COMP_1" value="1" />
+ <value name="COMP_2" value="2" />
+ <value name="COMP_3" value="3" />
+ </field>
+ <field name="XP1 Enable" dword="1" bits="31:31" type="uint" />
+ <field name="XP2 Element Offset" dword="2" bits="5:0" type="uint" />
+ <field name="XP2 Component Number" dword="2" bits="14:13" type="uint">
+ <value name="COMP_0" value="0" />
+ <value name="COMP_1" value="1" />
+ <value name="COMP_2" value="2" />
+ <value name="COMP_3" value="3" />
+ </field>
+ <field name="XP2 Enable" dword="2" bits="15:15" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="16" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="6" bits="16:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="24:20" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Vertex Cache Disable" dword="7" bits="1:1" type="bool" />
+ <field name="SIMD8 Dispatch Enable" dword="7" bits="2:2" type="bool" />
+ <field name="SIMD8 Single Instance Dispatch Enable" dword="7" bits="9:9" type="bool" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="7" bits="31:22" type="uint" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="8" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="8" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="8" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="8" bits="26:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_WM" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="20" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Force Kill Pixel Enable" dword="1" bits="1:0" type="uint">
+ <value name="ForceOff" value="1" />
+ <value name="ForceON" value="2" />
+ </field>
+ <field name="Point Rasterization Rule" dword="1" bits="2:2" type="uint">
+ <value name="RASTRULE_UPPER_LEFT" value="0" />
+ <value name="RASTRULE_UPPER_RIGHT" value="1" />
+ </field>
+ <field name="Line Stipple Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Polygon Stipple Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Line Antialiasing Region Width" dword="1" bits="7:6" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line End Cap Antialiasing Region Width" dword="1" bits="9:8" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Barycentric Interpolation Mode" dword="1" bits="16:11" type="uint">
+ <value name="BIM_PERSPECTIVE_PIXEL" value="1" />
+ <value name="BIM_PERSPECTIVE_CENTROID" value="2" />
+ <value name="BIM_PERSPECTIVE_SAMPLE" value="4" />
+ <value name="BIM_LINEAR_PIXEL" value="8" />
+ <value name="BIM_LINEAR_CENTROID" value="16" />
+ <value name="BIM_LINEAR_SAMPLE" value="32" />
+ </field>
+ <field name="Position ZW Interpolation Mode" dword="1" bits="18:17" type="uint">
+ <value name="INTERP_PIXEL" value="0" />
+ <value name="INTERP_CENTROID" value="2" />
+ <value name="INTERP_SAMPLE" value="3" />
+ </field>
+ <field name="Force Thread Dispatch Enable" dword="1" bits="20:19" type="uint">
+ <value name="ForceOff" value="1" />
+ <value name="ForceON" value="2" />
+ </field>
+ <field name="Early Depth/Stencil Control" dword="1" bits="22:21" type="uint">
+ <value name="EDSC_NORMAL" value="0" />
+ <value name="EDSC_PSEXEC" value="1" />
+ <value name="EDSC_PREPS" value="2" />
+ </field>
+ <field name="Walker Direction" dword="1" bits="23:23" type="uint" default="0">
+ <value name="Snake Walk" value="0" />
+ <value name="Z Walk" value="1" />
+ </field>
+ <field name="Walking Granularity" dword="1" bits="25:24" type="uint" default="2">
+ <value name="16x16 granularity" value="0" />
+ <value name="32x32 granularity" value="1" />
+ <value name="64x64 granularity" value="2" />
+ </field>
+ <field name="Legacy Diamond Line Rasterization" dword="1" bits="26:26" type="bool" />
+ <field name="Legacy Hierarchical Depth Buffer Resolve Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Legacy Depth Buffer Resolve Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Legacy Depth Buffer Clear Enable" dword="1" bits="30:30" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="82" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Buffer Partial Resolve Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Number of Multisamples" dword="1" bits="15:13" type="uint" />
+ <field name="Stencil Clear Value" dword="1" bits="23:16" type="uint" />
+ <field name="Stencil Buffer Resolve Enable" dword="1" bits="24:24" type="bool" />
+ <field name="Full Surface Depth and Stencil Clear" dword="1" bits="25:25" type="bool" />
+ <field name="Pixel Position Offset Enable" dword="1" bits="26:26" type="bool" />
+ <field name="Hierarchical Depth Buffer Resolve Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Depth Buffer Resolve Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Scissor Rectangle Enable" dword="1" bits="29:29" type="bool" />
+ <field name="Depth Buffer Clear Enable" dword="1" bits="30:30" type="bool" />
+ <field name="Stencil Buffer Clear Enable" dword="1" bits="31:31" type="bool" />
+ <field name="Clear Rectangle X Min" dword="2" bits="15:0" type="uint" />
+ <field name="Clear Rectangle Y Min" dword="2" bits="31:16" type="uint" />
+ <field name="Clear Rectangle X Max" dword="3" bits="15:0" type="uint" />
+ <field name="Clear Rectangle Y Max" dword="3" bits="31:16" type="uint" />
+ <field name="Sample Mask" dword="4" bits="15:0" type="uint" />
+ </instruction>
+ <instruction name="AVP_IND_OBJ_BASE_ADDR_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="3" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="AVP Indirect Bitstream Object Base Address" dword="1" bits="63:0" type="address" />
+ <field name="AVP Indirect Bitstream Object Address Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="AVP Indirect CU Object Base Address" dword="6" bits="63:0" type="address" />
+ <field name="AVP Indirect CU Object Memory Address Attributes" dword="8" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </instruction>
+ <instruction name="AVP_PIC_STATE" bias="2" length="76" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="74" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="48" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Width" dword="1" bits="13:0" type="uint" />
+ <field name="Frame Height" dword="1" bits="29:16" type="uint" />
+ <field name="Sequence Chroma SubSampling Format" dword="2" bits="1:0" type="uint" prefix="SS">
+ <value name="Monochrome" value="0" />
+ <value name="420" value="1" />
+ <value name="422" value="2" />
+ <value name="444" value="3" />
+ </field>
+ <field name="Sequence Pixel Bit-Depth Idc" dword="2" bits="4:3" type="uint" prefix="SeqPix">
+ <value name="8-bit" value="0" />
+ <value name="10-bit" value="1" />
+ <value name="12-bit" value="2" />
+ </field>
+ <field name="Sequence Superblock Size Used" dword="2" bits="8:7" type="uint">
+ <value name="64x64" value="0" />
+ <value name="128x128" value="1" />
+ </field>
+ <field name="Sequence Enable Order Hint Flag" dword="2" bits="9:9" type="bool" />
+ <field name="Sequence Order Hint Bits Minus 1" dword="2" bits="12:10" type="uint" />
+ <field name="Sequence Enable Filter Intra Flag" dword="2" bits="16:16" type="bool" />
+ <field name="Sequence Enable Intra Edge Filter Flag" dword="2" bits="17:17" type="bool" />
+ <field name="Sequence Enable Dual Filter Flag" dword="2" bits="18:18" type="bool" />
+ <field name="Sequence Enable Inter Intra Compound Flag" dword="2" bits="19:19" type="bool" />
+ <field name="Sequence Enable Masked Compound Flag" dword="2" bits="20:20" type="bool" />
+ <field name="Sequence Enable Joint Compound Flag" dword="2" bits="21:21" type="bool" />
+ <field name="Allow Screen Content Tools Flag" dword="3" bits="0:0" type="bool" />
+ <field name="Force Integer MV Flag" dword="3" bits="1:1" type="bool" />
+ <field name="Allow Warped Motion Flag" dword="3" bits="2:2" type="bool" />
+ <field name="Use CDEF Filter Flag" dword="3" bits="4:4" type="bool" />
+ <field name="Use Super-Res Flag" dword="3" bits="5:5" type="bool" />
+ <field name="Frame Level Loop Restoration Filter Enable" dword="3" bits="6:6" type="bool" />
+ <field name="Frame Type" dword="3" bits="17:16" type="uint" />
+ <field name="Intra Only Flag" dword="3" bits="19:19" type="bool" />
+ <field name="Error Resilient Mode Flag" dword="3" bits="22:22" type="bool" />
+ <field name="Allow IntraBC Flag" dword="3" bits="23:23" type="bool" />
+ <field name="Primary Reference Frame Idx" dword="3" bits="30:28" type="uint" />
+ <field name="Segmentation Enable Flag" dword="4" bits="0:0" type="bool" />
+ <field name="Segmentation Update Map Flag" dword="4" bits="1:1" type="bool" />
+ <field name="Segmentation Temporal Update Flag" dword="4" bits="2:2" type="bool" />
+ <field name="Pre Skip Segment ID Flag" dword="4" bits="3:3" type="bool" />
+ <field name="Last Active Segment Segment ID" dword="4" bits="6:4" type="uint" />
+ <field name="Delta Q Present Flag" dword="4" bits="7:7" type="bool" />
+ <field name="Delta Q Res" dword="4" bits="9:8" type="uint" />
+ <field name="Frame Coded Lossless Mode" dword="4" bits="10:10" type="bool" />
+ <field name="Segment Map is Zero Flag" dword="4" bits="11:11" type="bool" />
+ <field name="Segment ID Buffer Stream In Enable Flag" dword="4" bits="12:12" type="bool" />
+ <field name="Segment ID Buffer Stream Out Enable Flag" dword="4" bits="13:13" type="bool" />
+ <field name="Base Qindex" dword="4" bits="23:16" type="uint" />
+ <field name="Y dc delta Q" dword="4" bits="30:24" type="int" />
+ <field name="U dc delta Q" dword="5" bits="6:0" type="int" />
+ <field name="U ac delta Q" dword="5" bits="14:8" type="int" />
+ <field name="V dc delta Q" dword="5" bits="22:16" type="int" />
+ <field name="V ac delta Q" dword="5" bits="30:24" type="int" />
+ <field name="Allow High Precision MV" dword="6" bits="0:0" type="bool" />
+ <field name="Frame Level Reference Mode Select" dword="6" bits="1:1" type="bool" />
+ <field name="Mcomp Filter Type" dword="6" bits="4:2" type="uint">
+ <value name="Eight Tap" value="0" />
+ <value name="Eight Tap Smooth" value="1" />
+ <value name="Eight Tap Sharp" value="2" />
+ <value name="Bilinear" value="3" />
+ <value name="Switchable" value="4" />
+ </field>
+ <field name="Motion Mode Switchable Flag" dword="6" bits="6:6" type="bool" />
+ <field name="Use Reference Frame MV Set Flag" dword="6" bits="7:7" type="bool" />
+ <field name="Reference Frame Sign Bias" dword="6" bits="15:8" type="uint" />
+ <field name="Current Frame Order Hint" dword="6" bits="23:16" type="uint" />
+ <field name="Reduced Tx Set Used" dword="7" bits="0:0" type="bool" />
+ <field name="Frame Transform Mode" dword="7" bits="2:1" type="uint" />
+ <field name="Skip Mode Present Flag" dword="7" bits="4:4" type="bool" />
+ <field name="Skip Mode Frame 0" dword="7" bits="7:5" type="uint" />
+ <field name="Skip Mode Frame 1" dword="7" bits="11:9" type="uint" />
+ <field name="Reference Frame Side" dword="7" bits="31:24" type="uint" />
+ <field name="Global Motion Type 1" dword="8" bits="4:3" type="uint" />
+ <field name="Global Motion Type 2" dword="8" bits="7:6" type="uint" />
+ <field name="Global Motion Type 3" dword="8" bits="10:9" type="uint" />
+ <field name="Global Motion Type 4" dword="8" bits="13:12" type="uint" />
+ <field name="Global Motion Type 5" dword="8" bits="16:15" type="uint" />
+ <field name="Global Motion Type 6" dword="8" bits="19:18" type="uint" />
+ <field name="Global Motion Type 7" dword="8" bits="22:21" type="uint" />
+ <field name="Frame Level Global Motion Invalid Flags" dword="8" bits="31:24" type="uint" />
+ <group count="42" dword="9" size="16">
+ <field name="Warp Parameters" dword="0" bits="15:0" type="uint" />
+ </group>
+ <field name="Reference Frame Idx 0" dword="30" bits="2:0" type="uint" />
+ <field name="Reference Frame Idx 1" dword="30" bits="6:4" type="uint" />
+ <field name="Reference Frame Idx 2" dword="30" bits="10:8" type="uint" />
+ <field name="Reference Frame Idx 3" dword="30" bits="14:12" type="uint" />
+ <field name="Reference Frame Idx 4" dword="30" bits="18:16" type="uint" />
+ <field name="Reference Frame Idx 5" dword="30" bits="22:20" type="uint" />
+ <field name="Reference Frame Idx 6" dword="30" bits="26:24" type="uint" />
+ <field name="Reference Frame Idx 7" dword="30" bits="30:28" type="uint" />
+ <field name="Intra Frame Width in Pixel Minus 1" dword="31" bits="15:0" type="uint" />
+ <field name="Intra Frame Height in Pixel Minus 1" dword="31" bits="31:16" type="uint" />
+ <field name="Last Frame Width in Pixel Minus 1" dword="32" bits="15:0" type="uint" />
+ <field name="Last Frame Height in Pixel Minus 1" dword="32" bits="31:16" type="uint" />
+ <field name="Last2 Frame Width in Pixel Minus 1" dword="33" bits="15:0" type="uint" />
+ <field name="Last2 Frame Height in Pixel Minus 1" dword="33" bits="31:16" type="uint" />
+ <field name="Last3 Frame Width in Pixel Minus 1" dword="34" bits="15:0" type="uint" />
+ <field name="Last3 Frame Height in Pixel Minus 1" dword="34" bits="31:16" type="uint" />
+ <field name="Golden Frame Width in Pixel Minus 1" dword="35" bits="15:0" type="uint" />
+ <field name="Golden Frame Height in Pixel Minus 1" dword="35" bits="31:16" type="uint" />
+ <field name="BWDREF Frame Width in Pixel Minus 1" dword="36" bits="15:0" type="uint" />
+ <field name="BWDREF Frame Height in Pixel Minus 1" dword="36" bits="31:16" type="uint" />
+ <field name="ALTREF2 Frame Width in Pixel Minus 1" dword="37" bits="15:0" type="uint" />
+ <field name="ALTREF2 Frame Height in Pixel Minus 1" dword="37" bits="31:16" type="uint" />
+ <field name="ALTREF Frame Width in Pixel Minus 1" dword="38" bits="15:0" type="uint" />
+ <field name="ALTREF Frame Height in Pixel Minus 1" dword="38" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Intra" dword="39" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Intra" dword="39" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Last" dword="40" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Last" dword="40" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Last2" dword="41" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Last2" dword="41" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Last3" dword="42" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Last3" dword="42" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Golden" dword="43" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Golden" dword="43" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For BWDREF" dword="44" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For BWDREF" dword="44" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For ALTREF2" dword="45" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For ALTREF2" dword="45" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For ALTREF" dword="46" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For ALTREF" dword="46" bits="31:16" type="uint" />
+ <group count="8" dword="47" size="8">
+ <field name="Reference Frame Order Hint" dword="0" bits="7:0" type="uint" />
+ </group>
+ <field name="NonFirstPassFlag" dword="51" bits="16:16" type="bool" />
+ <field name="FrameSzOverStatusEn - FrameBitRateMaxReportMask" dword="51" bits="25:25" type="bool" />
+ <field name="FrameSzUnderStatusEn - FrameBitRateMinReportMask" dword="51" bits="26:26" type="bool" />
+ <field name="FrameBitRateMax" dword="52" bits="13:0" type="uint" />
+ <field name="FrameBitrateMaxUnit" dword="52" bits="31:31" type="FRAME_BITRATE_UNITS" />
+ <field name="FrameBitRateMin" dword="53" bits="13:0" type="uint" />
+ <field name="FrameBitrateMinUnit" dword="53" bits="31:31" type="FRAME_BITRATE_UNITS" />
+ <field name="FrameDeltaQindexMax" dword="54" bits="63:0" type="uint" />
+ <field name="FrameDeltaQindexMin" dword="56" bits="31:0" type="uint" />
+ <field name="FrameDeltaLFMax" dword="57" bits="63:0" type="uint" />
+ <field name="FrameDeltaLFMin" dword="59" bits="31:0" type="uint" />
+ <field name="FrameDeltaQindexLFMaxRange" dword="60" bits="63:0" type="uint" />
+ <field name="FrameDeltaQindexLFMinRange" dword="62" bits="31:0" type="uint" />
+ <field name="MinFrameSize" dword="63" bits="15:0" type="uint" />
+ <field name="MinFrameSizeUnits" dword="63" bits="31:30" type="uint">
+ <value name="4K Byte Units" value="0" />
+ <value name="16K Byte Units" value="1" />
+ <value name="Compatibility Mode" value="2" />
+ <value name="6 Byte Units" value="3" />
+ </field>
+ <field name="Reserved MBZ" dword="64" bits="15:0" type="uint" />
+ <field name="Class0 SSE Threshold0" dword="65" bits="15:0" type="uint" />
+ <field name="Class0 SSE Threshold1" dword="65" bits="31:16" type="uint" />
+ <group count="8" dword="66" size="8">
+ <field name="SSE Thresholds For Class" dword="0" bits="7:0" type="uint" />
+ </group>
+ <field name="rdmult" dword="74" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="AVP_PIPE_BUF_ADDR_STATE" bias="2" length="212" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="210" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="8" dword="1" size="64">
+ <field name="Reference Picture - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Reference Picture - Attributes" dword="17" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Decoded Output Frame Buffer Address" dword="18" bits="63:0" type="address" />
+ <field name="Decoded Output Frame Buffer Address - Attributes" dword="20" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="IntraBC Decoded Output Frame Buffer Address" dword="24" bits="63:0" type="address" />
+ <field name="IntraBC Decoded Output Frame Buffer Address - Attributes" dword="26" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDF Tables Initialization Buffer Address" dword="27" bits="63:0" type="address" />
+ <field name="CDF Tables Initialization Buffer Address - Attributes" dword="29" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDF Tables Backward Adaptation Buffer Address" dword="30" bits="63:0" type="address" />
+ <field name="CDF Tables Backward Adaptation Buffer Address - Attributes" dword="32" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="AV1 Segment ID Read Buffer Address" dword="33" bits="63:0" type="address" />
+ <field name="AV1 Segment ID Read Buffer Address - Attributes" dword="35" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="AV1 Segment ID Write Buffer Address" dword="36" bits="63:0" type="address" />
+ <field name="AV1 Segment ID Write Buffer Address - Attributes" dword="38" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <group count="8" dword="39" size="64">
+ <field name="Collocated MV Temporal Buffer - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Collocated MV Temporal Buffer - Attributes" dword="55" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Current Frame MV Write Buffer Address" dword="56" bits="63:0" type="address" />
+ <field name="Current Frame MV Write Buffer Address - Attributes" dword="58" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Bitstream Line Rowstore Buffer Address" dword="62" bits="63:0" type="address" />
+ <field name="Bitstream Line Rowstore Buffer Address - Attributes" dword="64" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Bitstream Tile Line Rowstore Buffer Address" dword="65" bits="63:0" type="address" />
+ <field name="Bitstream Tile Line Rowstore Buffer Address - Attributes" dword="67" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Intra Prediction Line Rowstore Buffer Address" dword="68" bits="63:0" type="address" />
+ <field name="Intra Prediction Line Rowstore Buffer Address - Attributes" dword="70" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Intra Prediction Tile Line Rowstore Buffer Address" dword="71" bits="63:0" type="address" />
+ <field name="Intra Prediction Tile Line Rowstore Buffer Address - Attributes" dword="73" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Spatial Motion Vector Line Buffer Address" dword="74" bits="63:0" type="address" />
+ <field name="Spatial Motion Vector Line Buffer Address - Attributes" dword="76" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Spatial Motion Vector Tile Line Buffer Address" dword="77" bits="63:0" type="address" />
+ <field name="Spatial Motion Vector Tile Line Buffer Address - Attributes" dword="79" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Meta Tile Column Buffer Address" dword="80" bits="63:0" type="address" />
+ <field name="Loop Restoration Meta Tile Column Buffer Address - Attributes" dword="82" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Line Y Buffer Address" dword="83" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Line Y Buffer Address - Attributes" dword="85" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Line U Buffer Address" dword="86" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Line U Buffer Address - Attributes" dword="88" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Line V Buffer Address" dword="89" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Line V Buffer Address - Attributes" dword="91" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Line Y Buffer Address" dword="92" bits="63:0" type="address" />
+ <field name="Deblocker Filter Line Y Buffer Address - Attributes" dword="94" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Line U Buffer Address" dword="95" bits="63:0" type="address" />
+ <field name="Deblocker Filter Line U Buffer Address - Attributes" dword="97" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Line V Buffer Address" dword="98" bits="63:0" type="address" />
+ <field name="Deblocker Filter Line V Buffer Address - Attributes" dword="100" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Line Y Buffer Address" dword="101" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Line Y Buffer Address - Attributes" dword="103" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Line U Buffer Address" dword="104" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Line U Buffer Address - Attributes" dword="106" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Line V Buffer Address" dword="107" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Line V Buffer Address - Attributes" dword="109" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Column Y Buffer Address" dword="110" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Column Y Buffer Address - Attributes" dword="112" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Column U Buffer Address" dword="113" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Column U Buffer Address - Attributes" dword="115" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Column V Buffer Address" dword="116" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Column V Buffer Address - Attributes" dword="118" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Line Buffer Address" dword="119" bits="63:0" type="address" />
+ <field name="CDEF Filter Line Buffer Address - Attributes" dword="121" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Tile Line Buffer Address" dword="128" bits="63:0" type="address" />
+ <field name="CDEF Filter Tile Line Buffer Address - Attributes" dword="130" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Tile Column Buffer Address" dword="137" bits="63:0" type="address" />
+ <field name="CDEF Filter Tile Column Buffer Address - Attributes" dword="139" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Meta Tile Line Buffer Address" dword="140" bits="63:0" type="address" />
+ <field name="CDEF Filter Meta Tile Line Buffer Address - Attributes" dword="142" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Meta Tile Column Buffer Address" dword="143" bits="63:0" type="address" />
+ <field name="CDEF Filter Meta Tile Column Buffer Address - Attributes" dword="145" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Top Left Corner Buffer Address" dword="146" bits="63:0" type="address" />
+ <field name="CDEF Filter Top Left Corner Buffer Address - Attributes" dword="148" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Super Res Tile Column Y Buffer Address" dword="149" bits="63:0" type="address" />
+ <field name="Super Res Tile Column Y Buffer Address - Attributes" dword="151" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Super Res Tile Column U Buffer Address" dword="152" bits="63:0" type="address" />
+ <field name="Super Res Tile Column U Buffer Address - Attributes" dword="154" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Super Res Tile Column V Buffer Address" dword="155" bits="63:0" type="address" />
+ <field name="Super Res Tile Column V Buffer Address - Attributes" dword="157" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Column Y Buffer Address" dword="158" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Column Y Buffer Address - Attributes" dword="160" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Column U Buffer Address" dword="161" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Column U Buffer Address - Attributes" dword="163" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Column V Buffer Address" dword="164" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Column V Buffer Address - Attributes" dword="166" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Decoded Frame Status Error Buffer Address" dword="176" bits="63:0" type="address" />
+ <field name="Decoded Frame Status Error Buffer Address - Attributes" dword="178" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Decoded Block Data Streamout Buffer Address" dword="179" bits="63:0" type="address" />
+ <field name="Decoded Block Data Streamout Buffer Address - Attributes" dword="181" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Original Uncompressed Picture Source Buffer Address" dword="188" bits="63:0" type="address" />
+ <field name="Original Uncompressed Picture Source Buffer Address - Attributes" dword="190" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Downscaled Uncompressed Picture Source Buffer Address" dword="191" bits="63:0" type="address" />
+ <field name="Downscaled Uncompressed Picture Source Buffer Address - Attributes" dword="193" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Tile Size Streamout Buffer Address" dword="194" bits="63:0" type="address" />
+ <field name="Tile Size Streamout Buffer Address - Attributes" dword="196" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Tile Statistics Streamout Buffer Address" dword="197" bits="63:0" type="address" />
+ <field name="Tile Statistics Streamout Buffer Address - Attributes" dword="199" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CU Streamout Buffer Address" dword="200" bits="63:0" type="address" />
+ <field name="CU Streamout Buffer Address - Attributes" dword="202" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SSE Line Read/Write Buffer Address" dword="203" bits="63:0" type="address" />
+ <field name="SSE Line Read/Write Buffer Address - Attributes" dword="205" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SSE Tile Line Read/Write Buffer Address" dword="206" bits="63:0" type="address" />
+ <field name="SSE Tile Line Read/Write Buffer Address - Attributes" dword="208" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="PostCDEF Pixels Buffer Address" dword="209" bits="63:0" type="address" />
+ <field name="PostCDEF Pixels Buffer Address - Attributes" dword="211" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </instruction>
+ <instruction name="AVP_PIPE_MODE_SELECT" bias="2" length="7" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="5" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Codec Select" dword="1" bits="0:0" type="bool">
+ <value name="Decode" value="0" />
+ <value name="Encode" value="1" />
+ </field>
+ <field name="Pic Status/Error Report Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Frame Reconstruction Disable" dword="1" bits="4:4" type="bool" />
+ <field name="Codec Standard Select" dword="1" bits="7:5" type="uint" default="2" />
+ <field name="Tile Statistics Streamout Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Multi Engine Mode" dword="1" bits="14:13" type="uint">
+ <value name="Single Engine Mode" value="0" />
+ <value name="Left Engine Mode" value="1" />
+ <value name="Right Engine Mode" value="2" />
+ <value name="Middle Engine Mode" value="3" />
+ </field>
+ <field name="Pipe Working Mode" dword="1" bits="16:15" type="uint">
+ <value name="Legacy Single Pipe" value="0" />
+ <value name="Encode Mode" value="2" />
+ <value name="Decode Scalable Mode" value="3" />
+ </field>
+ <field name="Pic Status/Error Report ID" dword="3" bits="31:0" type="uint" />
+ <field name="Source Pixel Prefetch Length" dword="6" bits="4:2" type="uint" />
+ <field name="Source Pixel Prefetch Enable" dword="6" bits="5:5" type="bool" />
+ </instruction>
+ <instruction name="AVP_TILE_CODING" bias="2" length="7" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="5" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="21" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Tile ID" dword="1" bits="11:0" type="uint" />
+ <field name="TG Tile Num" dword="1" bits="23:12" type="uint" />
+ <field name="Tile Group ID" dword="1" bits="31:24" type="uint" />
+ <field name="Tile Column Position in SB Unit" dword="2" bits="9:0" type="uint" />
+ <field name="Tile Row Position in SB Unit" dword="2" bits="25:16" type="uint" />
+ <field name="Tile Width in SB Minus 1" dword="3" bits="5:0" type="uint" />
+ <field name="Tile Height in SB Minus 1" dword="3" bits="25:16" type="uint" />
+ <field name="First Tile in a Frame" dword="4" bits="23:23" type="bool" />
+ <field name="Is Last Tile of Column Flag" dword="4" bits="25:25" type="bool" />
+ <field name="Is Last Tile of Row Flag" dword="4" bits="26:26" type="bool" />
+ <field name="Is Start Tile of Tile Group Flag" dword="4" bits="27:27" type="bool" />
+ <field name="Is End Tile of Tile Group Flag" dword="4" bits="28:28" type="bool" />
+ <field name="Is Last Tile of Frame Flag" dword="4" bits="29:29" type="bool" />
+ <field name="Disable CDF Update Flag" dword="4" bits="30:30" type="bool" />
+ <field name="Disable Frame Context Update Flag" dword="4" bits="31:31" type="bool" />
+ <field name="Number of Active BE Pipes" dword="5" bits="7:0" type="uint" />
+ <field name="Num of Tile Columns in Frame Minus 1" dword="5" bits="21:12" type="uint" />
+ <field name="Num of Tile Rows in Frame Minus 1" dword="5" bits="31:22" type="uint" />
+ <field name="Output Decoded Tile Column Position in SB Unit" dword="6" bits="9:0" type="uint" />
+ <field name="Output Decoded Tile Row Position in SB Unit" dword="6" bits="25:16" type="uint" />
+ </instruction>
+ <instruction name="CFE_STATE" bias="2" length="6" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="CFE SubOpcode Variant" dword="0" bits="17:16" type="uint" default="0" />
+ <field name="CFE SubOpcode" dword="0" bits="23:18" type="uint" default="0" />
+ <field name="Compute Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Scratch Space Buffer" dword="1" bits="31:10" type="uint" />
+ <field name="Number of Walkers" dword="3" bits="5:3" type="uint" />
+ <field name="Fused EU Dispatch" dword="3" bits="6:6" type="bool" />
+ <field name="Single Slice Dispatch CCS Mode" dword="3" bits="13:13" type="bool" />
+ <field name="Over Dispatch Control" dword="3" bits="15:14" type="uint">
+ <value name="Over Dispatch None" value="0" />
+ <value name="Over Dispatch Low" value="1" />
+ <value name="Over Dispatch Normal" value="2" />
+ <value name="Over Dispatch High" value="3" />
+ </field>
+ <field name="Maximum Number of Threads" dword="3" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="COMPUTE_WALKER" bias="2" length="39" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="37" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Workload Partition Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Systolic Mode Enable" dword="0" bits="14:14" type="bool" />
+ <field name="CFE SubOpcode Variant" dword="0" bits="17:16" type="uint" default="0" />
+ <field name="CFE SubOpcode" dword="0" bits="23:18" type="uint" default="2" />
+ <field name="Compute Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="body" dword="1" bits="1216:0" type="COMPUTE_WALKER_BODY" />
+ </instruction>
+ <instruction name="EXECUTE_INDIRECT_DISPATCH" bias="2" length="44" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="42" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="MOCS" dword="0" bits="15:12" type="uint" nonzero="true" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="4" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Max Count" dword="1" bits="31:0" type="uint" />
+ <field name="Count Buffer Indirect Enable" dword="2" bits="0:0" type="bool" />
+ <field name="Count Buffer Address" dword="2" bits="63:2" type="address" />
+ <field name="Argument Buffer Start Address" dword="4" bits="63:2" type="address" />
+ <field name="body" dword="6" bits="1215:0" type="COMPUTE_WALKER_BODY" />
+ </instruction>
+ <instruction name="EXECUTE_INDIRECT_DRAW" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="TBIMR Enabled" dword="0" bits="9:9" type="uint" />
+ <field name="Argument Format" dword="0" bits="11:10" type="uint" prefix="XI">
+ <value name="DRAW" value="0" />
+ <value name="DRAWINDEXED" value="1" />
+ <value name="MESH_3D" value="2" />
+ <value name="MESH_1D" value="3" />
+ </field>
+ <field name="MOCS" dword="0" bits="15:12" type="uint" nonzero="true" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="4" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Max Count" dword="1" bits="31:0" type="uint" />
+ <field name="Count Buffer Indirect Enable" dword="2" bits="0:0" type="bool" />
+ <field name="Count Buffer Address" dword="2" bits="63:2" type="address" />
+ <field name="Argument Buffer Start Address" dword="4" bits="63:2" type="address" />
+ </instruction>
+ <instruction name="HCP_FQM_STATE" bias="2" length="34" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="32" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="5" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Intra/Inter" dword="1" bits="0:0" type="uint">
+ <value name="Intra" value="0" />
+ <value name="Inter" value="1" />
+ </field>
+ <field name="SizeID" dword="1" bits="2:1" type="uint" prefix="SZ">
+ <value name="4x4" value="0" />
+ <value name="8x8" value="1" />
+ <value name="16x16" value="2" />
+ <value name="32x32" value="3" />
+ </field>
+ <field name="Color Component" dword="1" bits="4:3" type="uint">
+ <value name="Luma" value="0" />
+ <value name="Chroma Cb" value="1" />
+ <value name="Chroma Cr" value="2" />
+ </field>
+ <field name="FQM DC Value" dword="1" bits="31:16" type="uint" />
+ <group count="128" dword="2" size="8">
+ <field name="Quantizer Matrix 8x8" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MI_FLUSH_DW" bias="2" length="5" engine="blitter|compute|video">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="3" />
+ <field name="Video Pipeline Cache Invalidate" dword="0" bits="7:7" type="bool" />
+ <field name="Notify Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Flush LLC" dword="0" bits="9:9" type="bool" />
+ <field name="Post-Sync Operation" dword="0" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="Flush CCS" dword="0" bits="16:16" type="bool" />
+ <field name="TLB Invalidate" dword="0" bits="18:18" type="bool" />
+ <field name="Store Data Index" dword="0" bits="21:21" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="38" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Destination Address Type" dword="1" bits="2:2" type="uint" prefix="DAT">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Address" dword="1" bits="47:3" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="MI_MATH" bias="2">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="MOCS" dword="0" bits="14:8" type="uint" nonzero="true" />
+ <field name="Predication Enable" dword="0" bits="15:15" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="26" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <group count="0" dword="1" size="32">
+ <field name="Instruction" dword="0" bits="31:0" type="MI_MATH_ALU_INSTRUCTION" />
+ </group>
+ </instruction>
+ <instruction name="MI_REPORT_PERF_COUNT" bias="2" length="4" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="2" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="40" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Use Global GTT" dword="1" bits="0:0" type="bool" />
+ <field name="Core Mode Enable" dword="1" bits="4:4" type="uint" />
+ <field name="Memory Address" dword="1" bits="63:6" type="address" />
+ <field name="Report ID" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_SET_PREDICATE" bias="1" length="1">
+ <field name="Predicate Enable" dword="0" bits="3:0" type="uint">
+ <value name="NOOP Never" value="0" />
+ <value name="NOOP On Result2 Clear" value="1" />
+ <value name="NOOP On Result2 Set" value="2" />
+ <value name="NOOP On Result Clear" value="3" />
+ <value name="NOOP On Result Set" value="4" />
+ <value name="NOOP Always" value="15" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render|compute">
+ <field name="Pipeline Selection" dword="0" bits="1:0" type="uint">
+ <value name="3D" value="0" />
+ <value name="Media" value="1" />
+ <value name="GPGPU" value="2" />
+ </field>
+ <field name="Media Sampler DOP Clock Gate Enable" dword="0" bits="4:4" type="bool" />
+ <field name="Force Media Awake" dword="0" bits="5:5" type="bool" />
+ <field name="Systolic Mode Enable" dword="0" bits="7:7" type="bool" />
+ <field name="Mask Bits" dword="0" bits="15:8" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ </instruction>
+ <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="HDC Pipeline Flush Enable" dword="0" bits="9:9" type="bool" />
+ <field name="L3 Read Only Cache Invalidation Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Untyped Data Port Cache Flush Enable" dword="0" bits="11:11" type="bool" />
+ <field name="CCS Flush Enable" dword="0" bits="13:13" type="bool" />
+ <field name="Workload Partition ID Offset Enable" dword="0" bits="14:14" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Cache Flush Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Stall At Pixel Scoreboard" dword="1" bits="1:1" type="bool" />
+ <field name="State Cache Invalidation Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Constant Cache Invalidation Enable" dword="1" bits="3:3" type="bool" />
+ <field name="VF Cache Invalidation Enable" dword="1" bits="4:4" type="bool" />
+ <field name="DC Flush Enable" dword="1" bits="5:5" type="bool" />
+ <field name="Protected Memory Application ID" dword="1" bits="6:6" type="bool" />
+ <field name="Pipe Control Flush Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Notify Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Indirect State Pointers Disable" dword="1" bits="9:9" type="bool" />
+ <field name="Texture Cache Invalidation Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Instruction Cache Invalidate Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Render Target Cache Flush Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Depth Stall Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Post Sync Operation" dword="1" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write PS Depth Count" value="2" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="Generic Media State Clear" dword="1" bits="16:16" type="bool" />
+ <field name="PSS Stall Sync Enable" dword="1" bits="17:17" type="bool" />
+ <field name="TLB Invalidate" dword="1" bits="18:18" type="bool" />
+ <field name="Depth Stall Sync Enable" dword="1" bits="19:19" type="bool" />
+ <field name="Command Streamer Stall Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Store Data Index" dword="1" bits="21:21" type="uint" />
+ <field name="Protected Memory Enable" dword="1" bits="22:22" type="bool" />
+ <field name="LRI Post Sync Operation" dword="1" bits="23:23" type="uint">
+ <value name="No LRI Operation" value="0" />
+ <value name="MMIO Write Immediate Data" value="1" />
+ </field>
+ <field name="Destination Address Type" dword="1" bits="24:24" type="uint" prefix="DAT">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="AMFS Flush Enable" dword="1" bits="25:25" type="bool" />
+ <field name="Flush LLC" dword="1" bits="26:26" type="bool" />
+ <field name="Protected Memory Disable" dword="1" bits="27:27" type="bool" />
+ <field name="Tile Cache Flush Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Command Cache Invalidate Enable" dword="1" bits="29:29" type="bool" />
+ <field name="L3 Fabric Flush" dword="1" bits="30:30" type="bool" />
+ <field name="TBIMR Force Batch Closure" dword="1" bits="31:31" type="uint">
+ <value name="No Batch Closure" value="0" />
+ <value name="Close Batch" value="1" />
+ </field>
+ <field name="Address" dword="2" bits="47:2" type="address" />
+ <field name="Immediate Data" dword="4" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="STATE_BASE_ADDRESS" bias="2" length="22" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="20" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="General State Base Address Modify Enable" dword="1" bits="0:0" type="bool" />
+ <field name="General State MOCS" dword="1" bits="10:4" type="uint" nonzero="true" />
+ <field name="General State Base Address" dword="1" bits="63:12" type="address" />
+ <field name="Stateless Data Port Access MOCS" dword="3" bits="22:16" type="uint" nonzero="true" />
+ <field name="L1 Cache Control" dword="3" bits="25:23" type="uint" prefix="L1CC">
+ <value name="WBP" value="0" dont_use="1" />
+ <value name="UC" value="1" dont_use="1" />
+ <value name="WB" value="2" />
+ <value name="WT" value="3" />
+ <value name="WS" value="4" />
+ </field>
+ <field name="Surface State Base Address Modify Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Surface State MOCS" dword="4" bits="10:4" type="uint" nonzero="true" />
+ <field name="Surface State Base Address" dword="4" bits="63:12" type="address" />
+ <field name="Dynamic State Base Address Modify Enable" dword="6" bits="0:0" type="bool" />
+ <field name="Dynamic State MOCS" dword="6" bits="10:4" type="uint" nonzero="true" />
+ <field name="Dynamic State Base Address" dword="6" bits="63:12" type="address" />
+ <field name="Indirect Object Base Address Modify Enable" dword="8" bits="0:0" type="bool" />
+ <field name="Indirect Object MOCS" dword="8" bits="10:4" type="uint" nonzero="true" />
+ <field name="Indirect Object Base Address" dword="8" bits="63:12" type="address" />
+ <field name="Instruction Base Address Modify Enable" dword="10" bits="0:0" type="bool" />
+ <field name="Instruction MOCS" dword="10" bits="10:4" type="uint" nonzero="true" />
+ <field name="Instruction Base Address" dword="10" bits="63:12" type="address" />
+ <field name="General State Buffer Size Modify Enable" dword="12" bits="0:0" type="bool" />
+ <field name="General State Buffer Size" dword="12" bits="31:12" type="uint" />
+ <field name="Dynamic State Buffer Size Modify Enable" dword="13" bits="0:0" type="bool" />
+ <field name="Dynamic State Buffer Size" dword="13" bits="31:12" type="uint" />
+ <field name="Indirect Object Buffer Size Modify Enable" dword="14" bits="0:0" type="bool" />
+ <field name="Indirect Object Buffer Size" dword="14" bits="31:12" type="uint" />
+ <field name="Instruction Buffer size Modify Enable" dword="15" bits="0:0" type="bool" />
+ <field name="Instruction Buffer Size" dword="15" bits="31:12" type="uint" />
+ <field name="Bindless Surface State Base Address Modify Enable" dword="16" bits="0:0" type="bool" />
+ <field name="Bindless Surface State MOCS" dword="16" bits="10:4" type="uint" nonzero="true" />
+ <field name="Bindless Surface State Base Address" dword="16" bits="63:12" type="address" />
+ <field name="Bindless Surface State Size" dword="18" bits="31:0" type="uint" />
+ <field name="Bindless Sampler State Base Address Modify Enable" dword="19" bits="0:0" type="bool" />
+ <field name="Bindless Sampler State MOCS" dword="19" bits="10:4" type="uint" nonzero="true" />
+ <field name="Bindless Sampler State Base Address" dword="19" bits="63:12" type="address" />
+ <field name="Bindless Sampler State Buffer Size" dword="21" bits="31:12" type="uint" />
+ </instruction>
+ <instruction name="STATE_COMPUTE_MODE" bias="2" length="2" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Z Pass Async Compute Thread Limit" dword="1" bits="2:0" type="uint" prefix="ZPACTL">
+ <value name="Max 60" value="0" />
+ <value name="Max 64" value="1" />
+ <value name="Max 56" value="2" />
+ <value name="Max 48" value="3" />
+ </field>
+ <field name="Force Non-Coherent DG2" dword="1" bits="4:3" type="uint">
+ <value name="Force Disabled" value="0" />
+ <value name="Force CPU Non-Coherent" value="1" />
+ <value name="Force GPU Non-Coherent" value="2" />
+ </field>
+ <field name="Z Async Throttle settings" dword="1" bits="4:3" type="uint" prefix="ZATS">
+ <value name="Defer to Pixel Async Compute Thread Limit" value="0" />
+ <value name="Max 32" value="1" />
+ <value name="Max 40" value="2" />
+ <value name="Max 48" value="3" />
+ </field>
+ <field name="Fast Clear Disabled on Compressed Surface" dword="1" bits="5:5" type="bool" />
+ <field name="Disable SLM Read Merge Optimization" dword="1" bits="6:6" type="bool" />
+ <field name="Pixel Async Compute Thread Limit" dword="1" bits="9:7" type="uint" prefix="PACTL">
+ <value name="Disabled" value="0" />
+ <value name="Max 2" value="1" />
+ <value name="Max 8" value="2" />
+ <value name="Max 16" value="3" />
+ <value name="Max 24" value="4" />
+ <value name="Max 32" value="5" />
+ <value name="Max 40" value="6" />
+ <value name="Max 48" value="7" />
+ </field>
+ <field name="Disable Atomic on Clear Data" dword="1" bits="11:11" type="bool" />
+ <field name="Disable L1 Invalidate for non-L1-cacheable Writes" dword="1" bits="13:13" type="bool" />
+ <field name="Large GRF Mode" dword="1" bits="15:15" type="bool" />
+ <field name="Z Pass Async Compute Thread Limit Mask" dword="1" bits="18:16" type="uint" />
+ <field name="Mask1" dword="1" bits="31:16" type="uint" />
+ <field name="Force Non-Coherent DG2 Mask" dword="1" bits="20:19" type="uint" />
+ <field name="Z Async Throttle settings Mask" dword="1" bits="20:19" type="uint" />
+ <field name="Fast Clear Disabled on Compressed Surface Mask" dword="1" bits="21:21" type="bool" />
+ <field name="Disable SLM Read Merge Optimization Mask" dword="1" bits="22:22" type="bool" />
+ <field name="Pixel Async Compute Thread Limit Mask" dword="1" bits="25:23" type="uint" />
+ <field name="Disable Atomic on Clear Data Mask" dword="1" bits="27:27" type="bool" />
+ <field name="Disable L1 Invalidate for non-L1-cacheable Writes Mask" dword="1" bits="29:29" type="bool" />
+ <field name="Large GRF Mode Mask" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="STATE_SIP" bias="2" length="3" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="2" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="System Instruction Pointer" dword="1" bits="63:4" type="offset" />
+ </instruction>
+ <instruction name="XY_BLOCK_COPY_BLT" bias="2" length="22" engine="blitter">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="20" />
+ <field name="Special Mode of Operation" dword="0" bits="13:12" type="uint">
+ <value name="NONE" value="0" />
+ <value name="FULL_RESOLVE" value="1" />
+ <value name="PARTIAL_RESOLVE" value="2" />
+ </field>
+ <field name="Color Depth" dword="0" bits="21:19" type="uint" prefix="XY_BPP">
+ <value name="8_BIT" value="0" />
+ <value name="16_BIT" value="1" />
+ <value name="32_BIT" value="2" />
+ <value name="64_BIT" value="3" />
+ <value name="96_BIT" value="4" />
+ <value name="128_BIT" value="5" />
+ </field>
+ <field name="Opcode" dword="0" bits="28:22" type="uint" default="0x41" />
+ <field name="Client" dword="0" bits="31:29" type="uint" default="2" />
+ <field name="Destination Pitch" dword="1" bits="17:0" type="uint" />
+ <field name="Destination Auxiliary Surface Mode" dword="1" bits="20:18" type="uint" prefix="XY_AUX">
+ <value name="NONE" value="0" />
+ <value name="CCS_E" value="5" />
+ </field>
+ <field name="Destination MOCS" dword="1" bits="27:21" type="uint" nonzero="true" />
+ <field name="Destination Control Surface Type" dword="1" bits="28:28" type="uint" />
+ <field name="Destination Compression Enable" dword="1" bits="29:29" type="bool" />
+ <field name="Destination Tiling" dword="1" bits="31:30" type="uint" prefix="XY_TILE">
+ <value name="LINEAR" value="0" />
+ <value name="X" value="1" />
+ <value name="4" value="2" />
+ <value name="64" value="3" />
+ </field>
+ <field name="Destination X1" dword="2" bits="15:0" type="int" />
+ <field name="Destination Y1" dword="2" bits="31:16" type="int" />
+ <field name="Destination X2" dword="3" bits="15:0" type="int" />
+ <field name="Destination Y2" dword="3" bits="31:16" type="int" />
+ <field name="Destination Base Address" dword="4" bits="63:0" type="address" />
+ <field name="Destination X Offset" dword="6" bits="13:0" type="uint" />
+ <field name="Destination Y Offset" dword="6" bits="29:16" type="uint" />
+ <field name="Destination Target Memory" dword="6" bits="31:31" type="uint" prefix="XY_MEM">
+ <value name="LOCAL" value="0" />
+ <value name="SYSTEM" value="1" />
+ </field>
+ <field name="Source X1" dword="7" bits="15:0" type="int" />
+ <field name="Source Y1" dword="7" bits="31:16" type="int" />
+ <field name="Source Pitch" dword="8" bits="17:0" type="uint" />
+ <field name="Source Auxiliary Surface Mode" dword="8" bits="20:18" type="uint" prefix="XY">
+ <value name="NONE" value="0" />
+ <value name="CCS_E" value="5" />
+ </field>
+ <field name="Source MOCS" dword="8" bits="27:21" type="uint" nonzero="true" />
+ <field name="Source Control Surface Type" dword="8" bits="28:28" type="uint" />
+ <field name="Source Compression Enable" dword="8" bits="29:29" type="bool" />
+ <field name="Source Tiling" dword="8" bits="31:30" type="uint" prefix="XY_TILE">
+ <value name="LINEAR" value="0" />
+ <value name="X" value="1" />
+ <value name="4" value="2" />
+ <value name="64" value="3" />
+ </field>
+ <field name="Source Base Address" dword="9" bits="63:0" type="address" />
+ <field name="Source X Offset" dword="11" bits="13:0" type="uint" />
+ <field name="Source Y Offset" dword="11" bits="29:16" type="uint" />
+ <field name="Source Target Memory" dword="11" bits="31:31" type="uint" prefix="XY_MEM">
+ <value name="LOCAL" value="0" />
+ <value name="SYSTEM" value="1" />
+ </field>
+ <field name="Source Compression Format" dword="12" bits="4:0" type="uint" />
+ <field name="Source Clear Value Enable" dword="12" bits="5:5" type="bool" />
+ <field name="Source Clear Address" dword="12" bits="47:6" type="address" />
+ <field name="Destination Compression Format" dword="14" bits="4:0" type="uint" />
+ <field name="Destination Clear Value Enable" dword="14" bits="5:5" type="bool" />
+ <field name="Destination Clear Address" dword="14" bits="47:6" type="address" />
+ <field name="Destination Surface Height" dword="16" bits="13:0" type="uint" />
+ <field name="Destination Surface Width" dword="16" bits="27:14" type="uint" />
+ <field name="Destination Surface Type" dword="16" bits="31:29" type="uint" prefix="XY_SURFTYPE">
+ <value name="1D" value="0" />
+ <value name="2D" value="1" />
+ <value name="3D" value="2" />
+ <value name="CUBE" value="3" />
+ </field>
+ <field name="Destination LOD" dword="17" bits="3:0" type="uint" />
+ <field name="Destination Surface QPitch" dword="17" bits="18:4" type="uint" />
+ <field name="Destination Surface Depth" dword="17" bits="31:21" type="uint" />
+ <field name="Destination Horizontal Align" dword="18" bits="1:0" type="uint">
+ <value name="HALIGN_16" value="0" />
+ <value name="HALIGN_32" value="1" />
+ <value name="HALIGN_64" value="2" />
+ <value name="HALIGN_128" value="3" />
+ </field>
+ <field name="Destination Vertical Align" dword="18" bits="4:3" type="uint">
+ <value name="VALIGN_4" value="1" />
+ <value name="VALIGN_8" value="2" />
+ <value name="VALIGN_16" value="3" />
+ </field>
+ <field name="Destination Mip Tail Start LOD" dword="18" bits="11:8" type="uint" />
+ <field name="Destination Depth/Stencil Resource" dword="18" bits="18:18" type="bool" />
+ <field name="Destination Array Index" dword="18" bits="31:21" type="uint" />
+ <field name="Source Surface Height" dword="19" bits="13:0" type="uint" />
+ <field name="Source Surface Width" dword="19" bits="27:14" type="uint" />
+ <field name="Source Surface Type" dword="19" bits="31:29" type="uint" prefix="XY_SURFTYPE">
+ <value name="1D" value="0" />
+ <value name="2D" value="1" />
+ <value name="3D" value="2" />
+ <value name="CUBE" value="3" />
+ </field>
+ <field name="Source LOD" dword="20" bits="3:0" type="uint" />
+ <field name="Source Surface QPitch" dword="20" bits="18:4" type="uint" />
+ <field name="Source Surface Depth" dword="20" bits="31:21" type="uint" />
+ <field name="Source Horizontal Align" dword="21" bits="1:0" type="uint">
+ <value name="HALIGN_16" value="0" />
+ <value name="HALIGN_32" value="1" />
+ <value name="HALIGN_64" value="2" />
+ <value name="HALIGN_128" value="3" />
+ </field>
+ <field name="Source Vertical Align" dword="21" bits="4:3" type="uint">
+ <value name="VALIGN_4" value="1" />
+ <value name="VALIGN_8" value="2" />
+ <value name="VALIGN_16" value="3" />
+ </field>
+ <field name="Source Mip Tail Start LOD" dword="21" bits="11:8" type="uint" />
+ <field name="Source Depth/Stencil Resource" dword="21" bits="18:18" type="bool" />
+ <field name="Source Array Index" dword="21" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="XY_FAST_COLOR_BLT" bias="2" length="16" engine="blitter">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="14" />
+ <field name="Special Mode of Operation" dword="0" bits="13:12" type="uint">
+ <value name="NONE" value="0" />
+ <value name="FAST_CLEAR_1" value="1" />
+ <value name="FAST_CLEAR_0" value="2" />
+ </field>
+ <field name="Color Depth" dword="0" bits="21:19" type="uint" prefix="XY_BPP">
+ <value name="8_BIT" value="0" />
+ <value name="16_BIT" value="1" />
+ <value name="32_BIT" value="2" />
+ <value name="64_BIT" value="3" />
+ <value name="96_BIT" value="4" />
+ <value name="128_BIT" value="5" />
+ </field>
+ <field name="Opcode" dword="0" bits="28:22" type="uint" default="0x44" />
+ <field name="Client" dword="0" bits="31:29" type="uint" default="2" />
+ <field name="Destination Pitch" dword="1" bits="17:0" type="uint" />
+ <field name="Destination Auxiliary Surface Mode" dword="1" bits="20:18" type="uint" prefix="XY_AUX">
+ <value name="NONE" value="0" />
+ <value name="CCS_E" value="5" />
+ </field>
+ <field name="Destination MOCS" dword="1" bits="27:21" type="uint" nonzero="true" />
+ <field name="Destination Control Surface Type" dword="1" bits="28:28" type="uint" />
+ <field name="Destination Compression Enable" dword="1" bits="29:29" type="bool" />
+ <field name="Destination Tiling" dword="1" bits="31:30" type="uint" prefix="XY_TILE">
+ <value name="LINEAR" value="0" />
+ <value name="X" value="1" />
+ <value name="4" value="2" />
+ <value name="64" value="3" />
+ </field>
+ <field name="Destination X1" dword="2" bits="15:0" type="int" />
+ <field name="Destination Y1" dword="2" bits="31:16" type="int" />
+ <field name="Destination X2" dword="3" bits="15:0" type="int" />
+ <field name="Destination Y2" dword="3" bits="31:16" type="int" />
+ <field name="Destination Base Address" dword="4" bits="63:0" type="address" />
+ <field name="Destination X Offset" dword="6" bits="13:0" type="uint" />
+ <field name="Destination Y Offset" dword="6" bits="29:16" type="uint" />
+ <field name="Destination Target Memory" dword="6" bits="31:31" type="uint" prefix="XY_MEM">
+ <value name="LOCAL" value="0" />
+ <value name="SYSTEM" value="1" />
+ </field>
+ <group count="4" dword="7" size="32">
+ <field name="Fill Color" dword="0" bits="31:0" type="uint" />
+ </group>
+ <field name="Destination Compression Format" dword="11" bits="4:0" type="uint" />
+ <field name="Destination Clear Value Enable" dword="11" bits="5:5" type="bool" />
+ <field name="Destination Clear Address" dword="11" bits="47:6" type="address" />
+ <field name="Destination Surface Height" dword="13" bits="13:0" type="uint" />
+ <field name="Destination Surface Width" dword="13" bits="27:14" type="uint" />
+ <field name="Destination Surface Type" dword="13" bits="31:29" type="uint" prefix="XY_SURFTYPE">
+ <value name="1D" value="0" />
+ <value name="2D" value="1" />
+ <value name="3D" value="2" />
+ <value name="CUBE" value="3" />
+ </field>
+ <field name="Destination LOD" dword="14" bits="3:0" type="uint" />
+ <field name="Destination Surface QPitch" dword="14" bits="18:4" type="uint" />
+ <field name="Destination Surface Depth" dword="14" bits="31:21" type="uint" />
+ <field name="Destination Horizontal Align" dword="15" bits="1:0" type="uint">
+ <value name="HALIGN_16" value="0" />
+ <value name="HALIGN_32" value="1" />
+ <value name="HALIGN_64" value="2" />
+ <value name="HALIGN_128" value="3" />
+ </field>
+ <field name="Destination Vertical Align" dword="15" bits="4:3" type="uint">
+ <value name="VALIGN_4" value="1" />
+ <value name="VALIGN_8" value="2" />
+ <value name="VALIGN_16" value="3" />
+ </field>
+ <field name="Destination Mip Tail Start LOD" dword="15" bits="11:8" type="uint" />
+ <field name="Destination Depth/Stencil Resource" dword="15" bits="18:18" type="bool" />
+ <field name="Destination Array Index" dword="15" bits="31:21" type="uint" />
+ </instruction>
+ <register name="BCS_AUX_TABLE_BASE_ADDR" length="2" num="0x4240">
+ <field name="Address" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="BCS_CCS_AUX_INV" length="1" num="0x4248">
+ <field name="Aux Inv" dword="0" bits="0:0" type="bool" />
+ </register>
+ <register name="CCS_INSTDONE" length="1" num="0x1206c">
+ <field name="Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="VFE Done" dword="0" bits="16:16" type="bool" />
+ <field name="TSG Done" dword="0" bits="17:17" type="bool" />
+ <field name="CS Done" dword="0" bits="21:21" type="bool" />
+ </register>
+ <register name="CHICKEN_RASTER_1" length="1" num="0x6204">
+ <field name="AA Line Quality Fix" dword="0" bits="5:5" type="bool" />
+ <field name="AA Line Quality Fix Mask" dword="0" bits="21:21" type="bool" />
+ </register>
+ <register name="CHICKEN_RASTER_2" length="1" num="0x6208">
+ <field name="TBIMR Batch Size Override" dword="0" bits="1:1" type="bool" />
+ <field name="TBIMR Open Batch Enable" dword="0" bits="4:4" type="bool" />
+ <field name="TBIMR Fast Clip" dword="0" bits="5:5" type="bool" />
+ <field name="TBIMR Batch Size Override Mask" dword="0" bits="17:17" type="bool" />
+ <field name="TBIMR Open Batch Enable Mask" dword="0" bits="20:20" type="bool" />
+ <field name="TBIMR Fast Clip Mask" dword="0" bits="21:21" type="bool" />
+ </register>
+ <register name="COMMON_SLICE_CHICKEN1" length="1" num="0x7010">
+ <field name="HIZ Plane Optimization disable bit" dword="0" bits="9:9" type="bool" />
+ <field name="HIZ Plane Optimization disable bit Mask" dword="0" bits="25:25" type="bool" />
+ </register>
+ <register name="INSTDONE_GEOM" length="1" num="0x666c">
+ <field name="VFL Done" dword="0" bits="1:1" type="bool" />
+ <field name="VS Done" dword="0" bits="2:2" type="bool" />
+ <field name="HS Done" dword="0" bits="3:3" type="bool" />
+ <field name="TE Done" dword="0" bits="4:4" type="bool" />
+ <field name="DS Done" dword="0" bits="5:5" type="bool" />
+ <field name="GS Done" dword="0" bits="6:6" type="bool" />
+ <field name="SOL Done" dword="0" bits="7:7" type="bool" />
+ <field name="CL Done" dword="0" bits="8:8" type="bool" />
+ <field name="SF Done" dword="0" bits="9:9" type="bool" />
+ <field name="TDG1 Done" dword="0" bits="11:11" type="bool" />
+ <field name="URBM Done" dword="0" bits="13:13" type="bool" />
+ <field name="SVG Done" dword="0" bits="14:14" type="bool" />
+ <field name="TSG0 Done" dword="0" bits="17:17" type="bool" />
+ <field name="SDE Done" dword="0" bits="22:22" type="bool" />
+ </register>
+ <register name="L3SQCREG5" length="1" num="0xB158">
+ <field name="L3 Cache Partial Write Merge Timer Initial Value" dword="0" bits="9:0" type="uint" />
+ <field name="Compressible Partial Write Merge Enable" dword="0" bits="21:21" type="uint" />
+ <field name="Coherent Partial Write Merge Enable" dword="0" bits="22:22" type="uint" />
+ <field name="Cross-Tile Partial Write Merge Enable" dword="0" bits="23:23" type="uint" />
+ </register>
+ <register name="MESH_INVOCATION_COUNT" length="2" num="0x26E0">
+ <field name="MESH Invocation Counter" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="MESH_PRIMITIVE_COUNT" length="2" num="0x26D8">
+ <field name="MESH Primitive Counter" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="ROW_INSTDONE" length="1" num="0xe164">
+ <field name="BC Done" dword="0" bits="0:0" type="bool" />
+ <field name="PSD Done" dword="0" bits="1:1" type="bool" />
+ <field name="TDP Done" dword="0" bits="2:2" type="bool" />
+ <field name="DAPR Done" dword="0" bits="3:3" type="bool" />
+ <field name="CPSS Done" dword="0" bits="4:4" type="bool" />
+ <field name="RT DONE RENDER" dword="0" bits="5:5" type="bool" />
+ <field name="TDL Done" dword="0" bits="6:6" type="bool" />
+ <field name="EU00 done SS1" dword="0" bits="7:7" type="bool" />
+ <field name="EU01 done SS1" dword="0" bits="8:8" type="bool" />
+ <field name="EU02 done SS1" dword="0" bits="9:9" type="bool" />
+ <field name="EU03 done SS1" dword="0" bits="10:10" type="bool" />
+ <field name="MA0 done SS1" dword="0" bits="11:11" type="bool" />
+ <field name="IC Done" dword="0" bits="12:12" type="bool" />
+ <field name="BTD DONE RENDER" dword="0" bits="13:13" type="bool" />
+ <field name="RT DONE COMPUTE" dword="0" bits="14:14" type="bool" />
+ <field name="MA0 Done SS0" dword="0" bits="15:15" type="bool" />
+ <field name="EU00 Done SS0" dword="0" bits="16:16" type="bool" />
+ <field name="EU01 Done SS0" dword="0" bits="17:17" type="bool" />
+ <field name="EU02 Done SS0" dword="0" bits="18:18" type="bool" />
+ <field name="EU03 Done SS0" dword="0" bits="19:19" type="bool" />
+ <field name="BTD DONE COMPUTE" dword="0" bits="20:20" type="bool" />
+ <field name="EU10 Done SS0" dword="0" bits="21:21" type="bool" />
+ <field name="EU11 Done SS0" dword="0" bits="22:22" type="bool" />
+ <field name="EU12 Done SS0" dword="0" bits="23:23" type="bool" />
+ <field name="EU13 Done SS0" dword="0" bits="24:24" type="bool" />
+ <field name="TSL Done" dword="0" bits="26:26" type="bool" />
+ <field name="EU10 Done SS1" dword="0" bits="27:27" type="bool" />
+ <field name="EU11 Done SS1" dword="0" bits="28:28" type="bool" />
+ <field name="EU12 Done SS1" dword="0" bits="29:29" type="bool" />
+ <field name="EU13 Done SS1" dword="0" bits="30:30" type="bool" />
+ </register>
+ <register name="SAMPLER_INSTDONE" length="1" num="0xe160">
+ <field name="SI Done" dword="0" bits="0:0" type="bool" />
+ <field name="SVSM ADAPTER Done" dword="0" bits="1:1" type="bool" />
+ <field name="SVSM ARB Done" dword="0" bits="2:2" type="bool" />
+ <field name="SVSM Done" dword="0" bits="3:3" type="bool" />
+ <field name="PL Done" dword="0" bits="4:4" type="bool" />
+ <field name="DG Done" dword="0" bits="5:5" type="bool" />
+ <field name="SSLA Done" dword="0" bits="6:6" type="bool" />
+ <field name="ST ARB Done" dword="0" bits="7:7" type="bool" />
+ <field name="ST Done" dword="0" bits="8:8" type="bool" />
+ <field name="FT Done" dword="0" bits="9:9" type="bool" />
+ <field name="MT Done" dword="0" bits="11:11" type="bool" />
+ <field name="DM Done" dword="0" bits="12:12" type="bool" />
+ <field name="BDM Done" dword="0" bits="13:13" type="bool" />
+ <field name="SC Done" dword="0" bits="14:14" type="bool" />
+ <field name="FL Done" dword="0" bits="15:15" type="bool" />
+ <field name="SO Done" dword="0" bits="16:16" type="bool" />
+ <field name="LSC L1BANK0 Idle" dword="0" bits="18:18" type="bool" />
+ <field name="LSC L1BANK1 Idle" dword="0" bits="19:19" type="bool" />
+ <field name="LSC L1BANK2 Idle" dword="0" bits="20:20" type="bool" />
+ <field name="LSC L1BANK3 Idle" dword="0" bits="21:21" type="bool" />
+ <field name="LSC SEQ0 Idle" dword="0" bits="22:22" type="bool" />
+ <field name="LSC SEQ1 Idle" dword="0" bits="23:23" type="bool" />
+ <field name="LSC SEQ2 Idle" dword="0" bits="24:24" type="bool" />
+ <field name="LSC SEQ3 Idle" dword="0" bits="25:25" type="bool" />
+ <field name="LSC SEQ INTF Idle" dword="0" bits="26:26" type="bool" />
+ <field name="LSC L3 INTF Idle" dword="0" bits="27:27" type="bool" />
+ <field name="VMEM SOARB0 Done" dword="0" bits="28:28" type="bool" />
+ <field name="VMEM SOARB1 Done" dword="0" bits="29:29" type="bool" />
+ <field name="VMEM L3REQARB0 Done" dword="0" bits="30:30" type="bool" />
+ <field name="VMEM L3REQARB1 Done" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="SC_INSTDONE" length="1" num="0x7100">
+ <field name="SVL Done" dword="0" bits="0:0" type="bool" />
+ <field name="WMFE Done" dword="0" bits="1:1" type="bool" />
+ <field name="WMBE Done" dword="0" bits="2:2" type="bool" />
+ <field name="HIZ Done" dword="0" bits="3:3" type="bool" />
+ <field name="IZFE Done" dword="0" bits="5:5" type="bool" />
+ <field name="SBE Done" dword="0" bits="6:6" type="bool" />
+ <field name="RCC Done" dword="0" bits="9:9" type="bool" />
+ <field name="RCPBE Done" dword="0" bits="10:10" type="bool" />
+ <field name="RCPFE Done" dword="0" bits="11:11" type="bool" />
+ <field name="DAPB Done" dword="0" bits="12:12" type="bool" />
+ <field name="DAPRBE Done" dword="0" bits="13:13" type="bool" />
+ <field name="SARB Done" dword="0" bits="15:15" type="bool" />
+ <field name="DC0 Done" dword="0" bits="16:16" type="bool" />
+ <field name="DC1 Done" dword="0" bits="17:17" type="bool" />
+ <field name="DC2 Done" dword="0" bits="18:18" type="bool" />
+ <field name="DC3 Done" dword="0" bits="19:19" type="bool" />
+ <field name="GW0 Done" dword="0" bits="20:20" type="bool" />
+ <field name="GW1 Done" dword="0" bits="21:21" type="bool" />
+ <field name="GW2 Done" dword="0" bits="22:22" type="bool" />
+ <field name="GW3 Done" dword="0" bits="23:23" type="bool" />
+ <field name="TDC Done" dword="0" bits="24:24" type="bool" />
+ <field name="SFBE Done" dword="0" bits="25:25" type="bool" />
+ <field name="PSS Done" dword="0" bits="26:26" type="bool" />
+ <field name="AMFS Done" dword="0" bits="27:27" type="bool" />
+ </register>
+ <register name="SC_INSTDONE_EXTRA" length="1" num="0x7104">
+ <field name="RCC1 Done" dword="0" bits="9:9" type="bool" />
+ <field name="RCPBE1 Done" dword="0" bits="10:10" type="bool" />
+ <field name="RCPFE1 Done" dword="0" bits="11:11" type="bool" />
+ <field name="DAPB1 Done" dword="0" bits="12:12" type="bool" />
+ <field name="DAPRBE1 Done" dword="0" bits="13:13" type="bool" />
+ <field name="DC4 Done" dword="0" bits="16:16" type="bool" />
+ <field name="DC5 Done" dword="0" bits="17:17" type="bool" />
+ <field name="DC6 Done" dword="0" bits="18:18" type="bool" />
+ <field name="DC7 Done" dword="0" bits="19:19" type="bool" />
+ <field name="GW4 Done" dword="0" bits="20:20" type="bool" />
+ <field name="GW5 Done" dword="0" bits="21:21" type="bool" />
+ <field name="GW6 Done" dword="0" bits="22:22" type="bool" />
+ <field name="GW7 Done" dword="0" bits="23:23" type="bool" />
+ <field name="TDC1 Done" dword="0" bits="24:24" type="bool" />
+ <field name="PSS Done" dword="0" bits="26:26" type="bool" />
+ </register>
+ <register name="SC_INSTDONE_EXTRA2" length="1" num="0x7108">
+ <field name="RCC2 Done" dword="0" bits="9:9" type="bool" />
+ <field name="RCPBE2 Done" dword="0" bits="10:10" type="bool" />
+ <field name="RCPFE2 Done" dword="0" bits="11:11" type="bool" />
+ <field name="DAPB2 Done" dword="0" bits="12:12" type="bool" />
+ <field name="DAPRBE2 Done" dword="0" bits="13:13" type="bool" />
+ </register>
+ <register name="TASK_INVOCATION_COUNT" length="2" num="0x26E8">
+ <field name="TASK Invocation Counter" dword="0" bits="63:0" type="uint" />
+ </register>
+</genxml>
diff --git a/lib/genxml/gen40.xml b/lib/genxml/gen40.xml
new file mode 100644
index 000000000..2d4b83df7
--- /dev/null
+++ b/lib/genxml/gen40.xml
@@ -0,0 +1,1012 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="BRW" gen="4">
+ <enum name="3D_Color_Buffer_Blend_Factor" prefix="BLENDFACTOR">
+ <value name="ONE" value="1" />
+ <value name="SRC_COLOR" value="2" />
+ <value name="SRC_ALPHA" value="3" />
+ <value name="DST_ALPHA" value="4" />
+ <value name="DST_COLOR" value="5" />
+ <value name="SRC_ALPHA_SATURATE" value="6" />
+ <value name="CONST_COLOR" value="7" />
+ <value name="CONST_ALPHA" value="8" />
+ <value name="SRC1_COLOR" value="9" />
+ <value name="SRC1_ALPHA" value="10" />
+ <value name="ZERO" value="17" />
+ <value name="INV_SRC_COLOR" value="18" />
+ <value name="INV_SRC_ALPHA" value="19" />
+ <value name="INV_DST_ALPHA" value="20" />
+ <value name="INV_DST_COLOR" value="21" />
+ <value name="INV_CONST_COLOR" value="23" />
+ <value name="INV_CONST_ALPHA" value="24" />
+ <value name="INV_SRC1_COLOR" value="25" />
+ <value name="INV_SRC1_ALPHA" value="26" />
+ </enum>
+ <enum name="3D_Color_Buffer_Blend_Function" prefix="BLENDFUNCTION">
+ <value name="ADD" value="0" />
+ <value name="SUBTRACT" value="1" />
+ <value name="REVERSE_SUBTRACT" value="2" />
+ <value name="MIN" value="3" />
+ <value name="MAX" value="4" />
+ </enum>
+ <enum name="3D_Compare_Function" prefix="COMPAREFUNCTION">
+ <value name="ALWAYS" value="0" />
+ <value name="NEVER" value="1" />
+ <value name="LESS" value="2" />
+ <value name="EQUAL" value="3" />
+ <value name="LEQUAL" value="4" />
+ <value name="GREATER" value="5" />
+ <value name="NOTEQUAL" value="6" />
+ <value name="GEQUAL" value="7" />
+ </enum>
+ <enum name="3D_Logic_Op_Function" prefix="LOGICOP">
+ <value name="CLEAR" value="0" />
+ <value name="NOR" value="1" />
+ <value name="AND_INVERTED" value="2" />
+ <value name="COPY_INVERTED" value="3" />
+ <value name="AND_REVERSE" value="4" />
+ <value name="INVERT" value="5" />
+ <value name="XOR" value="6" />
+ <value name="NAND" value="7" />
+ <value name="AND" value="8" />
+ <value name="EQUIV" value="9" />
+ <value name="NOOP" value="10" />
+ <value name="OR_INVERTED" value="11" />
+ <value name="COPY" value="12" />
+ <value name="OR_REVERSE" value="13" />
+ <value name="OR" value="14" />
+ <value name="SET" value="15" />
+ </enum>
+ <enum name="3D_Prim_Topo_Type" prefix="3DPRIM">
+ <value name="POINTLIST" value="1" />
+ <value name="LINELIST" value="2" />
+ <value name="LINESTRIP" value="3" />
+ <value name="TRILIST" value="4" />
+ <value name="TRISTRIP" value="5" />
+ <value name="TRIFAN" value="6" />
+ <value name="QUADLIST" value="7" />
+ <value name="QUADSTRIP" value="8" />
+ <value name="LINELIST_ADJ" value="9" />
+ <value name="LINESTRIP_ADJ" value="10" />
+ <value name="TRILIST_ADJ" value="11" />
+ <value name="TRISTRIP_ADJ" value="12" />
+ <value name="TRISTRIP_REVERSE" value="13" />
+ <value name="POLYGON" value="14" />
+ <value name="RECTLIST" value="15" />
+ <value name="LINELOOP" value="16" />
+ <value name="POINTLIST _BF" value="17" />
+ <value name="LINESTRIP_CONT" value="18" />
+ <value name="LINESTRIP_BF" value="19" />
+ <value name="LINESTRIP_CONT_BF" value="20" />
+ <value name="TRIFAN_NOSTIPPLE" value="22" />
+ </enum>
+ <enum name="3D_Stencil_Operation" prefix="STENCILOP">
+ <value name="KEEP" value="0" />
+ <value name="ZERO" value="1" />
+ <value name="REPLACE" value="2" />
+ <value name="INCRSAT" value="3" />
+ <value name="DECRSAT" value="4" />
+ <value name="INCR" value="5" />
+ <value name="DECR" value="6" />
+ <value name="INVERT" value="7" />
+ </enum>
+ <enum name="3D_Vertex_Component_Control" prefix="VFCOMP">
+ <value name="NOSTORE" value="0" />
+ <value name="STORE_SRC" value="1" />
+ <value name="STORE_0" value="2" />
+ <value name="STORE_1_FP" value="3" />
+ <value name="STORE_1_INT" value="4" />
+ <value name="STORE_VID" value="5" />
+ <value name="STORE_IID" value="6" />
+ <value name="STORE_PID" value="7" />
+ </enum>
+ <enum name="Texture Coordinate Mode" prefix="TCM">
+ <value name="WRAP" value="0" />
+ <value name="MIRROR" value="1" />
+ <value name="CLAMP" value="2" />
+ <value name="CUBE" value="3" />
+ <value name="CLAMP_BORDER" value="4" />
+ <value name="MIRROR_ONCE" value="5" />
+ </enum>
+ <struct name="CC_VIEWPORT" length="2">
+ <field name="Minimum Depth" dword="0" bits="31:0" type="float" />
+ <field name="Maximum Depth" dword="1" bits="31:0" type="float" />
+ </struct>
+ <struct name="CLIP_STATE" length="11">
+ <field name="GRF Register Count" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="address" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="3" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Clipper Statistics Enable" dword="4" bits="10:10" type="bool" />
+ <field name="GS Output Object Statistics Enable" dword="4" bits="10:10" type="bool" />
+ <field name="Number of URB Entries" dword="4" bits="18:11" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="23:19" type="uint" />
+ <field name="Maximum Number of Threads" dword="4" bits="30:25" type="uint" />
+ <field name="Clip Mode" dword="5" bits="15:13" type="uint" prefix="CLIPMODE">
+ <value name="NORMAL" value="0" />
+ <value name="ALL" value="1" />
+ <value name="CLIP_NON_REJECTED" value="2" />
+ <value name="REJECT_ALL" value="3" />
+ <value name="ACCEPT_ALL" value="4" />
+ </field>
+ <field name="UserClipDistance ClipTest Enable Bitmask" dword="5" bits="23:16" type="uint" />
+ <field name="UserClipFlags MustClip Enable" dword="5" bits="24:24" type="bool" />
+ <field name="Guardband ClipTest Enable" dword="5" bits="26:26" type="bool" />
+ <field name="Viewport Z ClipTest Enable" dword="5" bits="27:27" type="bool" />
+ <field name="Viewport XY ClipTest Enable" dword="5" bits="28:28" type="bool" />
+ <field name="Vertex Position Space" dword="5" bits="29:29" type="uint" prefix="VPOS">
+ <value name="NDCSPACE" value="0" />
+ <value name="SCREENSPACE" value="1" />
+ </field>
+ <field name="API Mode" dword="5" bits="30:30" type="uint" prefix="APIMODE">
+ <value name="OGL" value="0" />
+ <value name="D3D" value="1" />
+ </field>
+ <field name="Clipper Viewport State Pointer" dword="6" bits="31:5" type="address" />
+ <field name="Screen Space Viewport X Min" dword="7" bits="31:0" type="float" />
+ <field name="Screen Space Viewport X Max" dword="8" bits="31:0" type="float" />
+ <field name="Screen Space Viewport Y Min" dword="9" bits="31:0" type="float" />
+ <field name="Screen Space Viewport Y Max" dword="10" bits="31:0" type="float" />
+ </struct>
+ <struct name="CLIP_VIEWPORT" length="4">
+ <field name="XMin Clip Guardband" dword="0" bits="31:0" type="float" />
+ <field name="XMax Clip Guardband" dword="1" bits="31:0" type="float" />
+ <field name="YMin Clip Guardband" dword="2" bits="31:0" type="float" />
+ <field name="YMax Clip Guardband" dword="3" bits="31:0" type="float" />
+ </struct>
+ <struct name="COLOR_CALC_STATE" length="8">
+ <field name="Backface Stencil Pass Depth Pass Op" dword="0" bits="5:3" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Pass Depth Fail Op" dword="0" bits="8:6" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Fail Op" dword="0" bits="11:9" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Test Function" dword="0" bits="14:12" type="3D_Compare_Function" />
+ <field name="Double Sided Stencil Enable" dword="0" bits="15:15" type="bool" />
+ <field name="Stencil Buffer Write Enable" dword="0" bits="18:18" type="bool" />
+ <field name="Stencil Pass Depth Pass Op" dword="0" bits="21:19" type="3D_Stencil_Operation" />
+ <field name="Stencil Pass Depth Fail Op" dword="0" bits="24:22" type="3D_Stencil_Operation" />
+ <field name="Stencil Fail Op" dword="0" bits="27:25" type="3D_Stencil_Operation" />
+ <field name="Stencil Test Function" dword="0" bits="30:28" type="3D_Compare_Function" />
+ <field name="Stencil Test Enable" dword="0" bits="31:31" type="bool" />
+ <field name="Backface Stencil Reference Value" dword="1" bits="7:0" type="uint" />
+ <field name="Stencil Write Mask" dword="1" bits="15:8" type="uint" />
+ <field name="Stencil Test Mask" dword="1" bits="23:16" type="uint" />
+ <field name="Stencil Reference Value" dword="1" bits="31:24" type="uint" />
+ <field name="Logic Op Enable" dword="2" bits="0:0" type="bool" />
+ <field name="Depth Buffer Write Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Depth Test Function" dword="2" bits="14:12" type="3D_Compare_Function" />
+ <field name="Depth Test Enable" dword="2" bits="15:15" type="bool" />
+ <field name="Backface Stencil Write Mask" dword="2" bits="23:16" type="uint" />
+ <field name="Backface Stencil Test Mask" dword="2" bits="31:24" type="uint" />
+ <field name="Alpha Test Function" dword="3" bits="10:8" type="3D_Compare_Function" />
+ <field name="Alpha Test Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Color Buffer Blend Enable" dword="3" bits="12:12" type="bool" />
+ <field name="Independent Alpha Blend Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Alpha Test Format" dword="3" bits="15:15" type="uint">
+ <value name="ALPHATEST_UNORM8" value="0" />
+ <value name="ALPHATEST_FLOAT32" value="1" />
+ </field>
+ <field name="CC Viewport State Pointer" dword="4" bits="31:5" type="address" />
+ <field name="Destination Alpha Blend Factor" dword="5" bits="6:2" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Source Alpha Blend Factor" dword="5" bits="11:7" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Alpha Blend Function" dword="5" bits="14:12" type="3D_Color_Buffer_Blend_Function" />
+ <field name="Statistics Enable" dword="5" bits="15:15" type="bool" />
+ <field name="Logic Op Function" dword="5" bits="19:16" type="3D_Logic_Op_Function" />
+ <field name="Round Disable Function Disable" dword="5" bits="30:30" type="bool" />
+ <field name="Color Dither Enable" dword="5" bits="31:31" type="bool" />
+ <field name="Post-Blend Color Clamp Enable" dword="6" bits="0:0" type="bool" />
+ <field name="Pre-Blend Color Clamp Enable" dword="6" bits="1:1" type="bool" />
+ <field name="Color Clamp Range" dword="6" bits="3:2" type="uint">
+ <value name="COLORCLAMP_UNORM" value="0" />
+ <value name="COLORCLAMP_SNORM" value="1" />
+ <value name="COLORCLAMP_RTFORMAT" value="2" />
+ </field>
+ <field name="Y Dither Offset" dword="6" bits="16:15" type="uint" />
+ <field name="X Dither Offset" dword="6" bits="18:17" type="uint" />
+ <field name="Destination Blend Factor" dword="6" bits="23:19" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Source Blend Factor" dword="6" bits="28:24" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Color Blend Function" dword="6" bits="31:29" type="3D_Color_Buffer_Blend_Function" />
+ <field name="Alpha Reference Value As UNORM8" dword="7" bits="31:0" type="uint" />
+ <field name="Alpha Reference Value As FLOAT32" dword="7" bits="31:0" type="float" />
+ </struct>
+ <struct name="GS_STATE" length="7">
+ <field name="GRF Register Count" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="address" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="3" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Number of URB Entries" dword="4" bits="18:11" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="23:19" type="uint" />
+ <field name="Maximum Number of Threads" dword="4" bits="30:25" type="uint" />
+ <field name="Sampler Count" dword="5" bits="2:0" type="uint" />
+ <field name="Sampler State Pointer" dword="5" bits="31:5" type="address" />
+ <field name="Maximum VPIndex" dword="6" bits="3:0" type="uint" />
+ <field name="Discard Adjacency" dword="6" bits="29:29" type="bool" />
+ <field name="Reorder Enable" dword="6" bits="30:30" type="bool" />
+ </struct>
+ <struct name="RENDER_SURFACE_STATE" length="5">
+ <field name="Cube Face Enable - Positive Z" dword="0" bits="0:0" type="bool" />
+ <field name="Cube Face Enable - Negative Z" dword="0" bits="1:1" type="bool" />
+ <field name="Cube Face Enable - Positive Y" dword="0" bits="2:2" type="bool" />
+ <field name="Cube Face Enable - Negative Y" dword="0" bits="3:3" type="bool" />
+ <field name="Cube Face Enable - Positive X" dword="0" bits="4:4" type="bool" />
+ <field name="Cube Face Enable - Negative X" dword="0" bits="5:5" type="bool" />
+ <field name="Media Boundary Pixel Mode" dword="0" bits="7:6" type="uint">
+ <value name="NORMAL_MODE" value="0" />
+ </field>
+ <field name="Render Cache Read Write Mode" dword="0" bits="8:8" type="uint">
+ <value name="WRITE_ONLY" value="0" />
+ <value name="READ_WRITE" value="1" />
+ </field>
+ <field name="MIP Map Layout Mode" dword="0" bits="10:10" type="uint">
+ <value name="MIPLAYOUT_BELOW" value="0" />
+ <value name="MIPLAYOUT_RIGHT" value="1" />
+ </field>
+ <field name="Vertical Line Stride Offset" dword="0" bits="11:11" type="uint" />
+ <field name="Vertical Line Stride" dword="0" bits="12:12" type="uint" />
+ <field name="Color Blend Enable" dword="0" bits="13:13" type="bool" />
+ <field name="Color Buffer Component Write Disables" dword="0" bits="17:14" type="uint">
+ <value name="WRITEDISABLE_ALPHA" value="8" />
+ <value name="WRITEDISABLE_RED" value="4" />
+ <value name="WRITEDISABLE_GREEN" value="2" />
+ <value name="WRITEDISABLE_BLUE" value="1" />
+ </field>
+ <field name="Surface Format" dword="0" bits="26:18" type="uint" />
+ <field name="Data Return Format" dword="0" bits="27:27" type="uint">
+ <value name="DATA_RETURN_FLOAT32" value="0" />
+ <value name="DATA_RETURN_S1.14" value="1" />
+ </field>
+ <field name="Surface Type" dword="0" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_BUFFER" value="4" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="1" bits="31:0" type="address" />
+ <field name="MIP Count / LOD" dword="2" bits="5:2" type="uint" />
+ <field name="Width" dword="2" bits="18:6" type="uint" />
+ <field name="Height" dword="2" bits="31:19" type="uint" />
+ <field name="Tile Walk" dword="3" bits="0:0" type="uint">
+ <value name="TILEWALK_XMAJOR" value="0" />
+ <value name="TILEWALK_YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="3" bits="1:1" type="uint" />
+ <field name="Surface Pitch" dword="3" bits="19:3" type="uint" />
+ <field name="Depth" dword="3" bits="31:21" type="uint" />
+ <field name="Render Target View Extent" dword="4" bits="16:8" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="27:17" type="uint" />
+ <field name="Surface Min LOD" dword="4" bits="31:28" type="uint" />
+ </struct>
+ <struct name="SAMPLER_BORDER_COLOR_STATE" length="12">
+ <field name="Border Color Red" dword="0" bits="31:0" type="float" />
+ <field name="Border Color Green" dword="1" bits="31:0" type="float" />
+ <field name="Border Color Blue" dword="2" bits="31:0" type="float" />
+ <field name="Border Color Alpha" dword="3" bits="31:0" type="float" />
+ </struct>
+ <struct name="SAMPLER_STATE" length="4">
+ <field name="Shadow Function" dword="0" bits="2:0" type="uint" prefix="PREFILTEROP">
+ <value name="ALWAYS" value="0" />
+ <value name="NEVER" value="1" />
+ <value name="LESS" value="2" />
+ <value name="EQUAL" value="3" />
+ <value name="LEQUAL" value="4" />
+ <value name="GREATER" value="5" />
+ <value name="NOTEQUAL" value="6" />
+ <value name="GEQUAL" value="7" />
+ </field>
+ <field name="Texture LOD Bias" dword="0" bits="13:3" type="s4.6" />
+ <field name="Min Mode Filter" dword="0" bits="16:14" type="uint" prefix="MAPFILTER" />
+ <field name="Mag Mode Filter" dword="0" bits="19:17" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mip Mode Filter" dword="0" bits="21:20" type="uint" prefix="MIPFILTER">
+ <value name="NONE" value="0" />
+ <value name="NEAREST" value="1" />
+ <value name="LINEAR" value="3" />
+ </field>
+ <field name="Base Mip Level" dword="0" bits="26:22" type="u4.1" />
+ <field name="LOD PreClamp Enable" dword="0" bits="28:28" type="bool" />
+ <field name="Sampler Disable" dword="0" bits="31:31" type="bool" />
+ <field name="TCZ Address Control Mode" dword="1" bits="2:0" type="Texture Coordinate Mode" />
+ <field name="TCY Address Control Mode" dword="1" bits="5:3" type="Texture Coordinate Mode" />
+ <field name="TCX Address Control Mode" dword="1" bits="8:6" type="Texture Coordinate Mode" />
+ <field name="Cube Surface Control Mode" dword="1" bits="9:9" type="uint">
+ <value name="CUBECTRLMODE_PROGRAMMED" value="0" />
+ <value name="CUBECTRLMODE_OVERRIDE" value="1" />
+ </field>
+ <field name="Max LOD" dword="1" bits="21:12" type="u4.6" />
+ <field name="Min LOD" dword="1" bits="31:22" type="u4.6" />
+ <field name="Border Color Pointer" dword="2" bits="31:5" type="address" />
+ <field name="R Address Min Filter Rounding Enable" dword="3" bits="13:13" type="bool" />
+ <field name="R Address Mag Filter Rounding Enable" dword="3" bits="14:14" type="bool" />
+ <field name="V Address Min Filter Rounding Enable" dword="3" bits="15:15" type="bool" />
+ <field name="V Address Mag Filter Rounding Enable" dword="3" bits="16:16" type="bool" />
+ <field name="U Address Min Filter Rounding Enable" dword="3" bits="17:17" type="bool" />
+ <field name="U Address Mag Filter Rounding Enable" dword="3" bits="18:18" type="bool" />
+ <field name="Maximum Anisotropy" dword="3" bits="21:19" type="uint">
+ <value name="RATIO 2:1" value="0" />
+ <value name="RATIO 4:1" value="1" />
+ <value name="RATIO 6:1" value="2" />
+ <value name="RATIO 8:1" value="3" />
+ <value name="RATIO 10:1" value="4" />
+ <value name="RATIO 12:1" value="5" />
+ <value name="RATIO 14:1" value="6" />
+ <value name="RATIO 16:1" value="7" />
+ </field>
+ <field name="ChromaKey Mode" dword="3" bits="22:22" type="uint" prefix="KEYFILTER">
+ <value name="KILL_ON_ANY_MATCH" value="0" />
+ <value name="REPLACE_BLACK" value="1" />
+ </field>
+ <field name="ChromaKey Index" dword="3" bits="24:23" type="uint" />
+ <field name="ChromaKey Enable" dword="3" bits="25:25" type="bool" />
+ </struct>
+ <struct name="SCISSOR_RECT" length="2">
+ <field name="Scissor Rectangle X Min" dword="0" bits="15:0" type="uint" />
+ <field name="Scissor Rectangle Y Min" dword="0" bits="31:16" type="uint" />
+ <field name="Scissor Rectangle X Max" dword="1" bits="15:0" type="uint" />
+ <field name="Scissor Rectangle Y Max" dword="1" bits="31:16" type="uint" />
+ </struct>
+ <struct name="SF_STATE" length="8">
+ <field name="GRF Register Count" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="address" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="3" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Number of URB Entries" dword="4" bits="18:11" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="23:19" type="uint" />
+ <field name="Maximum Number of Threads" dword="4" bits="30:25" type="uint" />
+ <field name="Front Winding" dword="5" bits="0:0" type="uint">
+ <value name="FRONTWINDING_CW" value="0" />
+ <value name="FRONTWINDING_CCW" value="1" />
+ </field>
+ <field name="Viewport Transform Enable" dword="5" bits="1:1" type="bool" />
+ <field name="Setup Viewport State Offset" dword="5" bits="31:5" type="address" />
+ <field name="Destination Origin Vertical Bias" dword="6" bits="12:9" type="u0.4" />
+ <field name="Destination Origin Horizontal Bias" dword="6" bits="16:13" type="u0.4" />
+ <field name="Scissor Rectangle Enable" dword="6" bits="17:17" type="bool" />
+ <field name="2x2 Pixel Triangle Filter Disable" dword="6" bits="18:18" type="bool" />
+ <field name="Zero Pixel Triangle Filter Disable" dword="6" bits="19:19" type="bool" />
+ <field name="Point Rasterization Rule" dword="6" bits="21:20" type="uint">
+ <value name="RASTRULE_UPPER_LEFT" value="0" />
+ <value name="RASTRULE_UPPER_RIGHT" value="1" />
+ </field>
+ <field name="Line End Cap Antialiasing Region Width" dword="6" bits="23:22" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line Width" dword="6" bits="27:24" type="u3.1" />
+ <field name="Fast Scissor Clip Disable" dword="6" bits="28:28" type="bool" />
+ <field name="Cull Mode" dword="6" bits="30:29" type="uint" prefix="CULLMODE">
+ <value name="BOTH" value="0" />
+ <value name="NONE" value="1" />
+ <value name="FRONT" value="2" />
+ <value name="BACK" value="3" />
+ </field>
+ <field name="Antialiasing Enable" dword="6" bits="31:31" type="bool" />
+ <field name="Point Width" dword="7" bits="10:0" type="u8.3" />
+ <field name="Point Width Source" dword="7" bits="11:11" type="uint">
+ <value name="Vertex" value="0" />
+ <value name="State" value="1" />
+ </field>
+ <field name="Vertex Sub Pixel Precision Select" dword="7" bits="12:12" type="uint">
+ <value name="8 Sub-Pixel Precision Bits" value="0" />
+ <value name="4 Sub-Pixel Precision Bits" value="1" />
+ </field>
+ <field name="Sprite Point Enable" dword="7" bits="13:13" type="bool" />
+ <field name="Triangle Fan Provoking Vertex Select" dword="7" bits="26:25" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Line Strip/List Provoking Vertex Select" dword="7" bits="28:27" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ </field>
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="7" bits="30:29" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Last Pixel Enable" dword="7" bits="31:31" type="bool" />
+ </struct>
+ <struct name="SF_VIEWPORT" length="8">
+ <field name="Viewport Matrix Element m00" dword="0" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m11" dword="1" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m22" dword="2" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m30" dword="3" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m31" dword="4" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m32" dword="5" bits="31:0" type="float" />
+ <field name="Scissor Rectangle" dword="6" bits="63:0" type="SCISSOR_RECT" />
+ </struct>
+ <struct name="VERTEX_BUFFER_STATE" length="4">
+ <field name="Buffer Pitch" dword="0" bits="10:0" type="uint" />
+ <field name="Buffer Access Type" dword="0" bits="26:26" type="uint">
+ <value name="VERTEXDATA" value="0" />
+ <value name="INSTANCEDATA" value="1" />
+ </field>
+ <field name="Vertex Buffer Index" dword="0" bits="31:27" type="uint" />
+ <field name="Buffer Starting Address" dword="1" bits="31:0" type="address" />
+ <field name="Max Index" dword="2" bits="31:0" type="uint" />
+ <field name="Instance Data Step Rate" dword="3" bits="31:0" type="uint" />
+ </struct>
+ <struct name="VERTEX_ELEMENT_STATE" length="2">
+ <field name="Source Element Offset" dword="0" bits="10:0" type="uint" />
+ <field name="Source Element Format" dword="0" bits="24:16" type="uint" />
+ <field name="Valid" dword="0" bits="26:26" type="bool" />
+ <field name="Vertex Buffer Index" dword="0" bits="31:27" type="uint" />
+ <field name="Destination Element Offset" dword="1" bits="7:0" type="uint" />
+ <field name="Component 3 Control" dword="1" bits="18:16" type="3D_Vertex_Component_Control" />
+ <field name="Component 2 Control" dword="1" bits="22:20" type="3D_Vertex_Component_Control" />
+ <field name="Component 1 Control" dword="1" bits="26:24" type="3D_Vertex_Component_Control" />
+ <field name="Component 0 Control" dword="1" bits="30:28" type="3D_Vertex_Component_Control" />
+ </struct>
+ <struct name="VS_STATE" length="7">
+ <field name="GRF Register Count" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="address" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="3" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Statistics Enable" dword="4" bits="10:10" type="bool" />
+ <field name="Number of URB Entries" dword="4" bits="18:11" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="23:19" type="uint" />
+ <field name="Maximum Number of Threads" dword="4" bits="30:25" type="uint" />
+ <field name="Sampler Count" dword="5" bits="2:0" type="uint" />
+ <field name="Sampler State Pointer" dword="5" bits="31:5" type="address" />
+ <field name="Enable" dword="6" bits="0:0" type="bool" />
+ <field name="Vertex Cache Disable" dword="6" bits="1:1" type="bool" />
+ </struct>
+ <struct name="WM_STATE" length="8">
+ <field name="GRF Register Count 0" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer 0" dword="0" bits="31:6" type="address" />
+ <field name="Software Exception Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Depth Coefficient URB Read Offset" dword="1" bits="13:8" type="uint" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="3" bits="3:0" type="uint" />
+ <field name="Setup URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Setup URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Statistics Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Sampler Count" dword="4" bits="4:2" type="uint" />
+ <field name="Sampler State Pointer" dword="4" bits="31:5" type="address" />
+ <field name="8 Pixel Dispatch Enable" dword="5" bits="0:0" type="bool" />
+ <field name="16 Pixel Dispatch Enable" dword="5" bits="1:1" type="bool" />
+ <field name="32 Pixel Dispatch Enable" dword="5" bits="2:2" type="bool" />
+ <field name="Legacy Global Depth Bias Enable" dword="5" bits="10:10" type="bool" />
+ <field name="Line Stipple Enable" dword="5" bits="11:11" type="bool" />
+ <field name="Global Depth Offset Enable" dword="5" bits="12:12" type="bool" />
+ <field name="Polygon Stipple Enable" dword="5" bits="13:13" type="bool" />
+ <field name="Line Antialiasing Region Width" dword="5" bits="15:14" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line End Cap Antialiasing Region Width" dword="5" bits="17:16" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Early Depth Test Enable" dword="5" bits="18:18" type="bool" />
+ <field name="Thread Dispatch Enable" dword="5" bits="19:19" type="bool" />
+ <field name="Pixel Shader Uses Source Depth" dword="5" bits="20:20" type="bool" />
+ <field name="Pixel Shader Computed Depth" dword="5" bits="21:21" type="bool" />
+ <field name="Pixel Shader Kills Pixel" dword="5" bits="22:22" type="bool" />
+ <field name="Legacy Diamond Line Rasterization" dword="5" bits="23:23" type="bool" />
+ <field name="Maximum Number of Threads" dword="5" bits="31:25" type="uint" />
+ <field name="Global Depth Offset Constant" dword="6" bits="31:0" type="float" />
+ <field name="Global Depth Offset Scale" dword="7" bits="31:0" type="float" />
+ </struct>
+ <instruction name="3DPRIMITIVE" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="Primitive Topology Type" dword="0" bits="14:10" type="3D_Prim_Topo_Type" />
+ <field name="Vertex Access Type" dword="0" bits="15:15" type="uint">
+ <value name="SEQUENTIAL" value="0" />
+ <value name="RANDOM" value="1" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Vertex Count Per Instance" dword="1" bits="31:0" type="uint" />
+ <field name="Start Vertex Location" dword="2" bits="31:0" type="uint" />
+ <field name="Instance Count" dword="3" bits="31:0" type="uint" default="1">
+ <value name="UNDEFINED" value="0" />
+ <value name="'non-instanced' operation" value="1" />
+ </field>
+ <field name="Base Vertex Location" dword="5" bits="31:0" type="int" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POINTERS" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to VS Binding Table" dword="1" bits="31:5" type="offset" />
+ <field name="Pointer to GS Binding Table" dword="2" bits="31:5" type="offset" />
+ <field name="Pointer to CLIP Binding Table" dword="3" bits="31:5" type="offset" />
+ <field name="Pointer to SF Binding Table" dword="4" bits="31:5" type="offset" />
+ <field name="Pointer to PS Binding Table" dword="5" bits="31:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_COLOR" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Blend Constant Color Red" dword="1" bits="31:0" type="float" />
+ <field name="Blend Constant Color Green" dword="2" bits="31:0" type="float" />
+ <field name="Blend Constant Color Blue" dword="3" bits="31:0" type="float" />
+ <field name="Blend Constant Color Alpha" dword="4" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Surface Format" dword="1" bits="20:18" type="uint">
+ <value name="D32_FLOAT_S8X24_UINT" value="0" />
+ <value name="D32_FLOAT" value="1" />
+ <value name="D24_UNORM_S8_UINT" value="2" />
+ <value name="D24_UNORM_X8_UINT" value="3" />
+ <value name="D16_UNORM" value="5" />
+ </field>
+ <field name="Software Tiled Rendering Mode" dword="1" bits="24:23" type="uint">
+ <value name="NORMAL" value="0" />
+ <value name="STR1" value="1" />
+ <value name="STR2" value="3" />
+ </field>
+ <field name="Depth Buffer Coordinate Offset Disable" dword="1" bits="25:25" type="bool" />
+ <field name="Tile Walk" dword="1" bits="26:26" type="uint">
+ <value name="TILEWALK_YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="1" bits="27:27" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="31:0" type="address" />
+ <field name="MIP Map Layout Mode" dword="3" bits="1:1" type="uint">
+ <value name="MIPLAYOUT_BELOW" value="0" />
+ <value name="MIPLAYOUT_RIGHT" value="1" />
+ </field>
+ <field name="LOD" dword="3" bits="5:2" type="uint" />
+ <field name="Width" dword="3" bits="18:6" type="uint" />
+ <field name="Height" dword="3" bits="31:19" type="uint">
+ <value name="SURFTYPE_1D: must be zero" value="0" />
+ </field>
+ <field name="Render Target View Extent" dword="4" bits="9:1" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="20:10" type="uint" />
+ <field name="Depth" dword="4" bits="31:21" type="uint">
+ <value name="SURFTYPE_CUBE: must be zero" value="0" />
+ </field>
+ </instruction>
+ <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Clipped Drawing Rectangle X Min" dword="1" bits="15:0" type="uint" />
+ <field name="Clipped Drawing Rectangle Y Min" dword="1" bits="31:16" type="uint" />
+ <field name="Clipped Drawing Rectangle X Max" dword="2" bits="15:0" type="uint" />
+ <field name="Clipped Drawing Rectangle Y Max" dword="2" bits="31:16" type="uint" />
+ <field name="Drawing Rectangle Origin X" dword="3" bits="15:0" type="int" />
+ <field name="Drawing Rectangle Origin Y" dword="3" bits="31:16" type="int" />
+ </instruction>
+ <instruction name="3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="9" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Global Depth Offset Clamp" dword="1" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Index Format" dword="0" bits="9:8" type="uint" prefix="INDEX">
+ <value name="BYTE" value="0" />
+ <value name="WORD" value="1" />
+ <value name="DWORD" value="2" />
+ </field>
+ <field name="Cut Index Enable" dword="0" bits="10:10" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="10" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Buffer Starting Address" dword="1" bits="31:0" type="address" />
+ <field name="Buffer Ending Address" dword="2" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="8" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Line Stipple Pattern" dword="1" bits="15:0" type="uint" />
+ <field name="Current Stipple Index" dword="1" bits="19:16" type="uint" />
+ <field name="Current Repeat Counter" dword="1" bits="29:21" type="uint" />
+ <field name="Modify Enable" dword="1" bits="31:31" type="bool" />
+ <field name="Line Stipple Repeat Count" dword="2" bits="8:0" type="uint" />
+ <field name="Line Stipple Inverse Repeat Count" dword="2" bits="31:16" type="u1.13" />
+ </instruction>
+ <instruction name="3DSTATE_PIPELINED_POINTERS" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to VS State" dword="1" bits="31:5" type="address" />
+ <field name="GS Enable" dword="2" bits="0:0" type="bool" />
+ <field name="Pointer to GS State" dword="2" bits="31:5" type="address" />
+ <field name="Clip Enable" dword="3" bits="0:0" type="bool" />
+ <field name="Pointer to CLIP State" dword="3" bits="31:5" type="address" />
+ <field name="Pointer to SF State" dword="4" bits="31:5" type="address" />
+ <field name="Pointer to WM State" dword="5" bits="31:5" type="address" />
+ <field name="Pointer to Color Calc State" dword="6" bits="31:5" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Polygon Stipple Y Offset" dword="1" bits="4:0" type="uint" />
+ <field name="Polygon Stipple X Offset" dword="1" bits="12:8" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="31" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="7" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="32" dword="1" size="32">
+ <field name="Pattern Row" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="8" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="0" dword="1" size="128">
+ <field name="Vertex Buffer State" dword="0" bits="127:0" type="VERTEX_BUFFER_STATE" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="9" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="0" dword="1" size="64">
+ <field name="Element" dword="0" bits="63:0" type="VERTEX_ELEMENT_STATE" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1" engine="render">
+ <field name="Statistics Enable" dword="0" bits="0:0" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="11" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ </instruction>
+ <instruction name="CONSTANT_BUFFER" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Valid" dword="0" bits="8:8" type="bool" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="2" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Buffer Length" dword="1" bits="5:0" type="uint" />
+ <field name="Buffer Starting Address" dword="1" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="CS_URB_STATE" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Number of URB Entries" dword="1" bits="2:0" type="uint" />
+ <field name="URB Entry Allocation Size" dword="1" bits="8:4" type="uint" />
+ </instruction>
+ <instruction name="MI_FLUSH" bias="1" length="1" engine="render">
+ <field name="State/Instruction Cache Invalidate" dword="0" bits="1:1" type="uint">
+ <value name="Don't Invalidate" value="0" />
+ <value name="Invalidate" value="1" />
+ </field>
+ <field name="Render Cache Flush Inhibit" dword="0" bits="2:2" type="uint">
+ <value name="Flush" value="0" />
+ <value name="Don't Flush" value="1" />
+ </field>
+ <field name="Global Snapshot Count Reset" dword="0" bits="3:3" type="uint">
+ <value name="Don't Reset" value="0" />
+ <value name="Reset" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="4" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_LOAD_REGISTER_IMM" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="1" />
+ <field name="Byte Write Disables" dword="0" bits="11:8" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="34" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Offset" dword="1" bits="31:2" type="offset" />
+ <field name="Data DWord" dword="2" bits="31:0" type="uint" />
+ <group count="0" dword="3" size="64">
+ <field name="Register Offset" dword="0" bits="31:2" type="offset" />
+ <field name="Data DWord" dword="1" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MI_STORE_DATA_IMM" bias="2" length="5">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="2" />
+ <field name="BitFieldName" dword="0" bits="21:21" type="uint" />
+ <field name="Memory Address Type" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="32" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Physical Start Address Extension" dword="1" bits="3:0" type="address" />
+ <field name="Address" dword="2" bits="31:2" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="MI_STORE_REGISTER_MEM" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="36" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Address" dword="1" bits="22:2" type="offset" />
+ <field name="Physical Start Address Extension" dword="1" bits="31:28" type="address" />
+ <field name="Memory Address" dword="2" bits="31:2" type="address" />
+ </instruction>
+ <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
+ <field name="Pipeline Selection" dword="0" bits="0:0" type="uint">
+ <value name="3D" value="0" />
+ <value name="Media" value="1" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ </instruction>
+ <instruction name="PIPE_CONTROL" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Notify Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Instruction Cache Invalidate Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Write Cache Flush" dword="0" bits="12:12" type="bool" />
+ <field name="Depth Stall Enable" dword="0" bits="13:13" type="bool" />
+ <field name="Post Sync Operation" dword="0" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write PS Depth Count" value="2" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Destination Address Type" dword="1" bits="2:2" type="uint" prefix="DAT">
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Address" dword="1" bits="31:3" type="address" />
+ <field name="Immediate Data" dword="2" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="STATE_BASE_ADDRESS" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="General State Base Address Modify Enable" dword="1" bits="0:0" type="bool" />
+ <field name="General State Base Address" dword="1" bits="31:12" type="address" />
+ <field name="Surface State Base Address Modify Enable" dword="2" bits="0:0" type="bool" />
+ <field name="Surface State Base Address" dword="2" bits="31:12" type="address" />
+ <field name="Indirect Object Base Address Modify Enable" dword="3" bits="0:0" type="bool" />
+ <field name="Indirect Object Base Address" dword="3" bits="31:12" type="address" />
+ <field name="General State Access Upper Bound Modify Enable" dword="4" bits="0:0" type="bool" />
+ <field name="General State Access Upper Bound" dword="4" bits="31:12" type="address" />
+ <field name="Indirect Object Access Upper Bound Modify Enable" dword="5" bits="0:0" type="bool" />
+ <field name="Indirect Object Access Upper Bound" dword="5" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="STATE_SIP" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="2" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="System Instruction Pointer" dword="1" bits="31:4" type="offset" />
+ </instruction>
+ <instruction name="URB_FENCE" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="VS Unit URB Reallocation Request" dword="0" bits="8:8" type="bool" />
+ <field name="GS Unit URB Reallocation Request" dword="0" bits="9:9" type="bool" />
+ <field name="CLIP Unit URB Reallocation Request" dword="0" bits="10:10" type="bool" />
+ <field name="SF Unit URB Reallocation Request" dword="0" bits="11:11" type="bool" />
+ <field name="VFE Unit URB Reallocation Request" dword="0" bits="12:12" type="bool" />
+ <field name="CS Unit URB Reallocation Request" dword="0" bits="13:13" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="VS Fence" dword="1" bits="9:0" type="uint" />
+ <field name="GS Fence" dword="1" bits="19:10" type="uint" />
+ <field name="CLIP Fence" dword="1" bits="29:20" type="uint" />
+ <field name="SF Fence" dword="2" bits="9:0" type="uint" />
+ <field name="VFE Fence" dword="2" bits="19:10" type="uint" />
+ <field name="CS Fence" dword="2" bits="30:20" type="uint" />
+ </instruction>
+ <instruction name="XY_COLOR_BLT" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="Tiling Enable" dword="0" bits="11:11" type="bool" />
+ <field name="32bpp Byte Mask" dword="0" bits="21:20" type="uint" />
+ <field name="2D Command Opcode" dword="0" bits="28:22" type="uint" default="80" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="2" />
+ <field name="Destination Pitch" dword="1" bits="15:0" type="int" />
+ <field name="Raster Operation" dword="1" bits="23:16" type="uint" />
+ <field name="Color Depth" dword="1" bits="25:24" type="uint" prefix="COLOR_DEPTH">
+ <value name="8 bit" value="0" />
+ <value name="565" value="1" />
+ <value name="1555" value="2" />
+ <value name="32 bit" value="3" />
+ </field>
+ <field name="Clipping Enabled" dword="1" bits="30:30" type="bool" />
+ <field name="Destination X1 Coordinate" dword="2" bits="15:0" type="int" />
+ <field name="Destination Y1 Coordinate" dword="2" bits="31:16" type="int" />
+ <field name="Destination X2 Coordinate" dword="3" bits="15:0" type="int" />
+ <field name="Destination Y2 Coordinate" dword="3" bits="31:16" type="int" />
+ <field name="Destination Base Address" dword="4" bits="31:0" type="address" />
+ <field name="Solid Pattern Color" dword="5" bits="31:0" type="int" />
+ </instruction>
+ <instruction name="XY_SETUP_BLT" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="Tiling Enable" dword="0" bits="11:11" type="bool" />
+ <field name="32bpp Byte Mask" dword="0" bits="21:20" type="uint" />
+ <field name="2D Command Opcode" dword="0" bits="28:22" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="2" />
+ <field name="Destination Pitch" dword="1" bits="15:0" type="int" />
+ <field name="Raster Operation" dword="1" bits="23:16" type="uint" />
+ <field name="Color Depth" dword="1" bits="25:24" type="uint" prefix="COLOR_DEPTH">
+ <value name="8 bit" value="0" />
+ <value name="565" value="1" />
+ <value name="1555" value="2" />
+ <value name="32 bit" value="3" />
+ </field>
+ <field name="Mono Source Transparency Mode" dword="1" bits="29:29" type="bool" />
+ <field name="Clipping Enabled" dword="1" bits="30:30" type="bool" />
+ <field name="ClipRect X1 Coordinate" dword="2" bits="15:0" type="int" />
+ <field name="ClipRect Y1 Coordinate" dword="2" bits="31:16" type="int" />
+ <field name="ClipRect X2 Coordinate" dword="3" bits="15:0" type="int" />
+ <field name="ClipRect Y2 Coordinate" dword="3" bits="31:16" type="int" />
+ <field name="Destination Base Address" dword="4" bits="31:0" type="address" />
+ <field name="Background Color" dword="5" bits="31:0" type="uint" />
+ <field name="Foreground Color" dword="6" bits="31:0" type="uint" />
+ <field name="Pattern Base Address" dword="7" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="XY_SRC_COPY_BLT" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="Destination Tiling Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Source Tiling Enable" dword="0" bits="15:15" type="bool" />
+ <field name="32bpp Byte Mask" dword="0" bits="21:20" type="uint" />
+ <field name="2D Command Opcode" dword="0" bits="28:22" type="uint" default="83" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="2" />
+ <field name="Destination Pitch" dword="1" bits="15:0" type="int" />
+ <field name="Raster Operation" dword="1" bits="23:16" type="uint" />
+ <field name="Color Depth" dword="1" bits="25:24" type="uint" prefix="COLOR_DEPTH">
+ <value name="8 bit" value="0" />
+ <value name="565" value="1" />
+ <value name="1555" value="2" />
+ <value name="32 bit" value="3" />
+ </field>
+ <field name="Clipping Enabled" dword="1" bits="30:30" type="bool" />
+ <field name="Destination X1 Coordinate" dword="2" bits="15:0" type="int" />
+ <field name="Destination Y1 Coordinate" dword="2" bits="31:16" type="int" />
+ <field name="Destination X2 Coordinate" dword="3" bits="15:0" type="int" />
+ <field name="Destination Y2 Coordinate" dword="3" bits="31:16" type="int" />
+ <field name="Destination Base Address" dword="4" bits="31:0" type="address" />
+ <field name="Source X1 Coordinate" dword="5" bits="15:0" type="int" />
+ <field name="Source Y1 Coordinate" dword="5" bits="31:16" type="int" />
+ <field name="Source Pitch" dword="6" bits="15:0" type="int" />
+ <field name="Source Base Address" dword="7" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="XY_TEXT_IMMEDIATE_BLT" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Tiling Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Packing" dword="0" bits="16:16" type="uint">
+ <value name="Bit Packed" value="0" />
+ <value name="Byte Packed" value="1" />
+ </field>
+ <field name="32bpp Byte Mask" dword="0" bits="21:20" type="uint" />
+ <field name="2D Command Opcode" dword="0" bits="28:22" type="uint" default="49" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="2" />
+ <field name="Destination Pitch" dword="1" bits="15:0" type="int" />
+ <field name="Destination X1 Coordinate" dword="1" bits="15:0" type="int" />
+ <field name="Destination Y1 Coordinate" dword="1" bits="31:16" type="int" />
+ <field name="Destination X2 Coordinate" dword="2" bits="15:0" type="int" />
+ <field name="Destination Y2 Coordinate" dword="2" bits="31:16" type="int" />
+ </instruction>
+</genxml>
diff --git a/lib/genxml/gen45.xml b/lib/genxml/gen45.xml
new file mode 100644
index 000000000..a9101ba10
--- /dev/null
+++ b/lib/genxml/gen45.xml
@@ -0,0 +1,507 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="CTG" gen="4.5">
+ <import name="gen40.xml" />
+ <struct name="CLIP_STATE" length="11">
+ <field name="GRF Register Count" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="address" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="3" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Clipper Statistics Enable" dword="4" bits="10:10" type="bool" />
+ <field name="GS Output Object Statistics Enable" dword="4" bits="10:10" type="bool" />
+ <field name="Number of URB Entries" dword="4" bits="18:11" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="23:19" type="uint" />
+ <field name="Maximum Number of Threads" dword="4" bits="30:25" type="uint" />
+ <field name="Clip Mode" dword="5" bits="15:13" type="uint" prefix="CLIPMODE">
+ <value name="NORMAL" value="0" />
+ <value name="ALL" value="1" />
+ <value name="CLIP_NON_REJECTED" value="2" />
+ <value name="REJECT_ALL" value="3" />
+ <value name="ACCEPT_ALL" value="4" />
+ </field>
+ <field name="UserClipDistance ClipTest Enable Bitmask" dword="5" bits="23:16" type="uint" />
+ <field name="UserClipFlags MustClip Enable" dword="5" bits="24:24" type="bool" />
+ <field name="Negative W ClipTest Enable" dword="5" bits="25:25" type="bool" />
+ <field name="Guardband ClipTest Enable" dword="5" bits="26:26" type="bool" />
+ <field name="Viewport Z ClipTest Enable" dword="5" bits="27:27" type="bool" />
+ <field name="Viewport XY ClipTest Enable" dword="5" bits="28:28" type="bool" />
+ <field name="Vertex Position Space" dword="5" bits="29:29" type="uint" prefix="VPOS">
+ <value name="NDCSPACE" value="0" />
+ <value name="SCREENSPACE" value="1" />
+ </field>
+ <field name="API Mode" dword="5" bits="30:30" type="uint" prefix="APIMODE">
+ <value name="OGL" value="0" />
+ <value name="D3D" value="1" />
+ </field>
+ <field name="Clipper Viewport State Pointer" dword="6" bits="31:5" type="address" />
+ <field name="Screen Space Viewport X Min" dword="7" bits="31:0" type="float" />
+ <field name="Screen Space Viewport X Max" dword="8" bits="31:0" type="float" />
+ <field name="Screen Space Viewport Y Min" dword="9" bits="31:0" type="float" />
+ <field name="Screen Space Viewport Y Max" dword="10" bits="31:0" type="float" />
+ </struct>
+ <struct name="GS_STATE" length="7">
+ <field name="GRF Register Count" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="address" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="3" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Rendering Enable" dword="4" bits="8:8" type="bool" />
+ <field name="GS Statistics Enable" dword="4" bits="10:10" type="bool" />
+ <field name="Number of URB Entries" dword="4" bits="18:11" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="23:19" type="uint" />
+ <field name="Maximum Number of Threads" dword="4" bits="30:25" type="uint" />
+ <field name="Sampler Count" dword="5" bits="2:0" type="uint" />
+ <field name="Sampler State Pointer" dword="5" bits="31:5" type="address" />
+ <field name="Maximum VPIndex" dword="6" bits="3:0" type="uint" />
+ <field name="Discard Adjacency" dword="6" bits="29:29" type="bool" />
+ <field name="Reorder Enable" dword="6" bits="30:30" type="bool" />
+ </struct>
+ <struct name="RENDER_SURFACE_STATE" length="6">
+ <field name="Cube Face Enable - Positive Z" dword="0" bits="0:0" type="bool" />
+ <field name="Cube Face Enable - Negative Z" dword="0" bits="1:1" type="bool" />
+ <field name="Cube Face Enable - Positive Y" dword="0" bits="2:2" type="bool" />
+ <field name="Cube Face Enable - Negative Y" dword="0" bits="3:3" type="bool" />
+ <field name="Cube Face Enable - Positive X" dword="0" bits="4:4" type="bool" />
+ <field name="Cube Face Enable - Negative X" dword="0" bits="5:5" type="bool" />
+ <field name="Media Boundary Pixel Mode" dword="0" bits="7:6" type="uint">
+ <value name="NORMAL_MODE" value="0" />
+ <value name="PROGRESSIVE_FRAME" value="2" />
+ <value name="INTERLACED_FRAME" value="3" />
+ </field>
+ <field name="Render Cache Read Write Mode" dword="0" bits="8:8" type="uint">
+ <value name="WRITE_ONLY" value="0" />
+ <value name="READ_WRITE" value="1" />
+ </field>
+ <field name="MIP Map Layout Mode" dword="0" bits="10:10" type="uint">
+ <value name="MIPLAYOUT_BELOW" value="0" />
+ <value name="MIPLAYOUT_RIGHT" value="1" />
+ </field>
+ <field name="Vertical Line Stride Offset" dword="0" bits="11:11" type="uint" />
+ <field name="Vertical Line Stride" dword="0" bits="12:12" type="uint" />
+ <field name="Color Blend Enable" dword="0" bits="13:13" type="bool" />
+ <field name="Color Buffer Component Write Disables" dword="0" bits="17:14" type="uint">
+ <value name="WRITEDISABLE_ALPHA" value="8" />
+ <value name="WRITEDISABLE_RED" value="4" />
+ <value name="WRITEDISABLE_GREEN" value="2" />
+ <value name="WRITEDISABLE_BLUE" value="1" />
+ </field>
+ <field name="Surface Format" dword="0" bits="26:18" type="uint" />
+ <field name="Data Return Format" dword="0" bits="27:27" type="uint">
+ <value name="DATA_RETURN_FLOAT32" value="0" />
+ <value name="DATA_RETURN_S1.14" value="1" />
+ </field>
+ <field name="Surface Type" dword="0" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_BUFFER" value="4" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="1" bits="31:0" type="address" />
+ <field name="MIP Count / LOD" dword="2" bits="5:2" type="uint" />
+ <field name="Width" dword="2" bits="18:6" type="uint" />
+ <field name="Height" dword="2" bits="31:19" type="uint" />
+ <field name="Tile Walk" dword="3" bits="0:0" type="uint">
+ <value name="TILEWALK_XMAJOR" value="0" />
+ <value name="TILEWALK_YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="3" bits="1:1" type="uint" />
+ <field name="Surface Pitch" dword="3" bits="19:3" type="uint" />
+ <field name="Depth" dword="3" bits="31:21" type="uint" />
+ <field name="Render Target View Extent" dword="4" bits="16:8" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="27:17" type="uint" />
+ <field name="Surface Min LOD" dword="4" bits="31:28" type="uint" />
+ <field name="Y Offset" dword="5" bits="23:20" type="uint" />
+ <field name="X Offset" dword="5" bits="31:25" type="uint" />
+ </struct>
+ <struct name="SAMPLER_STATE" length="4">
+ <field name="Shadow Function" dword="0" bits="2:0" type="uint" prefix="PREFILTEROP">
+ <value name="ALWAYS" value="0" />
+ <value name="NEVER" value="1" />
+ <value name="LESS" value="2" />
+ <value name="EQUAL" value="3" />
+ <value name="LEQUAL" value="4" />
+ <value name="GREATER" value="5" />
+ <value name="NOTEQUAL" value="6" />
+ <value name="GEQUAL" value="7" />
+ </field>
+ <field name="Texture LOD Bias" dword="0" bits="13:3" type="s4.6" />
+ <field name="Min Mode Filter" dword="0" bits="16:14" type="uint" prefix="MAPFILTER" />
+ <field name="Mag Mode Filter" dword="0" bits="19:17" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mip Mode Filter" dword="0" bits="21:20" type="uint" prefix="MIPFILTER">
+ <value name="NONE" value="0" />
+ <value name="NEAREST" value="1" />
+ <value name="LINEAR" value="3" />
+ </field>
+ <field name="Base Mip Level" dword="0" bits="26:22" type="u4.1" />
+ <field name="LOD PreClamp Enable" dword="0" bits="28:28" type="bool" />
+ <field name="Sampler Disable" dword="0" bits="31:31" type="bool" />
+ <field name="TCZ Address Control Mode" dword="1" bits="2:0" type="Texture Coordinate Mode" />
+ <field name="TCY Address Control Mode" dword="1" bits="5:3" type="Texture Coordinate Mode" />
+ <field name="TCX Address Control Mode" dword="1" bits="8:6" type="Texture Coordinate Mode" />
+ <field name="Cube Surface Control Mode" dword="1" bits="9:9" type="uint">
+ <value name="CUBECTRLMODE_PROGRAMMED" value="0" />
+ <value name="CUBECTRLMODE_OVERRIDE" value="1" />
+ </field>
+ <field name="Max LOD" dword="1" bits="21:12" type="u4.6" />
+ <field name="Min LOD" dword="1" bits="31:22" type="u4.6" />
+ <field name="Border Color Pointer" dword="2" bits="31:5" type="address" />
+ <field name="R Address Min Filter Rounding Enable" dword="3" bits="13:13" type="bool" />
+ <field name="R Address Mag Filter Rounding Enable" dword="3" bits="14:14" type="bool" />
+ <field name="V Address Min Filter Rounding Enable" dword="3" bits="15:15" type="bool" />
+ <field name="V Address Mag Filter Rounding Enable" dword="3" bits="16:16" type="bool" />
+ <field name="U Address Min Filter Rounding Enable" dword="3" bits="17:17" type="bool" />
+ <field name="U Address Mag Filter Rounding Enable" dword="3" bits="18:18" type="bool" />
+ <field name="Maximum Anisotropy" dword="3" bits="21:19" type="uint">
+ <value name="RATIO 2:1" value="0" />
+ <value name="RATIO 4:1" value="1" />
+ <value name="RATIO 6:1" value="2" />
+ <value name="RATIO 8:1" value="3" />
+ <value name="RATIO 10:1" value="4" />
+ <value name="RATIO 12:1" value="5" />
+ <value name="RATIO 14:1" value="6" />
+ <value name="RATIO 16:1" value="7" />
+ </field>
+ <field name="ChromaKey Mode" dword="3" bits="22:22" type="uint" prefix="KEYFILTER">
+ <value name="KILL_ON_ANY_MATCH" value="0" />
+ <value name="REPLACE_BLACK" value="1" />
+ </field>
+ <field name="ChromaKey Index" dword="3" bits="24:23" type="uint" />
+ <field name="ChromaKey Enable" dword="3" bits="25:25" type="bool" />
+ <field name="Monochrome Filter Width" dword="3" bits="28:26" type="uint" />
+ <field name="Monochrome Filter Height" dword="3" bits="31:29" type="uint" />
+ </struct>
+ <struct name="SF_STATE" length="8">
+ <field name="GRF Register Count" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="address" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="3" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Statistics Enable" dword="4" bits="10:10" type="bool" />
+ <field name="Number of URB Entries" dword="4" bits="18:11" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="23:19" type="uint" />
+ <field name="Maximum Number of Threads" dword="4" bits="30:25" type="uint" />
+ <field name="Front Winding" dword="5" bits="0:0" type="uint">
+ <value name="FRONTWINDING_CW" value="0" />
+ <value name="FRONTWINDING_CCW" value="1" />
+ </field>
+ <field name="Viewport Transform Enable" dword="5" bits="1:1" type="bool" />
+ <field name="Setup Viewport State Offset" dword="5" bits="31:5" type="address" />
+ <field name="Destination Origin Vertical Bias" dword="6" bits="12:9" type="u0.4" />
+ <field name="Destination Origin Horizontal Bias" dword="6" bits="16:13" type="u0.4" />
+ <field name="Scissor Rectangle Enable" dword="6" bits="17:17" type="bool" />
+ <field name="2x2 Pixel Triangle Filter Disable" dword="6" bits="18:18" type="bool" />
+ <field name="Zero Pixel Triangle Filter Disable" dword="6" bits="19:19" type="bool" />
+ <field name="Point Rasterization Rule" dword="6" bits="21:20" type="uint">
+ <value name="RASTRULE_UPPER_LEFT" value="0" />
+ <value name="RASTRULE_UPPER_RIGHT" value="1" />
+ </field>
+ <field name="Line End Cap Antialiasing Region Width" dword="6" bits="23:22" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line Width" dword="6" bits="27:24" type="u3.1" />
+ <field name="Fast Scissor Clip Disable" dword="6" bits="28:28" type="bool" />
+ <field name="Cull Mode" dword="6" bits="30:29" type="uint" prefix="CULLMODE">
+ <value name="BOTH" value="0" />
+ <value name="NONE" value="1" />
+ <value name="FRONT" value="2" />
+ <value name="BACK" value="3" />
+ </field>
+ <field name="Antialiasing Enable" dword="6" bits="31:31" type="bool" />
+ <field name="Point Width" dword="7" bits="10:0" type="u8.3" />
+ <field name="Point Width Source" dword="7" bits="11:11" type="uint">
+ <value name="Vertex" value="0" />
+ <value name="State" value="1" />
+ </field>
+ <field name="Vertex Sub Pixel Precision Select" dword="7" bits="12:12" type="uint">
+ <value name="8 Sub-Pixel Precision Bits" value="0" />
+ <value name="4 Sub-Pixel Precision Bits" value="1" />
+ </field>
+ <field name="Sprite Point Enable" dword="7" bits="13:13" type="bool" />
+ <field name="AA Line Distance Mode" dword="7" bits="14:14" type="uint" prefix="AALINEDISTANCE">
+ <value name="MANHATTAN" value="0" />
+ <value name="TRUE" value="1" />
+ </field>
+ <field name="Triangle Fan Provoking Vertex Select" dword="7" bits="26:25" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Line Strip/List Provoking Vertex Select" dword="7" bits="28:27" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ </field>
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="7" bits="30:29" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Last Pixel Enable" dword="7" bits="31:31" type="bool" />
+ </struct>
+ <struct name="WM_STATE" length="8">
+ <field name="GRF Register Count 0" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer 0" dword="0" bits="31:6" type="address" />
+ <field name="Software Exception Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Depth Coefficient URB Read Offset" dword="1" bits="13:8" type="uint" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal" value="0" />
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="3" bits="3:0" type="uint" />
+ <field name="Setup URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Setup URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Statistics Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Sampler Count" dword="4" bits="4:2" type="uint" />
+ <field name="Sampler State Pointer" dword="4" bits="31:5" type="address" />
+ <field name="8 Pixel Dispatch Enable" dword="5" bits="0:0" type="bool" />
+ <field name="16 Pixel Dispatch Enable" dword="5" bits="1:1" type="bool" />
+ <field name="32 Pixel Dispatch Enable" dword="5" bits="2:2" type="bool" />
+ <field name="Contiguous 32 Pixel Dispatch Enable" dword="5" bits="3:3" type="bool" />
+ <field name="Contiguous 64 Pixel Dispatch Enable" dword="5" bits="4:4" type="bool" />
+ <field name="Legacy Global Depth Bias Enable" dword="5" bits="10:10" type="bool" />
+ <field name="Line Stipple Enable" dword="5" bits="11:11" type="bool" />
+ <field name="Global Depth Offset Enable" dword="5" bits="12:12" type="bool" />
+ <field name="Polygon Stipple Enable" dword="5" bits="13:13" type="bool" />
+ <field name="Line Antialiasing Region Width" dword="5" bits="15:14" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line End Cap Antialiasing Region Width" dword="5" bits="17:16" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Early Depth Test Enable" dword="5" bits="18:18" type="bool" />
+ <field name="Thread Dispatch Enable" dword="5" bits="19:19" type="bool" />
+ <field name="Pixel Shader Uses Source Depth" dword="5" bits="20:20" type="bool" />
+ <field name="Pixel Shader Computed Depth" dword="5" bits="21:21" type="bool" />
+ <field name="Pixel Shader Kills Pixel" dword="5" bits="22:22" type="bool" />
+ <field name="Legacy Diamond Line Rasterization" dword="5" bits="23:23" type="bool" />
+ <field name="Maximum Number of Threads" dword="5" bits="31:25" type="uint" />
+ <field name="Global Depth Offset Constant" dword="6" bits="31:0" type="float" />
+ <field name="Global Depth Offset Scale" dword="7" bits="31:0" type="float" />
+ </struct>
+ <instruction name="3DPRIMITIVE" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="Indirect Vertex Count" dword="0" bits="9:9" type="uint" />
+ <field name="Primitive Topology Type" dword="0" bits="14:10" type="3D_Prim_Topo_Type" />
+ <field name="Vertex Access Type" dword="0" bits="15:15" type="uint">
+ <value name="SEQUENTIAL" value="0" />
+ <value name="RANDOM" value="1" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Vertex Count Per Instance" dword="1" bits="31:0" type="uint" />
+ <field name="Start Vertex Location" dword="2" bits="31:0" type="uint" />
+ <field name="Instance Count" dword="3" bits="31:0" type="uint" />
+ <field name="Start Instance Location" dword="4" bits="31:0" type="uint" />
+ <field name="Base Vertex Location" dword="5" bits="31:0" type="int" />
+ </instruction>
+ <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="10" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="AA Coverage Slope" dword="1" bits="7:0" type="u0.8" />
+ <field name="AA Coverage Bias" dword="1" bits="23:16" type="u0.8" />
+ <field name="AA Coverage EndCap Slope" dword="2" bits="7:0" type="u0.8" />
+ <field name="AA Coverage EndCap Bias" dword="2" bits="23:16" type="u0.8" />
+ </instruction>
+ <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Surface Format" dword="1" bits="20:18" type="uint">
+ <value name="D32_FLOAT_S8X24_UINT" value="0" />
+ <value name="D32_FLOAT" value="1" />
+ <value name="D24_UNORM_S8_UINT" value="2" />
+ <value name="D24_UNORM_X8_UINT" value="3" />
+ <value name="D16_UNORM" value="5" />
+ </field>
+ <field name="Software Tiled Rendering Mode" dword="1" bits="24:23" type="uint">
+ <value name="NORMAL" value="0" />
+ <value name="STR1" value="1" />
+ <value name="STR2" value="3" />
+ </field>
+ <field name="Depth Buffer Coordinate Offset Disable" dword="1" bits="25:25" type="bool" />
+ <field name="Tile Walk" dword="1" bits="26:26" type="uint">
+ <value name="TILEWALK_YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="1" bits="27:27" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="31:0" type="address" />
+ <field name="MIP Map Layout Mode" dword="3" bits="1:1" type="uint">
+ <value name="MIPLAYOUT_BELOW" value="0" />
+ <value name="MIPLAYOUT_RIGHT" value="1" />
+ </field>
+ <field name="LOD" dword="3" bits="5:2" type="uint" />
+ <field name="Width" dword="3" bits="18:6" type="uint" />
+ <field name="Height" dword="3" bits="31:19" type="uint">
+ <value name="SURFTYPE_1D: must be zero" value="0" />
+ </field>
+ <field name="Render Target View Extent" dword="4" bits="9:1" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="20:10" type="uint" />
+ <field name="Depth" dword="4" bits="31:21" type="uint">
+ <value name="SURFTYPE_CUBE: must be zero" value="0" />
+ </field>
+ <field name="Depth Coordinate Offset X" dword="5" bits="15:0" type="int" />
+ <field name="Depth Coordinate Offset Y" dword="5" bits="31:16" type="int" />
+ </instruction>
+ <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="8" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Line Stipple Pattern" dword="1" bits="15:0" type="uint" />
+ <field name="Current Stipple Index" dword="1" bits="19:16" type="uint" />
+ <field name="Current Repeat Counter" dword="1" bits="29:21" type="uint" />
+ <field name="Modify Enable (Current Repeat Counter, Current Stipple Index)" dword="1" bits="31:31" type="bool" />
+ <field name="Line Stipple Repeat Count" dword="2" bits="8:0" type="uint" />
+ <field name="Line Stipple Inverse Repeat Count" dword="2" bits="31:16" type="u1.13" />
+ </instruction>
+ <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1" engine="render">
+ <field name="Statistics Enable" dword="0" bits="0:0" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="11" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ </instruction>
+ <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
+ <field name="Pipeline Selection" dword="0" bits="1:0" type="uint">
+ <value name="3D" value="0" />
+ <value name="Media" value="1" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ </instruction>
+ <instruction name="PIPE_CONTROL" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Notify Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Indirect State Pointers Disable" dword="0" bits="9:9" type="bool" />
+ <field name="Texture Cache Flush Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Instruction Cache Invalidate Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Write Cache Flush" dword="0" bits="12:12" type="bool" />
+ <field name="Depth Stall Enable" dword="0" bits="13:13" type="bool" />
+ <field name="Post Sync Operation" dword="0" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write PS Depth Count" value="2" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Destination Address Type" dword="1" bits="2:2" type="uint" prefix="DAT">
+ <value name="PGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Address" dword="1" bits="31:3" type="address" />
+ <field name="Immediate Data" dword="2" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="URB_FENCE" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="VS Unit URB Reallocation Request" dword="0" bits="8:8" type="bool" />
+ <field name="GS Unit URB Reallocation Request" dword="0" bits="9:9" type="bool" />
+ <field name="CLIP Unit URB Reallocation Request" dword="0" bits="10:10" type="bool" />
+ <field name="SF Unit URB Reallocation Request" dword="0" bits="11:11" type="bool" />
+ <field name="VFE Unit URB Reallocation Request" dword="0" bits="12:12" type="bool" />
+ <field name="CS Unit URB Reallocation Request" dword="0" bits="13:13" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="VS Fence" dword="1" bits="9:0" type="uint" />
+ <field name="GS Fence" dword="1" bits="19:10" type="uint" />
+ <field name="CLIP Fence" dword="1" bits="29:20" type="uint" />
+ <field name="SF Fence" dword="2" bits="9:0" type="uint" />
+ <field name="VFE Fence" dword="2" bits="19:10" type="uint" />
+ <field name="CS Fence" dword="2" bits="30:20" type="uint" />
+ </instruction>
+</genxml>
diff --git a/lib/genxml/gen50.xml b/lib/genxml/gen50.xml
new file mode 100644
index 000000000..1eddce9fe
--- /dev/null
+++ b/lib/genxml/gen50.xml
@@ -0,0 +1,648 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="ILK" gen="5">
+ <import name="gen45.xml" />
+ <struct name="CLIP_STATE" length="11">
+ <field name="GRF Register Count" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="3" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Number of URB Entries" dword="4" bits="18:11" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="23:19" type="uint" />
+ <field name="Maximum Number of Threads" dword="4" bits="30:25" type="uint" />
+ <field name="Clip Mode" dword="5" bits="15:13" type="uint" prefix="CLIPMODE">
+ <value name="NORMAL" value="0" />
+ <value name="ALL" value="1" />
+ <value name="CLIP_NON_REJECTED" value="2" />
+ <value name="REJECT_ALL" value="3" />
+ <value name="ACCEPT_ALL" value="4" />
+ </field>
+ <field name="UserClipDistance ClipTest Enable Bitmask" dword="5" bits="23:16" type="uint" />
+ <field name="UserClipFlags MustClip Enable" dword="5" bits="24:24" type="bool" />
+ <field name="Negative W ClipTest Enable" dword="5" bits="25:25" type="bool" />
+ <field name="Guardband ClipTest Enable" dword="5" bits="26:26" type="bool" />
+ <field name="Viewport Z ClipTest Enable" dword="5" bits="27:27" type="bool" />
+ <field name="Viewport XY ClipTest Enable" dword="5" bits="28:28" type="bool" />
+ <field name="Vertex Position Space" dword="5" bits="29:29" type="uint" prefix="VPOS">
+ <value name="NDCSPACE" value="0" />
+ <value name="SCREENSPACE" value="1" />
+ </field>
+ <field name="API Mode" dword="5" bits="30:30" type="uint" prefix="APIMODE">
+ <value name="OGL" value="0" />
+ <value name="D3D" value="1" />
+ </field>
+ <field name="Clipper Viewport State Pointer" dword="6" bits="31:5" type="address" />
+ <field name="Screen Space Viewport X Min" dword="7" bits="31:0" type="float" />
+ <field name="Screen Space Viewport X Max" dword="8" bits="31:0" type="float" />
+ <field name="Screen Space Viewport Y Min" dword="9" bits="31:0" type="float" />
+ <field name="Screen Space Viewport Y Max" dword="10" bits="31:0" type="float" />
+ </struct>
+ <struct name="GS_STATE" length="7">
+ <field name="GRF Register Count" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="3" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Rendering Enabled" dword="4" bits="8:8" type="bool" />
+ <field name="SO Statistics Enable" dword="4" bits="9:9" type="bool" />
+ <field name="GS Statistics Enable" dword="4" bits="10:10" type="bool" />
+ <field name="Number of URB Entries" dword="4" bits="18:11" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="23:19" type="uint" />
+ <field name="Maximum Number of Threads" dword="4" bits="30:25" type="uint" />
+ <field name="Sampler Count" dword="5" bits="2:0" type="uint" />
+ <field name="Sampler State Pointer" dword="5" bits="31:5" type="address" />
+ <field name="Maximum VPIndex" dword="6" bits="3:0" type="uint" />
+ <field name="Reorder Enable" dword="6" bits="30:30" type="bool" />
+ </struct>
+ <struct name="MEMORY_OBJECT_CONTROL_STATE" length="1">
+ <field name="Cacheability Control" dword="0" bits="1:0" type="uint" />
+ <field name="Graphics Data Type (GFDT)" dword="0" bits="2:2" type="uint" />
+ <field name="Encrypted Data" dword="0" bits="3:3" type="bool" />
+ </struct>
+ <struct name="RENDER_SURFACE_STATE" length="6">
+ <field name="Cube Face Enable - Positive Z" dword="0" bits="0:0" type="bool" />
+ <field name="Cube Face Enable - Negative Z" dword="0" bits="1:1" type="bool" />
+ <field name="Cube Face Enable - Positive Y" dword="0" bits="2:2" type="bool" />
+ <field name="Cube Face Enable - Negative Y" dword="0" bits="3:3" type="bool" />
+ <field name="Cube Face Enable - Positive X" dword="0" bits="4:4" type="bool" />
+ <field name="Cube Face Enable - Negative X" dword="0" bits="5:5" type="bool" />
+ <field name="Media Boundary Pixel Mode" dword="0" bits="7:6" type="uint">
+ <value name="NORMAL_MODE" value="0" />
+ </field>
+ <field name="Render Cache Read Write Mode" dword="0" bits="8:8" type="uint">
+ <value name="WRITE_ONLY" value="0" />
+ <value name="READ_WRITE" value="1" />
+ </field>
+ <field name="Cube Map Corner Mode" dword="0" bits="9:9" type="uint">
+ <value name="CUBE_REPLICATE" value="0" />
+ <value name="CUBE_AVERAGE" value="1" />
+ </field>
+ <field name="MIP Map Layout Mode" dword="0" bits="10:10" type="uint">
+ <value name="MIPLAYOUT_BELOW" value="0" />
+ <value name="MIPLAYOUT_RIGHT" value="1" />
+ </field>
+ <field name="Vertical Line Stride Offset" dword="0" bits="11:11" type="uint" />
+ <field name="Vertical Line Stride" dword="0" bits="12:12" type="uint" />
+ <field name="Color Blend Enable" dword="0" bits="13:13" type="bool" />
+ <field name="Color Buffer Component Write Disables" dword="0" bits="17:14" type="uint">
+ <value name="WRITEDISABLE_ALPHA" value="8" />
+ <value name="WRITEDISABLE_RED" value="4" />
+ <value name="WRITEDISABLE_GREEN" value="2" />
+ <value name="WRITEDISABLE_BLUE" value="1" />
+ </field>
+ <field name="Surface Format" dword="0" bits="26:18" type="uint" />
+ <field name="Data Return Format" dword="0" bits="27:27" type="uint">
+ <value name="DATA_RETURN_FLOAT32" value="0" />
+ <value name="DATA_RETURN_S1.14" value="1" />
+ </field>
+ <field name="Surface Type" dword="0" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_BUFFER" value="4" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="1" bits="31:0" type="address" />
+ <field name="Render Target Rotation" dword="2" bits="1:0" type="uint">
+ <value name="RTROTATE_0DEG" value="0" />
+ <value name="RTROTATE_90DEG" value="1" />
+ <value name="RTROTATE_270DEG" value="3" />
+ </field>
+ <field name="MIP Count / LOD" dword="2" bits="5:2" type="uint" />
+ <field name="Width" dword="2" bits="18:6" type="uint" />
+ <field name="Height" dword="2" bits="31:19" type="uint" />
+ <field name="Tile Walk" dword="3" bits="0:0" type="uint">
+ <value name="TILEWALK_XMAJOR" value="0" />
+ <value name="TILEWALK_YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="3" bits="1:1" type="uint" />
+ <field name="Surface Pitch" dword="3" bits="19:3" type="uint" />
+ <field name="Depth" dword="3" bits="31:21" type="uint" />
+ <field name="Render Target View Extent" dword="4" bits="16:8" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="27:17" type="uint" />
+ <field name="Surface Min LOD" dword="4" bits="31:28" type="uint" />
+ <field name="Y Offset" dword="5" bits="23:20" type="uint" />
+ <field name="X Offset" dword="5" bits="31:25" type="uint" />
+ </struct>
+ <struct name="SAMPLER_BORDER_COLOR_STATE" length="12">
+ <field name="Border Color Unorm Red" dword="0" bits="7:0" type="uint" />
+ <field name="Border Color Unorm Green" dword="0" bits="15:8" type="uint" />
+ <field name="Border Color Unorm Blue" dword="0" bits="23:16" type="uint" />
+ <field name="Border Color Unorm Alpha" dword="0" bits="31:24" type="uint" />
+ <field name="Border Color Float Red" dword="1" bits="31:0" type="float" />
+ <field name="Border Color Float Green" dword="2" bits="31:0" type="float" />
+ <field name="Border Color Float Blue" dword="3" bits="31:0" type="float" />
+ <field name="Border Color Float Alpha" dword="4" bits="31:0" type="float" />
+ <field name="Border Color Float16 Red" dword="5" bits="15:0" type="uint" />
+ <field name="Border Color Float16 Green" dword="5" bits="31:16" type="uint" />
+ <field name="Border Color Float16 Blue" dword="6" bits="15:0" type="uint" />
+ <field name="Border Color Float16 Alpha" dword="6" bits="31:16" type="uint" />
+ <field name="Border Color Unorm16 Red" dword="7" bits="15:0" type="uint" />
+ <field name="Border Color Unorm16 Green" dword="7" bits="31:16" type="uint" />
+ <field name="Border Color Unorm16 Blue" dword="8" bits="15:0" type="uint" />
+ <field name="Border Color Unorm16 Alpha" dword="8" bits="31:16" type="uint" />
+ <field name="Border Color Snorm16 Red" dword="9" bits="15:0" type="int" />
+ <field name="Border Color Snorm16 Green" dword="9" bits="31:16" type="int" />
+ <field name="Border Color Snorm16 Blue" dword="10" bits="15:0" type="int" />
+ <field name="Border Color Snorm16 Alpha" dword="10" bits="31:16" type="int" />
+ <field name="Border Color Snorm8 Red" dword="11" bits="7:0" type="int" />
+ <field name="Border Color Snorm8 Green" dword="11" bits="15:8" type="int" />
+ <field name="Border Color Snorm8 Blue" dword="11" bits="23:16" type="int" />
+ <field name="Border Color Snorm8 Alpha" dword="11" bits="31:24" type="int" />
+ </struct>
+ <struct name="SF_STATE" length="8">
+ <field name="GRF Register Count" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="3" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Number of URB Entries" dword="4" bits="18:11" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="23:19" type="uint" />
+ <field name="Maximum Number of Threads" dword="4" bits="30:25" type="uint" />
+ <field name="Front Winding" dword="5" bits="0:0" type="uint">
+ <value name="FRONTWINDING_CW" value="0" />
+ <value name="FRONTWINDING_CCW" value="1" />
+ </field>
+ <field name="Viewport Transform Enable" dword="5" bits="1:1" type="bool" />
+ <field name="Setup Viewport State Offset" dword="5" bits="31:5" type="address" />
+ <field name="Destination Origin Vertical Bias" dword="6" bits="12:9" type="u0.4" />
+ <field name="Destination Origin Horizontal Bias" dword="6" bits="16:13" type="u0.4" />
+ <field name="Scissor Rectangle Enable" dword="6" bits="17:17" type="bool" />
+ <field name="2x2 Pixel Triangle Filter Disable" dword="6" bits="18:18" type="bool" />
+ <field name="Zero Pixel Triangle Filter Disable" dword="6" bits="19:19" type="bool" />
+ <field name="Point Rasterization Rule" dword="6" bits="21:20" type="uint">
+ <value name="RASTRULE_UPPER_LEFT" value="0" />
+ <value name="RASTRULE_UPPER_RIGHT" value="1" />
+ </field>
+ <field name="Line End Cap Antialiasing Region Width" dword="6" bits="23:22" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line Width" dword="6" bits="27:24" type="u3.1" />
+ <field name="Fast Scissor Clip Disable" dword="6" bits="28:28" type="bool" />
+ <field name="Cull Mode" dword="6" bits="30:29" type="uint" prefix="CULLMODE">
+ <value name="BOTH" value="0" />
+ <value name="NONE" value="1" />
+ <value name="FRONT" value="2" />
+ <value name="BACK" value="3" />
+ </field>
+ <field name="Antialiasing Enable" dword="6" bits="31:31" type="bool" />
+ <field name="Point Width" dword="7" bits="10:0" type="u8.3" />
+ <field name="Point Width Source" dword="7" bits="11:11" type="uint">
+ <value name="Vertex" value="0" />
+ <value name="State" value="1" />
+ </field>
+ <field name="Vertex Sub Pixel Precision Select" dword="7" bits="12:12" type="uint">
+ <value name="8 Sub-Pixel Precision Bits" value="0" />
+ <value name="4 Sub-Pixel Precision Bits" value="1" />
+ </field>
+ <field name="Sprite Point Enable" dword="7" bits="13:13" type="bool" />
+ <field name="AA Line Distance Mode" dword="7" bits="14:14" type="uint" prefix="AALINEDISTANCE">
+ <value name="MANHATTAN" value="0" />
+ <value name="TRUE" value="1" />
+ </field>
+ <field name="Triangle Fan Provoking Vertex Select" dword="7" bits="26:25" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Line Strip/List Provoking Vertex Select" dword="7" bits="28:27" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ </field>
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="7" bits="30:29" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Last Pixel Enable" dword="7" bits="31:31" type="bool" />
+ </struct>
+ <struct name="VERTEX_BUFFER_STATE" length="4">
+ <field name="Buffer Pitch" dword="0" bits="11:0" type="uint" />
+ <field name="Null Vertex Buffer" dword="0" bits="13:13" type="bool" />
+ <field name="Buffer Access Type" dword="0" bits="26:26" type="uint">
+ <value name="VERTEXDATA" value="0" />
+ <value name="INSTANCEDATA" value="1" />
+ </field>
+ <field name="Vertex Buffer Index" dword="0" bits="31:27" type="uint" />
+ <field name="Buffer Starting Address" dword="1" bits="31:0" type="address" />
+ <field name="End Address" dword="2" bits="31:0" type="address" />
+ <field name="Instance Data Step Rate" dword="3" bits="31:0" type="uint" />
+ </struct>
+ <struct name="VS_STATE" length="7">
+ <field name="GRF Register Count" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="3" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Statistics Enable" dword="4" bits="10:10" type="bool" />
+ <field name="Number of URB Entries" dword="4" bits="18:11" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="23:19" type="uint" />
+ <field name="Maximum Number of Threads" dword="4" bits="30:25" type="uint" />
+ <field name="Sampler Count" dword="5" bits="2:0" type="uint" />
+ <field name="Sampler State Pointer" dword="5" bits="31:5" type="address" />
+ <field name="Enable" dword="6" bits="0:0" type="bool" />
+ <field name="Vertex Cache Disable" dword="6" bits="1:1" type="bool" />
+ </struct>
+ <struct name="WM_STATE" length="11">
+ <field name="GRF Register Count 0" dword="0" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer 0" dword="0" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Depth Coefficient URB Read Offset" dword="1" bits="13:8" type="uint" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Single Program Flow" dword="1" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="2" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="2" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="3" bits="3:0" type="uint" />
+ <field name="Setup URB Entry Read Offset" dword="3" bits="9:4" type="uint" />
+ <field name="Setup URB Entry Read Length" dword="3" bits="16:11" type="uint" />
+ <field name="Constant URB Entry Read Offset" dword="3" bits="23:18" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="3" bits="30:25" type="uint" />
+ <field name="Statistics Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Sampler Count" dword="4" bits="4:2" type="uint" />
+ <field name="Sampler State Pointer" dword="4" bits="31:5" type="address" />
+ <field name="8 Pixel Dispatch Enable" dword="5" bits="0:0" type="bool" />
+ <field name="16 Pixel Dispatch Enable" dword="5" bits="1:1" type="bool" />
+ <field name="32 Pixel Dispatch Enable" dword="5" bits="2:2" type="bool" />
+ <field name="Contiguous 32 Pixel Dispatch Enable" dword="5" bits="3:3" type="bool" />
+ <field name="Contiguous 64 Pixel Dispatch Enable" dword="5" bits="4:4" type="bool" />
+ <field name="Fast Span Coverage Enable" dword="5" bits="6:6" type="bool" />
+ <field name="Depth Buffer Clear" dword="5" bits="7:7" type="bool" />
+ <field name="Depth Buffer Resolve Enable" dword="5" bits="8:8" type="bool" />
+ <field name="Hierarchical Depth Buffer Resolve Enable" dword="5" bits="9:9" type="bool" />
+ <field name="Legacy Global Depth Bias Enable" dword="5" bits="10:10" type="bool" />
+ <field name="Line Stipple Enable" dword="5" bits="11:11" type="bool" />
+ <field name="Global Depth Offset Enable" dword="5" bits="12:12" type="bool" />
+ <field name="Polygon Stipple Enable" dword="5" bits="13:13" type="bool" />
+ <field name="Line Antialiasing Region Width" dword="5" bits="15:14" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line End Cap Antialiasing Region Width" dword="5" bits="17:16" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Early Depth Test Enable" dword="5" bits="18:18" type="bool" />
+ <field name="Thread Dispatch Enable" dword="5" bits="19:19" type="bool" />
+ <field name="Pixel Shader Uses Source Depth" dword="5" bits="20:20" type="bool" />
+ <field name="Pixel Shader Computed Depth" dword="5" bits="21:21" type="bool" />
+ <field name="Pixel Shader Kills Pixel" dword="5" bits="22:22" type="bool" />
+ <field name="Legacy Diamond Line Rasterization" dword="5" bits="23:23" type="bool" />
+ <field name="Maximum Number of Threads" dword="5" bits="31:25" type="uint" />
+ <field name="Global Depth Offset Constant" dword="6" bits="31:0" type="float" />
+ <field name="Global Depth Offset Scale" dword="7" bits="31:0" type="float" />
+ <field name="GRF Register Count 1" dword="8" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer 1" dword="8" bits="31:6" type="offset" />
+ <field name="GRF Register Count 2" dword="9" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer 2" dword="9" bits="31:6" type="offset" />
+ <field name="GRF Register Count 3" dword="10" bits="3:1" type="uint" />
+ <field name="Kernel Start Pointer 3" dword="10" bits="31:6" type="offset" />
+ </struct>
+ <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Depth Clear Value Valid" dword="0" bits="15:15" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="16" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Clear Value" dword="1" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Surface Format" dword="1" bits="20:18" type="uint">
+ <value name="D32_FLOAT_S8X24_UINT" value="0" />
+ <value name="D32_FLOAT" value="1" />
+ <value name="D24_UNORM_S8_UINT" value="2" />
+ <value name="D24_UNORM_X8_UINT" value="3" />
+ <value name="D16_UNORM" value="5" />
+ </field>
+ <field name="Separate Stencil Buffer Enable" dword="1" bits="21:21" type="bool" />
+ <field name="Hierarchical Depth Buffer Enable" dword="1" bits="22:22" type="bool" />
+ <field name="Software Tiled Rendering Mode" dword="1" bits="24:23" type="uint">
+ <value name="NORMAL" value="0" />
+ <value name="STR1" value="1" />
+ <value name="STR2" value="3" />
+ </field>
+ <field name="Tile Walk" dword="1" bits="26:26" type="uint">
+ <value name="TILEWALK_YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="1" bits="27:27" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="31:0" type="address" />
+ <field name="MIP Map Layout Mode" dword="3" bits="1:1" type="uint">
+ <value name="MIPLAYOUT_BELOW" value="0" />
+ <value name="MIPLAYOUT_RIGHT" value="1" />
+ </field>
+ <field name="LOD" dword="3" bits="5:2" type="uint" />
+ <field name="Width" dword="3" bits="18:6" type="uint" />
+ <field name="Height" dword="3" bits="31:19" type="uint" />
+ <field name="Render Target View Extent" dword="4" bits="9:1" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="20:10" type="uint" />
+ <field name="Depth" dword="4" bits="31:21" type="uint" />
+ <field name="Depth Coordinate Offset X" dword="5" bits="15:0" type="int" />
+ <field name="Depth Coordinate Offset Y" dword="5" bits="31:16" type="int" />
+ </instruction>
+ <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="15" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Surface Base Address" dword="2" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="8" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Line Stipple Pattern" dword="1" bits="15:0" type="uint" />
+ <field name="Current Stipple Index" dword="1" bits="19:16" type="uint" />
+ <field name="Current Repeat Counter" dword="1" bits="29:21" type="uint" />
+ <field name="Modify Enable" dword="1" bits="31:31" type="bool" />
+ <field name="Line Stipple Repeat Count" dword="2" bits="8:0" type="uint" />
+ <field name="Line Stipple Inverse Repeat Count" dword="2" bits="31:16" type="u1.13" />
+ </instruction>
+ <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="14" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Surface Base Address" dword="2" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="CONSTANT_BUFFER" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Valid" dword="0" bits="8:8" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="2" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Buffer Length" dword="1" bits="5:0" type="uint" />
+ <field name="Buffer Starting Address" dword="1" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MI_FLUSH" bias="1" length="1" engine="render">
+ <field name="State/Instruction Cache Invalidate" dword="0" bits="1:1" type="uint">
+ <value name="Don't Invalidate" value="0" />
+ <value name="Invalidate" value="1" />
+ </field>
+ <field name="Render Cache Flush Inhibit" dword="0" bits="2:2" type="uint">
+ <value name="Flush" value="0" />
+ <value name="Don't Flush" value="1" />
+ </field>
+ <field name="Global Snapshot Count Reset" dword="0" bits="3:3" type="uint">
+ <value name="Don't Reset" value="0" />
+ <value name="Reset" value="1" />
+ </field>
+ <field name="Generic Media State Clear" dword="0" bits="4:4" type="bool" />
+ <field name="Indirect State Pointers Disable" dword="0" bits="5:5" type="bool" />
+ <field name="Protected Memory Enable" dword="0" bits="6:6" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="4" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_STORE_DATA_IMM" bias="2" length="5">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="2" />
+ <field name="Memory Address Type" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="32" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Physical Start Address Extension" dword="1" bits="3:0" type="address" />
+ <field name="Address" dword="2" bits="31:2" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="MI_STORE_REGISTER_MEM" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="36" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Address" dword="1" bits="25:2" type="offset" />
+ <field name="Memory Address" dword="2" bits="31:2" type="address" />
+ </instruction>
+ <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
+ <field name="Pipeline Selection" dword="0" bits="1:0" type="uint">
+ <value name="3D" value="0" />
+ <value name="Media" value="1" />
+ <value name="GPGPU" value="2" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ </instruction>
+ <instruction name="PIPE_CONTROL" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Notify Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Indirect State Pointers Disable" dword="0" bits="9:9" type="bool" />
+ <field name="Texture Cache Flush Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Instruction Cache Invalidate Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Write Cache Flush" dword="0" bits="12:12" type="bool" />
+ <field name="Depth Stall Enable" dword="0" bits="13:13" type="bool" />
+ <field name="Post Sync Operation" dword="0" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write PS Depth Count" value="2" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Cache Flush Inhibit" dword="1" bits="0:0" type="uint">
+ <value name="Flushed" value="0" />
+ <value name="Not Flushed" value="1" />
+ </field>
+ <field name="Stall At Pixel Scoreboard" dword="1" bits="1:1" type="bool" />
+ <field name="Destination Address Type" dword="1" bits="2:2" type="uint" prefix="DAT">
+ <value name="PGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Address" dword="1" bits="31:3" type="address" />
+ <field name="Immediate Data" dword="2" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="STATE_BASE_ADDRESS" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="General State Base Address Modify Enable" dword="1" bits="0:0" type="bool" />
+ <field name="General State Base Address" dword="1" bits="31:12" type="address" />
+ <field name="Surface State Base Address Modify Enable" dword="2" bits="0:0" type="bool" />
+ <field name="Surface State Base Address" dword="2" bits="31:12" type="address" />
+ <field name="Indirect Object Base Address Modify Enable" dword="3" bits="0:0" type="bool" />
+ <field name="Indirect Object Base Address" dword="3" bits="31:12" type="address" />
+ <field name="Instruction Base Address Modify Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Instruction Base Address" dword="4" bits="31:12" type="address" />
+ <field name="General State Access Upper Bound Modify Enable" dword="5" bits="0:0" type="bool" />
+ <field name="General State Access Upper Bound" dword="5" bits="31:12" type="address" />
+ <field name="Indirect Object Access Upper Bound Modify Enable" dword="6" bits="0:0" type="bool" />
+ <field name="Indirect Object Access Upper Bound" dword="6" bits="31:12" type="address" />
+ <field name="Instruction Access Upper Bound Modify Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Instruction Access Upper Bound" dword="7" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="XY_COLOR_BLT" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="Tiling Enable" dword="0" bits="11:11" type="bool" />
+ <field name="32bpp Byte Mask" dword="0" bits="21:20" type="uint" />
+ <field name="2D Command Opcode" dword="0" bits="28:22" type="uint" default="80" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="2" />
+ <field name="Destination Pitch" dword="1" bits="15:0" type="int" />
+ <field name="Raster Operation" dword="1" bits="23:16" type="uint" />
+ <field name="Color Depth" dword="1" bits="26:24" type="uint" prefix="COLOR_DEPTH">
+ <value name="8 bit" value="0" />
+ <value name="565" value="1" />
+ <value name="1555" value="2" />
+ <value name="32 bit" value="3" />
+ </field>
+ <field name="Clipping Enabled" dword="1" bits="30:30" type="bool" />
+ <field name="Destination X1 Coordinate" dword="2" bits="15:0" type="int" />
+ <field name="Destination Y1 Coordinate" dword="2" bits="31:16" type="int" />
+ <field name="Destination X2 Coordinate" dword="3" bits="15:0" type="int" />
+ <field name="Destination Y2 Coordinate" dword="3" bits="31:16" type="int" />
+ <field name="Destination Base Address" dword="4" bits="31:0" type="address" />
+ <field name="Solid Pattern Color" dword="5" bits="31:0" type="int" />
+ </instruction>
+ <instruction name="XY_SETUP_BLT" bias="2" length="8" engine="blitter">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="Tiling Enable" dword="0" bits="11:11" type="bool" />
+ <field name="32bpp Byte Mask" dword="0" bits="21:20" type="uint" />
+ <field name="2D Command Opcode" dword="0" bits="28:22" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="2" />
+ <field name="Destination Pitch" dword="1" bits="15:0" type="int" />
+ <field name="Raster Operation" dword="1" bits="23:16" type="uint" />
+ <field name="Color Depth" dword="1" bits="25:24" type="uint" prefix="COLOR_DEPTH">
+ <value name="8 bit" value="0" />
+ <value name="565" value="1" />
+ <value name="1555" value="2" />
+ <value name="32 bit" value="3" />
+ </field>
+ <field name="Mono Source Transparency Mode" dword="1" bits="28:28" type="bool" />
+ <field name="Clipping Enabled" dword="1" bits="30:30" type="bool" />
+ <field name="ClipRect X1 Coordinate" dword="2" bits="15:0" type="int" />
+ <field name="ClipRect Y1 Coordinate" dword="2" bits="31:16" type="int" />
+ <field name="ClipRect X2 Coordinate" dword="3" bits="15:0" type="int" />
+ <field name="ClipRect Y2 Coordinate" dword="3" bits="31:16" type="int" />
+ <field name="Destination Base Address" dword="4" bits="31:0" type="address" />
+ <field name="Background Color" dword="5" bits="31:0" type="uint" />
+ <field name="Foreground Color" dword="6" bits="31:0" type="uint" />
+ <field name="Pattern Base Address" dword="7" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="XY_SRC_COPY_BLT" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="Destination Tiling Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Source Tiling Enable" dword="0" bits="15:15" type="bool" />
+ <field name="32bpp Byte Mask" dword="0" bits="21:20" type="uint" />
+ <field name="2D Command Opcode" dword="0" bits="28:22" type="uint" default="83" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="2" />
+ <field name="Destination Pitch" dword="1" bits="15:0" type="int" />
+ <field name="Raster Operation" dword="1" bits="23:16" type="uint" />
+ <field name="Color Depth" dword="1" bits="26:24" type="uint" prefix="COLOR_DEPTH">
+ <value name="8 bit" value="0" />
+ <value name="565" value="1" />
+ <value name="1555" value="2" />
+ <value name="32 bit" value="3" />
+ </field>
+ <field name="Clipping Enabled" dword="1" bits="30:30" type="bool" />
+ <field name="Destination X1 Coordinate" dword="2" bits="15:0" type="int" />
+ <field name="Destination Y1 Coordinate" dword="2" bits="31:16" type="int" />
+ <field name="Destination X2 Coordinate" dword="3" bits="15:0" type="int" />
+ <field name="Destination Y2 Coordinate" dword="3" bits="31:16" type="int" />
+ <field name="Destination Base Address" dword="4" bits="31:0" type="address" />
+ <field name="Source X1 Coordinate" dword="5" bits="15:0" type="int" />
+ <field name="Source Y1 Coordinate" dword="5" bits="31:16" type="int" />
+ <field name="Source Pitch" dword="6" bits="15:0" type="int" />
+ <field name="Source Base Address" dword="7" bits="31:0" type="address" />
+ </instruction>
+</genxml>
diff --git a/lib/genxml/gen60.xml b/lib/genxml/gen60.xml
new file mode 100644
index 000000000..035810d60
--- /dev/null
+++ b/lib/genxml/gen60.xml
@@ -0,0 +1,2606 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="SNB" gen="6">
+ <import name="gen50.xml">
+ <exclude name="3DSTATE_CONSTANT_COLOR" />
+ <exclude name="3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP" />
+ <exclude name="3DSTATE_PIPELINED_POINTERS" />
+ <exclude name="CLIP_STATE" />
+ <exclude name="CONSTANT_BUFFER" />
+ <exclude name="CS_URB_STATE" />
+ <exclude name="GS_STATE" />
+ <exclude name="SF_STATE" />
+ <exclude name="URB_FENCE" />
+ <exclude name="VS_STATE" />
+ <exclude name="WM_STATE" />
+ <exclude name="XY_COLOR_BLT" />
+ <exclude name="XY_SETUP_BLT" />
+ <exclude name="XY_SRC_COPY_BLT" />
+ <exclude name="XY_TEXT_IMMEDIATE_BLT" />
+ </import>
+ <struct name="3DSTATE_CONSTANT_BODY" length="4">
+ <field name="Constant Buffer 0 Read Length" dword="0" bits="4:0" type="uint" />
+ <field name="Pointer to Constant Buffer 0" dword="0" bits="31:5" type="offset" />
+ <field name="Constant Buffer 1 Read Length" dword="1" bits="4:0" type="uint" />
+ <field name="Pointer to Constant Buffer 1" dword="1" bits="31:5" type="address" />
+ <field name="Constant Buffer 2 Read Length" dword="2" bits="4:0" type="uint" />
+ <field name="Pointer to Constant Buffer 2" dword="2" bits="31:5" type="address" />
+ <field name="Constant Buffer 3 Read Length" dword="3" bits="4:0" type="uint" />
+ <field name="Pointer to Constant Buffer 3" dword="3" bits="31:5" type="address" />
+ </struct>
+ <struct name="BINDING_TABLE_STATE" length="1">
+ <field name="Surface State Pointer" dword="0" bits="31:5" type="offset" />
+ </struct>
+ <struct name="BLEND_STATE_ENTRY" length="2">
+ <field name="Destination Blend Factor" dword="0" bits="4:0" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Source Blend Factor" dword="0" bits="9:5" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Color Blend Function" dword="0" bits="13:11" type="3D_Color_Buffer_Blend_Function" />
+ <field name="Destination Alpha Blend Factor" dword="0" bits="19:15" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Source Alpha Blend Factor" dword="0" bits="24:20" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Alpha Blend Function" dword="0" bits="28:26" type="3D_Color_Buffer_Blend_Function" />
+ <field name="Independent Alpha Blend Enable" dword="0" bits="30:30" type="bool" />
+ <field name="Color Buffer Blend Enable" dword="0" bits="31:31" type="bool" />
+ <field name="Post-Blend Color Clamp Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Pre-Blend Color Clamp Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Color Clamp Range" dword="1" bits="3:2" type="uint">
+ <value name="COLORCLAMP_UNORM" value="0" />
+ <value name="COLORCLAMP_SNORM" value="1" />
+ <value name="COLORCLAMP_RTFORMAT" value="2" />
+ </field>
+ <field name="Y Dither Offset" dword="1" bits="9:8" type="uint" />
+ <field name="X Dither Offset" dword="1" bits="11:10" type="uint" />
+ <field name="Color Dither Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Alpha Test Function" dword="1" bits="15:13" type="3D_Compare_Function" />
+ <field name="Alpha Test Enable" dword="1" bits="16:16" type="bool" />
+ <field name="Logic Op Function" dword="1" bits="21:18" type="3D_Logic_Op_Function" />
+ <field name="Logic Op Enable" dword="1" bits="22:22" type="bool" />
+ <field name="Write Disable Blue" dword="1" bits="24:24" type="bool" />
+ <field name="Write Disable Green" dword="1" bits="25:25" type="bool" />
+ <field name="Write Disable Red" dword="1" bits="26:26" type="bool" />
+ <field name="Write Disable Alpha" dword="1" bits="27:27" type="bool" />
+ <field name="AlphaToCoverage Dither Enable" dword="1" bits="29:29" type="bool" />
+ <field name="AlphaToOne Enable" dword="1" bits="30:30" type="bool" />
+ <field name="AlphaToCoverage Enable" dword="1" bits="31:31" type="bool" />
+ </struct>
+ <struct name="BLEND_STATE" length="0">
+ <group count="0" dword="0" size="64">
+ <field name="Entry" dword="0" bits="63:0" type="BLEND_STATE_ENTRY" />
+ </group>
+ </struct>
+ <struct name="COLOR_CALC_STATE" length="6">
+ <field name="Alpha Test Format" dword="0" bits="0:0" type="uint">
+ <value name="ALPHATEST_UNORM8" value="0" />
+ <value name="ALPHATEST_FLOAT32" value="1" />
+ </field>
+ <field name="Round Disable Function Disable" dword="0" bits="15:15" type="bool" />
+ <field name="Backface Stencil Reference Value" dword="0" bits="23:16" type="uint" />
+ <field name="Stencil Reference Value" dword="0" bits="31:24" type="uint" />
+ <field name="Alpha Reference Value As UNORM8" dword="1" bits="31:0" type="uint" />
+ <field name="Alpha Reference Value As FLOAT32" dword="1" bits="31:0" type="float" />
+ <field name="Blend Constant Color Red" dword="2" bits="31:0" type="float" />
+ <field name="Blend Constant Color Green" dword="3" bits="31:0" type="float" />
+ <field name="Blend Constant Color Blue" dword="4" bits="31:0" type="float" />
+ <field name="Blend Constant Color Alpha" dword="5" bits="31:0" type="float" />
+ </struct>
+ <struct name="DEPTH_STENCIL_STATE" length="3">
+ <field name="Backface Stencil Pass Depth Pass Op" dword="0" bits="5:3" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Pass Depth Fail Op" dword="0" bits="8:6" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Fail Op" dword="0" bits="11:9" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Test Function" dword="0" bits="14:12" type="3D_Compare_Function" />
+ <field name="Double Sided Stencil Enable" dword="0" bits="15:15" type="bool" />
+ <field name="Stencil Buffer Write Enable" dword="0" bits="18:18" type="bool" />
+ <field name="Stencil Pass Depth Pass Op" dword="0" bits="21:19" type="3D_Stencil_Operation" />
+ <field name="Stencil Pass Depth Fail Op" dword="0" bits="24:22" type="3D_Stencil_Operation" />
+ <field name="Stencil Fail Op" dword="0" bits="27:25" type="3D_Stencil_Operation" />
+ <field name="Stencil Test Function" dword="0" bits="30:28" type="3D_Compare_Function" />
+ <field name="Stencil Test Enable" dword="0" bits="31:31" type="bool" />
+ <field name="Backface Stencil Write Mask" dword="1" bits="7:0" type="uint" />
+ <field name="Backface Stencil Test Mask" dword="1" bits="15:8" type="uint" />
+ <field name="Stencil Write Mask" dword="1" bits="23:16" type="uint" />
+ <field name="Stencil Test Mask" dword="1" bits="31:24" type="uint" />
+ <field name="Depth Buffer Write Enable" dword="2" bits="26:26" type="bool" />
+ <field name="Depth Test Function" dword="2" bits="29:27" type="3D_Compare_Function" />
+ <field name="Depth Test Enable" dword="2" bits="31:31" type="bool" />
+ </struct>
+ <struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="1" bits="18:18" type="bool" />
+ <field name="Sampler Count" dword="2" bits="4:2" type="uint">
+ <value name="No samplers used" value="0" />
+ <value name="Between 1 and 4 samplers used" value="1" />
+ <value name="Between 5 and 8 samplers used" value="2" />
+ <value name="Between 9 and 12 samplers used" value="3" />
+ <value name="Between 13 and 16 samplers used" value="4" />
+ </field>
+ <field name="Sampler State Pointer" dword="2" bits="31:5" type="offset" />
+ <field name="Binding Table Entry Count" dword="3" bits="4:0" type="uint" />
+ <field name="Binding Table Pointer" dword="3" bits="31:5" type="offset" />
+ <field name="Constant URB Entry Read Offset" dword="4" bits="15:0" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="4" bits="31:16" type="uint" />
+ <field name="Barrier ID" dword="5" bits="3:0" type="uint" />
+ <field name="Barrier Return Byte" dword="5" bits="15:8" type="uint" />
+ <field name="Barrier Return GRF Offset" dword="5" bits="31:24" type="uint" />
+ </struct>
+ <struct name="MEMORY_OBJECT_CONTROL_STATE" length="1">
+ <field name="Cacheability Control" dword="0" bits="1:0" type="uint" />
+ <field name="Graphics Data Type (GFDT)" dword="0" bits="2:2" type="uint" />
+ </struct>
+ <struct name="PALETTE_ENTRY" length="1">
+ <field name="Blue" dword="0" bits="7:0" type="uint" />
+ <field name="Green" dword="0" bits="15:8" type="uint" />
+ <field name="Red" dword="0" bits="23:16" type="uint" />
+ <field name="Alpha" dword="0" bits="31:24" type="uint" />
+ </struct>
+ <struct name="RENDER_SURFACE_STATE" length="6">
+ <field name="Cube Face Enable - Positive Z" dword="0" bits="0:0" type="bool" />
+ <field name="Cube Face Enable - Negative Z" dword="0" bits="1:1" type="bool" />
+ <field name="Cube Face Enable - Positive Y" dword="0" bits="2:2" type="bool" />
+ <field name="Cube Face Enable - Negative Y" dword="0" bits="3:3" type="bool" />
+ <field name="Cube Face Enable - Positive X" dword="0" bits="4:4" type="bool" />
+ <field name="Cube Face Enable - Negative X" dword="0" bits="5:5" type="bool" />
+ <field name="Media Boundary Pixel Mode" dword="0" bits="7:6" type="uint">
+ <value name="NORMAL_MODE" value="0" />
+ <value name="PROGRESSIVE_FRAME" value="2" />
+ <value name="INTERLACED_FRAME" value="3" />
+ </field>
+ <field name="Render Cache Read Write Mode" dword="0" bits="8:8" type="uint">
+ <value name="WRITE_ONLY" value="0" />
+ <value name="READ_WRITE" value="1" />
+ </field>
+ <field name="Cube Map Corner Mode" dword="0" bits="9:9" type="uint">
+ <value name="CUBE_REPLICATE" value="0" />
+ <value name="CUBE_AVERAGE" value="1" />
+ </field>
+ <field name="MIP Map Layout Mode" dword="0" bits="10:10" type="uint">
+ <value name="MIPLAYOUT_BELOW" value="0" />
+ <value name="MIPLAYOUT_RIGHT" value="1" />
+ </field>
+ <field name="Vertical Line Stride Offset" dword="0" bits="11:11" type="uint" />
+ <field name="Vertical Line Stride" dword="0" bits="12:12" type="uint" />
+ <field name="Surface Format" dword="0" bits="26:18" type="uint" />
+ <field name="Data Return Format" dword="0" bits="27:27" type="uint">
+ <value name="DATA_RETURN_FLOAT32" value="0" />
+ </field>
+ <field name="Surface Type" dword="0" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_BUFFER" value="4" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="1" bits="31:0" type="address" />
+ <field name="Render Target Rotation" dword="2" bits="1:0" type="uint">
+ <value name="RTROTATE_0DEG" value="0" />
+ <value name="RTROTATE_90DEG" value="1" />
+ <value name="RTROTATE_270DEG" value="3" />
+ </field>
+ <field name="MIP Count / LOD" dword="2" bits="5:2" type="uint" />
+ <field name="Width" dword="2" bits="18:6" type="uint" />
+ <field name="Height" dword="2" bits="31:19" type="uint" />
+ <field name="Tile Walk" dword="3" bits="0:0" type="uint">
+ <value name="TILEWALK_XMAJOR" value="0" />
+ <value name="TILEWALK_YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="3" bits="1:1" type="bool" />
+ <field name="Surface Pitch" dword="3" bits="19:3" type="uint" />
+ <field name="Depth" dword="3" bits="31:21" type="uint" />
+ <field name="Multisample Position Palette Index" dword="4" bits="2:0" type="uint" />
+ <field name="Number of Multisamples" dword="4" bits="6:4" type="uint">
+ <value name="MULTISAMPLECOUNT_1" value="0" />
+ <value name="MULTISAMPLECOUNT_4" value="2" />
+ </field>
+ <field name="Render Target View Extent" dword="4" bits="16:8" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="27:17" type="uint" />
+ <field name="Surface Min LOD" dword="4" bits="31:28" type="uint" />
+ <field name="MOCS" dword="5" bits="19:16" type="uint" />
+ <field name="Y Offset" dword="5" bits="23:20" type="uint" />
+ <field name="Surface Vertical Alignment" dword="5" bits="24:24" type="uint">
+ <value name="VALIGN_2" value="0" />
+ <value name="VALIGN_4" value="1" />
+ </field>
+ <field name="X Offset" dword="5" bits="31:25" type="uint" />
+ </struct>
+ <struct name="SAMPLER_STATE" length="4">
+ <field name="Shadow Function" dword="0" bits="2:0" type="uint" prefix="PREFILTEROP">
+ <value name="ALWAYS" value="0" />
+ <value name="NEVER" value="1" />
+ <value name="LESS" value="2" />
+ <value name="EQUAL" value="3" />
+ <value name="LEQUAL" value="4" />
+ <value name="GREATER" value="5" />
+ <value name="NOTEQUAL" value="6" />
+ <value name="GEQUAL" value="7" />
+ </field>
+ <field name="Texture LOD Bias" dword="0" bits="13:3" type="s4.6" />
+ <field name="Min Mode Filter" dword="0" bits="16:14" type="uint" prefix="MAPFILTER" />
+ <field name="Mag Mode Filter" dword="0" bits="19:17" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mip Mode Filter" dword="0" bits="21:20" type="uint" prefix="MIPFILTER">
+ <value name="NONE" value="0" />
+ <value name="NEAREST" value="1" />
+ <value name="LINEAR" value="3" />
+ </field>
+ <field name="Base Mip Level" dword="0" bits="26:22" type="u4.1" />
+ <field name="Min and Mag State Not Equal" dword="0" bits="27:27" type="uint">
+ <value name="MIN_MAG_EQ" value="0" />
+ <value name="MIN_MAG_NEQ" value="1" />
+ </field>
+ <field name="LOD PreClamp Enable" dword="0" bits="28:28" type="uint" prefix="CLAMP_ENABLE">
+ <value name="OGL" value="1" />
+ </field>
+ <field name="Texture Border Color Mode" dword="0" bits="29:29" type="uint">
+ <value name="DX10/OGL" value="0" />
+ <value name="DX9" value="1" />
+ </field>
+ <field name="Sampler Disable" dword="0" bits="31:31" type="bool" />
+ <field name="TCZ Address Control Mode" dword="1" bits="2:0" type="Texture Coordinate Mode" />
+ <field name="TCY Address Control Mode" dword="1" bits="5:3" type="Texture Coordinate Mode" />
+ <field name="TCX Address Control Mode" dword="1" bits="8:6" type="Texture Coordinate Mode" />
+ <field name="Cube Surface Control Mode" dword="1" bits="9:9" type="uint">
+ <value name="CUBECTRLMODE_PROGRAMMED" value="0" />
+ <value name="CUBECTRLMODE_OVERRIDE" value="1" />
+ </field>
+ <field name="Max LOD" dword="1" bits="21:12" type="u4.6" />
+ <field name="Min LOD" dword="1" bits="31:22" type="u4.6" />
+ <field name="Border Color Pointer" dword="2" bits="31:5" type="offset" />
+ <field name="Non-normalized Coordinate Enable" dword="3" bits="0:0" type="bool" />
+ <field name="R Address Min Filter Rounding Enable" dword="3" bits="13:13" type="bool" />
+ <field name="R Address Mag Filter Rounding Enable" dword="3" bits="14:14" type="bool" />
+ <field name="V Address Min Filter Rounding Enable" dword="3" bits="15:15" type="bool" />
+ <field name="V Address Mag Filter Rounding Enable" dword="3" bits="16:16" type="bool" />
+ <field name="U Address Min Filter Rounding Enable" dword="3" bits="17:17" type="bool" />
+ <field name="U Address Mag Filter Rounding Enable" dword="3" bits="18:18" type="bool" />
+ <field name="Maximum Anisotropy" dword="3" bits="21:19" type="uint">
+ <value name="RATIO 2:1" value="0" />
+ <value name="RATIO 4:1" value="1" />
+ <value name="RATIO 6:1" value="2" />
+ <value name="RATIO 8:1" value="3" />
+ <value name="RATIO 10:1" value="4" />
+ <value name="RATIO 12:1" value="5" />
+ <value name="RATIO 14:1" value="6" />
+ <value name="RATIO 16:1" value="7" />
+ </field>
+ <field name="ChromaKey Mode" dword="3" bits="22:22" type="uint">
+ <value name="KEYFILTER_KILL_ON_ANY_MATCH" value="0" />
+ <value name="KEYFILTER_REPLACE_BLACK" value="1" />
+ </field>
+ <field name="ChromaKey Index" dword="3" bits="24:23" type="uint" />
+ <field name="ChromaKey Enable" dword="3" bits="25:25" type="bool" />
+ <field name="Monochrome Filter Width" dword="3" bits="28:26" type="uint" />
+ <field name="Monochrome Filter Height: Reserved" dword="3" bits="31:29" type="uint" />
+ </struct>
+ <struct name="SF_OUTPUT_ATTRIBUTE_DETAIL" length="1">
+ <field name="Source Attribute" dword="0" bits="4:0" type="uint" />
+ <field name="Swizzle Select" dword="0" bits="7:6" type="uint">
+ <value name="INPUTATTR" value="0" />
+ <value name="INPUTATTR_FACING" value="1" />
+ <value name="INPUTATTR_W" value="2" />
+ <value name="INPUTATTR_FACING_W" value="3" />
+ </field>
+ <field name="Constant Source" dword="0" bits="10:9" type="uint">
+ <value name="CONST_0000" value="0" />
+ <value name="CONST_0001_FLOAT" value="1" />
+ <value name="CONST_1111_FLOAT" value="2" />
+ <value name="PRIM_ID" value="3" />
+ </field>
+ <field name="Swizzle Control Mode" dword="0" bits="11:11" type="uint" />
+ <field name="Component Override X" dword="0" bits="12:12" type="bool" />
+ <field name="Component Override Y" dword="0" bits="13:13" type="bool" />
+ <field name="Component Override Z" dword="0" bits="14:14" type="bool" />
+ <field name="Component Override W" dword="0" bits="15:15" type="bool" />
+ </struct>
+ <struct name="SF_VIEWPORT" length="8">
+ <field name="Viewport Matrix Element m00" dword="0" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m11" dword="1" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m22" dword="2" bits="31:0" type="float">
+ <value name="Excludes DWord (0,1)" value="0" />
+ </field>
+ <field name="Viewport Matrix Element m30" dword="3" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m31" dword="4" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m32" dword="5" bits="31:0" type="float" />
+ </struct>
+ <struct name="VERTEX_BUFFER_STATE" length="4">
+ <field name="Buffer Pitch" dword="0" bits="11:0" type="uint" />
+ <field name="Vertex Fetch Invalidate" dword="0" bits="12:12" type="bool" default="0" />
+ <field name="Null Vertex Buffer" dword="0" bits="13:13" type="bool" />
+ <field name="MOCS" dword="0" bits="19:16" type="uint" />
+ <field name="Buffer Access Type" dword="0" bits="20:20" type="uint">
+ <value name="VERTEXDATA" value="0" />
+ <value name="INSTANCEDATA" value="1" />
+ </field>
+ <field name="Vertex Buffer Index" dword="0" bits="31:26" type="uint" />
+ <field name="Buffer Starting Address" dword="1" bits="31:0" type="address" />
+ <field name="End Address" dword="2" bits="31:0" type="address" />
+ <field name="Instance Data Step Rate" dword="3" bits="31:0" type="uint" />
+ </struct>
+ <struct name="VERTEX_ELEMENT_STATE" length="2">
+ <field name="Source Element Offset" dword="0" bits="11:0" type="uint" />
+ <field name="Edge Flag Enable" dword="0" bits="15:15" type="bool" />
+ <field name="Source Element Format" dword="0" bits="24:16" type="uint" />
+ <field name="Valid" dword="0" bits="25:25" type="bool" />
+ <field name="Vertex Buffer Index" dword="0" bits="31:26" type="uint" />
+ <field name="Component 3 Control" dword="1" bits="18:16" type="3D_Vertex_Component_Control" />
+ <field name="Component 2 Control" dword="1" bits="22:20" type="3D_Vertex_Component_Control" />
+ <field name="Component 1 Control" dword="1" bits="26:24" type="3D_Vertex_Component_Control" />
+ <field name="Component 0 Control" dword="1" bits="30:28" type="3D_Vertex_Component_Control" />
+ </struct>
+ <instruction name="3DPRIMITIVE" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="Internal Vertex Count" dword="0" bits="9:9" type="uint" />
+ <field name="Primitive Topology Type" dword="0" bits="14:10" type="3D_Prim_Topo_Type" />
+ <field name="Vertex Access Type" dword="0" bits="15:15" type="uint">
+ <value name="SEQUENTIAL" value="0" />
+ <value name="RANDOM" value="1" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Vertex Count Per Instance" dword="1" bits="31:0" type="uint" />
+ <field name="Start Vertex Location" dword="2" bits="31:0" type="uint" />
+ <field name="Instance Count" dword="3" bits="31:0" type="uint">
+ <value name="UNDEFINED" value="0" />
+ <value name="'non-instanced' operation" value="1" />
+ </field>
+ <field name="Start Instance Location" dword="4" bits="31:0" type="uint" />
+ <field name="Base Vertex Location" dword="5" bits="31:0" type="int" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POINTERS" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="VS Binding Table Change" dword="0" bits="8:8" type="bool" />
+ <field name="GS Binding Table Change" dword="0" bits="9:9" type="bool" />
+ <field name="PS Binding Table Change" dword="0" bits="12:12" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to VS Binding Table" dword="1" bits="31:5" type="offset" />
+ <field name="Pointer to GS Binding Table" dword="2" bits="31:5" type="offset" />
+ <field name="Pointer to PS Binding Table" dword="3" bits="31:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="14" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="BLEND_STATE Change" dword="1" bits="0:0" type="bool" />
+ <field name="Pointer to BLEND_STATE" dword="1" bits="31:6" type="offset" />
+ <field name="DEPTH_STENCIL_STATE Change" dword="2" bits="0:0" type="bool" />
+ <field name="Pointer to DEPTH_STENCIL_STATE" dword="2" bits="31:6" type="offset" />
+ <field name="Color Calc State Pointer Valid" dword="3" bits="0:0" type="bool" />
+ <field name="Color Calc State Pointer" dword="3" bits="31:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="ChromaKey Table Index" dword="1" bits="31:30" type="uint" />
+ <field name="ChromaKey Low Value" dword="2" bits="31:0" type="uint" />
+ <field name="ChromaKey High Value" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_CLIP" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="18" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="1" bits="7:0" type="uint" />
+ <field name="Statistics Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Triangle Fan Provoking Vertex Select" dword="2" bits="1:0" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Line Strip/List Provoking Vertex Select" dword="2" bits="3:2" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ </field>
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="2" bits="5:4" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Non-Perspective Barycentric Enable" dword="2" bits="8:8" type="bool" />
+ <field name="Perspective Divide Disable" dword="2" bits="9:9" type="bool" />
+ <field name="Clip Mode" dword="2" bits="15:13" type="uint">
+ <value name="CLIPMODE_NORMAL" value="0" />
+ <value name="CLIPMODE_REJECT_ALL" value="3" />
+ <value name="CLIPMODE_ACCEPT_ALL" value="4" />
+ </field>
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="2" bits="23:16" type="uint" />
+ <field name="Guardband Clip Test Enable" dword="2" bits="26:26" type="bool" />
+ <field name="Viewport Z Clip Test Enable" dword="2" bits="27:27" type="bool" />
+ <field name="Viewport XY Clip Test Enable" dword="2" bits="28:28" type="bool" />
+ <field name="API Mode" dword="2" bits="30:30" type="uint">
+ <value name="APIMODE_OGL" value="0" />
+ <value name="APIMODE_D3D" value="1" />
+ </field>
+ <field name="Clip Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Maximum VP Index" dword="3" bits="3:0" type="uint" />
+ <field name="Force Zero RTA Index Enable" dword="3" bits="5:5" type="bool" />
+ <field name="Maximum Point Width" dword="3" bits="16:6" type="u8.3" />
+ <field name="Minimum Point Width" dword="3" bits="27:17" type="u8.3" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="MOCS" dword="0" bits="11:8" type="uint" />
+ <field name="Buffer 0 Valid" dword="0" bits="12:12" type="bool" />
+ <field name="Buffer 1 Valid" dword="0" bits="13:13" type="bool" />
+ <field name="Buffer 2 Valid" dword="0" bits="14:14" type="bool" />
+ <field name="Buffer 3 Valid" dword="0" bits="15:15" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="22" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="127:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="MOCS" dword="0" bits="11:8" type="uint" />
+ <field name="Buffer 0 Valid" dword="0" bits="12:12" type="bool" />
+ <field name="Buffer 1 Valid" dword="0" bits="13:13" type="bool" />
+ <field name="Buffer 2 Valid" dword="0" bits="14:14" type="bool" />
+ <field name="Buffer 3 Valid" dword="0" bits="15:15" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="23" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="127:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="MOCS" dword="0" bits="11:8" type="uint" />
+ <field name="Buffer 0 Valid" dword="0" bits="12:12" type="bool" />
+ <field name="Buffer 1 Valid" dword="0" bits="13:13" type="bool" />
+ <field name="Buffer 2 Valid" dword="0" bits="14:14" type="bool" />
+ <field name="Buffer 3 Valid" dword="0" bits="15:15" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="21" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="127:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Surface Format" dword="1" bits="20:18" type="uint">
+ <value name="D32_FLOAT_S8X24_UINT" value="0" />
+ <value name="D32_FLOAT" value="1" />
+ <value name="D24_UNORM_S8_UINT" value="2" />
+ <value name="D24_UNORM_X8_UINT" value="3" />
+ <value name="D16_UNORM" value="5" />
+ </field>
+ <field name="Separate Stencil Buffer Enable" dword="1" bits="21:21" type="bool" />
+ <field name="Hierarchical Depth Buffer Enable" dword="1" bits="22:22" type="bool" />
+ <field name="Software Tiled Rendering Mode" dword="1" bits="24:23" type="uint">
+ <value name="NORMAL" value="0" />
+ <value name="STR1" value="1" />
+ <value name="STR2" value="3" />
+ </field>
+ <field name="Tile Walk" dword="1" bits="26:26" type="uint">
+ <value name="TILEWALK_YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="1" bits="27:27" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="31:0" type="address" />
+ <field name="MIP Map Layout Mode" dword="3" bits="1:1" type="uint">
+ <value name="MIPLAYOUT_BELOW" value="0" />
+ <value name="MIPLAYOUT_RIGHT" value="1" />
+ </field>
+ <field name="LOD" dword="3" bits="5:2" type="uint" />
+ <field name="Width" dword="3" bits="18:6" type="uint" />
+ <field name="Height" dword="3" bits="31:19" type="uint" />
+ <field name="Render Target View Extent" dword="4" bits="9:1" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="20:10" type="uint" />
+ <field name="Depth" dword="4" bits="31:21" type="uint" />
+ <field name="Depth Coordinate Offset X" dword="5" bits="15:0" type="int" />
+ <field name="Depth Coordinate Offset Y" dword="5" bits="31:16" type="int" />
+ <field name="MOCS" dword="6" bits="31:27" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_GS" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="17" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="2" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="2" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="2" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="2" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="2" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="3" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="3" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="4" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="4" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="4" bits="16:11" type="uint" />
+ <field name="Rendering Enabled" dword="5" bits="8:8" type="uint" />
+ <field name="SO Statistics Enable" dword="5" bits="9:9" type="bool" />
+ <field name="Statistics Enable" dword="5" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="5" bits="31:25" type="uint" />
+ <field name="Enable" dword="6" bits="15:15" type="bool" />
+ <field name="SVBI Post-Increment Value" dword="6" bits="25:16" type="uint" />
+ <field name="SVBI Post-Increment Enable" dword="6" bits="27:27" type="bool" />
+ <field name="SVBI Payload Enable" dword="6" bits="28:28" type="bool" />
+ <field name="Discard Adjacency" dword="6" bits="29:29" type="bool" />
+ <field name="Reorder Mode" dword="6" bits="30:30" type="uint">
+ <value name="LEADING" value="0" />
+ <value name="TRAILING" value="1" />
+ </field>
+ </instruction>
+ <instruction name="3DSTATE_GS_SVB_INDEX" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="11" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Load Internal Vertex Count" dword="1" bits="0:0" type="uint" />
+ <field name="Index Number" dword="1" bits="30:29" type="uint" />
+ <field name="Streamed Vertex Buffer Index" dword="2" bits="31:0" type="uint" />
+ <field name="Maximum Index" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="15" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="MOCS" dword="1" bits="28:25" type="uint" />
+ <field name="Surface Base Address" dword="2" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Index Format" dword="0" bits="9:8" type="uint" prefix="INDEX">
+ <value name="BYTE" value="0" />
+ <value name="WORD" value="1" />
+ <value name="DWORD" value="2" />
+ </field>
+ <field name="Cut Index Enable" dword="0" bits="10:10" type="bool" />
+ <field name="MOCS" dword="0" bits="15:12" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="10" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Buffer Starting Address" dword="1" bits="31:0" type="address" />
+ <field name="Buffer Ending Address" dword="2" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="8" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Line Stipple Pattern" dword="1" bits="15:0" type="uint" />
+ <field name="Current Stipple Index" dword="1" bits="19:16" type="uint" />
+ <field name="Current Repeat Counter" dword="1" bits="29:21" type="uint" />
+ <field name="Modify Enable (Current Repeat Counter, Current Stipple Index)" dword="1" bits="31:31" type="bool" />
+ <field name="Line Stipple Repeat Count" dword="2" bits="8:0" type="uint" />
+ <field name="Line Stipple Inverse Repeat Count" dword="2" bits="31:16" type="u1.13" />
+ </instruction>
+ <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="17" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Monochrome Filter Height" dword="1" bits="2:0" type="uint" />
+ <field name="Monochrome Filter Width" dword="1" bits="5:3" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="13" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Number of Multisamples" dword="1" bits="3:1" type="uint">
+ <value name="NUMSAMPLES_1" value="0" />
+ <value name="NUMSAMPLES_4" value="2" />
+ </field>
+ <field name="Pixel Location" dword="1" bits="4:4" type="uint">
+ <value name="CENTER" value="0" />
+ <value name="UL_CORNER" value="1" />
+ </field>
+ <field name="Sample0 Y Offset" dword="2" bits="3:0" type="u0.4" />
+ <field name="Sample0 X Offset" dword="2" bits="7:4" type="u0.4" />
+ <field name="Sample1 Y Offset" dword="2" bits="11:8" type="u0.4" />
+ <field name="Sample1 X Offset" dword="2" bits="15:12" type="u0.4" />
+ <field name="Sample2 Y Offset" dword="2" bits="19:16" type="u0.4" />
+ <field name="Sample2 X Offset" dword="2" bits="23:20" type="u0.4" />
+ <field name="Sample3 Y Offset" dword="2" bits="27:24" type="u0.4" />
+ <field name="Sample3 X Offset" dword="2" bits="31:28" type="u0.4" />
+ </instruction>
+ <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="2" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="0" dword="1" size="32">
+ <field name="Entry" dword="0" bits="31:0" type="PALETTE_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="12" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="0" dword="1" size="32">
+ <field name="Palette Alpha[0:N-1]" dword="0" bits="31:24" type="uint" />
+ <field name="Palette Red[0:N-1]" dword="0" bits="23:16" type="uint" />
+ <field name="Palette Green[0:N-1]" dword="0" bits="15:8" type="uint" />
+ <field name="Palette Blue[0:N-1]" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_SAMPLER_STATE_POINTERS" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="VS Sampler State Change" dword="0" bits="8:8" type="uint" />
+ <field name="GS Sampler State Change" dword="0" bits="9:9" type="uint" />
+ <field name="PS Sampler State Change" dword="0" bits="12:12" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="2" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to VS Sampler State" dword="1" bits="31:5" type="offset" />
+ <field name="Pointer to GS Sampler State" dword="2" bits="31:5" type="offset" />
+ <field name="Pointer to PS Sampler State" dword="3" bits="31:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="24" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Sample Mask" dword="1" bits="3:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="15" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Scissor Rect Pointer" dword="1" bits="31:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_SF" bias="2" length="20" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="18" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="19" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Vertex URB Entry Read Offset" dword="1" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="1" bits="15:11" type="uint" />
+ <field name="Point Sprite Texture Coordinate Origin" dword="1" bits="20:20" type="uint">
+ <value name="UPPERLEFT" value="0" />
+ <value name="LOWERLEFT" value="1" />
+ </field>
+ <field name="Attribute Swizzle Enable" dword="1" bits="21:21" type="bool" />
+ <field name="Number of SF Output Attributes" dword="1" bits="27:22" type="uint" />
+ <field name="Front Winding" dword="2" bits="0:0" type="uint">
+ <value name="FRONTWINDING_CW" value="0" />
+ <value name="FRONTWINDING_CCW" value="1" />
+ </field>
+ <field name="Viewport Transform Enable" dword="2" bits="1:1" type="bool" />
+ <field name="BackFace Fill Mode" dword="2" bits="4:3" type="uint" prefix="FILL_MODE">
+ <value name="SOLID" value="0" />
+ <value name="WIREFRAME" value="1" />
+ <value name="POINT" value="2" />
+ </field>
+ <field name="FrontFace Fill Mode" dword="2" bits="6:5" type="uint" prefix="FILL_MODE">
+ <value name="SOLID" value="0" />
+ <value name="WIREFRAME" value="1" />
+ <value name="POINT" value="2" />
+ </field>
+ <field name="Global Depth Offset Enable Point" dword="2" bits="7:7" type="bool" />
+ <field name="Global Depth Offset Enable Wireframe" dword="2" bits="8:8" type="bool" />
+ <field name="Global Depth Offset Enable Solid" dword="2" bits="9:9" type="bool" />
+ <field name="Statistics Enable" dword="2" bits="10:10" type="bool" />
+ <field name="Legacy Global Depth Bias Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Multisample Rasterization Mode" dword="3" bits="9:8" type="uint">
+ <value name="MSRASTMODE_OFF_PIXEL" value="0" />
+ <value name="MSRASTMODE_OFF_PATTERN" value="1" />
+ <value name="MSRASTMODE_ON_PIXEL" value="2" />
+ <value name="MSRASTMODE_ON_PATTERN" value="3" />
+ </field>
+ <field name="Scissor Rectangle Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Line End Cap Antialiasing Region Width" dword="3" bits="17:16" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line Width" dword="3" bits="27:18" type="u3.7" />
+ <field name="Cull Mode" dword="3" bits="30:29" type="uint" prefix="CULLMODE">
+ <value name="BOTH" value="0" />
+ <value name="NONE" value="1" />
+ <value name="FRONT" value="2" />
+ <value name="BACK" value="3" />
+ </field>
+ <field name="Antialiasing Enable" dword="3" bits="31:31" type="bool" />
+ <field name="Point Width" dword="4" bits="10:0" type="u8.3" />
+ <field name="Point Width Source" dword="4" bits="11:11" type="uint">
+ <value name="Vertex" value="0" />
+ <value name="State" value="1" />
+ </field>
+ <field name="Vertex Sub Pixel Precision Select" dword="4" bits="12:12" type="uint">
+ <value name="8 Sub-Pixel Precision Bits" value="0" />
+ <value name="4 Sub-Pixel Precision Bits" value="1" />
+ </field>
+ <field name="AA Line Distance Mode" dword="4" bits="14:14" type="uint">
+ <value name="AALINEDISTANCE_TRUE" value="1" />
+ </field>
+ <field name="Triangle Fan Provoking Vertex Select" dword="4" bits="26:25" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Line Strip/List Provoking Vertex Select" dword="4" bits="28:27" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ </field>
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="4" bits="30:29" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Last Pixel Enable" dword="4" bits="31:31" type="bool" />
+ <field name="Global Depth Offset Constant" dword="5" bits="31:0" type="float" />
+ <field name="Global Depth Offset Scale" dword="6" bits="31:0" type="float" />
+ <field name="Global Depth Offset Clamp" dword="7" bits="31:0" type="float" />
+ <group count="16" dword="8" size="16">
+ <field name="Attribute" dword="0" bits="15:0" type="SF_OUTPUT_ATTRIBUTE_DETAIL" />
+ </group>
+ <field name="Point Sprite Texture Coordinate Enable" dword="16" bits="31:0" type="uint" />
+ <field name="Constant Interpolation Enable" dword="17" bits="31:0" type="uint" />
+ <field name="Attribute 0 WrapShortest Enables" dword="18" bits="3:0" type="uint" />
+ <field name="Attribute 1 WrapShortest Enables" dword="18" bits="7:4" type="uint" />
+ <field name="Attribute 2 WrapShortest Enables" dword="18" bits="11:8" type="uint" />
+ <field name="Attribute 3 WrapShortest Enables" dword="18" bits="15:12" type="uint" />
+ <field name="Attribute 4 WrapShortest Enables" dword="18" bits="19:16" type="uint" />
+ <field name="Attribute 5 WrapShortest Enables" dword="18" bits="23:20" type="uint" />
+ <field name="Attribute 6 WrapShortest Enables" dword="18" bits="27:24" type="uint" />
+ <field name="Attribute 7 WrapShortest Enables" dword="18" bits="31:28" type="uint" />
+ <field name="Attribute 8 WrapShortest Enables" dword="19" bits="3:0" type="uint" />
+ <field name="Attribute 9 WrapShortest Enables" dword="19" bits="7:4" type="uint" />
+ <field name="Attribute 10 WrapShortest Enables" dword="19" bits="11:8" type="uint" />
+ <field name="Attribute 11 WrapShortest Enables" dword="19" bits="15:12" type="uint" />
+ <field name="Attribute 12 WrapShortest Enables" dword="19" bits="19:16" type="uint" />
+ <field name="Attribute 13 WrapShortest Enables" dword="19" bits="23:20" type="uint" />
+ <field name="Attribute 14 WrapShortest Enables" dword="19" bits="27:24" type="uint" />
+ <field name="Attribute 15 WrapShortest Enables" dword="19" bits="31:28" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="14" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="MOCS" dword="1" bits="28:25" type="uint" />
+ <field name="Surface Base Address" dword="2" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_URB" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="VS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="VS URB Entry Allocation Size" dword="1" bits="23:16" type="uint" />
+ <field name="GS URB Entry Allocation Size" dword="2" bits="2:0" type="uint" />
+ <field name="GS Number of URB Entries" dword="2" bits="17:8" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="CLIP Viewport State Change" dword="0" bits="10:10" type="uint" />
+ <field name="SF Viewport State Change" dword="0" bits="11:11" type="uint" />
+ <field name="CC Viewport State Change" dword="0" bits="12:12" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="13" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to CLIP_VIEWPORT" dword="1" bits="31:5" type="offset" />
+ <field name="Pointer to SF_VIEWPORT" dword="2" bits="31:5" type="offset" />
+ <field name="Pointer to CC_VIEWPORT" dword="3" bits="31:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_VS" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="16" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="2" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="2" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="2" bits="30:30" type="bool" />
+ <field name="Single Vertex Dispatch" dword="2" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="3" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="3" bits="31:10" type="address" />
+ <field name="Vertex URB Entry Read Offset" dword="4" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="4" bits="16:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="4" bits="24:20" type="uint" />
+ <field name="Enable" dword="5" bits="0:0" type="bool" />
+ <field name="Vertex Cache Disable" dword="5" bits="1:1" type="bool" />
+ <field name="Statistics Enable" dword="5" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="5" bits="31:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_WM" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="20" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer 0" dword="1" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="MaskStack Exception Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint" prefix="FLOATING_POINT_MODE">
+ <value name="IEEE-745" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="2" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="2" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="2" bits="29:27" type="uint" />
+ <field name="Vector Mask Enable" dword="2" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="2" bits="31:31" type="bool" />
+ <field name="Per Thread Scratch Space" dword="3" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="3" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 2" dword="4" bits="6:0" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 1" dword="4" bits="14:8" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="4" bits="22:16" type="uint" />
+ <field name="Hierarchical Depth Buffer Resolve Enable" dword="4" bits="27:27" type="bool" />
+ <field name="Depth Buffer Resolve Enable" dword="4" bits="28:28" type="bool" />
+ <field name="Depth Buffer Clear" dword="4" bits="30:30" type="bool" />
+ <field name="Statistics Enable" dword="4" bits="31:31" type="bool" />
+ <field name="8 Pixel Dispatch Enable" dword="5" bits="0:0" type="bool" />
+ <field name="16 Pixel Dispatch Enable" dword="5" bits="1:1" type="bool" />
+ <field name="32 Pixel Dispatch Enable" dword="5" bits="2:2" type="bool" />
+ <field name="Dual Source Blend Enable" dword="5" bits="7:7" type="bool" />
+ <field name="Pixel Shader Uses Source W" dword="5" bits="8:8" type="bool" />
+ <field name="oMask Present to RenderTarget" dword="5" bits="9:9" type="bool" />
+ <field name="Line Stipple Enable" dword="5" bits="11:11" type="bool" />
+ <field name="Polygon Stipple Enable" dword="5" bits="13:13" type="bool" />
+ <field name="Line Antialiasing Region Width" dword="5" bits="15:14" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line End Cap Antialiasing Region Width" dword="5" bits="17:16" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Thread Dispatch Enable" dword="5" bits="19:19" type="bool" />
+ <field name="Pixel Shader Uses Source Depth" dword="5" bits="20:20" type="bool" />
+ <field name="Pixel Shader Computed Depth" dword="5" bits="21:21" type="bool" />
+ <field name="Pixel Shader Kills Pixel" dword="5" bits="22:22" type="bool" />
+ <field name="Legacy Diamond Line Rasterization" dword="5" bits="23:23" type="bool" />
+ <field name="Maximum Number of Threads" dword="5" bits="31:25" type="uint" />
+ <field name="Multisample Dispatch Mode" dword="6" bits="0:0" type="uint">
+ <value name="MSDISPMODE_PERSAMPLE" value="0" />
+ <value name="MSDISPMODE_PERPIXEL" value="1" />
+ </field>
+ <field name="Multisample Rasterization Mode" dword="6" bits="2:1" type="uint">
+ <value name="MSRASTMODE_OFF_PIXEL" value="0" />
+ <value name="MSRASTMODE_OFF_PATTERN" value="1" />
+ <value name="MSRASTMODE_ON_PIXEL" value="2" />
+ <value name="MSRASTMODE_ON_PATTERN" value="3" />
+ </field>
+ <field name="Point Rasterization Rule" dword="6" bits="9:9" type="uint">
+ <value name="RASTRULE_UPPER_LEFT" value="0" />
+ <value name="RASTRULE_UPPER_RIGHT" value="1" />
+ </field>
+ <field name="Barycentric Interpolation Mode" dword="6" bits="15:10" type="uint">
+ <value name="BIM_PERSPECTIVE_PIXEL" value="1" />
+ <value name="BIM_PERSPECTIVE_CENTROID" value="2" />
+ <value name="BIM_PERSPECTIVE_SAMPLE" value="4" />
+ <value name="BIM_LINEAR_PIXEL" value="8" />
+ <value name="BIM_LINEAR_CENTROID" value="16" />
+ <value name="BIM_LINEAR_SAMPLE" value="32" />
+ </field>
+ <field name="Position ZW Interpolation Mode" dword="6" bits="17:16" type="uint">
+ <value name="INTERP_PIXEL" value="0" />
+ <value name="INTERP_CENTROID" value="2" />
+ <value name="INTERP_SAMPLE" value="3" />
+ </field>
+ <field name="Position XY Offset Select" dword="6" bits="19:18" type="uint">
+ <value name="POSOFFSET_NONE" value="0" />
+ <value name="POSOFFSET_CENTROID" value="2" />
+ <value name="POSOFFSET_SAMPLE" value="3" />
+ </field>
+ <field name="Number of SF Output Attributes" dword="6" bits="25:20" type="uint" />
+ <field name="Kernel Start Pointer 1" dword="7" bits="31:6" type="offset" />
+ <field name="Kernel Start Pointer 2" dword="8" bits="31:6" type="offset" />
+ </instruction>
+ <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="2" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="CURBE Total Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="CURBE Data Start Address" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MEDIA_GATEWAY_STATE" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="0" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="3" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Barrier.ThreadCount" dword="1" bits="7:0" type="uint" />
+ <field name="Barrier.Byte" dword="1" bits="15:8" type="uint" />
+ <field name="BarrierID" dword="1" bits="23:16" type="uint" />
+ </instruction>
+ <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="2" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Total Length" dword="2" bits="16:0" type="uint" />
+ <field name="Interface Descriptor Data Start Address" dword="3" bits="31:0" type="offset" />
+ </instruction>
+ <instruction name="MEDIA_OBJECT" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="4" />
+ <field name="Media Command Sub-Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Media Command Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="4:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="Use Scoreboard" dword="2" bits="21:21" type="uint">
+ <value name="Not using scoreboard" value="0" />
+ <value name="Using scoreboard" value="1" />
+ </field>
+ <field name="Thread Synchronization" dword="2" bits="24:24" type="uint">
+ <value name="No thread synchronization" value="0" />
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
+ </field>
+ <field name="Children Present" dword="2" bits="31:31" type="bool" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="address" />
+ <field name="Scoreboard X" dword="4" bits="8:0" type="uint" />
+ <field name="Scoredboard Y" dword="4" bits="24:16" type="uint" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Scoreboard Color" dword="5" bits="19:16" type="uint" />
+ <group count="0" dword="6" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="14" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="4:0" type="uint" />
+ <field name="PRT_FenceType" dword="2" bits="22:22" type="uint">
+ <value name="Root thread queue" value="0" />
+ <value name="VFE state flush" value="1" />
+ </field>
+ <field name="PRT_Fence Needed" dword="2" bits="23:23" type="bool" />
+ <field name="Children Present" dword="2" bits="31:31" type="bool" />
+ <group count="12" dword="4" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="15" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="3" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="4:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="Use Scoreboard" dword="2" bits="21:21" type="uint">
+ <value name="Not using scoreboard" value="0" />
+ <value name="Using scoreboard" value="1" />
+ </field>
+ <field name="Thread Synchronization" dword="2" bits="24:24" type="uint">
+ <value name="No thread synchronization" value="0" />
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
+ </field>
+ <field name="Children Present" dword="2" bits="31:31" type="uint" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="offset" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Mid-Loop Unit X" dword="6" bits="9:8" type="int" />
+ <field name="Local Mid-Loop Unit Y" dword="6" bits="13:12" type="int" />
+ <field name="Middle Loop Extra Steps" dword="6" bits="20:16" type="uint" />
+ <field name="Color Count Minus One" dword="6" bits="27:24" type="uint" />
+ <field name="Repel" dword="6" bits="30:30" type="uint" />
+ <field name="Dual Mode" dword="6" bits="31:31" type="uint" />
+ <field name="Local Loop Exec Count" dword="7" bits="9:0" type="uint" />
+ <field name="Global Loop Exec Count" dword="7" bits="25:16" type="uint" />
+ <field name="Block Resolution X" dword="8" bits="8:0" type="uint" />
+ <field name="Block Resolution Y" dword="8" bits="24:16" type="uint" />
+ <field name="Local Start X" dword="9" bits="8:0" type="uint" />
+ <field name="Local Start Y" dword="9" bits="24:16" type="uint" />
+ <field name="Local End X" dword="10" bits="8:0" type="uint" />
+ <field name="Local End Y" dword="10" bits="24:16" type="uint" />
+ <field name="Local Outer Loop Stride X" dword="11" bits="9:0" type="int" />
+ <field name="Local Outer Loop Stride Y" dword="11" bits="25:16" type="int" />
+ <field name="Local Inner Loop Unit X" dword="12" bits="9:0" type="int" />
+ <field name="Local Inner Loop Unit Y" dword="12" bits="25:16" type="int" />
+ <field name="Global Resolution X" dword="13" bits="8:0" type="uint" />
+ <field name="Global Resolution Y" dword="13" bits="24:16" type="uint" />
+ <field name="Global Start X" dword="14" bits="9:0" type="int" />
+ <field name="Global Start Y" dword="14" bits="25:16" type="int" />
+ <field name="Global Outer Loop Stride X" dword="15" bits="9:0" type="int" />
+ <field name="Global Outer Loop Stride Y" dword="15" bits="25:16" type="int" />
+ <field name="Global Inner Loop Unit X" dword="16" bits="9:0" type="int" />
+ <field name="Global Inner Loop Unit Y" dword="16" bits="25:16" type="int" />
+ <group count="0" dword="17" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="0" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Barrier Mask" dword="1" bits="15:0" type="uint">
+ <value name="Not Waiting" value="0" />
+ <value name="Waiting" value="1" />
+ </field>
+ <field name="Thread Count WaterMark" dword="1" bits="23:16" type="uint" />
+ </instruction>
+ <instruction name="MEDIA_VFE_STATE" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="6" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Per Thread Scratch Space" dword="1" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="1" bits="31:10" type="address" />
+ <field name="Fast Preempt" dword="2" bits="5:5" type="uint">
+ <value name="Preempt only _PRT" value="0" />
+ </field>
+ <field name="Bypass Gateway Control" dword="2" bits="6:6" type="uint">
+ <value name="Maintaining OpenGateway/ForwardMsg/CloseGateway protocol (legacy mode)" value="0" />
+ <value name="Bypassing OpenGateway/CloseGateway protocol" value="1" />
+ </field>
+ <field name="Reset Gateway Timer" dword="2" bits="7:7" type="uint">
+ <value name="Maintaining the existing timestamp state" value="0" />
+ <value name="Resetting relative timer and latching the global timestamp" value="1" />
+ </field>
+ <field name="Number of URB Entries" dword="2" bits="15:8" type="uint" />
+ <field name="Maximum Number of Threads" dword="2" bits="31:16" type="uint" />
+ <field name="CURBE Allocation Size" dword="4" bits="15:0" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="31:16" type="uint" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Scoreboard Type" dword="5" bits="30:30" type="uint">
+ <value name="Stalling Scoreboard" value="0" />
+ </field>
+ <field name="Scoreboard Enable" dword="5" bits="31:31" type="uint">
+ <value name="Scoreboard disabled" value="0" />
+ <value name="Scoreboard enabled" value="1" />
+ </field>
+ <field name="Scoreboard 0 Delta X" dword="6" bits="3:0" type="int" />
+ <field name="Scoreboard 0 Delta Y" dword="6" bits="7:4" type="int" />
+ <field name="Scoreboard 1 Delta X" dword="6" bits="11:8" type="int" />
+ <field name="Scoreboard 1 Delta Y" dword="6" bits="15:12" type="int" />
+ <field name="Scoreboard 2 Delta X" dword="6" bits="19:16" type="int" />
+ <field name="Scoreboard 2 Delta Y" dword="6" bits="23:20" type="int" />
+ <field name="Scoreboard 3 Delta X" dword="6" bits="27:24" type="int" />
+ <field name="Scoreboard 3 Delta Y" dword="6" bits="31:28" type="int" />
+ <field name="Scoreboard 4 Delta X" dword="7" bits="3:0" type="int" />
+ <field name="Scoreboard 4 Delta Y" dword="7" bits="7:4" type="int" />
+ <field name="Scoreboard 5 Delta X" dword="7" bits="11:8" type="int" />
+ <field name="Scoreboard 5 Delta Y" dword="7" bits="15:12" type="int" />
+ <field name="Scoreboard 6 Delta X" dword="7" bits="19:16" type="int" />
+ <field name="Scoreboard 6 Delta Y" dword="7" bits="23:20" type="int" />
+ <field name="Scoreboard 7 Delta X" dword="7" bits="27:24" type="int" />
+ <field name="Scoreboard 7 Delta Y" dword="7" bits="31:28" type="int" />
+ </instruction>
+ <instruction name="MFC_AVC_FQM_STATE" bias="2" length="113" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="111" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="8" dword="1" size="32">
+ <field name="Luma4x4 Intra InvWeightScale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="8" dword="9" size="32">
+ <field name="Cb4x4 Intra InvWeightScale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="8" dword="17" size="32">
+ <field name="Cr4x4 Intra InvWeightScale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="6" dword="25" size="32">
+ <field name="Luma4x4 Inter InvWeightScale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="10" dword="31" size="32">
+ <field name="Cb4x4 Inter InvWeightScale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="8" dword="41" size="32">
+ <field name="Cr4x4 Inter InvWeightScale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="32" dword="49" size="32">
+ <field name="Luma8x8 Intra InvWeightScale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="32" dword="81" size="32">
+ <field name="Luma8x8 Inter InvWeightScale" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFC_AVC_PAK_INSERT_OBJECT" bias="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Bitstream Start Reset" dword="1" bits="0:0" type="bool" />
+ <field name="End of Slice" dword="1" bits="1:1" type="bool" />
+ <field name="Last Header" dword="1" bits="2:2" type="bool" />
+ <field name="Emulation Byte Bits Insert Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Skip Emulation Byte Count" dword="1" bits="7:4" type="uint" />
+ <field name="Data Bits In Last DW" dword="1" bits="13:8" type="uint" />
+ <field name="Data Byte Offset" dword="1" bits="17:16" type="uint" />
+ <group count="0" dword="2" size="32">
+ <field name="Insert Data PayLoad" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFC_AVC_PAK_OBJECT" bias="2" length="11" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="9" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect PAK-MV Data Length" dword="1" bits="9:0" type="uint" />
+ <field name="Indirect PAK-MV Data Start Address Offset" dword="2" bits="28:0" type="offset" />
+ <group count="8" dword="3" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFC_STITCH_OBJECT" bias="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="10" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Last Dst Data Insert Command" dword="1" bits="1:1" type="bool" />
+ <field name="Last Src Header Data Insert Command" dword="1" bits="2:2" type="bool" />
+ <field name="SrC Data Ending Bit Inclusion" dword="1" bits="13:8" type="uint" />
+ <field name="Src Data Starting Byte Offset" dword="1" bits="17:16" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="18:0" type="uint" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="address" />
+ <group count="0" dword="4" size="32">
+ <field name="Insert Data PayLoad" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFD_AVC_BSD_OBJECT" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect BSD Data Length" dword="1" bits="21:0" type="uint" />
+ <field name="Indirect BSD Data Start Address" dword="2" bits="28:0" type="address" />
+ <group count="3" dword="3" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFD_IT_OBJECT" bias="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="12" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect IT-MV Data Length" dword="1" bits="9:0" type="uint" />
+ <field name="Indirect IT-MV Data Start Address Offset" dword="2" bits="28:0" type="offset" />
+ <field name="Indirect IT-COEFF Data Length" dword="3" bits="11:0" type="uint" />
+ <field name="Indirect IT-COEFF Data Start Address Offset" dword="4" bits="28:0" type="offset" />
+ <field name="Indirect IT-DBLK Control Data Length" dword="5" bits="5:0" type="uint" />
+ <field name="Indirect IT-DBLK Control Data Start Address Offset" dword="6" bits="28:0" type="offset" />
+ <group count="0" dword="7" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFD_MPEG2_BSD_OBJECT" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect Data Length" dword="1" bits="16:0" type="uint" />
+ <field name="Indirect Data Start Address" dword="2" bits="28:0" type="address" />
+ <group count="2" dword="3" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFD_VC1_BSD_OBJECT" bias="2" length="4" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="2" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect Data Length" dword="1" bits="21:0" type="uint" />
+ <field name="Indirect Data Start Address" dword="2" bits="28:0" type="address" />
+ <field name="First MB Bit Offset" dword="3" bits="2:0" type="uint" />
+ <field name="Next Slice Start Vertical Position" dword="3" bits="23:16" type="uint" />
+ <field name="Slice Start Vertical Position" dword="3" bits="31:24" type="uint" />
+ </instruction>
+ <instruction name="MFX_AVC_DIRECTMODE_STATE" bias="2" length="69" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="67" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="32" dword="1" size="32">
+ <field name="Direct MV Buffer - Address" dword="0" bits="31:6" type="address" />
+ <field name="Direct MV Buffer - Arbitration Priority Control" dword="0" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Direct MV Buffer - Graphics Data Type" dword="0" bits="2:2" type="uint" />
+ <field name="Direct MV Buffer - Cacheability Control" dword="0" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ </group>
+ <group count="2" dword="33" size="32">
+ <field name="Direct MV Buffer (Write) - Address" dword="0" bits="31:6" type="address" />
+ <field name="Direct MV Buffer (Write) - Arbitration Priority Control" dword="0" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Direct MV Buffer (Write) - Graphics Data Type" dword="0" bits="2:2" type="uint" />
+ <field name="Direct MV Buffer (Write) - Cacheability Control" dword="0" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ </group>
+ <group count="34" dword="35" size="32">
+ <field name="POC List" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_AVC_IMG_STATE" bias="2" length="13" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="11" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Size" dword="1" bits="15:0" type="uint" />
+ <field name="Frame Width" dword="2" bits="7:0" type="uint" />
+ <field name="Frame Height" dword="2" bits="23:16" type="uint" />
+ <field name="Current Decoded Image Frame Store ID" dword="3" bits="7:0" type="uint" />
+ <field name="Image Structure" dword="3" bits="9:8" type="uint">
+ <value name="Frame Picture" value="0" />
+ <value name="Top Field Picture" value="1" />
+ <value name="Bottom Field Picture" value="3" />
+ <value name="Invalid, not allowed" value="2" />
+ </field>
+ <field name="QM Present" dword="3" bits="10:10" type="bool" />
+ <field name="Monochrome PWT Decoding Mode" dword="3" bits="12:12" type="bool" />
+ <field name="Inter MB Conformance" dword="3" bits="13:13" type="bool" />
+ <field name="Intra MB Conformance" dword="3" bits="14:14" type="bool" />
+ <field name="Second Chroma QP Offset" dword="3" bits="28:24" type="uint" />
+ <field name="Field Picture" dword="4" bits="0:0" type="bool" />
+ <field name="MBAFF Mode" dword="4" bits="1:1" type="bool" />
+ <field name="Frame MB Only" dword="4" bits="2:2" type="bool" />
+ <field name="8x8 IDCT Transform Mode" dword="4" bits="3:3" type="bool" />
+ <field name="Direct 8x8 Inference" dword="4" bits="4:4" type="bool" />
+ <field name="Constrained Intra Prediction" dword="4" bits="5:5" type="bool" />
+ <field name="Non-Reference Picture" dword="4" bits="6:6" type="bool" />
+ <field name="Entropy Coding" dword="4" bits="7:7" type="bool" />
+ <field name="Chroma Format IDC" dword="4" bits="11:10" type="uint">
+ <value name="Monochrome picture" value="0" />
+ <value name="4:2:0 picture" value="1" />
+ <value name="4:2:2 picture (not supported)" value="2" />
+ <value name="4:4:4 picture (not supported)" value="3" />
+ </field>
+ <field name="MV Unpacked Enable" dword="4" bits="12:12" type="bool" />
+ <field name="Load Bitstream Pointer Per Slice" dword="4" bits="14:14" type="bool" />
+ <field name="MB Status Read" dword="4" bits="15:15" type="bool" />
+ <field name="Minimum Frame Size" dword="4" bits="31:16" type="uint" />
+ <field name="Intra MB Max Bit Control" dword="5" bits="0:0" type="bool" />
+ <field name="Inter MB Max Bit Control" dword="5" bits="1:1" type="bool" />
+ <field name="Frame Bitrate Max Report" dword="5" bits="2:2" type="bool" />
+ <field name="Frame Bitrate Min Report" dword="5" bits="3:3" type="bool" />
+ <field name="Force IPCM Control" dword="5" bits="7:7" type="bool" />
+ <field name="MB Level Rate Control" dword="5" bits="9:9" type="bool" />
+ <field name="Inter MB Force CBP to Zero Control" dword="5" bits="12:12" type="bool" />
+ <field name="Frame Size Rate Control" dword="5" bits="16:16" type="bool" />
+ <field name="Intra MB Conformance Max Size" dword="6" bits="11:0" type="uint" />
+ <field name="Inter MB Conformance Max Size" dword="6" bits="27:16" type="uint" />
+ <field name="Slice Delta QP Max[0]" dword="8" bits="7:0" type="int" />
+ <field name="Slice Delta QP Max[1]" dword="8" bits="15:8" type="int" />
+ <field name="Slice Delta QP Max[2]" dword="8" bits="23:16" type="int" />
+ <field name="Slice Delta QP Max[3]" dword="8" bits="31:24" type="int" />
+ <field name="Slice Delta QP Min[0]" dword="9" bits="7:0" type="int" />
+ <field name="Slice Delta QP Min[1]" dword="9" bits="15:8" type="int" />
+ <field name="Slice Delta QP Min[2]" dword="9" bits="23:16" type="int" />
+ <field name="Slice Delta QP Min[3]" dword="9" bits="31:24" type="int" />
+ <field name="Frame Bitrate Min" dword="10" bits="11:0" type="uint" />
+ <field name="Frame Bitrate Min Unit" dword="10" bits="15:15" type="uint" />
+ <field name="Frame Bitrate Max" dword="10" bits="27:16" type="uint" />
+ <field name="Frame Bitrate Max Unit" dword="10" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="11" bits="11:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="11" bits="27:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_AVC_QM_STATE" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="QM List Present Flags for the current Slice" dword="1" bits="7:0" type="uint" />
+ <field name="Use built-in Default QM Flags for the current Slice" dword="1" bits="15:8" type="uint" />
+ <group count="4" dword="2" size="32">
+ <field name="Luma4x4 Intra Weight Scale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="4" dword="6" size="32">
+ <field name="Cb4x4 Intra Weight Scale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="4" dword="10" size="32">
+ <field name="Cr4x4 Intra Weight Scale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="4" dword="14" size="32">
+ <field name="Luma4x4 Inter Weight Scale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="4" dword="18" size="32">
+ <field name="Cb4x4 Inter Weight Scale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="4" dword="22" size="32">
+ <field name="Cr4x4 Inter Weight Scale" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="4" dword="26" size="128">
+ <field name="Luma8x8 Intra Weight Scale" dword="0" bits="127:0" type="uint" />
+ </group>
+ <group count="4" dword="42" size="128">
+ <field name="Luma8x8 Inter Weight Scale" dword="0" bits="127:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_AVC_REF_IDX_STATE" bias="2" length="10" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="8" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="4" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Reference Picture List Select" dword="1" bits="0:0" type="uint" />
+ <group count="32" dword="2" size="8">
+ <field name="Reference List Entry" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_AVC_SLICE_STATE" bias="2" length="10" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="8" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Slice Type" dword="1" bits="3:0" type="uint">
+ <value name="P Slice" value="0" />
+ <value name="B Slice" value="1" />
+ <value name="I Slice" value="2" />
+ </field>
+ <field name="Log2 Weight Denominator Luma" dword="2" bits="2:0" type="uint" />
+ <field name="Log2 Weight Denominator Chroma" dword="2" bits="10:8" type="uint" />
+ <field name="Number of Reference Pictures in Inter-prediction List 0" dword="2" bits="21:16" type="uint" />
+ <field name="Number of Reference Pictures in Inter-prediction List 1" dword="2" bits="29:24" type="uint" />
+ <field name="Slice Alpha C0 Offset Div2" dword="3" bits="3:0" type="int" />
+ <field name="Slice Beta Offset Div2" dword="3" bits="11:8" type="int" />
+ <field name="Slice Quantization Parameter" dword="3" bits="21:16" type="uint" />
+ <field name="CABAC Init IDC" dword="3" bits="25:24" type="uint" />
+ <field name="Disable Deblocking Filter Indicator" dword="3" bits="28:27" type="uint" />
+ <field name="Direct Prediction Type" dword="3" bits="29:29" type="uint">
+ <value name="Temporal" value="0" />
+ <value name="Spatial" value="1" />
+ </field>
+ <field name="Weighted Prediction Indicator" dword="3" bits="31:30" type="uint" />
+ <field name="Slice Start MB Number" dword="4" bits="14:0" type="uint" />
+ <field name="Slice Horizontal Position" dword="4" bits="23:16" type="uint" />
+ <field name="Slice Vertical Position" dword="4" bits="31:24" type="uint" />
+ <field name="Next Slice Horizontal Position" dword="5" bits="7:0" type="uint" />
+ <field name="Next Slice Vertical Position" dword="5" bits="23:16" type="uint" />
+ <field name="Stream ID" dword="6" bits="1:0" type="uint" />
+ <field name="Slice ID" dword="6" bits="7:4" type="uint" />
+ <field name="CABAC Zero Word Insertion Enable" dword="6" bits="12:12" type="bool" />
+ <field name="Emulation Byte Slice Insert Enable" dword="6" bits="13:13" type="bool" />
+ <field name="Tail Insertion Present" dword="6" bits="15:15" type="bool" />
+ <field name="Slice Data Insertion Present" dword="6" bits="16:16" type="bool" />
+ <field name="Header Insertion Present" dword="6" bits="17:17" type="bool" />
+ <field name="Last Slice Group" dword="6" bits="19:19" type="bool" />
+ <field name="MB Type Skip Conversion Disable" dword="6" bits="20:20" type="bool" />
+ <field name="MB Type Direct Conversion Disable" dword="6" bits="21:21" type="bool" />
+ <field name="Rate Control Panic Type" dword="6" bits="22:22" type="uint">
+ <value name="QP Panic" value="0" />
+ <value name="CBP Panic" value="1" />
+ </field>
+ <field name="Rate Control Panic Enable" dword="6" bits="23:23" type="bool" />
+ <field name="Rate Control Stable Tolerance" dword="6" bits="27:24" type="uint" />
+ <field name="Rate Control Triggle Mode" dword="6" bits="29:28" type="uint">
+ <value name="Always Rate Control" value="0" />
+ <value name="Gentle Rate Control" value="1" />
+ <value name="Loose Rate Control" value="2" />
+ </field>
+ <field name="Reset Rate Control Counter" dword="6" bits="30:30" type="bool" />
+ <field name="Rate Control Counter Enable" dword="6" bits="31:31" type="bool" />
+ <field name="Indirect PAK-BSE Data Start Address" dword="7" bits="28:0" type="offset" />
+ <field name="Grow Init" dword="8" bits="3:0" type="uint" />
+ <field name="Grow Resistance" dword="8" bits="7:4" type="uint" />
+ <field name="Shrink Init" dword="8" bits="11:8" type="uint" />
+ <field name="Shrink Resistance" dword="8" bits="15:12" type="uint" />
+ <field name="QP Max Positive Modifier Magnitude" dword="8" bits="23:16" type="uint" />
+ <field name="QP Max Negative Modifier Magnitude" dword="8" bits="31:24" type="uint" />
+ <field name="Correct 1" dword="9" bits="3:0" type="uint" />
+ <field name="Correct 2" dword="9" bits="7:4" type="uint" />
+ <field name="Correct 3" dword="9" bits="11:8" type="uint" />
+ <field name="Correct 4" dword="9" bits="15:12" type="uint" />
+ <field name="Correct 5" dword="9" bits="19:16" type="uint" />
+ <field name="Correct 6" dword="9" bits="23:20" type="uint" />
+ <field name="CV0" dword="10" bits="3:0" type="uint" />
+ <field name="CV1" dword="10" bits="7:4" type="uint" />
+ <field name="CV2" dword="10" bits="11:8" type="uint" />
+ <field name="CV3" dword="10" bits="15:12" type="uint" />
+ <field name="CV4" dword="10" bits="19:16" type="uint" />
+ <field name="CV5" dword="10" bits="23:20" type="uint" />
+ <field name="CV6" dword="10" bits="27:24" type="uint" />
+ <field name="CV7" dword="10" bits="31:28" type="uint" />
+ </instruction>
+ <instruction name="MFX_AVC_WEIGHTOFFSET_STATE" bias="2" length="50" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="48" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="5" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Weight and Offset Select" dword="1" bits="0:0" type="uint">
+ <value name="L0 table" value="0" />
+ <value name="L1 table" value="1" />
+ </field>
+ <group count="96" dword="2" size="32">
+ <field name="Weight Offset" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_BSP_BUF_BASE_ADDR_STATE" bias="2" length="4" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="2" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="4" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="BSP Row Store Scratch Buffer - Cacheability Control" dword="1" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="BSP Row Store Scratch Buffer - Graphics Data Type" dword="1" bits="2:2" type="uint" />
+ <field name="BSD/MPC Row Store Scratch Buffer - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="BSD/MPC Row Store Scratch Buffer - Address" dword="1" bits="31:6" type="address" />
+ <field name="MPR Row Store Scratch Buffer - Cacheability Control" dword="2" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MPR Row Store Scratch Buffer - Graphics Data Type" dword="2" bits="2:2" type="uint" />
+ <field name="MPR Row Store Scratch Buffer - Arbitration Priority Control" dword="2" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MPR Row Store Scratch Buffer - Address" dword="2" bits="31:6" type="address" />
+ <field name="Bitplane Read Buffer - Cacheability Control" dword="3" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Bitplane Read Buffer - Graphics Data Type" dword="3" bits="2:2" type="uint" />
+ <field name="Bitplane Read Buffer - Arbitration Priority Control" dword="3" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Bitplane Read Buffer - Address" dword="3" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MFX_IND_OBJ_BASE_ADDR_STATE" bias="2" length="11" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="9" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MFX Indirect Bitstream Object - Cacheability Control" dword="1" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MFX Indirect Bitstream Object - Graphics Data Type" dword="1" bits="2:2" type="uint" />
+ <field name="MFX Indirect Bitstream Object - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFX Indirect Bitstream Object - Address" dword="1" bits="31:12" type="address" />
+ <field name="MFX Indirect Bitstream Object - Access Upper Bound" dword="2" bits="31:12" type="address" />
+ <field name="MFX Indirect MV Object - Cacheability Control" dword="3" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MFX Indirect MV Object - Graphics Data Type" dword="3" bits="2:2" type="uint" />
+ <field name="MFX Indirect MV Object - Arbitration Priority Control" dword="3" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFX Indirect MV Object - Address" dword="3" bits="31:12" type="address" />
+ <field name="MFX Indirect MV Object - Access Upper Bound" dword="4" bits="31:12" type="address" />
+ <field name="MFD Indirect IT-COEFF Object - Cacheability Control" dword="5" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MFD Indirect IT-COEFF Object - Graphics Data Type" dword="5" bits="2:2" type="uint" />
+ <field name="MFD Indirect IT-COEFF Object - Arbitration Priority Control" dword="5" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFD Indirect IT-COEFF Object - Address" dword="5" bits="31:12" type="address" />
+ <field name="MFD Indirect IT-COEFF Object - Access Upper Bound" dword="6" bits="31:12" type="address" />
+ <field name="MFD Indirect IT-DBLK Object - Cacheability Control" dword="7" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MFD Indirect IT-DBLK Object - Graphics Data Type" dword="7" bits="2:2" type="uint" />
+ <field name="MFD Indirect IT-DBLK Object - Arbitration Priority Control" dword="7" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFD Indirect IT-DBLK Object - Address" dword="7" bits="31:12" type="address" />
+ <field name="MFD Indirect IT-DBLK Object - Access Upper Bound" dword="8" bits="31:12" type="address" />
+ <field name="MFC Indirect PAK-BSE Object - Cacheability Control" dword="9" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MFC Indirect PAK-BSE Object - Graphics Data Type" dword="9" bits="2:2" type="uint" />
+ <field name="MFC Indirect PAK-BSE Object - Arbitration Priority Control" dword="9" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFC Indirect PAK-BSE Object - Address" dword="9" bits="31:12" type="address" />
+ <field name="MFC Indirect PAK-BSE Object - Access Upper Bound" dword="10" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="MFX_MPEG2_PIC_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Scan Order" dword="1" bits="6:6" type="uint">
+ <value name="MPEG_ZIGZAG_SCAN" value="0" />
+ <value name="MPEG_ALTERNATE_VERTICAL_SCAN" value="1" />
+ </field>
+ <field name="Intra VLC Format" dword="1" bits="7:7" type="uint" />
+ <field name="Quantizer Scale Type" dword="1" bits="8:8" type="uint">
+ <value name="MPEG_QSCALE_LINEAR" value="0" />
+ <value name="MPEG_QSCALE_NONLINEAR" value="1" />
+ </field>
+ <field name="Concealment MV" dword="1" bits="9:9" type="bool" />
+ <field name="Frame Prediction Frame DCT" dword="1" bits="10:10" type="uint" />
+ <field name="Top Field First" dword="1" bits="11:11" type="bool" />
+ <field name="Picture Structure" dword="1" bits="13:12" type="uint">
+ <value name="MPEG_TOP_FIELD" value="1" />
+ <value name="MPEG_BOTTOM_FIELD" value="2" />
+ <value name="MPEG_FRAME" value="3" />
+ </field>
+ <field name="Intra DC Precision" dword="1" bits="15:14" type="uint" />
+ <field name="F_code[0][0]" dword="1" bits="19:16" type="uint" />
+ <field name="F_code[0][1]" dword="1" bits="23:20" type="uint" />
+ <field name="F_code[1][0]" dword="1" bits="27:24" type="uint" />
+ <field name="F_code[1][1]" dword="1" bits="31:28" type="uint" />
+ <field name="Picture Coding Type" dword="2" bits="10:0" type="uint">
+ <value name="MPEG_I_PICTURE" value="1" />
+ <value name="MPEG_P_PICTURE" value="2" />
+ <value name="MPEG_B_PICTURE" value="3" />
+ </field>
+ <field name="Frame Width In MBs" dword="3" bits="7:0" type="uint" />
+ <field name="Frame Height In MBs" dword="3" bits="23:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_MPEG2_QM_STATE" bias="2" length="18" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="16" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="QM Type" dword="1" bits="0:0" type="uint">
+ <value name="MPEG_INTRA_QUANTIZER_MATRIX" value="0" />
+ <value name="MPEG_NON_INTRA_QUANTIZER_MATRIX" value="1" />
+ </field>
+ <group count="16" dword="2" size="32">
+ <field name="Quantizer Matrix" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_PIPE_BUF_ADDR_STATE" bias="2" length="24" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="22" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pre Deblocking - Cacheability Control" dword="1" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Pre Deblocking - Graphics Data Type" dword="1" bits="2:2" type="uint" />
+ <field name="Pre Deblocking - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Pre Deblocking - Address" dword="1" bits="31:6" type="address" />
+ <field name="Post Deblocking - Cacheability Control" dword="2" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Post Deblocking - Graphics Data Type" dword="2" bits="2:2" type="uint" />
+ <field name="Post Deblocking - Arbitration Priority Control" dword="2" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Post Deblocking - Address" dword="2" bits="31:6" type="address" />
+ <field name="Original Uncompressed Picture Source - Cacheability Control" dword="3" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Original Uncompressed Picture Source - Graphics Data Type" dword="3" bits="2:2" type="uint" />
+ <field name="Original Uncompressed Picture Source - Arbitration Priority Control" dword="3" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Original Uncompressed Picture Source - Address" dword="3" bits="31:6" type="address" />
+ <field name="Stream-Out Data Destination - Cacheability Control" dword="4" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Stream-Out Data Destination - Graphics Data Type" dword="4" bits="2:2" type="uint" />
+ <field name="Stream-Out Data Destination - Arbitration Priority Control" dword="4" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Stream-Out Data Destination - Address" dword="4" bits="31:6" type="offset" />
+ <field name="Intra Row Store Scratch Buffer - Cacheability Control" dword="5" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Intra Row Store Scratch Buffer - Graphics Data Type" dword="5" bits="2:2" type="uint" />
+ <field name="Intra Row Store Scratch Buffer - Arbitration Priority Control" dword="5" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Intra Row Store Scratch Buffer - Address" dword="5" bits="31:6" type="address" />
+ <field name="Deblocking Filter Row Store Scratch Buffer - Cacheability Control" dword="6" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Deblocking Filter Row Store Scratch Buffer - Graphics Data Type" dword="6" bits="2:2" type="uint" />
+ <field name="Deblocking Filter Row Store Scratch Buffer - Arbitration Priority Control" dword="6" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblocking Filter Row Store Scratch Buffer - Address" dword="6" bits="31:6" type="address" />
+ <group count="16" dword="7" size="32">
+ <field name="Reference Picture - Address" dword="0" bits="31:6" type="address" />
+ <field name="Reference Picture - Arbitration Priority Control" dword="0" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Reference Picture - Graphics Data Type" dword="0" bits="2:2" type="uint" />
+ <field name="Reference Picture - Cacheability Control" dword="0" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ </group>
+ <field name="MB Status Buffer - Cacheability Control" dword="23" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MB Status Buffer - Graphics Data Type" dword="23" bits="2:2" type="uint" />
+ <field name="MB Status Buffer - Arbitration Priority Control" dword="23" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MB Status Buffer - Address" dword="23" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MFX_PIPE_MODE_SELECT" bias="2" length="4" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="2" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Standard Select" dword="1" bits="1:0" type="uint" prefix="SS">
+ <value name="VC1" value="1" />
+ <value name="AVC" value="2" />
+ </field>
+ <field name="Codec Select" dword="1" bits="4:4" type="uint">
+ <value name="Decode" value="0" />
+ <value name="Encode" value="1" />
+ </field>
+ <field name="Stitch Mode" dword="1" bits="5:5" type="bool" />
+ <field name="ZLR TLB Prefetch Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Pre Deblocking Output Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Post Deblocking Output Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Stream-Out Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Decoder Mode Select" dword="1" bits="16:16" type="uint">
+ <value name="VLD Mode" value="0" />
+ <value name="IT Mode" value="1" />
+ </field>
+ <field name="AVC ILDB Boundary Strength Calculation" dword="2" bits="0:0" type="uint">
+ <value name="Calculated only when post-filter is ON" value="0" />
+ <value name="Calculated all the time" value="1" />
+ </field>
+ <field name="AVC Long Field MV" dword="2" bits="1:1" type="uint">
+ <value name="13 bits precision" value="0" />
+ <value name="12 bits precision" value="1" />
+ </field>
+ <field name="AVC CABAC/CAVLC Decode Error Disable" dword="2" bits="2:2" type="uint">
+ <value name="Terminate" value="0" />
+ <value name="Will not terminate" value="1" />
+ </field>
+ <field name="AVC Mbdata Error Disable" dword="2" bits="3:3" type="uint" />
+ <field name="AVC MV/POC Table Error Disable" dword="2" bits="4:4" type="uint">
+ <value name="Terminates" value="0" />
+ <value name="Will not terminate" value="1" />
+ </field>
+ <field name="Clock Gate Enable at Slice-level" dword="2" bits="6:6" type="bool" />
+ <field name="Intra 8x8 Rounding" dword="2" bits="19:19" type="uint" />
+ <field name="Slice PB Rounding" dword="2" bits="20:20" type="uint" />
+ </instruction>
+ <instruction name="MFX_STATE_POINTER" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="6" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="State Pointer Index" dword="1" bits="1:0" type="uint">
+ <value name="Indirect state pointer 0" value="0" />
+ <value name="Indirect state pointer 1" value="1" />
+ <value name="Indirect state pointer 2" value="2" />
+ <value name="Indirect state pointer 3" value="3" />
+ </field>
+ <field name="State Pointer" dword="1" bits="31:5" type="uint" />
+ </instruction>
+ <instruction name="MFX_SURFACE_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Cr(V)/Cb(U) Pixel Offset V Direction" dword="2" bits="1:0" type="uint" />
+ <field name="Width" dword="2" bits="18:6" type="uint" />
+ <field name="Height" dword="2" bits="31:19" type="uint" />
+ <field name="Tile Walk" dword="3" bits="0:0" type="uint" prefix="TW">
+ <value name="XMAJOR" value="0" />
+ <value name="YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="3" bits="1:1" type="bool" />
+ <field name="Half Pitch for Chroma" dword="3" bits="2:2" type="bool" />
+ <field name="Surface Pitch" dword="3" bits="19:3" type="uint" />
+ <field name="Interleave Chroma" dword="3" bits="27:27" type="bool" />
+ <field name="Surface Format" dword="3" bits="31:28" type="uint">
+ <value name="YCRCB_NORMAL" value="0" />
+ <value name="YCRCB_SWAPUVY" value="1" />
+ <value name="YCRCB_SWAPUV" value="2" />
+ <value name="YCRCB_SWAPY" value="3" />
+ <value name="PLANAR_420_8" value="4" />
+ <value name="PLANAR_411_8" value="5" />
+ <value name="PLANAR_422_8" value="6" />
+ <value name="STMM_DN_STATISTICS" value="7" />
+ <value name="R10G10B10A2_UNORM" value="8" />
+ <value name="R8G8B8A8_UNORM" value="9" />
+ <value name="R8B8_UNORM (CrCb)" value="10" />
+ <value name="R8_UNORM (Cr/Cb)" value="11" />
+ <value name="Y8_UNORM" value="12" />
+ </field>
+ <field name="Y Offset for U(Cb)" dword="4" bits="12:0" type="uint" />
+ <field name="X Offset for U(Cb)" dword="4" bits="28:16" type="uint" />
+ <field name="Y Offset for V(Cr)" dword="5" bits="12:0" type="uint" />
+ <field name="X Offset for V(Cr)" dword="5" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_VC1_DIRECTMODE_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Direct MV Write Buffer - Cacheability Control" dword="1" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Direct MV Write Buffer - Graphics Data Type" dword="1" bits="2:2" type="uint" />
+ <field name="Direct MV Write Buffer - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest Priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest Priority" value="3" />
+ </field>
+ <field name="Direct MV Write Buffer - Address" dword="1" bits="31:6" type="address" />
+ <field name="Direct MV Read Buffer - Cacheability Control" dword="2" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Direct MV Read Buffer - Graphics Data Type" dword="2" bits="2:2" type="uint" />
+ <field name="Direct MV Read Buffer - Arbitration Priority Control" dword="2" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Direct MV Read Buffer - Address" dword="2" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MFX_VC1_PIC_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Picture Width in MBs" dword="1" bits="7:0" type="uint" />
+ <field name="Picture Height in MBs" dword="1" bits="23:16" type="uint" />
+ <field name="Frame Coding Mode" dword="2" bits="1:0" type="uint">
+ <value name="Progressive Frame Picture" value="0" />
+ <value name="Interlaced Frame Picture" value="1" />
+ <value name="Field Picture with Top Field First" value="2" />
+ <value name="Field Picture with Bottom Field First" value="3" />
+ </field>
+ <field name="Picture Type" dword="2" bits="4:2" type="uint" />
+ <field name="Second Field" dword="2" bits="5:5" type="bool" />
+ <field name="CONDOVER" dword="2" bits="7:6" type="uint" />
+ <field name="PQ Uniform" dword="2" bits="8:8" type="bool" />
+ <field name="Half QP" dword="2" bits="9:9" type="uint" />
+ <field name="Alternative PQ Configuration" dword="2" bits="11:10" type="uint" />
+ <field name="Alternative PQ Edge Mask" dword="2" bits="15:12" type="uint" />
+ <field name="PQ Value" dword="2" bits="20:16" type="uint" />
+ <field name="Implicit Quantizer" dword="2" bits="21:21" type="bool" />
+ <field name="Overlap Smoothing Enable" dword="2" bits="22:22" type="bool" />
+ <field name="Loop Filter Enable" dword="2" bits="23:23" type="bool" />
+ <field name="Alternative PQ Value" dword="2" bits="28:24" type="uint" />
+ <field name="Concealment Enable" dword="2" bits="29:29" type="bool" />
+ <field name="Sync Marker" dword="2" bits="31:31" type="bool" />
+ <field name="FRFD Reference Distance" dword="3" bits="4:0" type="uint" />
+ <field name="Number of References" dword="3" bits="5:5" type="uint">
+ <value name="One field referenced" value="0" />
+ <value name="Two fields referenced" value="1" />
+ </field>
+ <field name="Reference Field Picture Polarity" dword="3" bits="6:6" type="uint">
+ <value name="Top (even) Field" value="0" />
+ <value name="Bottom (odd) Field" value="1" />
+ </field>
+ <field name="Unified MV Mode" dword="3" bits="9:8" type="uint">
+ <value name="1-MV half-pel bilinear" value="3" />
+ <value name="1-MV" value="1" />
+ <value name="1-MV half-pel" value="2" />
+ <value name="Mixed MV" value="0" />
+ </field>
+ <field name="Fast UV Motion Compensation" dword="3" bits="10:10" type="uint">
+ <value name="No Rounding" value="0" />
+ <value name="Quarter-Pel offsets to Half/Full pel positions" value="1" />
+ </field>
+ <field name="Four MV Switch" dword="3" bits="11:11" type="uint">
+ <value name="Only 1-MV" value="0" />
+ <value name="1, 2, or 4 MVs" value="1" />
+ </field>
+ <field name="Extended MV Range" dword="3" bits="13:12" type="uint" />
+ <field name="Extended DMV Range" dword="3" bits="15:14" type="uint" />
+ <field name="FIELDTX Raw" dword="3" bits="16:16" type="bool" />
+ <field name="ACPRED Raw" dword="3" bits="17:17" type="bool" />
+ <field name="OVERFLAGS Raw" dword="3" bits="18:18" type="bool" />
+ <field name="DIRECTMB Raw" dword="3" bits="19:19" type="bool" />
+ <field name="SKIPMB Raw" dword="3" bits="20:20" type="bool" />
+ <field name="MVTYPEMB Raw" dword="3" bits="21:21" type="bool" />
+ <field name="FORWARDMB Raw" dword="3" bits="22:22" type="bool" />
+ <field name="Bitplane Buffer Present" dword="3" bits="23:23" type="bool" />
+ <field name="Coded Block Pattern Table" dword="4" bits="2:0" type="uint" />
+ <field name="Intra Transform DC Table" dword="4" bits="3:3" type="uint" />
+ <field name="Picture-level Transform Chroma AC Coding Set Index" dword="4" bits="5:4" type="uint" />
+ <field name="Picture-level Transform Luma AC Coding Set Index" dword="4" bits="7:6" type="uint" />
+ <field name="MB Mode Table" dword="4" bits="10:8" type="uint" />
+ <field name="MB Transform Type" dword="4" bits="11:11" type="uint" />
+ <field name="Picture-level Transform Type" dword="4" bits="13:12" type="uint">
+ <value name="8x8 Transform" value="0" />
+ <value name="8x4 Transform" value="1" />
+ <value name="4x8 Transform" value="2" />
+ <value name="4x4 Transform" value="3" />
+ </field>
+ <field name="2-MV Block Pattern Table" dword="4" bits="17:16" type="uint" />
+ <field name="4-MV Block Pattern Table" dword="4" bits="19:18" type="uint" />
+ <field name="MV Table" dword="4" bits="22:20" type="uint" />
+ <field name="Scale Factor" dword="4" bits="31:24" type="uint" />
+ <field name="Bitplane Buffer Pitch" dword="5" bits="7:0" type="uint" />
+ <field name="BRFD Reference Distance" dword="5" bits="12:8" type="uint" />
+ <field name="DMV Surface Valid" dword="5" bits="13:13" type="bool" />
+ </instruction>
+ <instruction name="MFX_VC1_PRED_PIPE_STATE" bias="2" length="4" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="2" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="VC1 Profile" dword="1" bits="3:2" type="uint">
+ <value name="Simple Profile" value="0" />
+ <value name="Main Profile" value="1" />
+ <value name="Advanced Profile" value="2" />
+ </field>
+ <field name="Interpolation Rounder Control" dword="1" bits="4:4" type="uint" />
+ <field name="Reference Frame Boundary Replication Mode" dword="1" bits="11:8" type="uint">
+ <value name="Progressive Frame Replication" value="0" />
+ <value name="Interlace Frame Replication" value="1" />
+ </field>
+ <field name="LumScale1 - single - FWD" dword="2" bits="5:0" type="uint" />
+ <field name="LumScale2 - single - FWD" dword="2" bits="13:8" type="uint" />
+ <field name="LumShift1 - single - FWD" dword="2" bits="21:16" type="uint" />
+ <field name="LumShift2 - single - FWD" dword="2" bits="29:24" type="uint" />
+ <field name="LumScale1 - double - FWD" dword="3" bits="5:0" type="uint" />
+ <field name="LumScale2 - double - FWD" dword="3" bits="13:8" type="uint" />
+ <field name="LumShift1 - double - FWD" dword="3" bits="21:16" type="uint" />
+ <field name="LumShift2 - double - FWD" dword="3" bits="29:24" type="uint" />
+ <field name="LumScale1 - single - BWD" dword="4" bits="5:0" type="uint" />
+ <field name="LumScale2 - single - BWD" dword="4" bits="13:8" type="uint" />
+ <field name="LumShift1 - single - BWD" dword="4" bits="21:16" type="uint" />
+ <field name="LumShift2 - single - BWD" dword="4" bits="29:24" type="uint" />
+ <field name="LumScale1 - double - BWD" dword="5" bits="5:0" type="uint" />
+ <field name="LumScale2 - double - BWD" dword="5" bits="13:8" type="uint" />
+ <field name="LumShift1 - double - BWD" dword="5" bits="21:16" type="uint" />
+ <field name="LumShift2 - double - BWD" dword="5" bits="29:24" type="uint" />
+ <field name="Vin Intensity Compensation Single Backward Enable" dword="6" bits="1:0" type="uint" />
+ <field name="Vin Intensity Compensation Single Forward Enable" dword="6" bits="3:2" type="uint" />
+ <field name="Vin Intensity Compensation Double Backward Enable" dword="6" bits="5:4" type="uint" />
+ <field name="Vin Intensity Compensation Double Forward Enable" dword="6" bits="7:6" type="uint" />
+ <field name="Range Reduction" dword="6" bits="16:16" type="bool" />
+ <field name="Range Reduction Scale" dword="6" bits="17:17" type="uint" />
+ <field name="Fast UV Compensation" dword="6" bits="18:18" type="bool" />
+ <field name="MV Mode" dword="6" bits="20:19" type="uint">
+ <value name="Half-pel bicubic" value="0" />
+ <value name="Quarter-pel bicubic" value="1" />
+ </field>
+ </instruction>
+ <instruction name="MFX_WAIT" bias="1" length="1" engine="video">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="0" />
+ <field name="MFX Sync Control Flag" dword="0" bits="8:8" type="bool" />
+ <field name="SubOpcode" dword="0" bits="26:16" type="uint" default="0" />
+ <field name="Command Subtype" dword="0" bits="28:27" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ </instruction>
+ <instruction name="MI_ARB_CHECK" bias="1" length="1">
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="5" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_ARB_ON_OFF" bias="1" length="1">
+ <field name="Arbitration Enable" dword="0" bits="0:0" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="8" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_BATCH_BUFFER_END" bias="1" length="1">
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="10" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_BATCH_BUFFER_START" bias="2" length="2">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Address Space Indicator" dword="0" bits="8:8" type="uint" prefix="ASI">
+ <value name="GGTT" value="0" />
+ <value name="PPGTT" value="1" />
+ </field>
+ <field name="Clear Command Buffer Enable" dword="0" bits="11:11" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="49" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Batch Buffer Start Address" dword="1" bits="31:2" type="address" />
+ </instruction>
+ <instruction name="MI_CLFLUSH" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="0" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="39" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Starting Cacheline Offset" dword="1" bits="11:6" type="uint" />
+ <field name="Page Base Address" dword="1" bits="31:12" type="address" />
+ <group count="0" dword="2" size="32">
+ <field name="DW Representing a Half Cache Line" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MI_CONDITIONAL_BATCH_BUFFER_END" bias="2" length="2">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Compare Semaphore" dword="0" bits="21:21" type="uint" default="0" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="54" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Compare Data Dword" dword="1" bits="31:0" type="uint" />
+ <field name="Compare Address" dword="2" bits="31:3" type="address" />
+ </instruction>
+ <instruction name="MI_FLUSH" bias="1" length="1" engine="render">
+ <field name="State/Instruction Cache Invalidate" dword="0" bits="1:1" type="uint">
+ <value name="Don't Invalidate" value="0" />
+ <value name="Invalidate" value="1" />
+ </field>
+ <field name="Render Cache Flush Inhibit" dword="0" bits="2:2" type="uint">
+ <value name="Flush" value="0" />
+ <value name="Don't Flush" value="1" />
+ </field>
+ <field name="Global Snapshot Count Reset" dword="0" bits="3:3" type="uint">
+ <value name="Don't Reset" value="0" />
+ <value name="Reset" value="1" />
+ </field>
+ <field name="Generic Media State Clear" dword="0" bits="4:4" type="bool" />
+ <field name="Indirect State Pointers Disable" dword="0" bits="5:5" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="4" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_FLUSH_DW" bias="2" length="4" engine="video">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="2" />
+ <field name="Video Pipeline Cache Invalidate" dword="0" bits="7:7" type="bool" />
+ <field name="Notify Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Post-Sync Operation" dword="0" bits="15:14" type="uint" />
+ <field name="Synchronize GFDT Surface" dword="0" bits="17:17" type="bool" />
+ <field name="TLB Invalidate" dword="0" bits="18:18" type="bool" />
+ <field name="Store Data Index" dword="0" bits="21:21" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="38" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Destination Address Type" dword="1" bits="2:2" type="uint" prefix="DAT">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Address" dword="1" bits="31:3" type="address" />
+ <group count="2" dword="2" size="32">
+ <field name="Immediate Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MI_LOAD_REGISTER_IMM" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Byte Write Disables" dword="0" bits="11:8" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="34" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Offset" dword="1" bits="22:2" type="offset" />
+ <field name="Data DWord" dword="2" bits="31:0" type="uint" />
+ <group count="0" dword="3" size="64">
+ <field name="Register Offset" dword="0" bits="22:2" type="offset" />
+ <field name="Data DWord" dword="1" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MI_LOAD_SCAN_LINES_EXCL" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="0" />
+ <field name="Display (Plane) Select" dword="0" bits="21:19" type="uint">
+ <value name="Display Plane A" value="0" />
+ <value name="Display Plane B" value="1" />
+ <value name="Display Plane C" value="4" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="19" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="End Scan Line Number" dword="1" bits="12:0" type="uint" />
+ <field name="Start Scan Line Number" dword="1" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MI_NOOP" bias="1" length="1">
+ <field name="Identification Number" dword="0" bits="21:0" type="uint" />
+ <field name="Identification Number Register Write Enable" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_REPORT_HEAD" bias="1" length="1">
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="7" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_SEMAPHORE_MBOX" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Register Select" dword="0" bits="17:16" type="uint">
+ <value name="RVSYNC" value="0" />
+ <value name="RBSYNC" value="2" />
+ <value name="Use General Register Select" value="3" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="22" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Semaphore Data Dword" dword="1" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_SET_CONTEXT" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="24" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Restore Inhibit" dword="1" bits="0:0" type="uint" />
+ <field name="Force Restore" dword="1" bits="1:1" type="uint" />
+ <field name="Extended State Restore Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Extended State Save Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Reserved, Must be 1" dword="1" bits="8:8" type="uint" />
+ <field name="HD DVD Context" dword="1" bits="9:9" type="bool" />
+ <field name="Logical Context Address" dword="1" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="MI_STORE_DATA_IMM" bias="2" length="4">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="2" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="32" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Core Mode Enable" dword="2" bits="0:0" type="uint" />
+ <field name="Address" dword="2" bits="31:2" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="MI_STORE_DATA_INDEX" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="33" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Offset" dword="1" bits="11:2" type="uint" />
+ <field name="Data DWord 0" dword="2" bits="31:0" type="uint" />
+ <field name="Data DWord 1" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_STORE_REGISTER_MEM" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="36" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Address" dword="1" bits="22:2" type="offset" />
+ <field name="Memory Address" dword="2" bits="31:2" type="address" />
+ </instruction>
+ <instruction name="MI_SUSPEND_FLUSH" bias="1" length="1">
+ <field name="Suspend Flush" dword="0" bits="0:0" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="11" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_URB_CLEAR" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="25" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="URB Address" dword="1" bits="13:0" type="offset" />
+ <field name="URB Clear Length" dword="1" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MI_USER_INTERRUPT" bias="1" length="1">
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_WAIT_FOR_EVENT" bias="1" length="1" engine="render|blitter|video">
+ <field name="Display Pipe A Scan Line Wait Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Display Plane A Flip Pending Wait Enable" dword="0" bits="1:1" type="bool" />
+ <field name="Display Sprite A Flip Pending Wait Enable" dword="0" bits="2:2" type="bool" />
+ <field name="Display Pipe A Vertical Blank Wait Enable" dword="0" bits="3:3" type="bool" />
+ <field name="Display Pipe A Horizontal Blank Wait Enable" dword="0" bits="5:5" type="bool" />
+ <field name="Display Pipe B Scan Line Wait Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Display Plane B Flip Pending Wait Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Display Sprite B Flip Pending Wait Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Display Pipe B Vertical Blank Wait Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Display Pipe B Horizontal Blank Wait Enable" dword="0" bits="13:13" type="bool" />
+ <field name="Condition Code Wait Select" dword="0" bits="19:16" type="uint">
+ <value name="Not enabled" value="0" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
+ <field name="Pipeline Selection" dword="0" bits="1:0" type="uint">
+ <value name="3D" value="0" />
+ <value name="Media" value="1" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ </instruction>
+ <instruction name="PIPE_CONTROL" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Cache Flush Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Stall At Pixel Scoreboard" dword="1" bits="1:1" type="bool" />
+ <field name="State Cache Invalidation Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Constant Cache Invalidation Enable" dword="1" bits="3:3" type="bool" />
+ <field name="VF Cache Invalidation Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Notify Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Indirect State Pointers Disable" dword="1" bits="9:9" type="bool" />
+ <field name="Texture Cache Invalidation Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Instruction Cache Invalidate Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Render Target Cache Flush Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Depth Stall Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Post Sync Operation" dword="1" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write PS Depth Count" value="2" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="Generic Media State Clear" dword="1" bits="16:16" type="bool" />
+ <field name="Synchronize GFDT Surface" dword="1" bits="17:17" type="bool" />
+ <field name="TLB Invalidate" dword="1" bits="18:18" type="bool" />
+ <field name="Global Snapshot Count Reset" dword="1" bits="19:19" type="bool" />
+ <field name="Command Streamer Stall Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Store Data Index" dword="1" bits="21:21" type="uint" />
+ <field name="Destination Address Type" dword="2" bits="2:2" type="uint" prefix="DAT">
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Address" dword="2" bits="31:3" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="STATE_BASE_ADDRESS" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="General State Base Address Modify Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Stateless Data Port Access Force Write Thru" dword="1" bits="3:3" type="uint" />
+ <field name="Stateless Data Port Access MOCS" dword="1" bits="7:4" type="uint" />
+ <field name="General State MOCS" dword="1" bits="11:8" type="uint" />
+ <field name="General State Base Address" dword="1" bits="31:12" type="address" />
+ <field name="Surface State Base Address Modify Enable" dword="2" bits="0:0" type="bool" />
+ <field name="Surface State MOCS" dword="2" bits="11:8" type="uint" />
+ <field name="Surface State Base Address" dword="2" bits="31:12" type="address" />
+ <field name="Dynamic State Base Address Modify Enable" dword="3" bits="0:0" type="bool" />
+ <field name="Dynamic State MOCS" dword="3" bits="11:8" type="uint" />
+ <field name="Dynamic State Base Address" dword="3" bits="31:12" type="address" />
+ <field name="Indirect Object Base Address Modify Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Indirect Object MOCS" dword="4" bits="11:8" type="uint" />
+ <field name="Indirect Object Base Address" dword="4" bits="31:12" type="address" />
+ <field name="Instruction Base Address Modify Enable" dword="5" bits="0:0" type="bool" />
+ <field name="Instruction MOCS" dword="5" bits="11:8" type="uint" />
+ <field name="Instruction Base Address" dword="5" bits="31:12" type="address" />
+ <field name="General State Access Upper Bound Modify Enable" dword="6" bits="0:0" type="bool" />
+ <field name="General State Access Upper Bound" dword="6" bits="31:12" type="address" />
+ <field name="Dynamic State Access Upper Bound Modify Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Dynamic State Access Upper Bound" dword="7" bits="31:12" type="address" />
+ <field name="Indirect Object Access Upper Bound Modify Enable" dword="8" bits="0:0" type="bool" />
+ <field name="Indirect Object Access Upper Bound" dword="8" bits="31:12" type="address" />
+ <field name="Instruction Access Upper Bound Modify Enable" dword="9" bits="0:0" type="bool" />
+ <field name="Instruction Access Upper Bound" dword="9" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="STATE_PREFETCH" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="3" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Prefetch Count" dword="1" bits="2:0" type="uint" />
+ <field name="Prefetch Pointer" dword="1" bits="31:6" type="address" />
+ </instruction>
+ <register name="BCS_FAULT_REG" length="1" num="0x4294">
+ <field name="Valid Bit" dword="0" bits="0:0" type="bool" />
+ <field name="Fault Type" dword="0" bits="2:1" type="uint">
+ <value name="Page Fault" value="0" />
+ <value name="Invalid PD Fault" value="1" />
+ <value name="Unloaded PD Fault" value="2" />
+ <value name="Invalid and Unloaded PD fault" value="3" />
+ </field>
+ <field name="SRCID of Fault" dword="0" bits="10:3" type="uint" />
+ <field name="GTTSEL" dword="0" bits="11:11" type="uint">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Virtual Address of Fault" dword="0" bits="31:12" type="address" />
+ </register>
+ <register name="BCS_INSTDONE" length="1" num="0x2206c">
+ <field name="Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Blitter IDLE" dword="0" bits="1:1" type="bool" default="1" />
+ <field name="GAB IDLE" dword="0" bits="2:2" type="bool" default="1" />
+ <field name="BCS Done" dword="0" bits="3:3" type="bool" default="1" />
+ </register>
+ <register name="BCS_RING_BUFFER_CTL" length="1" num="0x2203c">
+ <field name="Ring Buffer Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Automatic Report Head Pointer" dword="0" bits="2:1" type="uint">
+ <value name="MI_AUTOREPORT_OFF" value="0" />
+ <value name="MI_AUTOREPORT_64KB" value="1" />
+ <value name="MI_AUTOREPORT_4KB" value="2" />
+ <value name="MI_AUTOREPORT_128KB" value="3" />
+ </field>
+ <field name="Disable Register Accesses" dword="0" bits="8:8" type="bool" />
+ <field name="Semaphore Wait" dword="0" bits="10:10" type="bool" />
+ <field name="RBWait" dword="0" bits="11:11" type="bool" />
+ <field name="Buffer Length (in pages - 1)" dword="0" bits="20:12" type="uint" />
+ </register>
+ <register name="GFX_ARB_ERROR_RPT" length="1" num="0x40a0">
+ <field name="TLB Page Fault Error" dword="0" bits="0:0" type="bool" />
+ <field name="Context Page Fault Error" dword="0" bits="1:1" type="bool" />
+ <field name="Invalid Page Directory entry error" dword="0" bits="2:2" type="bool" />
+ <field name="Hardware Status Page Fault Error" dword="0" bits="3:3" type="bool" />
+ <field name="TLB Page VTD Translation Error" dword="0" bits="4:4" type="bool" />
+ <field name="Context Page VTD Translation Error" dword="0" bits="5:5" type="bool" />
+ <field name="Page Directory Entry VTD Translation Error" dword="0" bits="6:6" type="bool" />
+ <field name="Hardware Status Page VTD Translation Error" dword="0" bits="7:7" type="bool" />
+ <field name="Unloaded PD Error" dword="0" bits="8:8" type="bool" />
+ </register>
+ <register name="INSTDONE_1" length="1" num="0x206c">
+ <field name="PRB0 Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="AVS Done" dword="0" bits="1:1" type="bool" />
+ <field name="HIZ Done" dword="0" bits="2:2" type="bool" />
+ <field name="GW Done" dword="0" bits="3:3" type="bool" />
+ <field name="TS Done" dword="0" bits="4:4" type="bool" />
+ <field name="TD Done" dword="0" bits="6:6" type="bool" />
+ <field name="VFE Done" dword="0" bits="7:7" type="bool" />
+ <field name="IEF Done" dword="0" bits="8:8" type="bool" />
+ <field name="VSC Done" dword="0" bits="9:9" type="bool" />
+ <field name="ISC2/3 Done" dword="0" bits="10:10" type="bool" />
+ <field name="ISC1/0 Done" dword="0" bits="11:11" type="bool" />
+ <field name="IC0 Done" dword="0" bits="12:12" type="bool" />
+ <field name="IC1 Done" dword="0" bits="13:13" type="bool" />
+ <field name="IC2 Done" dword="0" bits="14:14" type="bool" />
+ <field name="IC3 Done" dword="0" bits="15:15" type="bool" />
+ <field name="EU00 Done" dword="0" bits="16:16" type="bool" />
+ <field name="EU01 Done" dword="0" bits="17:17" type="bool" />
+ <field name="EU02 Done" dword="0" bits="18:18" type="bool" />
+ <field name="MA0 Done" dword="0" bits="19:19" type="bool" />
+ <field name="EU10 Done" dword="0" bits="20:20" type="bool" />
+ <field name="EU11 Done" dword="0" bits="21:21" type="bool" />
+ <field name="EU12 Done" dword="0" bits="22:22" type="bool" />
+ <field name="MA1 Done" dword="0" bits="23:23" type="bool" />
+ <field name="EU20 Done" dword="0" bits="24:24" type="bool" />
+ <field name="EU21 Done" dword="0" bits="25:25" type="bool" />
+ <field name="EU22 Done" dword="0" bits="26:26" type="bool" />
+ <field name="MA2 Done" dword="0" bits="27:27" type="bool" />
+ <field name="EU30 Done" dword="0" bits="28:28" type="bool" />
+ <field name="EU31 Done" dword="0" bits="29:29" type="bool" />
+ <field name="EU32 Done" dword="0" bits="30:30" type="bool" />
+ <field name="MA3 Done" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="INSTDONE_2" length="1" num="0x207c">
+ <field name="VF Done" dword="0" bits="0:0" type="bool" />
+ <field name="VS0 Done" dword="0" bits="1:1" type="bool" />
+ <field name="GS Done" dword="0" bits="2:2" type="bool" />
+ <field name="CL Done" dword="0" bits="3:3" type="bool" />
+ <field name="SF Done" dword="0" bits="4:4" type="bool" />
+ <field name="VME Done" dword="0" bits="5:5" type="bool" />
+ <field name="PL Done" dword="0" bits="6:6" type="bool" />
+ <field name="SO Done" dword="0" bits="7:7" type="bool" />
+ <field name="SI Done" dword="0" bits="8:8" type="bool" />
+ <field name="DG Done" dword="0" bits="9:9" type="bool" />
+ <field name="FT Done" dword="0" bits="10:10" type="bool" />
+ <field name="DM Done" dword="0" bits="11:11" type="bool" />
+ <field name="SC Done" dword="0" bits="12:12" type="bool" />
+ <field name="FL Done" dword="0" bits="13:13" type="bool" />
+ <field name="QC Done" dword="0" bits="14:14" type="bool" />
+ <field name="SVSM Done" dword="0" bits="15:15" type="bool" />
+ <field name="WMFE Done" dword="0" bits="16:16" type="bool" />
+ <field name="IZ Done" dword="0" bits="17:17" type="bool" />
+ <field name="PSD Done" dword="0" bits="18:18" type="bool" />
+ <field name="DAP Done" dword="0" bits="19:19" type="bool" />
+ <field name="RCZ Done" dword="0" bits="20:20" type="bool" />
+ <field name="VDI Done" dword="0" bits="21:21" type="bool" />
+ <field name="RCPBE Done" dword="0" bits="22:22" type="bool" />
+ <field name="RCPFE Done" dword="0" bits="23:23" type="bool" />
+ <field name="MT Done" dword="0" bits="24:24" type="bool" />
+ <field name="ISC Done" dword="0" bits="25:25" type="bool" />
+ <field name="SVG Done" dword="0" bits="26:26" type="bool" />
+ <field name="RCC Done" dword="0" bits="27:27" type="bool" />
+ <field name="SVRW Done" dword="0" bits="28:28" type="bool" />
+ <field name="WMBE Done" dword="0" bits="29:29" type="bool" />
+ <field name="CS Done" dword="0" bits="30:30" type="bool" />
+ <field name="GAM Done" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="INSTPM" length="1" num="0x20c0">
+ <field name="3D State Instruction Disable" dword="0" bits="1:1" type="bool" />
+ <field name="3D Rendering Instruction Disable" dword="0" bits="2:2" type="bool" />
+ <field name="Media Instruction Disable" dword="0" bits="3:3" type="bool" />
+ <field name="CONSTANT_BUFFER Address Offset Disable" dword="0" bits="6:6" type="bool" />
+ <field name="3D State Instruction Disable Mask" dword="0" bits="17:17" type="bool" />
+ <field name="3D Rendering Instruction Disable Mask" dword="0" bits="18:18" type="bool" />
+ <field name="Media Instruction Disable Mask" dword="0" bits="19:19" type="bool" />
+ <field name="CONSTANT_BUFFER Address Offset Disable Mask" dword="0" bits="22:22" type="bool" />
+ </register>
+ <register name="RCS_FAULT_REG" length="1" num="0x4094">
+ <field name="Valid Bit" dword="0" bits="0:0" type="bool" />
+ <field name="Fault Type" dword="0" bits="2:1" type="uint">
+ <value name="Page Fault" value="0" />
+ <value name="Invalid PD Fault" value="1" />
+ <value name="Unloaded PD Fault" value="2" />
+ <value name="Invalid and Unloaded PD fault" value="3" />
+ </field>
+ <field name="SRCID of Fault" dword="0" bits="10:3" type="uint" />
+ <field name="GTTSEL" dword="0" bits="11:11" type="uint">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Virtual Address of Fault" dword="0" bits="31:12" type="address" />
+ </register>
+ <register name="RCS_RING_BUFFER_CTL" length="1" num="0x203c">
+ <field name="Ring Buffer Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Automatic Report Head Pointer" dword="0" bits="2:1" type="uint">
+ <value name="MI_AUTOREPORT_OFF" value="0" />
+ <value name="MI_AUTOREPORT_64KBMI_AUTOREPORT_4KB" value="1" />
+ <value name="MI_AUTOREPORT_128KB" value="3" />
+ </field>
+ <field name="Semaphore Wait" dword="0" bits="10:10" type="bool" />
+ <field name="RBWait" dword="0" bits="11:11" type="bool" />
+ <field name="Buffer Length (in pages - 1)" dword="0" bits="20:12" type="uint" />
+ </register>
+ <register name="RPSTAT1" length="1" num="0xa01c">
+ <field name="Previous GT Frequency" dword="0" bits="6:0" type="uint" />
+ <field name="Current GT Frequency" dword="0" bits="14:7" type="uint" />
+ </register>
+ <register name="VCS_FAULT_REG" length="1" num="0x4194">
+ <field name="Valid Bit" dword="0" bits="0:0" type="bool" />
+ <field name="Fault Type" dword="0" bits="2:1" type="uint">
+ <value name="Page Fault" value="0" />
+ <value name="Invalid PD Fault" value="1" />
+ <value name="Unloaded PD Fault" value="2" />
+ <value name="Invalid and Unloaded PD fault" value="3" />
+ </field>
+ <field name="SRCID of Fault" dword="0" bits="10:3" type="uint" />
+ <field name="GTTSEL" dword="0" bits="11:11" type="uint">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Virtual Address of Fault" dword="0" bits="31:12" type="address" />
+ </register>
+ <register name="VCS_INSTDONE" length="1" num="0x1206c">
+ <field name="Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="USB Done" dword="0" bits="1:1" type="bool" />
+ <field name="QRC Done" dword="0" bits="2:2" type="bool" />
+ <field name="SEC Done" dword="0" bits="3:3" type="bool" />
+ <field name="MPC Done" dword="0" bits="4:4" type="bool" />
+ <field name="VFT Done" dword="0" bits="5:5" type="bool" />
+ <field name="BSP Done" dword="0" bits="6:6" type="bool" />
+ <field name="VLF Done" dword="0" bits="7:7" type="bool" />
+ <field name="VOP Done" dword="0" bits="8:8" type="bool" />
+ <field name="VMC Done" dword="0" bits="9:9" type="bool" />
+ <field name="VIP Done" dword="0" bits="10:10" type="bool" />
+ <field name="VIT Done" dword="0" bits="11:11" type="bool" />
+ <field name="VDS Done" dword="0" bits="12:12" type="bool" />
+ <field name="VMX Done" dword="0" bits="13:13" type="bool" />
+ <field name="VCP Done" dword="0" bits="14:14" type="bool" />
+ <field name="VCD Done" dword="0" bits="15:15" type="bool" />
+ <field name="VAD Done" dword="0" bits="16:16" type="bool" />
+ <field name="VMD Done" dword="0" bits="17:17" type="bool" />
+ <field name="VIS Done" dword="0" bits="18:18" type="bool" />
+ <field name="VAC Done" dword="0" bits="19:19" type="bool" />
+ <field name="VAM Done" dword="0" bits="20:20" type="bool" />
+ <field name="JPG Done" dword="0" bits="21:21" type="bool" />
+ <field name="VBP Done" dword="0" bits="22:22" type="bool" />
+ <field name="VHR Done" dword="0" bits="23:23" type="bool" />
+ <field name="VCI Done" dword="0" bits="24:24" type="bool" />
+ <field name="VCR Done" dword="0" bits="25:25" type="bool" />
+ <field name="VIN Done" dword="0" bits="26:26" type="bool" />
+ <field name="VPR Done" dword="0" bits="27:27" type="bool" />
+ <field name="VTQ Done" dword="0" bits="28:28" type="bool" />
+ <field name="VCS Done" dword="0" bits="30:30" type="bool" />
+ <field name="GAC Done" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="VCS_RING_BUFFER_CTL" length="1" num="0x1203c">
+ <field name="Ring Buffer Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Automatic Report Head Pointer" dword="0" bits="2:1" type="uint">
+ <value name="MI_AUTOREPORT_OFF" value="0" />
+ <value name="MI_AUTOREPORT_64KB" value="1" />
+ <value name="MI_AUTOREPORT_4KB" value="2" />
+ <value name="MI_AUTOREPORT_128KB" value="3" />
+ </field>
+ <field name="Disable Register Accesses" dword="0" bits="8:8" type="bool" />
+ <field name="Semaphore Wait" dword="0" bits="10:10" type="bool" />
+ <field name="RBWait" dword="0" bits="11:11" type="bool" />
+ <field name="Buffer Length (in pages - 1)" dword="0" bits="20:12" type="uint" />
+ </register>
+</genxml>
diff --git a/lib/genxml/gen70.xml b/lib/genxml/gen70.xml
new file mode 100644
index 000000000..ff0340c05
--- /dev/null
+++ b/lib/genxml/gen70.xml
@@ -0,0 +1,3067 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="IVB" gen="7">
+ <import name="gen60.xml">
+ <exclude name="3DSTATE_BINDING_TABLE_POINTERS" />
+ <exclude name="3DSTATE_GS_SVB_INDEX" />
+ <exclude name="3DSTATE_SAMPLER_STATE_POINTERS" />
+ <exclude name="3DSTATE_URB" />
+ <exclude name="3DSTATE_VIEWPORT_STATE_POINTERS" />
+ <exclude name="CLIP_VIEWPORT" />
+ <exclude name="INSTDONE_2" />
+ <exclude name="MEDIA_GATEWAY_STATE" />
+ <exclude name="MFC_AVC_FQM_STATE" />
+ <exclude name="MFC_AVC_PAK_INSERT_OBJECT" />
+ <exclude name="MFC_STITCH_OBJECT" />
+ <exclude name="MFX_AVC_QM_STATE" />
+ <exclude name="MFX_MPEG2_QM_STATE" />
+ <exclude name="MFX_VC1_PIC_STATE" />
+ <exclude name="MI_LOAD_SCAN_LINES_EXCL" />
+ <exclude name="SF_VIEWPORT" />
+ </import>
+ <enum name="3D_Prim_Topo_Type" prefix="3DPRIM">
+ <value name="POINTLIST" value="1" />
+ <value name="LINELIST" value="2" />
+ <value name="LINESTRIP" value="3" />
+ <value name="TRILIST" value="4" />
+ <value name="TRISTRIP" value="5" />
+ <value name="TRIFAN" value="6" />
+ <value name="QUADLIST" value="7" />
+ <value name="QUADSTRIP" value="8" />
+ <value name="LINELIST_ADJ" value="9" />
+ <value name="LINESTRIP_ADJ" value="10" />
+ <value name="TRILIST_ADJ" value="11" />
+ <value name="TRISTRIP_ADJ" value="12" />
+ <value name="TRISTRIP_REVERSE" value="13" />
+ <value name="POLYGON" value="14" />
+ <value name="RECTLIST" value="15" />
+ <value name="LINELOOP" value="16" />
+ <value name="POINTLIST _BF" value="17" />
+ <value name="LINESTRIP_CONT" value="18" />
+ <value name="LINESTRIP_BF" value="19" />
+ <value name="LINESTRIP_CONT_BF" value="20" />
+ <value name="TRIFAN_NOSTIPPLE" value="22" />
+ <value name="PATCHLIST_1" value="32" />
+ <value name="PATCHLIST_2" value="33" />
+ <value name="PATCHLIST_3" value="34" />
+ <value name="PATCHLIST_4" value="35" />
+ <value name="PATCHLIST_5" value="36" />
+ <value name="PATCHLIST_6" value="37" />
+ <value name="PATCHLIST_7" value="38" />
+ <value name="PATCHLIST_8" value="39" />
+ <value name="PATCHLIST_9" value="40" />
+ <value name="PATCHLIST_10" value="41" />
+ <value name="PATCHLIST_11" value="42" />
+ <value name="PATCHLIST_12" value="43" />
+ <value name="PATCHLIST_13" value="44" />
+ <value name="PATCHLIST_14" value="45" />
+ <value name="PATCHLIST_15" value="46" />
+ <value name="PATCHLIST_16" value="47" />
+ <value name="PATCHLIST_17" value="48" />
+ <value name="PATCHLIST_18" value="49" />
+ <value name="PATCHLIST_19" value="50" />
+ <value name="PATCHLIST_20" value="51" />
+ <value name="PATCHLIST_21" value="52" />
+ <value name="PATCHLIST_22" value="53" />
+ <value name="PATCHLIST_23" value="54" />
+ <value name="PATCHLIST_24" value="55" />
+ <value name="PATCHLIST_25" value="56" />
+ <value name="PATCHLIST_26" value="57" />
+ <value name="PATCHLIST_27" value="58" />
+ <value name="PATCHLIST_28" value="59" />
+ <value name="PATCHLIST_29" value="60" />
+ <value name="PATCHLIST_30" value="61" />
+ <value name="PATCHLIST_31" value="62" />
+ <value name="PATCHLIST_32" value="63" />
+ </enum>
+ <struct name="3DSTATE_CONSTANT_BODY" length="6">
+ <group count="4" dword="0" size="16">
+ <field name="Read Length" dword="0" bits="15:0" type="uint" />
+ </group>
+ <field name="MOCS" dword="2" bits="4:0" type="uint" nonzero="true" />
+ <group count="4" dword="2" size="32">
+ <field name="Buffer" dword="0" bits="31:5" type="address" />
+ </group>
+ </struct>
+ <struct name="INLINE_DATA_DESCRIPTION_FOR_MFD_AVC_BSD_OBJECT" length="2">
+ <field name="MB Error Concealment P Slice Weight Prediction Disable" dword="0" bits="0:0" type="bool" />
+ <field name="MB Error Concealment P Slice Motion Vectors Override Disable" dword="0" bits="1:1" type="bool" />
+ <field name="MB Error Concealment P Slice Reference Index Override Disable" dword="0" bits="2:2" type="bool" />
+ <field name="MB Error Concealment B Spatial Weight Prediction Disable" dword="0" bits="3:3" type="bool" />
+ <field name="MB Error Concealment B Spatial Motion Vectors Override Disable" dword="0" bits="4:4" type="bool" />
+ <field name="MB Error Concealment B Spatial Reference Index Override Disable" dword="0" bits="5:5" type="bool" />
+ <field name="MB Error Concealment B Spatial Prediction Mode" dword="0" bits="7:6" type="uint" default="0" />
+ <field name="MB Header Error Handling" dword="0" bits="8:8" type="bool" />
+ <field name="Entropy Error Handling" dword="0" bits="10:10" type="bool" />
+ <field name="MPR Error Handling" dword="0" bits="12:12" type="bool" />
+ <field name="BSD Premature Complete Error Handling" dword="0" bits="14:14" type="bool" />
+ <field name="Concealment Picture ID" dword="0" bits="21:16" type="uint" />
+ <field name="MB Error Concealment B Temporal Weight Prediction Disable" dword="0" bits="24:24" type="bool" />
+ <field name="MB Error Concealment B Temporal Motion Vectors Override Enable" dword="0" bits="25:25" type="bool" />
+ <field name="MB Error Concealment B Temporal Reference Index Override Enable" dword="0" bits="26:26" type="bool" />
+ <field name="MB Error Concealment B Temporal Prediction Mode" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Init Current MB Number" dword="0" bits="30:30" type="bool" />
+ <field name="Concealment Method" dword="0" bits="31:31" type="uint" />
+ <field name="First MB Bit Offset" dword="1" bits="2:0" type="uint" />
+ <field name="Last Slice" dword="1" bits="3:3" type="bool" />
+ <field name="Emulation Prevention Byte Present" dword="1" bits="4:4" type="bool" />
+ <field name="Fix Prev MB Skipped" dword="1" bits="7:7" type="bool" />
+ <field name="First MB Byte Offset of Slice Data or Slice Header" dword="1" bits="31:16" type="uint" />
+ </struct>
+ <struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="1" bits="18:18" type="bool" />
+ <field name="Sampler Count" dword="2" bits="4:2" type="uint">
+ <value name="No samplers used" value="0" />
+ <value name="Between 1 and 4 samplers used" value="1" />
+ <value name="Between 5 and 8 samplers used" value="2" />
+ <value name="Between 9 and 12 samplers used" value="3" />
+ <value name="Between 13 and 16 samplers used" value="4" />
+ </field>
+ <field name="Sampler State Pointer" dword="2" bits="31:5" type="offset" />
+ <field name="Binding Table Entry Count" dword="3" bits="4:0" type="uint" />
+ <field name="Binding Table Pointer" dword="3" bits="15:5" type="offset" />
+ <field name="Constant URB Entry Read Offset" dword="4" bits="15:0" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="4" bits="31:16" type="uint" />
+ <field name="Number of Threads in GPGPU Thread Group" dword="5" bits="7:0" type="uint" />
+ <field name="Shared Local Memory Size" dword="5" bits="20:16" type="uint" />
+ <field name="Barrier Enable" dword="5" bits="21:21" type="bool" />
+ <field name="Rounding Mode" dword="5" bits="23:22" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ </struct>
+ <struct name="MEMORY_OBJECT_CONTROL_STATE" length="1">
+ <field name="L3 Cacheability Control (L3CC)" dword="0" bits="0:0" type="uint" />
+ <field name="LLC Cacheability Control (LLCCC)" dword="0" bits="1:1" type="uint" />
+ <field name="Graphics Data Type (GFDT)" dword="0" bits="2:2" type="uint" />
+ </struct>
+ <struct name="MFD_MPEG2_BSD_OBJECT_INLINE_DATA_DESCRIPTION" length="2">
+ <field name="First MB Bit Offset" dword="0" bits="2:0" type="uint" />
+ <field name="Last MB" dword="0" bits="3:3" type="bool" />
+ <field name="Last Pic Slice" dword="0" bits="5:5" type="bool" />
+ <field name="MB Count" dword="0" bits="14:8" type="uint" />
+ <field name="Slice Vertical Position" dword="0" bits="22:16" type="uint" />
+ <field name="Slice Horizontal Position" dword="0" bits="30:24" type="uint" />
+ <field name="Quantizer Scale Code" dword="1" bits="28:24" type="uint" />
+ </struct>
+ <struct name="RENDER_SURFACE_STATE" length="8">
+ <field name="Cube Face Enable - Positive Z" dword="0" bits="0:0" type="bool" />
+ <field name="Cube Face Enable - Negative Z" dword="0" bits="1:1" type="bool" />
+ <field name="Cube Face Enable - Positive Y" dword="0" bits="2:2" type="bool" />
+ <field name="Cube Face Enable - Negative Y" dword="0" bits="3:3" type="bool" />
+ <field name="Cube Face Enable - Positive X" dword="0" bits="4:4" type="bool" />
+ <field name="Cube Face Enable - Negative X" dword="0" bits="5:5" type="bool" />
+ <field name="Media Boundary Pixel Mode" dword="0" bits="7:6" type="uint">
+ <value name="NORMAL_MODE" value="0" />
+ <value name="PROGRESSIVE_FRAME" value="2" />
+ <value name="INTERLACED_FRAME" value="3" />
+ </field>
+ <field name="Render Cache Read Write Mode" dword="0" bits="8:8" type="uint" />
+ <field name="Surface Array Spacing" dword="0" bits="10:10" type="uint">
+ <value name="ARYSPC_FULL" value="0" />
+ <value name="ARYSPC_LOD0" value="1" />
+ </field>
+ <field name="Vertical Line Stride Offset" dword="0" bits="11:11" type="uint" />
+ <field name="Vertical Line Stride" dword="0" bits="12:12" type="uint" />
+ <field name="Tile Walk" dword="0" bits="13:13" type="uint">
+ <value name="TILEWALK_XMAJOR" value="0" />
+ <value name="TILEWALK_YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="0" bits="14:14" type="bool" />
+ <field name="Surface Horizontal Alignment" dword="0" bits="15:15" type="uint">
+ <value name="HALIGN_4" value="0" />
+ <value name="HALIGN_8" value="1" />
+ </field>
+ <field name="Surface Vertical Alignment" dword="0" bits="17:16" type="uint">
+ <value name="VALIGN_2" value="0" />
+ <value name="VALIGN_4" value="1" />
+ </field>
+ <field name="Surface Format" dword="0" bits="26:18" type="uint" />
+ <field name="Surface Array" dword="0" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="0" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_BUFFER" value="4" />
+ <value name="SURFTYPE_STRBUF" value="5" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="1" bits="31:0" type="address" />
+ <field name="Width" dword="2" bits="13:0" type="uint" />
+ <field name="Height" dword="2" bits="29:16" type="uint" />
+ <field name="Surface Pitch" dword="3" bits="17:0" type="uint" />
+ <field name="Depth" dword="3" bits="31:21" type="uint" />
+ <field name="Multisample Position Palette Index" dword="4" bits="2:0" type="uint" />
+ <field name="Strbuf Minimum Array Element" dword="4" bits="26:0" type="uint" />
+ <field name="Number of Multisamples" dword="4" bits="5:3" type="uint">
+ <value name="MULTISAMPLECOUNT_1" value="0" />
+ <value name="MULTISAMPLECOUNT_4" value="2" />
+ <value name="MULTISAMPLECOUNT_8" value="3" />
+ </field>
+ <field name="Multisampled Surface Storage Format" dword="4" bits="6:6" type="uint">
+ <value name="MSFMT_MSS" value="0" />
+ <value name="MSFMT_DEPTH_STENCIL" value="1" />
+ </field>
+ <field name="Render Target View Extent" dword="4" bits="17:7" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="28:18" type="uint" />
+ <field name="Render Target Rotation" dword="4" bits="30:29" type="uint">
+ <value name="RTROTATE_0DEG" value="0" />
+ <value name="RTROTATE_90DEG" value="1" />
+ <value name="RTROTATE_270DEG" value="3" />
+ </field>
+ <field name="MIP Count / LOD" dword="5" bits="3:0" type="uint" />
+ <field name="Surface Min LOD" dword="5" bits="7:4" type="uint" />
+ <field name="MOCS" dword="5" bits="19:16" type="uint" nonzero="true" />
+ <field name="Y Offset" dword="5" bits="23:20" type="uint" />
+ <field name="X Offset" dword="5" bits="31:25" type="uint" />
+ <field name="MCS Enable" dword="6" bits="0:0" type="bool" />
+ <field name="Y Offset for UV Plane" dword="6" bits="13:0" type="uint" />
+ <field name="Append Counter Enable" dword="6" bits="1:1" type="bool" />
+ <field name="Auxiliary Surface Pitch" dword="6" bits="11:3" type="uint" />
+ <field name="Append Counter Address" dword="6" bits="31:6" type="address" />
+ <field name="Auxiliary Surface Base Address" dword="6" bits="31:12" type="address" />
+ <field name="X Offset for UV Plane" dword="6" bits="29:16" type="uint" />
+ <field name="Reserved: MBZ" dword="6" bits="31:30" type="uint" />
+ <field name="Resource Min LOD" dword="7" bits="11:0" type="u4.8" />
+ <field name="Alpha Clear Color" dword="7" bits="28:28" type="uint">
+ <value name="CC_ZERO" value="0" />
+ <value name="CC_ONE" value="1" />
+ </field>
+ <field name="Blue Clear Color" dword="7" bits="29:29" type="uint">
+ <value name="CC_ZERO" value="0" />
+ <value name="CC_ONE" value="1" />
+ </field>
+ <field name="Green Clear Color" dword="7" bits="30:30" type="uint">
+ <value name="CC_ZERO" value="0" />
+ <value name="CC_ONE" value="1" />
+ </field>
+ <field name="Red Clear Color" dword="7" bits="31:31" type="uint">
+ <value name="CC_ZERO" value="0" />
+ <value name="CC_ONE" value="1" />
+ </field>
+ </struct>
+ <struct name="SAMPLER_BORDER_COLOR_STATE" length="4">
+ <field name="Border Color Unorm Red" dword="0" bits="7:0" type="uint" />
+ <field name="Border Color Float Red" dword="0" bits="31:0" type="float" />
+ <field name="Border Color Unorm Green" dword="0" bits="15:8" type="uint" />
+ <field name="Border Color Unorm Blue" dword="0" bits="23:16" type="uint" />
+ <field name="Border Color Unorm Alpha" dword="0" bits="31:24" type="uint" />
+ <field name="Border Color Float Green" dword="1" bits="31:0" type="float" />
+ <field name="Border Color Float Blue" dword="2" bits="31:0" type="float" />
+ <field name="Border Color Float Alpha" dword="3" bits="31:0" type="float" />
+ </struct>
+ <struct name="SAMPLER_STATE" length="4">
+ <field name="Anisotropic Algorithm" dword="0" bits="0:0" type="uint">
+ <value name="LEGACY" value="0" />
+ <value name="EWA Approximation" value="1" />
+ </field>
+ <field name="Texture LOD Bias" dword="0" bits="13:1" type="s4.8" />
+ <field name="Min Mode Filter" dword="0" bits="16:14" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mag Mode Filter" dword="0" bits="19:17" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mip Mode Filter" dword="0" bits="21:20" type="uint" prefix="MIPFILTER">
+ <value name="NONE" value="0" />
+ <value name="NEAREST" value="1" />
+ <value name="LINEAR" value="3" />
+ </field>
+ <field name="Base Mip Level" dword="0" bits="26:22" type="u4.1" />
+ <field name="LOD PreClamp Enable" dword="0" bits="28:28" type="uint" prefix="CLAMP_ENABLE">
+ <value name="OGL" value="1" />
+ </field>
+ <field name="Texture Border Color Mode" dword="0" bits="29:29" type="uint">
+ <value name="DX10/OGL" value="0" />
+ <value name="DX9" value="1" />
+ </field>
+ <field name="Sampler Disable" dword="0" bits="31:31" type="bool" />
+ <field name="Cube Surface Control Mode" dword="1" bits="0:0" type="uint">
+ <value name="PROGRAMMED" value="0" />
+ <value name="OVERRIDE" value="1" />
+ </field>
+ <field name="Shadow Function" dword="1" bits="3:1" type="uint" prefix="PREFILTEROP">
+ <value name="ALWAYS" value="0" />
+ <value name="NEVER" value="1" />
+ <value name="LESS" value="2" />
+ <value name="EQUAL" value="3" />
+ <value name="LEQUAL" value="4" />
+ <value name="GREATER" value="5" />
+ <value name="NOTEQUAL" value="6" />
+ <value name="GEQUAL" value="7" />
+ </field>
+ <field name="Max LOD" dword="1" bits="19:8" type="u4.8" />
+ <field name="Min LOD" dword="1" bits="31:20" type="u4.8" />
+ <field name="Border Color Pointer" dword="2" bits="31:5" type="offset" />
+ <field name="TCZ Address Control Mode" dword="3" bits="2:0" type="Texture Coordinate Mode" />
+ <field name="TCY Address Control Mode" dword="3" bits="5:3" type="Texture Coordinate Mode" />
+ <field name="TCX Address Control Mode" dword="3" bits="8:6" type="Texture Coordinate Mode" />
+ <field name="Non-normalized Coordinate Enable" dword="3" bits="10:10" type="bool" />
+ <field name="Trilinear Filter Quality" dword="3" bits="12:11" type="uint">
+ <value name="FULL" value="0" />
+ <value name="MED" value="2" />
+ <value name="LOW" value="3" />
+ </field>
+ <field name="R Address Min Filter Rounding Enable" dword="3" bits="13:13" type="bool" />
+ <field name="R Address Mag Filter Rounding Enable" dword="3" bits="14:14" type="bool" />
+ <field name="V Address Min Filter Rounding Enable" dword="3" bits="15:15" type="bool" />
+ <field name="V Address Mag Filter Rounding Enable" dword="3" bits="16:16" type="bool" />
+ <field name="U Address Min Filter Rounding Enable" dword="3" bits="17:17" type="bool" />
+ <field name="U Address Mag Filter Rounding Enable" dword="3" bits="18:18" type="bool" />
+ <field name="Maximum Anisotropy" dword="3" bits="21:19" type="uint">
+ <value name="RATIO 2:1" value="0" />
+ <value name="RATIO 4:1" value="1" />
+ <value name="RATIO 6:1" value="2" />
+ <value name="RATIO 8:1" value="3" />
+ <value name="RATIO 10:1" value="4" />
+ <value name="RATIO 12:1" value="5" />
+ <value name="RATIO 14:1" value="6" />
+ <value name="RATIO 16:1" value="7" />
+ </field>
+ <field name="ChromaKey Mode" dword="3" bits="22:22" type="uint">
+ <value name="KEYFILTER_KILL_ON_ANY_MATCH" value="0" />
+ <value name="KEYFILTER_REPLACE_BLACK" value="1" />
+ </field>
+ <field name="ChromaKey Index" dword="3" bits="24:23" type="uint" />
+ <field name="ChromaKey Enable" dword="3" bits="25:25" type="bool" />
+ </struct>
+ <struct name="SF_CLIP_VIEWPORT" length="16">
+ <field name="Viewport Matrix Element m00" dword="0" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m11" dword="1" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m22" dword="2" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m30" dword="3" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m31" dword="4" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m32" dword="5" bits="31:0" type="float" />
+ <field name="X Min Clip Guardband" dword="8" bits="31:0" type="float" />
+ <field name="X Max Clip Guardband" dword="9" bits="31:0" type="float" />
+ <field name="Y Min Clip Guardband" dword="10" bits="31:0" type="float" />
+ <field name="Y Max Clip Guardband" dword="11" bits="31:0" type="float" />
+ </struct>
+ <struct name="SO_DECL" length="1">
+ <field name="Component Mask" dword="0" bits="3:0" type="uint" default="0" />
+ <field name="Register Index" dword="0" bits="9:4" type="uint" />
+ <field name="Hole Flag" dword="0" bits="11:11" type="bool" />
+ <field name="Output Buffer Slot" dword="0" bits="13:12" type="uint" />
+ </struct>
+ <struct name="SO_DECL_ENTRY" length="2">
+ <field name="Stream 0 Decl" dword="0" bits="15:0" type="SO_DECL" />
+ <field name="Stream 1 Decl" dword="0" bits="31:16" type="SO_DECL" />
+ <field name="Stream 2 Decl" dword="1" bits="15:0" type="SO_DECL" />
+ <field name="Stream 3 Decl" dword="1" bits="31:16" type="SO_DECL" />
+ </struct>
+ <struct name="VERTEX_BUFFER_STATE" length="4">
+ <field name="Buffer Pitch" dword="0" bits="11:0" type="uint" />
+ <field name="Vertex Fetch Invalidate" dword="0" bits="12:12" type="bool" default="0" />
+ <field name="Null Vertex Buffer" dword="0" bits="13:13" type="bool" />
+ <field name="Address Modify Enable" dword="0" bits="14:14" type="bool" />
+ <field name="MOCS" dword="0" bits="19:16" type="uint" nonzero="true" />
+ <field name="Buffer Access Type" dword="0" bits="20:20" type="uint">
+ <value name="VERTEXDATA" value="0" />
+ <value name="INSTANCEDATA" value="1" />
+ </field>
+ <field name="Vertex Buffer Index" dword="0" bits="31:26" type="uint" />
+ <field name="Buffer Starting Address" dword="1" bits="31:0" type="address" />
+ <field name="End Address" dword="2" bits="31:0" type="address" />
+ <field name="Instance Data Step Rate" dword="3" bits="31:0" type="uint" />
+ </struct>
+ <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Primitive Topology Type" dword="1" bits="5:0" type="3D_Prim_Topo_Type" />
+ <field name="Vertex Access Type" dword="1" bits="8:8" type="uint">
+ <value name="SEQUENTIAL" value="0" />
+ <value name="RANDOM" value="1" />
+ </field>
+ <field name="End Offset Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Vertex Count Per Instance" dword="2" bits="31:0" type="uint" />
+ <field name="Start Vertex Location" dword="3" bits="31:0" type="uint" />
+ <field name="Instance Count" dword="4" bits="31:0" type="uint" />
+ <field name="Start Instance Location" dword="5" bits="31:0" type="uint" />
+ <field name="Base Vertex Location" dword="6" bits="31:0" type="int" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="40" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to DS Binding Table" dword="1" bits="15:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="41" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to GS Binding Table" dword="1" bits="15:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="39" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to HS Binding Table" dword="1" bits="15:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="42" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to PS Binding Table" dword="1" bits="15:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="38" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to VS Binding Table" dword="1" bits="15:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="36" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field dword="1" bits="0:0" type="mbo" />
+ <field name="Blend State Pointer" dword="1" bits="31:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="14" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field dword="1" bits="0:0" type="mbo" />
+ <field name="Color Calc State Pointer" dword="1" bits="31:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Clear Value" dword="1" bits="31:0" type="uint" />
+ <field name="Depth Clear Value Valid" dword="2" bits="0:0" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_CLIP" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="18" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="1" bits="7:0" type="uint" />
+ <field name="Statistics Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Cull Mode" dword="1" bits="17:16" type="uint" prefix="CULLMODE">
+ <value name="BOTH" value="0" />
+ <value name="NONE" value="1" />
+ <value name="FRONT" value="2" />
+ <value name="BACK" value="3" />
+ </field>
+ <field name="Early Cull Enable" dword="1" bits="18:18" type="bool" />
+ <field name="Vertex Sub Pixel Precision Select" dword="1" bits="19:19" type="uint" />
+ <field name="Front Winding" dword="1" bits="20:20" type="uint" />
+ <field name="Triangle Fan Provoking Vertex Select" dword="2" bits="1:0" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Line Strip/List Provoking Vertex Select" dword="2" bits="3:2" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ </field>
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="2" bits="5:4" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Non-Perspective Barycentric Enable" dword="2" bits="8:8" type="bool" />
+ <field name="Perspective Divide Disable" dword="2" bits="9:9" type="bool" />
+ <field name="Clip Mode" dword="2" bits="15:13" type="uint">
+ <value name="CLIPMODE_NORMAL" value="0" />
+ <value name="CLIPMODE_REJECT_ALL" value="3" />
+ <value name="CLIPMODE_ACCEPT_ALL" value="4" />
+ </field>
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="2" bits="23:16" type="uint" />
+ <field name="Guardband Clip Test Enable" dword="2" bits="26:26" type="bool" />
+ <field name="Viewport Z Clip Test Enable" dword="2" bits="27:27" type="bool" />
+ <field name="Viewport XY Clip Test Enable" dword="2" bits="28:28" type="bool" />
+ <field name="API Mode" dword="2" bits="30:30" type="uint">
+ <value name="APIMODE_OGL" value="0" />
+ <value name="APIMODE_D3D" value="1" />
+ </field>
+ <field name="Clip Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Maximum VP Index" dword="3" bits="3:0" type="uint" />
+ <field name="Force Zero RTA Index Enable" dword="3" bits="5:5" type="bool" />
+ <field name="Maximum Point Width" dword="3" bits="16:6" type="u8.3" />
+ <field name="Minimum Point Width" dword="3" bits="27:17" type="u8.3" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="26" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="191:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="22" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="191:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="25" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="191:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="23" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="191:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="21" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="191:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="17:0" type="uint" />
+ <field name="Surface Format" dword="1" bits="20:18" type="uint">
+ <value name="D32_FLOAT" value="1" />
+ <value name="D24_UNORM_X8_UINT" value="3" />
+ <value name="D16_UNORM" value="5" />
+ </field>
+ <field name="Hierarchical Depth Buffer Enable" dword="1" bits="22:22" type="bool" />
+ <field name="Stencil Write Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Depth Write Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="31:0" type="address" />
+ <field name="LOD" dword="3" bits="3:0" type="uint" />
+ <field name="Width" dword="3" bits="17:4" type="uint" />
+ <field name="Height" dword="3" bits="31:18" type="uint" />
+ <field name="MOCS" dword="4" bits="3:0" type="uint" nonzero="true" />
+ <field name="Minimum Array Element" dword="4" bits="20:10" type="uint" />
+ <field name="Depth" dword="4" bits="31:21" type="uint">
+ <value name="SURFTYPE_CUBE (must be zero)" value="0" />
+ </field>
+ <field name="Depth Coordinate Offset X" dword="5" bits="15:0" type="int" />
+ <field name="Depth Coordinate Offset Y" dword="5" bits="31:16" type="int" />
+ <field name="Render Target View Extent" dword="6" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_DEPTH_STENCIL_STATE_POINTERS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="37" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field dword="1" bits="0:0" type="mbo" />
+ <field name="Pointer to DEPTH_STENCIL_STATE" dword="1" bits="31:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_DS" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="29" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="2" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="2" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="2" bits="30:30" type="bool" />
+ <field name="Single Domain Point Dispatch" dword="2" bits="31:31" type="uint" />
+ <field name="Per-Thread Scratch Space" dword="3" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="3" bits="31:10" type="address" />
+ <field name="Patch URB Entry Read Offset" dword="4" bits="9:4" type="uint" />
+ <field name="Patch URB Entry Read Length" dword="4" bits="17:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="4" bits="24:20" type="uint" />
+ <field name="Enable" dword="5" bits="0:0" type="bool" />
+ <field name="DS Cache Disable" dword="5" bits="1:1" type="bool" />
+ <field name="Compute W Coordinate Enable" dword="5" bits="2:2" type="bool" />
+ <field name="Statistics Enable" dword="5" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="5" bits="31:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_GS" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="17" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="2" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="2" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="2" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="2" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="2" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="3" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="3" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="4" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="4" bits="9:4" type="uint" />
+ <field name="Include Vertex Handles" dword="4" bits="10:10" type="bool" />
+ <field name="Vertex URB Entry Read Length" dword="4" bits="16:11" type="uint" />
+ <field name="Output Topology" dword="4" bits="22:17" type="3D_Prim_Topo_Type" />
+ <field name="Output Vertex Size" dword="4" bits="28:23" type="uint" />
+ <field name="Enable" dword="5" bits="0:0" type="bool" />
+ <field name="Discard Adjacency" dword="5" bits="1:1" type="bool" />
+ <field name="Reorder Mode" dword="5" bits="2:2" type="uint">
+ <value name="LEADING" value="0" />
+ <value name="TRAILING" value="1" />
+ </field>
+ <field name="Hint" dword="5" bits="3:3" type="uint" />
+ <field name="Include Primitive ID" dword="5" bits="4:4" type="bool" />
+ <field name="GS Invocations Increment Value" dword="5" bits="9:5" type="uint" />
+ <field name="Statistics Enable" dword="5" bits="10:10" type="uint" />
+ <field name="Dispatch Mode" dword="5" bits="12:11" type="uint" prefix="DISPATCH_MODE">
+ <value name="SINGLE" value="0" />
+ <value name="DUAL_INSTANCE" value="1" />
+ <value name="DUAL_OBJECT" value="2" />
+ </field>
+ <field name="Default StreamID" dword="5" bits="14:13" type="uint" />
+ <field name="Instance Control" dword="5" bits="19:15" type="uint" />
+ <field name="Control Data Header Size" dword="5" bits="23:20" type="uint" />
+ <field name="Control Data Format" dword="5" bits="24:24" type="uint">
+ <value name="GSCTL_CUT" value="0" />
+ <value name="GSCTL_SID" value="1" />
+ </field>
+ <field name="Maximum Number of Threads" dword="5" bits="31:25" type="uint" />
+ <field name="Semaphore Handle" dword="6" bits="11:0" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="7" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="MOCS" dword="1" bits="28:25" type="uint" nonzero="true" />
+ <field name="Surface Base Address" dword="2" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_HS" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="27" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Maximum Number of Threads" dword="1" bits="6:0" type="uint" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="alternate" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="1" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Instance Count" dword="2" bits="3:0" type="uint" />
+ <field name="Statistics Enable" dword="2" bits="29:29" type="bool" />
+ <field name="Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Kernel Start Pointer" dword="3" bits="31:6" type="offset" />
+ <field name="Per-Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="31:10" type="address" />
+ <field name="Vertex URB Entry Read Offset" dword="5" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="5" bits="16:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="5" bits="23:19" type="uint" />
+ <field name="Include Vertex Handles" dword="5" bits="24:24" type="bool" />
+ <field name="Vector Mask Enable" dword="5" bits="26:26" type="bool" />
+ <field name="Single Program Flow" dword="5" bits="27:27" type="bool" />
+ <field name="Semaphore Handle" dword="6" bits="11:0" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Index Format" dword="0" bits="9:8" type="uint" prefix="INDEX">
+ <value name="BYTE" value="0" />
+ <value name="WORD" value="1" />
+ <value name="DWORD" value="2" />
+ </field>
+ <field name="Cut Index Enable" dword="0" bits="10:10" type="bool" />
+ <field name="MOCS" dword="0" bits="15:12" type="uint" nonzero="true" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="10" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Buffer Starting Address" dword="1" bits="31:0" type="address" />
+ <field name="Buffer Ending Address" dword="2" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="8" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Line Stipple Pattern" dword="1" bits="15:0" type="uint" />
+ <field name="Current Stipple Index" dword="1" bits="19:16" type="uint" />
+ <field name="Current Repeat Counter" dword="1" bits="29:21" type="uint" />
+ <field name="Modify Enable (Current Repeat Counter, Current Stipple Index)" dword="1" bits="31:31" type="bool" />
+ <field name="Line Stipple Repeat Count" dword="2" bits="8:0" type="uint" />
+ <field name="Line Stipple Inverse Repeat Count" dword="2" bits="31:15" type="u1.16" />
+ </instruction>
+ <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="13" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Number of Multisamples" dword="1" bits="3:1" type="uint">
+ <value name="NUMSAMPLES_1" value="0" />
+ <value name="NUMSAMPLES_4" value="2" />
+ <value name="NUMSAMPLES_8" value="3" />
+ </field>
+ <field name="Pixel Location" dword="1" bits="4:4" type="uint">
+ <value name="CENTER" value="0" />
+ <value name="UL_CORNER" value="1" />
+ </field>
+ <field name="Sample0 Y Offset" dword="2" bits="3:0" type="u0.4" />
+ <field name="Sample0 X Offset" dword="2" bits="7:4" type="u0.4" />
+ <field name="Sample1 Y Offset" dword="2" bits="11:8" type="u0.4" />
+ <field name="Sample1 X Offset" dword="2" bits="15:12" type="u0.4" />
+ <field name="Sample2 Y Offset" dword="2" bits="19:16" type="u0.4" />
+ <field name="Sample2 X Offset" dword="2" bits="23:20" type="u0.4" />
+ <field name="Sample3 Y Offset" dword="2" bits="27:24" type="u0.4" />
+ <field name="Sample3 X Offset" dword="2" bits="31:28" type="u0.4" />
+ <field name="Sample4 Y Offset" dword="3" bits="3:0" type="u0.4" />
+ <field name="Sample4 X Offset" dword="3" bits="7:4" type="u0.4" />
+ <field name="Sample5 Y Offset" dword="3" bits="11:8" type="u0.4" />
+ <field name="Sample5 X Offset" dword="3" bits="15:12" type="u0.4" />
+ <field name="Sample6 Y Offset" dword="3" bits="19:16" type="u0.4" />
+ <field name="Sample6 X Offset" dword="3" bits="23:20" type="u0.4" />
+ <field name="Sample7 Y Offset" dword="3" bits="27:24" type="u0.4" />
+ <field name="Sample7 X Offset" dword="3" bits="31:28" type="u0.4" />
+ </instruction>
+ <instruction name="3DSTATE_PS" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="32" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer 0" dword="1" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Rounding Mode" dword="2" bits="15:14" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-745" value="0" />
+ <value name="Alt" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="2" bits="25:18" type="uint" />
+ <field name="Denormal Mode" dword="2" bits="26:26" type="uint">
+ <value name="FTZ" value="0" />
+ <value name="RET" value="1" />
+ </field>
+ <field name="Sampler Count" dword="2" bits="29:27" type="uint" />
+ <field name="Vector Mask Enable" dword="2" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="2" bits="31:31" type="bool" />
+ <field name="Per Thread Scratch Space" dword="3" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="3" bits="31:10" type="address" />
+ <field name="8 Pixel Dispatch Enable" dword="4" bits="0:0" type="bool" />
+ <field name="16 Pixel Dispatch Enable" dword="4" bits="1:1" type="bool" />
+ <field name="32 Pixel Dispatch Enable" dword="4" bits="2:2" type="bool" />
+ <field name="Position XY Offset Select" dword="4" bits="4:3" type="uint">
+ <value name="POSOFFSET_NONE" value="0" />
+ <value name="POSOFFSET_CENTROID" value="2" />
+ <value name="POSOFFSET_SAMPLE" value="3" />
+ </field>
+ <field name="Render Target Resolve Enable" dword="4" bits="6:6" type="bool" />
+ <field name="Dual Source Blend Enable" dword="4" bits="7:7" type="bool" />
+ <field name="Render Target Fast Clear Enable" dword="4" bits="8:8" type="bool" />
+ <field name="oMask Present to RenderTarget" dword="4" bits="9:9" type="bool" />
+ <field name="Attribute Enable" dword="4" bits="10:10" type="bool" />
+ <field name="Push Constant Enable" dword="4" bits="11:11" type="bool" />
+ <field name="Maximum Number of Threads" dword="4" bits="31:24" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 2" dword="5" bits="6:0" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 1" dword="5" bits="14:8" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="5" bits="22:16" type="uint" />
+ <field name="Kernel Start Pointer 1" dword="6" bits="31:6" type="offset" />
+ <field name="Kernel Start Pointer 2" dword="7" bits="31:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="20" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Size" dword="1" bits="4:0" type="uint">
+ <value name="0KB" value="0" />
+ </field>
+ <field name="Constant Buffer Offset" dword="1" bits="19:16" type="uint">
+ <value name="0KB" value="0" />
+ </field>
+ </instruction>
+ <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="21" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Size" dword="1" bits="4:0" type="uint">
+ <value name="0KB" value="0" />
+ </field>
+ <field name="Constant Buffer Offset" dword="1" bits="19:16" type="uint">
+ <value name="0KB" value="0" />
+ </field>
+ </instruction>
+ <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="19" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Size" dword="1" bits="4:0" type="uint">
+ <value name="0KB" value="0" />
+ </field>
+ <field name="Constant Buffer Offset" dword="1" bits="19:16" type="uint">
+ <value name="0KB" value="0" />
+ </field>
+ </instruction>
+ <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="22" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Size" dword="1" bits="4:0" type="uint">
+ <value name="0KB" value="0" />
+ </field>
+ <field name="Constant Buffer Offset" dword="1" bits="19:16" type="uint">
+ <value name="0KB" value="0" />
+ </field>
+ </instruction>
+ <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="18" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Size" dword="1" bits="4:0" type="uint">
+ <value name="0KB" value="0" />
+ </field>
+ <field name="Constant Buffer Offset" dword="1" bits="19:16" type="uint">
+ <value name="0KB" value="0" />
+ </field>
+ </instruction>
+ <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="45" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to DS Sampler State" dword="1" bits="31:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="46" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to GS Sampler State" dword="1" bits="31:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="44" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to HS Sampler State" dword="1" bits="31:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="47" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to PS Sampler State" dword="1" bits="31:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="43" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pointer to VS Sampler State" dword="1" bits="31:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="24" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Sample Mask" dword="1" bits="7:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_SBE" bias="2" length="14" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="12" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="31" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Vertex URB Entry Read Offset" dword="1" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="1" bits="15:11" type="uint" />
+ <field name="Point Sprite Texture Coordinate Origin" dword="1" bits="20:20" type="uint">
+ <value name="UPPERLEFT" value="0" />
+ <value name="LOWERLEFT" value="1" />
+ </field>
+ <field name="Attribute Swizzle Enable" dword="1" bits="21:21" type="bool" />
+ <field name="Number of SF Output Attributes" dword="1" bits="27:22" type="uint" />
+ <field name="Attribute Swizzle Control Mode" dword="1" bits="28:28" type="uint">
+ <value name="SWIZ_0_15" value="0" />
+ <value name="SWIZ_16_31" value="1" />
+ </field>
+ <group count="16" dword="2" size="16">
+ <field name="Attribute" dword="0" bits="15:0" type="SF_OUTPUT_ATTRIBUTE_DETAIL" />
+ </group>
+ <field name="Point Sprite Texture Coordinate Enable" dword="10" bits="31:0" type="uint" />
+ <field name="Constant Interpolation Enable" dword="11" bits="31:0" type="uint" />
+ <field name="Attribute 0 WrapShortest Enables" dword="12" bits="3:0" type="uint" />
+ <field name="Attribute 1 WrapShortest Enables" dword="12" bits="7:4" type="uint" />
+ <field name="Attribute 2 WrapShortest Enables" dword="12" bits="11:8" type="uint" />
+ <field name="Attribute 3 WrapShortest Enables" dword="12" bits="15:12" type="uint" />
+ <field name="Attribute 4 WrapShortest Enables" dword="12" bits="19:16" type="uint" />
+ <field name="Attribute 5 WrapShortest Enables" dword="12" bits="23:20" type="uint" />
+ <field name="Attribute 6 WrapShortest Enables" dword="12" bits="27:24" type="uint" />
+ <field name="Attribute 7 WrapShortest Enables" dword="12" bits="31:28" type="uint" />
+ <field name="Attribute 8 WrapShortest Enables" dword="13" bits="3:0" type="uint" />
+ <field name="Attribute 9 WrapShortest Enables" dword="13" bits="7:4" type="uint" />
+ <field name="Attribute 10 WrapShortest Enables" dword="13" bits="11:8" type="uint" />
+ <field name="Attribute 11 WrapShortest Enables" dword="13" bits="15:12" type="uint" />
+ <field name="Attribute 12 WrapShortest Enables" dword="13" bits="19:16" type="uint" />
+ <field name="Attribute 13 WrapShortest Enables" dword="13" bits="23:20" type="uint" />
+ <field name="Attribute 14 WrapShortest Enables" dword="13" bits="27:24" type="uint" />
+ <field name="Attribute 15 WrapShortest Enables" dword="13" bits="31:28" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_SF" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="19" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Front Winding" dword="1" bits="0:0" type="uint" />
+ <field name="Viewport Transform Enable" dword="1" bits="1:1" type="bool" />
+ <field name="BackFace Fill Mode" dword="1" bits="4:3" type="uint" prefix="FILL_MODE">
+ <value name="SOLID" value="0" />
+ <value name="WIREFRAME" value="1" />
+ <value name="POINT" value="2" />
+ </field>
+ <field name="FrontFace Fill Mode" dword="1" bits="6:5" type="uint" prefix="FILL_MODE">
+ <value name="SOLID" value="0" />
+ <value name="WIREFRAME" value="1" />
+ <value name="POINT" value="2" />
+ </field>
+ <field name="Global Depth Offset Enable Point" dword="1" bits="7:7" type="bool" />
+ <field name="Global Depth Offset Enable Wireframe" dword="1" bits="8:8" type="bool" />
+ <field name="Global Depth Offset Enable Solid" dword="1" bits="9:9" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Legacy Global Depth Bias Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Depth Buffer Surface Format" dword="1" bits="14:12" type="uint">
+ <value name="D32_FLOAT_S8X24_UINT" value="0" />
+ <value name="D32_FLOAT" value="1" />
+ <value name="D24_UNORM_S8_UINT" value="2" />
+ <value name="D24_UNORM_X8_UINT" value="3" />
+ <value name="D16_UNORM" value="5" />
+ </field>
+ <field name="Multisample Rasterization Mode" dword="2" bits="9:8" type="uint">
+ <value name="MSRASTMODE_OFF_PIXEL" value="0" />
+ <value name="MSRASTMODE_OFF_PATTERN" value="1" />
+ <value name="MSRASTMODE_ON_PIXEL" value="2" />
+ <value name="MSRASTMODE_ON_PATTERN" value="3" />
+ </field>
+ <field name="Scissor Rectangle Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Line End Cap Antialiasing Region Width" dword="2" bits="17:16" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line Width" dword="2" bits="27:18" type="u3.7" />
+ <field name="Cull Mode" dword="2" bits="30:29" type="uint" prefix="CULLMODE">
+ <value name="BOTH" value="0" />
+ <value name="NONE" value="1" />
+ <value name="FRONT" value="2" />
+ <value name="BACK" value="3" />
+ </field>
+ <field name="Antialiasing Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Point Width" dword="3" bits="10:0" type="u8.3" />
+ <field name="Point Width Source" dword="3" bits="11:11" type="uint">
+ <value name="Vertex" value="0" />
+ <value name="State" value="1" />
+ </field>
+ <field name="Vertex Sub Pixel Precision Select" dword="3" bits="12:12" type="uint">
+ <value name="8 Bit" value="0" />
+ <value name="4 Bit" value="1" />
+ </field>
+ <field name="AA Line Distance Mode" dword="3" bits="14:14" type="uint">
+ <value name="AALINEDISTANCE_TRUE" value="1" />
+ </field>
+ <field name="Triangle Fan Provoking Vertex Select" dword="3" bits="26:25" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Line Strip/List Provoking Vertex Select" dword="3" bits="28:27" type="uint" />
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="3" bits="30:29" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Last Pixel Enable" dword="3" bits="31:31" type="bool" />
+ <field name="Global Depth Offset Constant" dword="4" bits="31:0" type="float" />
+ <field name="Global Depth Offset Scale" dword="5" bits="31:0" type="float" />
+ <field name="Global Depth Offset Clamp" dword="6" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_SO_BUFFER" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="24" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="11:0" type="uint" />
+ <field name="MOCS" dword="1" bits="28:25" type="uint" nonzero="true" />
+ <field name="SO Buffer Index" dword="1" bits="30:29" type="uint" />
+ <field name="Surface Base Address" dword="2" bits="31:2" type="address" />
+ <field name="Surface End Address" dword="3" bits="31:2" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_SO_DECL_LIST" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="8:0" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="23" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Stream to Buffer Selects [0]" dword="1" bits="3:0" type="uint" />
+ <field name="Stream to Buffer Selects [1]" dword="1" bits="7:4" type="uint" />
+ <field name="Stream to Buffer Selects [2]" dword="1" bits="11:8" type="uint" />
+ <field name="Stream to Buffer Selects [3]" dword="1" bits="15:12" type="uint" />
+ <field name="Num Entries [0]" dword="2" bits="7:0" type="uint" />
+ <field name="Num Entries [1]" dword="2" bits="15:8" type="uint" />
+ <field name="Num Entries [2]" dword="2" bits="23:16" type="uint" />
+ <field name="Num Entries [3]" dword="2" bits="31:24" type="uint" />
+ <group count="0" dword="3" size="64">
+ <field name="Entry" dword="0" bits="63:0" type="SO_DECL_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="MOCS" dword="1" bits="28:25" type="uint" nonzero="true" />
+ <field name="Surface Base Address" dword="2" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_STREAMOUT" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="30" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SO Buffer Enable [0]" dword="1" bits="8:8" type="bool" />
+ <field name="SO Buffer Enable [1]" dword="1" bits="9:9" type="bool" />
+ <field name="SO Buffer Enable [2]" dword="1" bits="10:10" type="bool" />
+ <field name="SO Buffer Enable [3]" dword="1" bits="11:11" type="bool" />
+ <field name="SO Statistics Enable" dword="1" bits="25:25" type="bool" />
+ <field name="Reorder Mode" dword="1" bits="26:26" type="uint">
+ <value name="LEADING" value="0" />
+ <value name="TRAILING" value="1" />
+ </field>
+ <field name="Render Stream Select" dword="1" bits="28:27" type="uint" />
+ <field name="Rendering Disable" dword="1" bits="30:30" type="bool" />
+ <field name="SO Function Enable" dword="1" bits="31:31" type="bool" />
+ <field name="Stream 0 Vertex Read Length" dword="2" bits="4:0" type="uint" />
+ <field name="Stream 0 Vertex Read Offset" dword="2" bits="5:5" type="uint" />
+ <field name="Stream 1 Vertex Read Length" dword="2" bits="12:8" type="uint" />
+ <field name="Stream 1 Vertex Read Offset" dword="2" bits="13:13" type="uint" />
+ <field name="Stream 2 Vertex Read Length" dword="2" bits="20:16" type="uint" />
+ <field name="Stream 2 Vertex Read Offset" dword="2" bits="21:21" type="uint" />
+ <field name="Stream 3 Vertex Read Length" dword="2" bits="28:24" type="uint" />
+ <field name="Stream 3 Vertex Read Offset" dword="2" bits="29:29" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_TE" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="28" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="TE Enable" dword="1" bits="0:0" type="bool" />
+ <field name="TE Mode" dword="1" bits="2:1" type="uint">
+ <value name="HW_TESS" value="0" />
+ <value name="SW_TESS" value="1" />
+ </field>
+ <field name="TE Domain" dword="1" bits="5:4" type="uint">
+ <value name="QUAD" value="0" />
+ <value name="TRI" value="1" />
+ <value name="ISOLINE" value="2" />
+ </field>
+ <field name="Output Topology" dword="1" bits="9:8" type="uint" prefix="OUTPUT">
+ <value name="POINT" value="0" />
+ <value name="LINE" value="1" />
+ <value name="TRI_CW" value="2" />
+ <value name="TRI_CCW" value="3" />
+ </field>
+ <field name="Partitioning" dword="1" bits="13:12" type="uint">
+ <value name="INTEGER" value="0" />
+ <value name="ODD_FRACTIONAL" value="1" />
+ <value name="EVEN_FRACTIONAL" value="2" />
+ </field>
+ <field name="Maximum Tessellation Factor Odd" dword="2" bits="31:0" type="float" />
+ <field name="Maximum Tessellation Factor Not Odd" dword="3" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_URB_DS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="50" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="DS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="DS URB Entry Allocation Size" dword="1" bits="24:16" type="uint" />
+ <field name="DS URB Starting Address" dword="1" bits="29:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_GS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="51" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="GS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="GS URB Entry Allocation Size" dword="1" bits="24:16" type="uint" />
+ <field name="GS URB Starting Address" dword="1" bits="29:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_HS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="49" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="HS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="HS URB Entry Allocation Size" dword="1" bits="24:16" type="uint" />
+ <field name="HS URB Starting Address" dword="1" bits="29:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_VS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="48" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="VS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="VS URB Entry Allocation Size" dword="1" bits="24:16" type="uint" />
+ <field name="VS URB Starting Address" dword="1" bits="29:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="35" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="CC Viewport Pointer" dword="1" bits="31:5" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="33" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SF Clip Viewport Pointer" dword="1" bits="31:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_WM" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="20" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Multisample Rasterization Mode" dword="1" bits="1:0" type="uint">
+ <value name="MSRASTMODE_OFF_PIXEL" value="0" />
+ <value name="MSRASTMODE_OFF_PATTERN" value="1" />
+ <value name="MSRASTMODE_ON_PIXEL" value="2" />
+ <value name="MSRASTMODE_ON_PATTERN" value="3" />
+ </field>
+ <field name="Point Rasterization Rule" dword="1" bits="2:2" type="uint">
+ <value name="RASTRULE_UPPER_LEFT" value="0" />
+ <value name="RASTRULE_UPPER_RIGHT" value="1" />
+ </field>
+ <field name="Line Stipple Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Polygon Stipple Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Line Antialiasing Region Width" dword="1" bits="7:6" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line End Cap Antialiasing Region Width" dword="1" bits="9:8" type="uint" />
+ <field name="Pixel Shader Uses Input Coverage Mask" dword="1" bits="10:10" type="bool" />
+ <field name="Barycentric Interpolation Mode" dword="1" bits="16:11" type="uint">
+ <value name="BIM_PERSPECTIVE_PIXEL" value="1" />
+ <value name="BIM_PERSPECTIVE_CENTROID" value="2" />
+ <value name="BIM_PERSPECTIVE_SAMPLE" value="4" />
+ <value name="BIM_LINEAR_PIXEL" value="8" />
+ <value name="BIM_LINEAR_CENTROID" value="16" />
+ <value name="BIM_LINEAR_SAMPLE" value="32" />
+ </field>
+ <field name="Position ZW Interpolation Mode" dword="1" bits="18:17" type="uint">
+ <value name="INTERP_PIXEL" value="0" />
+ <value name="INTERP_CENTROID" value="2" />
+ <value name="INTERP_SAMPLE" value="3" />
+ </field>
+ <field name="Pixel Shader Uses Source W" dword="1" bits="19:19" type="bool" />
+ <field name="Pixel Shader Uses Source Depth" dword="1" bits="20:20" type="bool" />
+ <field name="Early Depth/Stencil Control" dword="1" bits="22:21" type="uint">
+ <value name="EDSC_NORMAL" value="0" />
+ <value name="EDSC_PSEXEC" value="1" />
+ <value name="EDSC_PREPS" value="2" />
+ </field>
+ <field name="Pixel Shader Computed Depth Mode" dword="1" bits="24:23" type="uint">
+ <value name="PSCDEPTH_OFF" value="0" />
+ <value name="PSCDEPTH_ON" value="1" />
+ <value name="PSCDEPTH_ON_GE" value="2" />
+ <value name="PSCDEPTH_ON_LE" value="3" />
+ </field>
+ <field name="Pixel Shader Kills Pixel" dword="1" bits="25:25" type="bool" />
+ <field name="Legacy Diamond Line Rasterization" dword="1" bits="26:26" type="bool" />
+ <field name="Hierarchical Depth Buffer Resolve Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Depth Buffer Resolve Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Thread Dispatch Enable" dword="1" bits="29:29" type="bool" />
+ <field name="Depth Buffer Clear" dword="1" bits="30:30" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="31:31" type="bool" />
+ <field name="Multisample Dispatch Mode" dword="2" bits="31:31" type="uint">
+ <value name="MSDISPMODE_PERSAMPLE" value="0" />
+ <value name="MSDISPMODE_PERPIXEL" value="1" />
+ </field>
+ </instruction>
+ <instruction name="GPGPU_OBJECT" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="4:0" type="uint" />
+ <field name="Shared Local Memory Fixed Offset" dword="1" bits="7:7" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="Half-Slice Destination Select" dword="2" bits="18:17" type="uint">
+ <value name="Half-Slice 1" value="2" />
+ <value name="Half-Slice 0" value="1" />
+ <value name="Either Half-Slice" value="0" />
+ </field>
+ <field name="End of Thread Group" dword="2" bits="24:24" type="uint" />
+ <field name="Shared Local Memory Offset" dword="2" bits="31:28" type="uint" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="offset" />
+ <field name="Thread Group ID X" dword="4" bits="31:0" type="uint" />
+ <field name="Thread Group ID Y" dword="5" bits="31:0" type="uint" />
+ <field name="Thread Group ID Z" dword="6" bits="31:0" type="uint" />
+ <field name="Execution Mask" dword="7" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="GPGPU_WALKER" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="SubOpcode A" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="4:0" type="uint" />
+ <field name="Thread Width Counter Maximum" dword="2" bits="5:0" type="uint" />
+ <field name="Thread Height Counter Maximum" dword="2" bits="13:8" type="uint" />
+ <field name="Thread Depth Counter Maximum" dword="2" bits="21:16" type="uint" />
+ <field name="SIMD Size" dword="2" bits="31:30" type="uint">
+ <value name="SIMD8" value="0" />
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="Thread Group ID Starting X" dword="3" bits="31:0" type="uint" />
+ <field name="Thread Group ID X Dimension" dword="4" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting Y" dword="5" bits="31:0" type="uint" />
+ <field name="Thread Group ID Y Dimension" dword="6" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting Z" dword="7" bits="31:0" type="uint" />
+ <field name="Thread Group ID Z Dimension" dword="8" bits="31:0" type="uint" />
+ <field name="Right Execution Mask" dword="9" bits="31:0" type="uint" />
+ <field name="Bottom Execution Mask" dword="10" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MEDIA_OBJECT" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="4" />
+ <field name="Media Command Sub-Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Media Command Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="4:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="Half-Slice Destination Select" dword="2" bits="18:17" type="uint">
+ <value name="Half-Slice 1" value="2" />
+ <value name="Half-Slice 0" value="1" />
+ <value name="Either half-slice" value="0" />
+ </field>
+ <field name="Use Scoreboard" dword="2" bits="21:21" type="uint">
+ <value name="Not using scoreboard" value="0" />
+ <value name="Using scoreboard" value="1" />
+ </field>
+ <field name="Thread Synchronization" dword="2" bits="24:24" type="uint">
+ <value name="No thread synchronization" value="0" />
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
+ </field>
+ <field name="Children Present" dword="2" bits="31:31" type="bool" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="address" />
+ <field name="Scoreboard X" dword="4" bits="8:0" type="uint" />
+ <field name="Scoredboard Y" dword="4" bits="24:16" type="uint" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Scoreboard Color" dword="5" bits="19:16" type="uint" />
+ <group count="0" dword="6" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="0" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Watermark Required" dword="1" bits="6:6" type="uint" />
+ </instruction>
+ <instruction name="MEDIA_VFE_STATE" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="6" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Per Thread Scratch Space" dword="1" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="1" bits="31:10" type="address" />
+ <field name="GPGPU Mode" dword="2" bits="2:2" type="bool" />
+ <field name="Gateway MMIO Access Control" dword="2" bits="4:3" type="uint">
+ <value name="No MMIO read/write allowed" value="0" />
+ <value name="MMIO read/write to any address" value="2" />
+ </field>
+ <field name="Bypass Gateway Control" dword="2" bits="6:6" type="uint">
+ <value name="Maintaining OpenGateway/ForwardMsg/CloseGateway protocol (legacy mode)" value="0" />
+ <value name="Bypassing OpenGateway/CloseGateway protocol" value="1" />
+ </field>
+ <field name="Reset Gateway Timer" dword="2" bits="7:7" type="uint">
+ <value name="Maintaining the existing timestamp state" value="0" />
+ <value name="Resetting relative timer and latching the global timestamp" value="1" />
+ </field>
+ <field name="Number of URB Entries" dword="2" bits="15:8" type="uint" />
+ <field name="Maximum Number of Threads" dword="2" bits="31:16" type="uint" />
+ <field name="CURBE Allocation Size" dword="4" bits="15:0" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="31:16" type="uint" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Scoreboard Type" dword="5" bits="30:30" type="uint">
+ <value name="Stalling Scoreboard" value="0" />
+ <value name="Non-Stalling Scoreboard" value="1" />
+ </field>
+ <field name="Scoreboard Enable" dword="5" bits="31:31" type="uint">
+ <value name="Scoreboard disabled" value="0" />
+ <value name="Scoreboard enabled" value="1" />
+ </field>
+ <field name="Scoreboard 0 Delta X" dword="6" bits="3:0" type="int" />
+ <field name="Scoreboard 0 Delta Y" dword="6" bits="7:4" type="int" />
+ <field name="Scoreboard 1 Delta X" dword="6" bits="11:8" type="int" />
+ <field name="Scoreboard 1 Delta Y" dword="6" bits="15:12" type="int" />
+ <field name="Scoreboard 2 Delta X" dword="6" bits="19:16" type="int" />
+ <field name="Scoreboard 2 Delta Y" dword="6" bits="23:20" type="int" />
+ <field name="Scoreboard 3 Delta X" dword="6" bits="27:24" type="int" />
+ <field name="Scoreboard 3 Delta Y" dword="6" bits="31:28" type="int" />
+ <field name="Scoreboard 4 Delta X" dword="7" bits="3:0" type="int" />
+ <field name="Scoreboard 4 Delta Y" dword="7" bits="7:4" type="int" />
+ <field name="Scoreboard 5 Delta X" dword="7" bits="11:8" type="int" />
+ <field name="Scoreboard 5 Delta Y" dword="7" bits="15:12" type="int" />
+ <field name="Scoreboard 6 Delta X" dword="7" bits="19:16" type="int" />
+ <field name="Scoreboard 6 Delta Y" dword="7" bits="23:20" type="int" />
+ <field name="Scoreboard 7 Delta X" dword="7" bits="27:24" type="int" />
+ <field name="Scoreboard 7 Delta Y" dword="7" bits="31:28" type="int" />
+ </instruction>
+ <instruction name="MFC_AVC_PAK_OBJECT" bias="2" length="11" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="9" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect PAK-MV Data Length" dword="1" bits="9:0" type="uint" />
+ <field name="Indirect PAK-MV Data Start Address Offset" dword="2" bits="28:0" type="offset" />
+ <group count="8" dword="3" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="12" dword="11" size="32">
+ <field name="VDEnc Mode Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFC_MPEG2_PAK_OBJECT" bias="2" length="9" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="7" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="8" dword="1" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFC_MPEG2_SLICEGROUP_STATE" bias="2" length="8" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="6" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Stream ID" dword="1" bits="1:0" type="uint" />
+ <field name="Slice ID" dword="1" bits="7:4" type="uint" />
+ <field name="Intra Slice Flag" dword="1" bits="12:12" type="bool" />
+ <field name="Intra Slice" dword="1" bits="13:13" type="bool" />
+ <field name="First Slice Header Disable" dword="1" bits="14:14" type="bool" />
+ <field name="Tail Insertion Present" dword="1" bits="15:15" type="bool" />
+ <field name="Slice Data Insertion Present" dword="1" bits="16:16" type="bool" />
+ <field name="Header Insertion Present" dword="1" bits="17:17" type="bool" />
+ <field name="Compressed BitStream Output Disable" dword="1" bits="18:18" type="bool" />
+ <field name="Last Slice" dword="1" bits="19:19" type="bool" />
+ <field name="MB Type Skip Conversion Disable" dword="1" bits="20:20" type="bool" />
+ <field name="Rate Control Panic Type" dword="1" bits="22:22" type="uint">
+ <value name="QP Panic" value="0" />
+ <value name="CBP Panic" value="1" />
+ </field>
+ <field name="Rate Control Panic Enable" dword="1" bits="23:23" type="bool" />
+ <field name="Rate Control Stable Tolerance" dword="1" bits="27:24" type="uint" />
+ <field name="Rate Control Triggle Mode" dword="1" bits="29:28" type="uint">
+ <value name="Always Rate Control" value="0" />
+ <value name="Gentle Rate Control" value="1" />
+ <value name="Loose Rate Control" value="2" />
+ </field>
+ <field name="Reset Rate Control Counter" dword="1" bits="30:30" type="bool" />
+ <field name="Rate Control Counter Enable" dword="1" bits="31:31" type="bool" />
+ <field name="First MB X Count" dword="2" bits="7:0" type="uint" />
+ <field name="First MB Y Count" dword="2" bits="15:8" type="uint" />
+ <field name="Next Slice Group MB X Count" dword="2" bits="23:16" type="uint" />
+ <field name="Next Slice Group MB Y Count" dword="2" bits="31:24" type="uint" />
+ <field name="Slice Group QP" dword="3" bits="5:0" type="uint" />
+ <field name="Slice Group Skip" dword="3" bits="8:8" type="bool" />
+ <field name="Indirect PAK-BSE Data Start Address" dword="4" bits="28:0" type="offset" />
+ <field name="Grow Init" dword="5" bits="3:0" type="uint" />
+ <field name="Grow Resistance" dword="5" bits="7:4" type="uint" />
+ <field name="Shrink Init" dword="5" bits="11:8" type="uint" />
+ <field name="Shrink Resistance" dword="5" bits="15:12" type="uint" />
+ <field name="QP Max Positive Modifier Magnitude" dword="5" bits="23:16" type="uint" />
+ <field name="QP Max Negative Modifier Magnitude" dword="5" bits="31:24" type="uint" />
+ <field name="Correct 1" dword="6" bits="3:0" type="uint" />
+ <field name="Correct 2" dword="6" bits="7:4" type="uint" />
+ <field name="Correct 3" dword="6" bits="11:8" type="uint" />
+ <field name="Correct 4" dword="6" bits="15:12" type="uint" />
+ <field name="Correct 5" dword="6" bits="19:16" type="uint" />
+ <field name="Correct 6" dword="6" bits="23:20" type="uint" />
+ <field name="CV0" dword="7" bits="3:0" type="uint" />
+ <field name="CV1" dword="7" bits="7:4" type="uint" />
+ <field name="CV2" dword="7" bits="11:8" type="uint" />
+ <field name="CV3" dword="7" bits="15:12" type="uint" />
+ <field name="CV4" dword="7" bits="19:16" type="uint" />
+ <field name="CV5" dword="7" bits="23:20" type="uint" />
+ <field name="CV6" dword="7" bits="27:24" type="uint" />
+ <field name="CV7" dword="7" bits="31:28" type="uint" />
+ </instruction>
+ <instruction name="MFD_AVC_BSD_OBJECT" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect BSD Data Length" dword="1" bits="31:0" type="uint" />
+ <field name="Indirect BSD Data Start Address" dword="2" bits="28:0" type="address" />
+ <field name="Inline Data" dword="3" bits="95:0" type="INLINE_DATA_DESCRIPTION_FOR_MFD_AVC_BSD_OBJECT" />
+ </instruction>
+ <instruction name="MFD_AVC_DPB_STATE" bias="2" length="11" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="9" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="6" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="16" dword="1" size="1">
+ <field name="Non-Existing Frame" dword="0" bits="0:0" type="uint">
+ <value name="INVALID" value="1" />
+ <value name="VALID" value="0" />
+ </field>
+ </group>
+ <group count="16" dword="1" offset_bits="16" size="1">
+ <field name="Long Term Frame" dword="0" bits="0:0" type="uint" />
+ </group>
+ <group count="16" dword="2" size="2">
+ <field name="Used for Reference" dword="0" bits="1:0" type="uint">
+ <value name="NOT_REFERENCE" value="0" />
+ <value name="TOP_FIELD" value="1" />
+ <value name="BOTTOM_FIELD" value="2" />
+ <value name="FRAME" value="3" />
+ </field>
+ </group>
+ <group count="16" dword="3" size="16">
+ <field name="LTST Frame Number List" dword="0" bits="15:0" type="uint" prefix="LTST">
+ <value name="Long Term Frame" value="1" />
+ <value name="Short Term Frame" value="0" />
+ </field>
+ </group>
+ </instruction>
+ <instruction name="MFD_AVC_SLICEADDR" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="7" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect BSD Data Length" dword="1" bits="31:0" type="uint" />
+ <field name="Indirect BSD Data Start Address" dword="2" bits="28:0" type="address" />
+ </instruction>
+ <instruction name="MFD_IT_OBJECT" bias="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="6" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect IT-MV Data Length" dword="1" bits="9:0" type="uint" />
+ <field name="Indirect IT-MV Data Start Address Offset" dword="2" bits="28:0" type="offset" />
+ <field name="Indirect IT-COEFF Data Length" dword="3" bits="11:0" type="uint" />
+ <field name="Indirect IT-COEFF Data Start Address Offset" dword="4" bits="28:0" type="offset" />
+ <field name="Indirect IT-DBLK Control Data Length" dword="5" bits="5:0" type="uint" />
+ <field name="Indirect IT-DBLK Control Data Start Address Offset" dword="6" bits="28:0" type="offset" />
+ <group count="0" dword="7" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFD_JPEG_BSD_OBJECT" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect Data Length" dword="1" bits="31:0" type="uint" />
+ <field name="Indirect Data Start Address" dword="2" bits="28:0" type="offset" />
+ <field name="Scan Vertical Position" dword="3" bits="12:0" type="uint" />
+ <field name="Scan Horizontal Position" dword="3" bits="28:16" type="uint" />
+ <field name="MCU Count" dword="4" bits="25:0" type="uint" />
+ <field name="Scan Components" dword="4" bits="29:27" type="uint" />
+ <field name="Interleaved" dword="4" bits="30:30" type="bool" />
+ <field name="Restart Interval" dword="5" bits="15:0" type="uint" />
+ </instruction>
+ <instruction name="MFD_MPEG2_BSD_OBJECT" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect BSD Data Length" dword="1" bits="31:0" type="uint" />
+ <field name="Indirect BSD Data Start Address" dword="2" bits="28:0" type="offset" />
+ <field name="Inline Data" dword="3" bits="63:0" type="MFD_MPEG2_BSD_OBJECT_INLINE_DATA_DESCRIPTION" />
+ </instruction>
+ <instruction name="MFD_VC1_BSD_OBJECT" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect BSD Data Length" dword="1" bits="23:0" type="uint" />
+ <field name="Indirect BSD Data Start Address" dword="2" bits="28:0" type="offset" />
+ <field name="Next Slice Vertical Position" dword="3" bits="8:0" type="uint" />
+ <field name="Slice Start Vertical Position" dword="3" bits="23:16" type="uint" />
+ <field name="First MB Bit Offset" dword="4" bits="2:0" type="uint" />
+ <field name="Emulation Prevention Byte Present" dword="4" bits="4:4" type="bool" />
+ <field name="First MB Byte Offset of Slice Data or Slice Header" dword="4" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="MFD_VC1_LONG_PIC_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Picture Width In MBs" dword="1" bits="7:0" type="uint" />
+ <field name="Picture Height In MBs" dword="1" bits="23:16" type="uint" />
+ <field name="VC1 Profile" dword="2" bits="0:0" type="uint">
+ <value name="Simple/Main Profile" value="0" />
+ <value name="Advanced Profile" value="1" />
+ </field>
+ <field name="Second Field" dword="2" bits="3:3" type="bool" />
+ <field name="Overlap Smoothing Enable" dword="2" bits="4:4" type="bool" />
+ <field name="Loop Filter Enable" dword="2" bits="5:5" type="bool" />
+ <field name="Range Reduction Enable" dword="2" bits="6:6" type="bool" />
+ <field name="Range Reduction Scale" dword="2" bits="7:7" type="uint" />
+ <field name="MV Mode" dword="2" bits="11:8" type="uint" />
+ <field name="Sync Marker" dword="2" bits="12:12" type="bool" />
+ <field name="Interpolation Rounder Control" dword="2" bits="13:13" type="bool" />
+ <field name="Implicit Quantizer" dword="2" bits="14:14" type="bool" />
+ <field name="DMV Surface Valid" dword="2" bits="15:15" type="bool" />
+ <field name="Bitplane Buffer Pitch" dword="2" bits="31:24" type="uint" />
+ <field name="B Scale Factor" dword="3" bits="7:0" type="uint" />
+ <field name="PQ Value" dword="3" bits="12:8" type="uint" />
+ <field name="Alternative PQ Value" dword="3" bits="20:16" type="uint" />
+ <field name="Frame Coding Mode" dword="3" bits="25:24" type="uint">
+ <value name="Progressive Frame Picture" value="0" />
+ <value name="Interlaced Frame Picture" value="1" />
+ <value name="Field Picture with Top Field First" value="2" />
+ <value name="Field Picture with Bottom Field First" value="3" />
+ </field>
+ <field name="Picture Type" dword="3" bits="28:26" type="uint" />
+ <field name="CONDOVER" dword="3" bits="30:29" type="uint" />
+ <field name="PQ Uniform" dword="4" bits="0:0" type="bool" />
+ <field name="Half QP" dword="4" bits="1:1" type="bool" />
+ <field name="Alternative PQ Configuration" dword="4" bits="3:2" type="uint" />
+ <field name="Alternative PQ Edge Mask" dword="4" bits="7:4" type="uint" />
+ <field name="Extended MV Range" dword="4" bits="9:8" type="uint" />
+ <field name="Extended DMV Range" dword="4" bits="11:10" type="uint" />
+ <field name="Forward Reference Distance" dword="4" bits="19:16" type="uint" />
+ <field name="Backward Reference Distance" dword="4" bits="23:20" type="uint" />
+ <field name="Number of References" dword="4" bits="24:24" type="uint">
+ <value name="One field referenced" value="0" />
+ <value name="Two fields referenced" value="1" />
+ </field>
+ <field name="Reference Field Picture Polarity" dword="4" bits="25:25" type="uint">
+ <value name="Top (even) Field" value="0" />
+ <value name="Bottom (odd) Field" value="1" />
+ </field>
+ <field name="Fast UV Motion Compensation" dword="4" bits="26:26" type="uint">
+ <value name="No Rounding" value="0" />
+ <value name="Quarter-Pel offsets to Half/Full pel positions" value="1" />
+ </field>
+ <field name="Four MV Switch" dword="4" bits="27:27" type="uint">
+ <value name="Only 1-MV" value="0" />
+ <value name="1, 2, or 4 MVs" value="1" />
+ </field>
+ <field name="Unified MV Mode" dword="4" bits="29:28" type="uint">
+ <value name="1-MV half-pel bilinear" value="3" />
+ <value name="1-MV" value="1" />
+ <value name="1-MV half-pel" value="2" />
+ <value name="Mixed MV" value="0" />
+ </field>
+ <field name="Coded Block Pattern Table" dword="5" bits="2:0" type="uint" />
+ <field name="Intra Transform DC Table" dword="5" bits="3:3" type="uint" />
+ <field name="Picture-level Transform Chroma AC Coding Set Index" dword="5" bits="5:4" type="uint" />
+ <field name="Picture-level Transform Luma AC Coding Set Index" dword="5" bits="7:6" type="uint" />
+ <field name="MB Mode Table" dword="5" bits="10:8" type="uint" />
+ <field name="MB Transform Type" dword="5" bits="11:11" type="bool" />
+ <field name="Picture-level Transform Type" dword="5" bits="13:12" type="uint">
+ <value name="8x8 Transform" value="0" />
+ <value name="8x4 Transform" value="1" />
+ <value name="4x8 Transform" value="2" />
+ <value name="4x4 Transform" value="3" />
+ </field>
+ <field name="2-MV Block Pattern Table" dword="5" bits="17:16" type="uint" />
+ <field name="4-MV Block Pattern Table" dword="5" bits="19:18" type="uint" />
+ <field name="MV Table" dword="5" bits="22:20" type="uint" />
+ <field name="FIELDTX Raw" dword="5" bits="24:24" type="bool" />
+ <field name="ACPRED Raw" dword="5" bits="25:25" type="bool" />
+ <field name="OVERFLAGS Raw" dword="5" bits="26:26" type="bool" />
+ <field name="DIRECTMB Raw" dword="5" bits="27:27" type="bool" />
+ <field name="SKIPMB Raw" dword="5" bits="28:28" type="bool" />
+ <field name="MVTYPEMB Raw" dword="5" bits="29:29" type="bool" />
+ <field name="FORWARDMB Raw" dword="5" bits="30:30" type="bool" />
+ <field name="Bitplane Buffer Present" dword="5" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="MFD_VC1_SHORT_PIC_STATE" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Picture Width" dword="1" bits="7:0" type="uint" />
+ <field name="Picture Height" dword="1" bits="23:16" type="uint" />
+ <field name="Picture Structure" dword="2" bits="1:0" type="uint" />
+ <field name="Second Field" dword="2" bits="3:3" type="bool" />
+ <field name="Intra Picture" dword="2" bits="4:4" type="bool" />
+ <field name="Backward Prediction Present" dword="2" bits="5:5" type="bool" />
+ <field name="VC1 Profile" dword="2" bits="11:11" type="uint">
+ <value name="Simple/Main Profile" value="0" />
+ <value name="Advanced Profile" value="1" />
+ </field>
+ <field name="DMV Surface Valid" dword="2" bits="15:15" type="bool" />
+ <field name="MV Mode" dword="2" bits="19:16" type="uint" />
+ <field name="Interpolation Rounder Control" dword="2" bits="23:23" type="bool" />
+ <field name="Bitplane Buffer Pitch" dword="2" bits="31:24" type="uint" />
+ <field name="variable-sized transform coding" dword="3" bits="0:0" type="bool" />
+ <field name="DQUANT" dword="3" bits="2:1" type="uint" />
+ <field name="EXTENDED_MV Present" dword="3" bits="3:3" type="bool" />
+ <field name="Fast UV Motion Compensation" dword="3" bits="4:4" type="uint">
+ <value name="No Rounding" value="0" />
+ <value name="Quarter-Pel offsets to Half/Full pel positions" value="1" />
+ </field>
+ <field name="Loop Filter Enable" dword="3" bits="5:5" type="bool" />
+ <field name="REFDIST_FLAG" dword="3" bits="6:6" type="bool" />
+ <field name="PANSCAN Present" dword="3" bits="7:7" type="bool" />
+ <field name="MAXBFRAMES" dword="3" bits="10:8" type="uint" />
+ <field name="RANGERED Present" dword="3" bits="11:11" type="bool" />
+ <field name="SYNCMARKER Present" dword="3" bits="12:12" type="bool" />
+ <field name="MULTIRES Present" dword="3" bits="13:13" type="bool" />
+ <field name="QUANTIZER" dword="3" bits="15:14" type="uint" />
+ <field name="P-Pic Ref Distance" dword="3" bits="20:16" type="uint" />
+ <field name="Progressive Pic Type" dword="3" bits="23:22" type="uint" />
+ <field name="Range Reduction Enable" dword="3" bits="28:28" type="uint" />
+ <field name="Range Reduction Scale" dword="3" bits="29:29" type="uint" />
+ <field name="Overlap Smoothing Enable" dword="3" bits="30:30" type="bool" />
+ <field name="EXTENDED_DMV Present" dword="4" bits="0:0" type="bool" />
+ <field name="PSF" dword="4" bits="1:1" type="bool" />
+ <field name="REFPIC" dword="4" bits="2:2" type="bool" />
+ <field name="FINTERFLAG" dword="4" bits="3:3" type="bool" />
+ <field name="TFCNTRFLAG" dword="4" bits="4:4" type="bool" />
+ <field name="INTERLACE" dword="4" bits="5:5" type="bool" />
+ <field name="PULLDOWN" dword="4" bits="6:6" type="bool" />
+ <field name="POSTPROC" dword="4" bits="7:7" type="bool" />
+ <field name="4-MV Allowed" dword="4" bits="8:8" type="bool" />
+ <field name="BFraction Enumeration" dword="4" bits="28:24" type="uint" />
+ </instruction>
+ <instruction name="MFX_AVC_DIRECTMODE_STATE" bias="2" length="69" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="67" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="32" dword="33" size="32">
+ <field name="Direct MV Buffer - Address" dword="0" bits="31:6" type="address" />
+ <field name="Direct MV Buffer - Arbitration Priority Control" dword="0" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Direct MV Buffer - Graphics Data Type" dword="0" bits="2:2" type="uint" />
+ <field name="Direct MV Buffer - Cacheability Control" dword="0" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ </group>
+ <group count="2" dword="33" size="32">
+ <field name="Direct MV Buffer (Write) - Address" dword="0" bits="31:6" type="address" />
+ <field name="Direct MV Buffer (Write) - Arbitration Priority Control" dword="0" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Direct MV Buffer (Write) - Graphics Data Type" dword="0" bits="2:2" type="uint" />
+ <field name="Direct MV Buffer (Write) - Cacheability Control" dword="0" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ </group>
+ <group count="34" dword="35" size="32">
+ <field name="POC List" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_AVC_IMG_STATE" bias="2" length="14" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="12" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Size" dword="1" bits="15:0" type="uint" />
+ <field name="Frame Width" dword="2" bits="7:0" type="uint" />
+ <field name="Frame Height" dword="2" bits="23:16" type="uint" />
+ <field name="Image Structure" dword="3" bits="9:8" type="uint">
+ <value name="Frame Picture" value="0" />
+ <value name="Top Field Picture" value="1" />
+ <value name="Bottom Field Picture" value="3" />
+ <value name="Invalid, not allowed." value="2" />
+ </field>
+ <field name="Weighted BiPrediction IDC" dword="3" bits="11:10" type="uint">
+ <value name="DEFAULT" value="0" />
+ <value name="EXPLICIT" value="1" />
+ <value name="IMPLICIT" value="2" />
+ </field>
+ <field name="Weighted Prediction Enable" dword="3" bits="12:12" type="bool" />
+ <field name="First Chroma QP Offset" dword="3" bits="20:16" type="int" />
+ <field name="Second Chroma QP Offset" dword="3" bits="28:24" type="int" />
+ <field name="Field Picture" dword="4" bits="0:0" type="bool" />
+ <field name="MBAFF Mode" dword="4" bits="1:1" type="bool" />
+ <field name="Frame MB Only" dword="4" bits="2:2" type="bool" />
+ <field name="8x8 IDCT Transform Mode" dword="4" bits="3:3" type="bool" />
+ <field name="Direct 8x8 Inference" dword="4" bits="4:4" type="bool" />
+ <field name="Constrained Intra Prediction" dword="4" bits="5:5" type="bool" />
+ <field name="Non-Reference Picture" dword="4" bits="6:6" type="bool" />
+ <field name="Entropy Coding Sync Enable" dword="4" bits="7:7" type="bool" />
+ <field name="MB MV Format" dword="4" bits="8:8" type="uint">
+ <value name="IGNORE" value="0" />
+ <value name="FOLLOW" value="1" />
+ </field>
+ <field name="Chroma Format IDC" dword="4" bits="11:10" type="uint">
+ <value name="Monochrome picture" value="0" />
+ <value name="4:2:0 picture" value="1" />
+ <value name="4:2:2 picture (not supported)" value="2" />
+ <value name="4:4:4 picture (not supported)" value="3" />
+ </field>
+ <field name="MV Unpacked Enable" dword="4" bits="12:12" type="bool" />
+ <field name="Load Bitstream Pointer Per Slice" dword="4" bits="14:14" type="bool" />
+ <field name="MB Status Read" dword="4" bits="15:15" type="bool" />
+ <field name="Minimum Frame Size" dword="4" bits="31:16" type="uint" />
+ <field name="Intra MB Max Bit Control" dword="5" bits="0:0" type="bool" />
+ <field name="Inter MB Max Bit Control" dword="5" bits="1:1" type="bool" />
+ <field name="Frame Bitrate Max Report" dword="5" bits="2:2" type="bool" />
+ <field name="Frame Bitrate Min Report" dword="5" bits="3:3" type="bool" />
+ <field name="Force IPCM Control" dword="5" bits="7:7" type="bool" />
+ <field name="MB Level Rate Control" dword="5" bits="9:9" type="bool" />
+ <field name="Minimum Frame Size Units" dword="5" bits="11:10" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="16 bytes" value="1" />
+ <value name="4Kb" value="2" />
+ <value name="16Kb" value="3" />
+ </field>
+ <field name="Inter MB Force CBP to Zero Control" dword="5" bits="12:12" type="bool" />
+ <field name="Non First Pass" dword="5" bits="16:16" type="uint" />
+ <field name="Trellis Quantization Chroma Disable" dword="5" bits="27:27" type="bool" />
+ <field name="Trellis Quantization Rounding" dword="5" bits="30:28" type="uint" />
+ <field name="Trellis Quantization Enable" dword="5" bits="31:31" type="bool" />
+ <field name="Intra MB Conformance Max Size" dword="6" bits="11:0" type="uint" />
+ <field name="Inter MB Conformance Max Size" dword="6" bits="27:16" type="uint" />
+ <field name="Slice Delta QP Max[0]" dword="8" bits="7:0" type="int" />
+ <field name="Slice Delta QP Max[1]" dword="8" bits="15:8" type="int" />
+ <field name="Slice Delta QP Max[2]" dword="8" bits="23:16" type="uint" />
+ <field name="Slice Delta QP Max[3]" dword="8" bits="31:24" type="int" />
+ <field name="Slice Delta QP Min[0]" dword="9" bits="7:0" type="int" />
+ <field name="Slice Delta QP Min[1]" dword="9" bits="15:8" type="int" />
+ <field name="Slice Delta QP Min[2]" dword="9" bits="23:16" type="int" />
+ <field name="Slice Delta QP Min[3]" dword="9" bits="31:24" type="int" />
+ <field name="Frame Bitrate Min" dword="10" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit Mode" dword="10" bits="14:14" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Min Unit" dword="10" bits="15:15" type="uint" />
+ <field name="Frame Bitrate Max" dword="10" bits="29:16" type="uint" />
+ <field name="Frame Bitrate Max Unit Mode" dword="10" bits="30:30" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Max Unit" dword="10" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="11" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="11" bits="30:16" type="uint" />
+ <field name="Slice Stats Stream-Out Enable" dword="11" bits="31:31" type="bool" />
+ <field name="Initial QP Value" dword="13" bits="7:0" type="int" />
+ <field name="Number of Active Reference Pictures from L0" dword="13" bits="13:8" type="uint" />
+ <field name="Number of Active Reference Pictures from L1" dword="13" bits="21:16" type="uint" />
+ <field name="Number of Reference Frames" dword="13" bits="28:24" type="uint" />
+ <field name="Current Picture Has Performed MMCO5" dword="13" bits="29:29" type="bool" />
+ <field name="Pic Order Present" dword="14" bits="0:0" type="bool" />
+ <field name="Delta Pic Order Always Zero" dword="14" bits="1:1" type="bool" />
+ <field name="Pic Order Count Type" dword="14" bits="3:2" type="uint" />
+ <field name="Slice Group Map Type" dword="14" bits="10:8" type="uint" />
+ <field name="Redundant Pic Count Present" dword="14" bits="11:11" type="bool" />
+ <field name="Number of Slice Groups" dword="14" bits="14:12" type="uint" />
+ <field name="Deblocking Filter Control Present" dword="14" bits="15:15" type="bool" />
+ <field name="Log2 Max Frame Number" dword="14" bits="23:16" type="uint" />
+ <field name="Log2 Max Pic Order Count LSB" dword="14" bits="31:24" type="uint" />
+ <field name="Slice Group Change Rate" dword="15" bits="15:0" type="uint" />
+ <field name="Current Picture Frame Number" dword="15" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_AVC_SLICE_STATE" bias="2" length="10" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="8" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Slice Type" dword="1" bits="3:0" type="uint">
+ <value name="P Slice" value="0" />
+ <value name="B Slice" value="1" />
+ <value name="I Slice" value="2" />
+ </field>
+ <field name="Log2 Weight Denominator Luma" dword="2" bits="2:0" type="uint" />
+ <field name="Log2 Weight Denominator Chroma" dword="2" bits="10:8" type="uint" />
+ <field name="Number of Reference Pictures in Inter-prediction List 0" dword="2" bits="21:16" type="uint" />
+ <field name="Number of Reference Pictures in Inter-prediction List 1" dword="2" bits="29:24" type="uint" />
+ <field name="Slice Alpha C0 Offset Div2" dword="3" bits="3:0" type="int" />
+ <field name="Slice Beta Offset Div2" dword="3" bits="11:8" type="int" />
+ <field name="Slice Quantization Parameter" dword="3" bits="21:16" type="uint" />
+ <field name="CABAC Init IDC" dword="3" bits="25:24" type="uint" />
+ <field name="Disable Deblocking Filter Indicator" dword="3" bits="28:27" type="uint" />
+ <field name="Direct Prediction Type" dword="3" bits="29:29" type="uint">
+ <value name="Temporal" value="0" />
+ <value name="Spatial" value="1" />
+ </field>
+ <field name="Weighted Prediction Indicator" dword="3" bits="31:30" type="uint" />
+ <field name="Slice Start MB Number" dword="4" bits="14:0" type="uint" />
+ <field name="Slice Horizontal Position" dword="4" bits="23:16" type="uint" />
+ <field name="Slice Vertical Position" dword="4" bits="31:24" type="uint" />
+ <field name="Next Slice Horizontal Position" dword="5" bits="7:0" type="uint" />
+ <field name="Next Slice Vertical Position" dword="5" bits="23:16" type="uint" />
+ <field name="Stream ID" dword="6" bits="1:0" type="uint" />
+ <field name="Slice ID" dword="6" bits="7:4" type="uint" />
+ <field name="CABAC Zero Word Insertion Enable" dword="6" bits="12:12" type="bool" />
+ <field name="Emulation Byte Slice Insert Enable" dword="6" bits="13:13" type="bool" />
+ <field name="Tail Insertion Present" dword="6" bits="15:15" type="bool" />
+ <field name="Slice Data Insertion Present" dword="6" bits="16:16" type="bool" />
+ <field name="Header Insertion Present" dword="6" bits="17:17" type="bool" />
+ <field name="Last Slice Group" dword="6" bits="19:19" type="bool" />
+ <field name="MB Type Skip Conversion Disable" dword="6" bits="20:20" type="bool" />
+ <field name="MB Type Direct Conversion Disable" dword="6" bits="21:21" type="bool" />
+ <field name="Rate Control Panic Type" dword="6" bits="22:22" type="uint">
+ <value name="QP Panic" value="0" />
+ <value name="CBP Panic" value="1" />
+ </field>
+ <field name="Rate Control Panic Enable" dword="6" bits="23:23" type="bool" />
+ <field name="Rate Control Stable Tolerance" dword="6" bits="27:24" type="uint" />
+ <field name="Rate Control Triggle Mode" dword="6" bits="29:28" type="uint">
+ <value name="Always Rate Control" value="0" />
+ <value name="Gentle Rate Control" value="1" />
+ <value name="Loose Rate Control" value="2" />
+ </field>
+ <field name="Reset Rate Control Counter" dword="6" bits="30:30" type="bool" />
+ <field name="Rate Control Counter Enable" dword="6" bits="31:31" type="uint" />
+ <field name="Indirect PAK-BSE Data Start Address" dword="7" bits="28:0" type="offset" />
+ <field name="Grow Init" dword="8" bits="3:0" type="uint" />
+ <field name="Grow Resistance" dword="8" bits="7:4" type="uint" />
+ <field name="Shrink Init" dword="8" bits="11:8" type="uint" />
+ <field name="Shrink Resistance" dword="8" bits="15:12" type="uint" />
+ <field name="QP Max Positive Modifier Magnitude" dword="8" bits="23:16" type="uint" />
+ <field name="QP Max Negative Modifier Magnitude" dword="8" bits="31:24" type="uint" />
+ <field name="Correct 1" dword="9" bits="3:0" type="uint" />
+ <field name="Correct 2" dword="9" bits="7:4" type="uint" />
+ <field name="Correct 3" dword="9" bits="11:8" type="uint" />
+ <field name="Correct 4" dword="9" bits="15:12" type="uint" />
+ <field name="Correct 5" dword="9" bits="19:16" type="uint" />
+ <field name="Correct 6" dword="9" bits="23:20" type="uint" />
+ <field name="Round Intra" dword="9" bits="26:24" type="uint">
+ <value name="+1/16" value="0" />
+ <value name="+2/16" value="1" />
+ <value name="+3/16" value="2" />
+ <value name="+4/16" value="3" />
+ <value name="+5/16" value="4" />
+ <value name="+6/16" value="5" />
+ <value name="+7/16" value="6" />
+ <value name="+8/16" value="7" />
+ </field>
+ <field name="Round Intra Enable" dword="9" bits="27:27" type="bool" />
+ <field name="Round Inter" dword="9" bits="30:28" type="uint">
+ <value name="+1/16" value="0" />
+ <value name="+2/16" value="1" />
+ <value name="+3/16" value="2" />
+ <value name="+4/16" value="3" />
+ <value name="+5/16" value="4" />
+ <value name="+6/16" value="5" />
+ <value name="+7/16" value="6" />
+ <value name="+8/16" value="7" />
+ </field>
+ <field name="Round Inter Enable" dword="9" bits="31:31" type="bool" />
+ <field name="CV0" dword="10" bits="3:0" type="uint" />
+ <field name="CV1" dword="10" bits="7:4" type="uint" />
+ <field name="CV2" dword="10" bits="11:8" type="uint" />
+ <field name="CV3" dword="10" bits="15:12" type="uint" />
+ <field name="CV4" dword="10" bits="19:16" type="uint" />
+ <field name="CV5" dword="10" bits="23:20" type="uint" />
+ <field name="CV6" dword="10" bits="27:24" type="uint" />
+ <field name="CV7" dword="10" bits="31:28" type="uint" />
+ </instruction>
+ <instruction name="MFX_AVC_WEIGHTOFFSET_STATE" bias="2" length="98" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="96" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="5" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Weight and Offset Select" dword="1" bits="0:0" type="uint">
+ <value name="L0 table" value="0" />
+ <value name="L1 table" value="1" />
+ </field>
+ <group count="96" dword="2" size="32">
+ <field name="Weight Offset" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_BSP_BUF_BASE_ADDR_STATE" bias="2" length="4" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="2" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="4" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="BSD/MPC Row Store Scratch Buffer - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second Highest priority" value="1" />
+ <value name="Third Highest Priority" value="2" />
+ <value name="Lowest Priority" value="3" />
+ </field>
+ <field name="BSD/MPC Row Store Scratch Buffer - Address" dword="1" bits="31:6" type="address" />
+ <field name="MPR Row Store Scratch Buffer - Arbitration Priority Control" dword="2" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MPR Row Store Scratch Buffer - Address" dword="2" bits="31:6" type="address" />
+ <field name="Bitplane Read Buffer - Arbitration Priority Control" dword="3" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Bitplane Read Buffer - Address" dword="3" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MFX_DBK_OBJECT" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pre Deblocking Source - Cacheability Control" dword="1" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Pre Deblocking Source - Graphics Data Type" dword="1" bits="2:2" type="uint" />
+ <field name="Pre Deblocking Source - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Pre Deblocking Source - Address" dword="1" bits="31:6" type="address" />
+ <field name="Deblocking Control - Cacheability Control" dword="2" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Deblocking Control - Graphics Data Type" dword="2" bits="2:2" type="uint" />
+ <field name="Deblocking Control - Arbitration Priority Control" dword="2" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblocking Control - Address" dword="2" bits="31:6" type="address" />
+ <field name="Deblocking - Cacheability Control" dword="3" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Deblocking - Graphics Data Type" dword="3" bits="2:2" type="uint" />
+ <field name="Deblocking - Arbitration Priority Control" dword="3" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblocking - Address" dword="3" bits="31:6" type="address" />
+ <field name="Deblock Row Store - Cacheability Control" dword="4" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Deblock Row Store - Graphics Data Type" dword="4" bits="2:2" type="uint" />
+ <field name="Deblock Row Store - Arbitration Priority Control" dword="4" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblock Row Store - Address" dword="4" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MFX_FQM_STATE" bias="2" length="34" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="32" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="AVC" dword="1" bits="1:0" type="uint">
+ <value name="AVC_4x4_Intra_MATRIX" value="0" />
+ <value name="AVC_4x4_Inter_MATRIX" value="1" />
+ <value name="AVC_8x8_Intra_MATRIX" value="2" />
+ <value name="AVC_8x8_Inter_MATRIX" value="3" />
+ </field>
+ <field name="MPEG2" dword="1" bits="1:0" type="uint">
+ <value name="MPEG_INTRA_QUANTIZER_MATRIX" value="0" />
+ <value name="MPEG_NON_INTRA_QUANTIZER_MATRIX" value="1" />
+ </field>
+ <field name="Forward Quantizer Matrix" dword="2" bits="1023:0" type="uint" />
+ </instruction>
+ <instruction name="MFX_IND_OBJ_BASE_ADDR_STATE" bias="2" length="11" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="9" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MFX Indirect Bitstream Object - Cacheability Control" dword="1" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MFX Indirect Bitstream Object - Graphics Data Type" dword="1" bits="2:2" type="uint" />
+ <field name="MFX Indirect Bitstream Object - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFX Indirect Bitstream Object - Address" dword="1" bits="31:12" type="address" />
+ <field name="MFX Indirect Bitstream Object - Access Upper Bound" dword="2" bits="31:12" type="address" />
+ <field name="MFX Indirect MV Object - Cacheability Control" dword="3" bits="1:0" type="uint">
+ <value name="From GTT entry" value="0" />
+ <value name="Not cached in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MFX Indirect MV Object - Graphics Data Type" dword="3" bits="2:2" type="uint" />
+ <field name="MFX Indirect MV Object - Arbitration Priority Control" dword="3" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFX Indirect MV Object - Address" dword="3" bits="31:12" type="address" />
+ <field name="MFX Indirect MV Object - Access Upper Bound" dword="4" bits="31:12" type="address" />
+ <field name="MFD Indirect IT-COEFF Object - Cacheability Control" dword="5" bits="1:0" type="uint">
+ <value name="From GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MFD Indirect IT-COEFF Object - Graphics Data Type" dword="5" bits="2:2" type="uint" />
+ <field name="MFD Indirect IT-COEFF Object - Arbitration Priority Control" dword="5" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFD Indirect IT-COEFF Object - Address" dword="5" bits="31:12" type="address" />
+ <field name="MFD Indirect IT-COEFF Object - Access Upper Bound" dword="6" bits="31:12" type="address" />
+ <field name="MFD Indirect IT-DBLK Object - Cacheability Control" dword="7" bits="1:0" type="uint">
+ <value name="From GTT entry" value="0" />
+ <value name="Not cached in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MFD Indirect IT-DBLK Object - Graphics Data Type" dword="7" bits="2:2" type="uint" />
+ <field name="MFD Indirect IT-DBLK Object - Arbitration Priority Control" dword="7" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFD Indirect IT-DBLK Object - Address" dword="7" bits="31:12" type="address" />
+ <field name="MFD Indirect IT-DBLK Object - Access Upper Bound" dword="8" bits="31:12" type="address" />
+ <field name="MFC Indirect PAK-BSE Object - Cacheability Control" dword="9" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MFC Indirect PAK-BSE Object - Graphics Data Type" dword="9" bits="2:2" type="uint" />
+ <field name="MFC Indirect PAK-BSE Object - Arbitration Priority Control" dword="9" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFC Indirect PAK-BSE Object - Address" dword="9" bits="31:12" type="address" />
+ <field name="MFC Indirect PAK-BSE Object - Access Upper Bound" dword="10" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="MFX_JPEG_HUFF_TABLE_STATE" bias="2" length="831" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="829" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Huffman Table ID" dword="1" bits="0:0" type="uint" />
+ <group count="12" dword="2" size="8">
+ <field name="DC_BITS" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="12" dword="5" size="8">
+ <field name="DC_HUFFVAL" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="16" dword="8" size="8">
+ <field name="AC_BITS" dword="0" bits="15:0" type="uint" />
+ </group>
+ <group count="160" dword="12" size="8">
+ <field name="AC_HUFFVAL" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="2" dword="52" size="8">
+ <field name="AC_HUFFVAL2" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_JPEG_PIC_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Input Format YUV" dword="1" bits="2:0" type="uint" />
+ <field name="Rotation" dword="1" bits="5:4" type="uint" />
+ <field name="Frame Width In Blocks" dword="2" bits="12:0" type="uint" />
+ <field name="Frame Height In Blocks" dword="2" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_MPEG2_PIC_STATE" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Scan Order" dword="1" bits="6:6" type="uint">
+ <value name="MPEG_ZIGZAG_SCAN" value="0" />
+ <value name="MPEG_ALTERNATE_VERTICAL_SCAN" value="1" />
+ </field>
+ <field name="Intra VLC Format" dword="1" bits="7:7" type="uint" />
+ <field name="Quantizer Scale Type" dword="1" bits="8:8" type="uint">
+ <value name="MPEG_QSCALE_LINEAR" value="0" />
+ <value name="MPEG_QSCALE_NONLINEAR" value="1" />
+ </field>
+ <field name="Concealment MV" dword="1" bits="9:9" type="bool" />
+ <field name="Frame Prediction Frame DCT" dword="1" bits="10:10" type="uint" />
+ <field name="Top Field First" dword="1" bits="11:11" type="bool" />
+ <field name="Picture Structure" dword="1" bits="13:12" type="uint">
+ <value name="MPEG_TOP_FIELD" value="1" />
+ <value name="MPEG_BOTTOM_FIELD" value="2" />
+ <value name="MPEG_FRAME" value="3" />
+ </field>
+ <field name="Intra DC Precision" dword="1" bits="15:14" type="uint" />
+ <field name="F_code[0][0]" dword="1" bits="19:16" type="uint" />
+ <field name="F_code[0][1]" dword="1" bits="23:20" type="uint" />
+ <field name="F_code[1][0]" dword="1" bits="27:24" type="uint" />
+ <field name="F_code[1][1]" dword="1" bits="31:28" type="uint" />
+ <field name="Disable Mismatch" dword="2" bits="0:0" type="bool" />
+ <field name="Mismatch Control Disable" dword="2" bits="1:1" type="bool" />
+ <field name="Picture Coding Type" dword="2" bits="10:9" type="uint">
+ <value name="MPEG_I_PICTURE" value="1" />
+ <value name="MPEG_P_PICTURE" value="2" />
+ <value name="MPEG_B_PICTURE" value="3" />
+ </field>
+ <field name="Load Bitstream Pointer Per Slice" dword="2" bits="14:14" type="bool" />
+ <field name="Frame Width In MBs" dword="3" bits="7:0" type="uint" />
+ <field name="Frame Height In MBs" dword="3" bits="23:16" type="uint" />
+ <field name="Round Intra DC" dword="4" bits="2:1" type="uint" />
+ <field name="Round Inter DC" dword="4" bits="6:4" type="uint" />
+ <field name="Round Intra AC" dword="4" bits="10:8" type="uint" />
+ <field name="Round Inter AC," dword="4" bits="14:12" type="uint" />
+ <field name="Minimum Frame Size" dword="4" bits="31:16" type="uint" />
+ <field name="Intra MB Max Bit Control" dword="5" bits="0:0" type="uint" />
+ <field name="Inter MB Max Bit Control" dword="5" bits="1:1" type="uint" />
+ <field name="Frame Bitrate Max Report" dword="5" bits="2:2" type="uint" />
+ <field name="Frame Bitrate Min Report" dword="5" bits="3:3" type="uint" />
+ <field name="MBRateControlMask" dword="5" bits="9:9" type="uint" />
+ <field name="Minimum Frame Size Units" dword="5" bits="11:10" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="16 bytes" value="1" />
+ <value name="4Kb" value="2" />
+ <value name="16Kb" value="3" />
+ </field>
+ <field name="Inter MB Force CBP to Zero Control" dword="5" bits="12:12" type="uint" />
+ <field name="Frame Size Control" dword="5" bits="16:16" type="uint" />
+ <field name="Intra MB Conformance Max Size" dword="6" bits="11:0" type="uint" />
+ <field name="Inter MB Conformance Max Size" dword="6" bits="27:16" type="uint" />
+ <field name="Slice Delta QP Max[0]" dword="8" bits="7:0" type="int" />
+ <field name="Slice Delta QP Max[1]" dword="8" bits="15:8" type="int" />
+ <field name="Slice Delta QP Max[2]" dword="8" bits="23:16" type="int" />
+ <field name="Slice Delta QP Max[3]" dword="8" bits="31:24" type="int" />
+ <field name="Slice Delta QP Min[0]" dword="9" bits="7:0" type="int" />
+ <field name="Slice Delta QP Min[1]" dword="9" bits="15:8" type="int" />
+ <field name="Slice Delta QP Min[2]" dword="9" bits="23:16" type="int" />
+ <field name="Slice Delta QP Min[3]" dword="9" bits="31:24" type="int" />
+ <field name="Frame Bitrate Min" dword="10" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit Mode" dword="10" bits="14:14" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New Mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Min Unit" dword="10" bits="15:15" type="uint" />
+ <field name="Frame Bitrate Max" dword="10" bits="29:16" type="uint" />
+ <field name="Frame Bitrate Max Unit Mode" dword="10" bits="30:30" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Max Unit" dword="10" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="11" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="11" bits="30:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_PAK_INSERT_OBJECT" bias="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Bitstream Start Reset" dword="1" bits="0:0" type="bool" />
+ <field name="End of Slice" dword="1" bits="1:1" type="bool" />
+ <field name="Last Header" dword="1" bits="2:2" type="bool" />
+ <field name="Emulation Byte Bits Insert Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Skip Emulation Byte Count" dword="1" bits="7:4" type="uint" />
+ <field name="Data Bits In Last DW" dword="1" bits="13:8" type="uint" />
+ <field name="Slice Header Indicator" dword="1" bits="14:14" type="uint">
+ <value name="SLICE_HEADER" value="1" />
+ <value name="LEGACY" value="0" />
+ </field>
+ <field name="Header Length Excluded From Size" dword="1" bits="15:15" type="uint">
+ <value name="NO_ACCUMULATION" value="1" />
+ <value name="ACCUMULATE" value="0" />
+ </field>
+ <field name="Data Byte Offset" dword="1" bits="17:16" type="uint" />
+ <group count="0" dword="2" size="32">
+ <field name="Insert Data PayLoad" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_PIPE_BUF_ADDR_STATE" bias="2" length="24" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="22" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pre Deblocking Destination - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Pre Deblocking Destination - Address" dword="1" bits="31:6" type="address" />
+ <field name="Post Deblocking Destination - Cacheability Control" dword="2" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Post Deblocking Destination - Graphics Data Type" dword="2" bits="2:2" type="uint" />
+ <field name="Post Deblocking Destination - Arbitration Priority Control" dword="2" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Post Deblocking Destination - Address" dword="2" bits="31:6" type="address" />
+ <field name="Original Uncompressed Picture Source - Cacheability Control" dword="3" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Original Uncompressed Picture Source - Graphics Data Type" dword="3" bits="2:2" type="uint" />
+ <field name="Original Uncompressed Picture Source - Arbitration Priority Control" dword="3" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Original Uncompressed Picture Source - Address" dword="3" bits="31:6" type="address" />
+ <field name="Stream-Out Data Destination - Cacheability Control" dword="4" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Stream-Out Data Destination - Graphics Data Type" dword="4" bits="2:2" type="uint" />
+ <field name="Stream-Out Data Destination - Arbitration Priority Control" dword="4" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Stream-Out Data Destination - Address" dword="4" bits="31:6" type="address" />
+ <field name="Intra Row Store Scratch Buffer - Cacheability Control" dword="5" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Intra Row Store Scratch Buffer - Graphics Data Type" dword="5" bits="2:2" type="uint" />
+ <field name="Intra Row Store Scratch Buffer - Arbitration Priority Control" dword="5" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Intra Row Store Scratch Buffer - Address" dword="5" bits="31:6" type="address" />
+ <field name="Deblocking Filter Row Store Scratch Buffer - Cacheability Control" dword="6" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Deblocking Filter Row Store Scratch Buffer - Graphics Data Type" dword="6" bits="2:2" type="uint" />
+ <field name="Deblocking Filter Row Store Scratch Buffer - Arbitration Priority Control" dword="6" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblocking Filter Row Store Scratch Buffer - Address" dword="6" bits="31:6" type="address" />
+ <group count="16" dword="7" size="32">
+ <field name="Reference Picture - Address" dword="0" bits="31:6" type="address" />
+ <field name="Reference Picture - Arbitration Priority Control" dword="0" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Reference Picture - Graphics Data Type" dword="0" bits="2:2" type="uint" />
+ <field name="Reference Picture - Cacheability Control" dword="0" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ </group>
+ <field name="MB Status Buffer - Cacheability Control" dword="23" bits="1:0" type="uint">
+ <value name="GTT" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="MB Status Buffer - Graphics Data Type" dword="23" bits="2:2" type="uint" />
+ <field name="MB Status Buffer - Arbitration Priority Control" dword="23" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MB Status Buffer - Address" dword="23" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MFX_PIPE_MODE_SELECT" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Standard Select" dword="1" bits="3:0" type="uint" prefix="SS">
+ <value name="MPEG2" value="0" />
+ <value name="VC1" value="1" />
+ <value name="AVC" value="2" />
+ <value name="JPEG" value="3" />
+ </field>
+ <field name="Codec Select" dword="1" bits="4:4" type="uint">
+ <value name="Decode" value="0" />
+ <value name="Encode" value="1" />
+ </field>
+ <field name="Stitch Mode" dword="1" bits="5:5" type="bool" />
+ <field name="Pre Deblocking Output Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Post Deblocking Output Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Stream-Out Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Pic Error/Status Report Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Decoder Mode Select" dword="1" bits="16:15" type="uint">
+ <value name="VLD Mode" value="0" />
+ <value name="IT Mode" value="1" />
+ <value name="Deblocker Mode" value="2" />
+ <value name="Interlayer Mode" value="3" />
+ </field>
+ <field name="Decoder Short Format Mode" dword="1" bits="17:17" type="uint">
+ <value name="Short Format Driver Interface" value="0" />
+ <value name="Long Format Driver Interface" value="1" />
+ </field>
+ <field name="Extended Stream-Out Enable" dword="1" bits="18:18" type="bool" />
+ <field name="Pic Status/Error Report ID" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MFX_QM_STATE" bias="2" length="34" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="32" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="7" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="AVC" dword="1" bits="1:0" type="uint">
+ <value name="AVC_4x4_Intra_MATRIX" value="0" />
+ <value name="AVC_4x4_Inter_MATRIX" value="1" />
+ <value name="AVC_8x8_Intra_MATRIX" value="2" />
+ <value name="AVC_8x8_Inter_MATRIX" value="3" />
+ </field>
+ <field name="MPEG2" dword="1" bits="1:0" type="uint">
+ <value name="MPEG_INTRA_QUANTIZER_MATRIX" value="0" />
+ <value name="MPEG_NON_INTRA_QUANTIZER_MATRIX" value="1" />
+ </field>
+ <group count="64" dword="2" size="8">
+ <field name="Forward Quantizer Matrix" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_STATE_POINTER" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="6" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="State Pointer Index" dword="1" bits="1:0" type="uint" />
+ <field name="State Pointer" dword="1" bits="31:5" type="uint" />
+ </instruction>
+ <instruction name="MFX_STITCH_OBJECT" bias="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="10" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="End of Slice" dword="1" bits="1:1" type="bool" />
+ <field name="Last Header" dword="1" bits="2:2" type="bool" />
+ <field name="Source Data Ending Bit Inclusion" dword="1" bits="13:8" type="uint" />
+ <field name="Source Data Starting Byte Offset" dword="1" bits="17:16" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="18:0" type="uint" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="offset" />
+ <group count="0" dword="4" size="32">
+ <field name="Insert Data PayLoad" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_SURFACE_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Cr(V)/Cb(U) Pixel Offset V Direction" dword="2" bits="1:0" type="uint" />
+ <field name="Width" dword="2" bits="17:4" type="uint" />
+ <field name="Height" dword="2" bits="31:18" type="uint" />
+ <field name="Tile Walk" dword="3" bits="0:0" type="uint" prefix="TW">
+ <value name="XMAJOR" value="0" />
+ <value name="YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="3" bits="1:1" type="bool" />
+ <field name="Half Pitch for Chroma" dword="3" bits="2:2" type="bool" />
+ <field name="Surface Pitch" dword="3" bits="19:3" type="uint" />
+ <field name="Interleave Chroma" dword="3" bits="27:27" type="bool" />
+ <field name="Surface Format" dword="3" bits="31:28" type="uint">
+ <value name="YCRCB_NORMAL" value="0" />
+ <value name="YCRCB_SWAPUVY" value="1" />
+ <value name="YCRCB_SWAPUV" value="2" />
+ <value name="YCRCB_SWAPY" value="3" />
+ <value name="PLANAR_420_8" value="4" />
+ <value name="PLANAR_411_8" value="5" />
+ <value name="PLANAR_422_8" value="6" />
+ <value name="STMM_DN_STATISTICS" value="7" />
+ <value name="R10G10B10A2_UNORM" value="8" />
+ <value name="R8G8B8A8_UNORM" value="9" />
+ <value name="R8B8_UNORM (CrCb)" value="10" />
+ <value name="R8_UNORM (Cr/Cb)" value="11" />
+ <value name="Y8_UNORM" value="12" />
+ </field>
+ <field name="Y Offset for U(Cb)" dword="4" bits="14:0" type="uint" />
+ <field name="X Offset for U(Cb)" dword="4" bits="30:16" type="uint" />
+ <field name="Y Offset for V(Cr)" dword="5" bits="15:0" type="uint" />
+ <field name="X Offset for V(Cr)" dword="5" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_VC1_DIRECTMODE_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Direct MV Write Buffer - Cacheability Control" dword="1" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Direct MV Write Buffer - Graphics Data Type" dword="1" bits="2:2" type="uint" />
+ <field name="Direct MV Write Buffer - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Direct MV Write Buffer - Address" dword="1" bits="31:6" type="address" />
+ <field name="Direct MV Read Buffer - Cacheability Control" dword="2" bits="1:0" type="uint">
+ <value name="GTT entry" value="0" />
+ <value name="Not in LLC or MLC" value="1" />
+ <value name="In LLC but not MLC" value="2" />
+ <value name="Both LLC and MLC" value="3" />
+ </field>
+ <field name="Direct MV Read Buffer - Graphics Data Type" dword="2" bits="2:2" type="uint" />
+ <field name="Direct MV Read Buffer - Arbitration Priority Control" dword="2" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Direct MV Read Buffer - Address" dword="2" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MFX_VC1_PRED_PIPE_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Reference Frame Boundary Replication Mode" dword="1" bits="7:4" type="uint" />
+ <field name="Vin_intensitycomp_Single_BWDen" dword="1" bits="9:8" type="uint" />
+ <field name="Vin_intensitycomp_Single_FWDen" dword="1" bits="11:10" type="uint" />
+ <field name="Vin_intensitycomp_Double_BWDen" dword="1" bits="13:12" type="uint" />
+ <field name="Vin_intensitycomp_Double_FWDen" dword="1" bits="15:14" type="uint" />
+ <field name="LumScale1 - single - FWD" dword="2" bits="5:0" type="uint" />
+ <field name="LumScale2 - single - FWD" dword="2" bits="13:8" type="uint" />
+ <field name="LumShift1 - single - FWD" dword="2" bits="21:16" type="uint" />
+ <field name="LumShift2 - single - FWD" dword="2" bits="29:24" type="uint" />
+ <field name="LumScale1 - double - FWD" dword="3" bits="5:0" type="uint" />
+ <field name="LumScale2 - double - FWD" dword="3" bits="13:8" type="uint" />
+ <field name="LumShift1 - double - FWD" dword="3" bits="21:16" type="uint" />
+ <field name="LumShift2 - double - FWD" dword="3" bits="29:24" type="uint" />
+ <field name="LumScale1 - single - BWD" dword="4" bits="5:0" type="uint" />
+ <field name="LumScale2 - single - BWD" dword="4" bits="13:8" type="uint" />
+ <field name="LumShift1 - single - BWD" dword="4" bits="21:16" type="uint" />
+ <field name="LumShift2 - single - BWD" dword="4" bits="29:24" type="uint" />
+ <field name="LumScale1 - double - BWD" dword="5" bits="5:0" type="uint" />
+ <field name="LumScale2 - double - BWD" dword="5" bits="13:8" type="uint" />
+ <field name="LumShift1 - double - BWD" dword="5" bits="21:16" type="uint" />
+ <field name="LumShift2 - double - BWD" dword="5" bits="29:24" type="uint" />
+ </instruction>
+ <instruction name="MI_CLFLUSH" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="9:0" type="uint" default="1" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="39" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Starting Cacheline Offset" dword="1" bits="11:6" type="uint" />
+ <field name="Page Base Address" dword="1" bits="31:12" type="address" />
+ <field name="Page Base Address High" dword="2" bits="15:0" type="address" />
+ <group count="0" dword="3" size="32">
+ <field name="DW Representing a Half Cache Line" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MI_LOAD_REGISTER_MEM" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Async Mode Enable" dword="0" bits="21:21" type="bool" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="41" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Address" dword="1" bits="22:2" type="offset" />
+ <field name="Memory Address" dword="2" bits="31:2" type="address" />
+ </instruction>
+ <instruction name="MI_PREDICATE" bias="1" length="1">
+ <field name="Compare Operation" dword="0" bits="1:0" type="uint" prefix="COMPARE">
+ <value name="TRUE" value="0" />
+ <value name="FALSE" value="1" />
+ <value name="SRCS_EQUAL" value="2" />
+ <value name="DELTAS_EQUAL" value="3" />
+ </field>
+ <field name="Combine Operation" dword="0" bits="4:3" type="uint" prefix="COMBINE">
+ <value name="SET" value="0" />
+ <value name="AND" value="1" />
+ <value name="OR" value="2" />
+ <value name="XOR" value="3" />
+ </field>
+ <field name="Load Operation" dword="0" bits="7:6" type="uint" prefix="LOAD">
+ <value name="KEEP" value="0" />
+ <value name="LOAD" value="2" />
+ <value name="LOADINV" value="3" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="12" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_REPORT_PERF_COUNT" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="1" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="40" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Use Global GTT" dword="1" bits="0:0" type="bool" />
+ <field name="Memory Address" dword="1" bits="31:6" type="address" />
+ <field name="Report ID" dword="2" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_SET_CONTEXT" bias="2" length="2">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="24" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Restore Inhibit" dword="1" bits="0:0" type="uint" />
+ <field name="Force Restore" dword="1" bits="1:1" type="uint" />
+ <field name="Extended State Restore Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Extended State Save Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Reserved, Must be 1" dword="1" bits="8:8" type="uint" />
+ <field name="Logical Context Address" dword="1" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="MI_TOPOLOGY_FILTER" bias="1" length="1">
+ <field name="Topology Filter Value" dword="0" bits="5:0" type="3D_Prim_Topo_Type" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="13" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_WAIT_FOR_EVENT" bias="1" length="1" engine="render|blitter|video">
+ <field name="Display Pipe A Scan Line Wait Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Display Plane A Flip Pending Wait Enable" dword="0" bits="1:1" type="bool" />
+ <field name="Display Sprite A Flip Pending Wait Enable" dword="0" bits="2:2" type="bool" />
+ <field name="Display Pipe A Vertical Blank Wait Enable" dword="0" bits="3:3" type="bool" />
+ <field name="Display Pipe A Horizontal Blank Wait Enable" dword="0" bits="5:5" type="bool" />
+ <field name="Display Pipe B Scan Line Wait Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Display Plane B Flip Pending Wait Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Display Sprite B Flip Pending Wait Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Display Pipe B Vertical Blank Wait Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Display Pipe B Horizontal Blank Wait Enable" dword="0" bits="13:13" type="bool" />
+ <field name="Display Pipe C Scan Line Wait Enable" dword="0" bits="14:14" type="bool" />
+ <field name="Display Plane C Flip Pending Wait Enable" dword="0" bits="15:15" type="bool" />
+ <field name="Condition Code Wait Select" dword="0" bits="19:16" type="uint">
+ <value name="Not enabled" value="0" />
+ </field>
+ <field name="Display Sprite C Flip Pending Wait Enable" dword="0" bits="20:20" type="bool" />
+ <field name="Display Pipe C Vertical Blank Wait Enable" dword="0" bits="21:21" type="bool" />
+ <field name="Display Pipe C Horizontal Blank Wait Enable" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
+ <field name="Pipeline Selection" dword="0" bits="1:0" type="uint">
+ <value name="3D" value="0" />
+ <value name="Media" value="1" />
+ <value name="GPGPU" value="2" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ </instruction>
+ <instruction name="PIPE_CONTROL" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Cache Flush Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Stall At Pixel Scoreboard" dword="1" bits="1:1" type="bool" />
+ <field name="State Cache Invalidation Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Constant Cache Invalidation Enable" dword="1" bits="3:3" type="bool" />
+ <field name="VF Cache Invalidation Enable" dword="1" bits="4:4" type="bool" />
+ <field name="DC Flush Enable" dword="1" bits="5:5" type="bool" />
+ <field name="Pipe Control Flush Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Notify Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Indirect State Pointers Disable" dword="1" bits="9:9" type="bool" />
+ <field name="Texture Cache Invalidation Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Instruction Cache Invalidate Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Render Target Cache Flush Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Depth Stall Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Post Sync Operation" dword="1" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write PS Depth Count" value="2" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="Generic Media State Clear" dword="1" bits="16:16" type="bool" />
+ <field name="TLB Invalidate" dword="1" bits="18:18" type="bool" />
+ <field name="Global Snapshot Count Reset" dword="1" bits="19:19" type="bool" />
+ <field name="Command Streamer Stall Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Store Data Index" dword="1" bits="21:21" type="uint" />
+ <field name="LRI Post Sync Operation" dword="1" bits="23:23" type="uint">
+ <value name="No LRI Operation" value="0" />
+ <value name="MMIO Write Immediate Data" value="1" />
+ </field>
+ <field name="Destination Address Type" dword="1" bits="24:24" type="uint" prefix="DAT">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Address" dword="2" bits="31:2" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="STATE_BASE_ADDRESS" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="General State Base Address Modify Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Stateless Data Port Access Force Write Thru" dword="1" bits="3:3" type="uint" />
+ <field name="Stateless Data Port Access MOCS" dword="1" bits="7:4" type="uint" nonzero="true" />
+ <field name="General State MOCS" dword="1" bits="11:8" type="uint" nonzero="true" />
+ <field name="General State Base Address" dword="1" bits="31:12" type="address" />
+ <field name="Surface State Base Address Modify Enable" dword="2" bits="0:0" type="bool" />
+ <field name="Surface State MOCS" dword="2" bits="11:8" type="uint" nonzero="true" />
+ <field name="Surface State Base Address" dword="2" bits="31:12" type="address" />
+ <field name="Dynamic State Base Address Modify Enable" dword="3" bits="0:0" type="bool" />
+ <field name="Dynamic State MOCS" dword="3" bits="11:8" type="uint" nonzero="true" />
+ <field name="Dynamic State Base Address" dword="3" bits="31:12" type="address" />
+ <field name="Indirect Object Base Address Modify Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Indirect Object MOCS" dword="4" bits="11:8" type="uint" nonzero="true" />
+ <field name="Indirect Object Base Address" dword="4" bits="31:12" type="address" />
+ <field name="Instruction Base Address Modify Enable" dword="5" bits="0:0" type="bool" />
+ <field name="Instruction MOCS" dword="5" bits="11:8" type="uint" nonzero="true" />
+ <field name="Instruction Base Address" dword="5" bits="31:12" type="address" />
+ <field name="General State Access Upper Bound Modify Enable" dword="6" bits="0:0" type="bool" />
+ <field name="General State Access Upper Bound" dword="6" bits="31:12" type="address" />
+ <field name="Dynamic State Access Upper Bound Modify Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Dynamic State Access Upper Bound" dword="7" bits="31:12" type="address" />
+ <field name="Indirect Object Access Upper Bound Modify Enable" dword="8" bits="0:0" type="bool" />
+ <field name="Indirect Object Access Upper Bound" dword="8" bits="31:12" type="address" />
+ <field name="Instruction Access Upper Bound Modify Enable" dword="9" bits="0:0" type="bool" />
+ <field name="Instruction Access Upper Bound" dword="9" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="SWTESS_BASE_ADDRESS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="3" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SW Tessellation MOCS" dword="1" bits="11:8" type="uint" nonzero="true" />
+ <field name="SW Tessellation Base Address" dword="1" bits="31:12" type="address" />
+ </instruction>
+ <register name="BCS_INSTDONE" length="1" num="0x2206c">
+ <field name="Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Blitter IDLE" dword="0" bits="1:1" type="bool" />
+ <field name="GAB IDLE" dword="0" bits="2:2" type="bool" />
+ <field name="BCS Done" dword="0" bits="3:3" type="bool" />
+ </register>
+ <register name="CL_INVOCATION_COUNT" length="2" num="0x2338">
+ <field name="CL Invocation Count Report" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="CL_PRIMITIVES_COUNT" length="2" num="0x2340">
+ <field name="CL Primitives Count Report" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="CS_INVOCATION_COUNT" length="2" num="0x2290">
+ <field name="CS Invocation Count Report" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="DS_INVOCATION_COUNT" length="2" num="0x2308">
+ <field name="DS Invocation Count Report" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="ERR_INT" length="1" num="0x44040">
+ <field name="Primary A GTT Fault Status" dword="0" bits="0:0" type="bool" />
+ <field name="Primary B GTT Fault Status" dword="0" bits="1:1" type="bool" />
+ <field name="Sprite A GTT Fault Status" dword="0" bits="2:2" type="bool" />
+ <field name="Sprite B GTT Fault Status" dword="0" bits="3:3" type="bool" />
+ <field name="Cursor A GTT Fault Status" dword="0" bits="4:4" type="bool" />
+ <field name="Cursor B GTT Fault Status" dword="0" bits="5:5" type="bool" />
+ <field name="Invalid page table entry data" dword="0" bits="6:6" type="bool" />
+ <field name="Invalid GTT page table entry" dword="0" bits="7:7" type="bool" />
+ </register>
+ <register name="GS_INVOCATION_COUNT" length="2" num="0x2328">
+ <field name="GS Invocation Count Report" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="GS_PRIMITIVES_COUNT" length="2" num="0x2330">
+ <field name="GS Primitives Count Report" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="HS_INVOCATION_COUNT" length="2" num="0x2300">
+ <field name="HS Invocation Count Report" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="IA_PRIMITIVES_COUNT" length="2" num="0x2318">
+ <field name="IA Primitives Count Report" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="IA_VERTICES_COUNT" length="2" num="0x2310">
+ <field name="IA Vertices Count Report" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="INSTDONE_1" length="1" num="0x206c">
+ <field name="PRB0 Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="VFG Done" dword="0" bits="1:1" type="bool" />
+ <field name="VS Done" dword="0" bits="2:2" type="bool" />
+ <field name="HS Done" dword="0" bits="3:3" type="bool" />
+ <field name="TE Done" dword="0" bits="4:4" type="bool" />
+ <field name="DS Done" dword="0" bits="5:5" type="bool" />
+ <field name="GS Done" dword="0" bits="6:6" type="bool" />
+ <field name="SOL Done" dword="0" bits="7:7" type="bool" />
+ <field name="CL Done" dword="0" bits="8:8" type="bool" />
+ <field name="SF Done" dword="0" bits="9:9" type="bool" />
+ <field name="TDG Done" dword="0" bits="12:12" type="bool" />
+ <field name="URBM Done" dword="0" bits="13:13" type="bool" />
+ <field name="SVG Done" dword="0" bits="14:14" type="bool" />
+ <field name="GAFS Done" dword="0" bits="15:15" type="bool" />
+ <field name="VFE Done" dword="0" bits="16:16" type="bool" />
+ <field name="TSG Done" dword="0" bits="17:17" type="bool" />
+ <field name="GAFM Done" dword="0" bits="18:18" type="bool" />
+ <field name="GAM Done" dword="0" bits="19:19" type="bool" />
+ <field name="SDE Done" dword="0" bits="22:22" type="bool" />
+ <field name="RCCFBC CS Done" dword="0" bits="23:23" type="bool" />
+ </register>
+ <register name="L3CNTLREG2" length="1" num="0xb020">
+ <field name="SLM Enable" dword="0" bits="0:0" type="bool" />
+ <field name="URB Allocation" dword="0" bits="6:1" type="uint" />
+ <field name="URB Low Bandwidth" dword="0" bits="7:7" type="bool" />
+ <field name="ALL Allocation" dword="0" bits="13:8" type="uint" />
+ <field name="RO Allocation" dword="0" bits="19:14" type="uint" />
+ <field name="RO Low Bandwidth" dword="0" bits="20:20" type="bool" />
+ <field name="DC Allocation" dword="0" bits="26:21" type="uint" />
+ <field name="DC Low Bandwidth" dword="0" bits="27:27" type="bool" />
+ </register>
+ <register name="L3CNTLREG3" length="1" num="0xb024">
+ <field name="IS Allocation" dword="0" bits="6:1" type="uint" />
+ <field name="IS Low Bandwidth" dword="0" bits="7:7" type="bool" />
+ <field name="C Allocation" dword="0" bits="13:8" type="uint" />
+ <field name="C Low Bandwidth" dword="0" bits="14:14" type="bool" />
+ <field name="T Allocation" dword="0" bits="20:15" type="uint" />
+ <field name="T Low Bandwidth" dword="0" bits="21:21" type="bool" />
+ </register>
+ <register name="L3SQCREG1" length="1" num="0xb010">
+ <field name="L3SQ High Priority Credit Initialization" dword="0" bits="19:16" type="uint">
+ <value name="SQHPCI_DEFAULT" value="0x3" />
+ </field>
+ <field name="L3SQ General Priority Credit Initialization" dword="0" bits="23:20" type="uint">
+ <value name="SQGPCI_DEFAULT" value="0x7" />
+ <value name="BYT_SQGPCI_DEFAULT" value="0xd" />
+ </field>
+ <field name="Convert DC_UC" dword="0" bits="24:24" type="bool" />
+ <field name="Convert IS_UC" dword="0" bits="25:25" type="bool" />
+ <field name="Convert C_UC" dword="0" bits="26:26" type="bool" />
+ <field name="Convert T_UC" dword="0" bits="27:27" type="bool" />
+ </register>
+ <register name="PS_INVOCATION_COUNT" length="2" num="0x2348">
+ <field name="PS Invocation Count Report" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="ROW_INSTDONE" length="1" num="0xe164">
+ <field name="BC Done" dword="0" bits="0:0" type="bool" />
+ <field name="PSD Done" dword="0" bits="1:1" type="bool" />
+ <field name="DC Done" dword="0" bits="2:2" type="bool" />
+ <field name="DAPR Done" dword="0" bits="3:3" type="bool" />
+ <field name="TDL Done" dword="0" bits="6:6" type="bool" />
+ <field name="GW Done" dword="0" bits="8:8" type="bool" />
+ <field name="IC Done" dword="0" bits="12:12" type="bool" />
+ <field name="EU00 Done SS0" dword="0" bits="16:16" type="bool" />
+ <field name="EU01 Done SS0" dword="0" bits="17:17" type="bool" />
+ <field name="EU02 Done SS0" dword="0" bits="18:18" type="bool" />
+ <field name="EU03 Done SS0" dword="0" bits="19:19" type="bool" />
+ <field name="MA0 Done SS0" dword="0" bits="20:20" type="bool" />
+ <field name="EU10 Done SS0" dword="0" bits="21:21" type="bool" />
+ <field name="EU11 Done SS0" dword="0" bits="22:22" type="bool" />
+ <field name="EU12 Done SS0" dword="0" bits="23:23" type="bool" />
+ <field name="EU13 Done SS0" dword="0" bits="24:24" type="bool" />
+ <field name="MA1 Done" dword="0" bits="25:25" type="bool" />
+ </register>
+ <register name="SAMPLER_INSTDONE" length="1" num="0xe160">
+ <field name="VME Done" dword="0" bits="0:0" type="bool" />
+ <field name="PL0 Done" dword="0" bits="1:1" type="bool" />
+ <field name="SO0 Done" dword="0" bits="2:2" type="bool" />
+ <field name="DG0 Done" dword="0" bits="3:3" type="bool" />
+ <field name="FT0 Done" dword="0" bits="4:4" type="bool" />
+ <field name="DM0 Done" dword="0" bits="5:5" type="bool" />
+ <field name="SC Done" dword="0" bits="6:6" type="bool" />
+ <field name="FL0 Done" dword="0" bits="7:7" type="bool" />
+ <field name="QC Done" dword="0" bits="8:8" type="bool" />
+ <field name="SVSM Done" dword="0" bits="9:9" type="bool" />
+ <field name="SI0 Done" dword="0" bits="10:10" type="bool" />
+ <field name="MT0 Done" dword="0" bits="11:11" type="bool" />
+ <field name="AVS Done" dword="0" bits="12:12" type="bool" />
+ <field name="IEF Done" dword="0" bits="13:13" type="bool" />
+ <field name="VDI Done" dword="0" bits="14:14" type="bool" />
+ <field name="SVSM ARB3" dword="0" bits="15:15" type="bool" />
+ <field name="SVSM ARB2" dword="0" bits="16:16" type="bool" />
+ <field name="SVSM ARB1" dword="0" bits="17:17" type="bool" />
+ <field name="SVSM Adapter" dword="0" bits="18:18" type="bool" />
+ </register>
+ <register name="SC_INSTDONE" length="1" num="0x7100">
+ <field name="SVL Done" dword="0" bits="0:0" type="bool" />
+ <field name="WMFE Done" dword="0" bits="1:1" type="bool" />
+ <field name="WMBE Done" dword="0" bits="2:2" type="bool" />
+ <field name="HIZ Done" dword="0" bits="3:3" type="bool" />
+ <field name="STC Done" dword="0" bits="4:4" type="bool" />
+ <field name="IZ Done" dword="0" bits="5:5" type="bool" />
+ <field name="SBE Done" dword="0" bits="6:6" type="bool" />
+ <field name="RCZ Done" dword="0" bits="8:8" type="bool" />
+ <field name="RCC Done" dword="0" bits="9:9" type="bool" />
+ <field name="RCPBE Done" dword="0" bits="10:10" type="bool" />
+ <field name="RCPFE Done" dword="0" bits="11:11" type="bool" />
+ <field name="DAPB Done" dword="0" bits="12:12" type="bool" />
+ <field name="DAPRBE Done" dword="0" bits="13:13" type="bool" />
+ <field name="IECP Done" dword="0" bits="14:14" type="bool" />
+ <field name="SARB Done" dword="0" bits="15:15" type="bool" />
+ <field name="VSC Done" dword="0" bits="16:16" type="bool" />
+ </register>
+ <register name="SO_NUM_PRIMS_WRITTEN0" length="2" num="0x5200">
+ <field name="Num Prims Written Count" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="SO_NUM_PRIMS_WRITTEN1" length="2" num="0x5208">
+ <field name="Num Prims Written Count" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="SO_NUM_PRIMS_WRITTEN2" length="2" num="0x5210">
+ <field name="Num Prims Written Count" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="SO_NUM_PRIMS_WRITTEN3" length="2" num="0x5218">
+ <field name="Num Prims Written Count" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="SO_PRIM_STORAGE_NEEDED0" length="2" num="0x5240">
+ <field name="Prim Storage Needed Count" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="SO_PRIM_STORAGE_NEEDED1" length="2" num="0x5248">
+ <field name="Prim Storage Needed Count" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="SO_PRIM_STORAGE_NEEDED2" length="2" num="0x5250">
+ <field name="Prim Storage Needed Count" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="SO_PRIM_STORAGE_NEEDED3" length="2" num="0x5258">
+ <field name="Prim Storage Needed Count" dword="0" bits="63:0" type="uint" />
+ </register>
+ <register name="SO_WRITE_OFFSET0" length="1" num="0x5280">
+ <field name="Write Offset" dword="0" bits="31:2" type="offset" />
+ </register>
+ <register name="SO_WRITE_OFFSET1" length="1" num="0x5284">
+ <field name="Write Offset" dword="0" bits="31:2" type="offset" />
+ </register>
+ <register name="SO_WRITE_OFFSET2" length="1" num="0x5288">
+ <field name="Write Offset" dword="0" bits="31:2" type="offset" />
+ </register>
+ <register name="SO_WRITE_OFFSET3" length="1" num="0x528c">
+ <field name="Write Offset" dword="0" bits="31:2" type="offset" />
+ </register>
+ <register name="VS_INVOCATION_COUNT" length="2" num="0x2320">
+ <field name="VS Invocation Count Report" dword="0" bits="63:0" type="uint" />
+ </register>
+</genxml>
diff --git a/lib/genxml/gen75.xml b/lib/genxml/gen75.xml
new file mode 100644
index 000000000..ffef158f8
--- /dev/null
+++ b/lib/genxml/gen75.xml
@@ -0,0 +1,2424 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="HSW" gen="7.5">
+ <import name="gen70.xml" />
+ <enum name="Shader Channel Select" prefix="SCS">
+ <value name="ZERO" value="0" />
+ <value name="ONE" value="1" />
+ <value name="RED" value="4" />
+ <value name="GREEN" value="5" />
+ <value name="BLUE" value="6" />
+ <value name="ALPHA" value="7" />
+ </enum>
+ <struct name="BINDING_TABLE_EDIT_ENTRY" length="1">
+ <field name="Surface State Pointer" dword="0" bits="15:0" type="offset" />
+ <field name="Binding Table Index" dword="0" bits="23:16" type="uint" />
+ </struct>
+ <struct name="GATHER_CONSTANT_ENTRY" length="1">
+ <field name="Binding Table Index Offset" dword="0" bits="3:0" type="uint" />
+ <field name="Channel Mask" dword="0" bits="7:4" type="uint" />
+ <field name="Constant Buffer Offset" dword="0" bits="15:8" type="offset" />
+ </struct>
+ <struct name="INLINE_DATA_DESCRIPTION_FOR_MFD_AVC_BSD_OBJECT" length="3">
+ <field name="MB Error Concealment P Slice Weight Prediction Disable" dword="0" bits="0:0" type="bool" />
+ <field name="MB Error Concealment P Slice Motion Vectors Override Disable" dword="0" bits="1:1" type="bool" />
+ <field name="MB Error Concealment B Spatial Weight Prediction Disable" dword="0" bits="3:3" type="bool" />
+ <field name="MB Error Concealment B Spatial Motion Vectors Override Disable" dword="0" bits="4:4" type="bool" />
+ <field name="MB Error Concealment B Spatial Prediction Mode" dword="0" bits="7:6" type="uint" />
+ <field name="MB Header Error Handling" dword="0" bits="8:8" type="bool" />
+ <field name="Entropy Error Handling" dword="0" bits="10:10" type="bool" />
+ <field name="MPR Error Handling" dword="0" bits="12:12" type="bool" />
+ <field name="BSD Premature Complete Error Handling" dword="0" bits="14:14" type="bool" />
+ <field name="Concealment Picture ID" dword="0" bits="21:16" type="uint" />
+ <field name="MB Error Concealment B Temporal Weight Prediction Disable" dword="0" bits="24:24" type="bool" />
+ <field name="MB Error Concealment B Temporal Motion Vectors Override Enable" dword="0" bits="25:25" type="bool" />
+ <field name="MB Error Concealment B Temporal Prediction Mode" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Intra PredMode (4x4/8x8 Luma) Error Control" dword="0" bits="29:29" type="bool" />
+ <field name="Init Current MB Number" dword="0" bits="30:30" type="uint" />
+ <field name="Concealment Method" dword="0" bits="31:31" type="uint" />
+ <field name="First MB Bit Offset" dword="1" bits="2:0" type="uint" />
+ <field name="Last Slice" dword="1" bits="3:3" type="bool" />
+ <field name="Emulation Prevention Byte Present" dword="1" bits="4:4" type="bool" />
+ <field name="Fix Prev MB Skipped" dword="1" bits="7:7" type="bool" />
+ <field name="First MB Byte Offset of Slice Data or Slice Header" dword="1" bits="31:16" type="uint" />
+ <field name="Intra Prediction Error Control" dword="2" bits="0:0" type="bool" />
+ <field name="Intra 8x8/4x4 Prediction Error Concealment Control" dword="2" bits="1:1" type="bool" />
+ <field name="B Slice Temporal Inter Concealment Mode" dword="2" bits="6:4" type="uint" />
+ <field name="B Slice Spatial Inter Concealment Mode" dword="2" bits="10:8" type="uint" />
+ <field name="B Slice Inter Direct Type Concealment Mode" dword="2" bits="13:12" type="uint" />
+ <field name="B Slice Concealment Mode" dword="2" bits="15:15" type="uint">
+ <value name="Intra Concealment" value="1" />
+ <value name="Inter Concealment" value="0" />
+ </field>
+ <field name="P Slice Inter Concealment Mode" dword="2" bits="18:16" type="uint" />
+ <field name="P Slice Concealment Mode" dword="2" bits="23:23" type="uint">
+ <value name="Intra Concealment" value="1" />
+ <value name="Inter Concealment" value="0" />
+ </field>
+ <field name="Concealment Reference Picture + Field Bit" dword="2" bits="29:24" type="uint" />
+ <field name="I Slice Concealment Mode" dword="2" bits="31:31" type="uint">
+ <value name="Intra Concealment" value="1" />
+ <value name="Inter Concealment" value="0" />
+ </field>
+ </struct>
+ <struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="1" bits="18:18" type="bool" />
+ <field name="Sampler Count" dword="2" bits="4:2" type="uint">
+ <value name="No samplers used" value="0" />
+ <value name="Between 1 and 4 samplers used" value="1" />
+ <value name="Between 5 and 8 samplers used" value="2" />
+ <value name="Between 9 and 12 samplers used" value="3" />
+ <value name="Between 13 and 16 samplers used" value="4" />
+ </field>
+ <field name="Sampler State Pointer" dword="2" bits="31:5" type="offset" />
+ <field name="Binding Table Entry Count" dword="3" bits="4:0" type="uint" />
+ <field name="Binding Table Pointer" dword="3" bits="15:5" type="offset" />
+ <field name="Constant URB Entry Read Length" dword="4" bits="31:16" type="uint" />
+ <field name="Number of Threads in GPGPU Thread Group" dword="5" bits="7:0" type="uint" />
+ <field name="Shared Local Memory Size" dword="5" bits="20:16" type="uint" />
+ <field name="Barrier Enable" dword="5" bits="21:21" type="bool" />
+ <field name="Rounding Mode" dword="5" bits="23:22" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Cross-Thread Constant Data Read Length" dword="6" bits="7:0" type="uint" />
+ </struct>
+ <struct name="MEMORY_OBJECT_CONTROL_STATE" length="1">
+ <field name="L3 Cacheability Control (L3CC)" dword="0" bits="0:0" type="uint" />
+ <field name="LLC/eLLC Cacheability Control (LLCCC)" dword="0" bits="2:1" type="uint">
+ <value name="Use PTE values" value="0" />
+ <value name="UC - uncacheable" value="1" />
+ <value name="LLC/eLLC WB cacheable" value="2" />
+ <value name="eLLC WB cacheable (UC in LLC)" value="3" />
+ </field>
+ </struct>
+ <struct name="MFD_MPEG2_BSD_OBJECT_INLINE_DATA_DESCRIPTION" length="2">
+ <field name="First MB Bit Offset" dword="0" bits="2:0" type="uint" />
+ <field name="Last MB" dword="0" bits="3:3" type="bool" />
+ <field name="Last Pic Slice" dword="0" bits="5:5" type="bool" />
+ <field name="Slice Concealment Type" dword="0" bits="6:6" type="uint" />
+ <field name="Slice Concealment Override" dword="0" bits="7:7" type="uint" />
+ <field name="MB Count" dword="0" bits="15:8" type="uint" />
+ <field name="Slice Vertical Position" dword="0" bits="23:16" type="uint" />
+ <field name="Slice Horizontal Position" dword="0" bits="31:24" type="uint" />
+ <field name="Next Slice Horizontal Position" dword="1" bits="7:0" type="uint" />
+ <field name="Next Slice Vertical Position" dword="1" bits="16:8" type="uint" />
+ <field name="Quantizer Scale Code" dword="1" bits="28:24" type="uint" />
+ </struct>
+ <struct name="MI_MATH_ALU_INSTRUCTION" length="1">
+ <field name="Operand 2" dword="0" bits="9:0" type="uint" prefix="MI_ALU">
+ <value name="REG0" value="0x00" />
+ <value name="REG1" value="0x01" />
+ <value name="REG2" value="0x02" />
+ <value name="REG3" value="0x03" />
+ <value name="REG4" value="0x04" />
+ <value name="REG5" value="0x05" />
+ <value name="REG6" value="0x06" />
+ <value name="REG7" value="0x07" />
+ <value name="REG8" value="0x08" />
+ <value name="REG9" value="0x09" />
+ <value name="REG10" value="0x0a" />
+ <value name="REG11" value="0x0b" />
+ <value name="REG12" value="0x0c" />
+ <value name="REG13" value="0x0d" />
+ <value name="REG14" value="0x0e" />
+ <value name="REG15" value="0x0f" />
+ <value name="SRCA" value="0x20" />
+ <value name="SRCB" value="0x21" />
+ <value name="ACCU" value="0x31" />
+ <value name="ZF" value="0x32" />
+ <value name="CF" value="0x33" />
+ </field>
+ <field name="Operand 1" dword="0" bits="19:10" type="uint" prefix="MI_ALU">
+ <value name="REG0" value="0x00" />
+ <value name="REG1" value="0x01" />
+ <value name="REG2" value="0x02" />
+ <value name="REG3" value="0x03" />
+ <value name="REG4" value="0x04" />
+ <value name="REG5" value="0x05" />
+ <value name="REG6" value="0x06" />
+ <value name="REG7" value="0x07" />
+ <value name="REG8" value="0x08" />
+ <value name="REG9" value="0x09" />
+ <value name="REG10" value="0x0a" />
+ <value name="REG11" value="0x0b" />
+ <value name="REG12" value="0x0c" />
+ <value name="REG13" value="0x0d" />
+ <value name="REG14" value="0x0e" />
+ <value name="REG15" value="0x0f" />
+ <value name="SRCA" value="0x20" />
+ <value name="SRCB" value="0x21" />
+ <value name="ACCU" value="0x31" />
+ <value name="ZF" value="0x32" />
+ <value name="CF" value="0x33" />
+ </field>
+ <field name="ALU Opcode" dword="0" bits="31:20" type="uint" prefix="MI_ALU">
+ <value name="NOOP" value="0x000" />
+ <value name="LOAD" value="0x080" />
+ <value name="LOADINV" value="0x480" />
+ <value name="LOAD0" value="0x081" />
+ <value name="LOAD1" value="0x481" />
+ <value name="ADD" value="0x100" />
+ <value name="SUB" value="0x101" />
+ <value name="AND" value="0x102" />
+ <value name="OR" value="0x103" />
+ <value name="XOR" value="0x104" />
+ <value name="STORE" value="0x180" />
+ <value name="STOREINV" value="0x580" />
+ </field>
+ </struct>
+ <struct name="RENDER_SURFACE_STATE" length="8">
+ <field name="Cube Face Enable - Positive Z" dword="0" bits="0:0" type="bool" />
+ <field name="Cube Face Enable - Negative Z" dword="0" bits="1:1" type="bool" />
+ <field name="Cube Face Enable - Positive Y" dword="0" bits="2:2" type="bool" />
+ <field name="Cube Face Enable - Negative Y" dword="0" bits="3:3" type="bool" />
+ <field name="Cube Face Enable - Positive X" dword="0" bits="4:4" type="bool" />
+ <field name="Cube Face Enable - Negative X" dword="0" bits="5:5" type="bool" />
+ <field name="Media Boundary Pixel Mode" dword="0" bits="7:6" type="uint">
+ <value name="NORMAL_MODE" value="0" />
+ <value name="PROGRESSIVE_FRAME" value="2" />
+ <value name="INTERLACED_FRAME" value="3" />
+ </field>
+ <field name="Render Cache Read Write Mode" dword="0" bits="8:8" type="uint" />
+ <field name="Surface Array Spacing" dword="0" bits="10:10" type="uint">
+ <value name="ARYSPC_FULL" value="0" />
+ <value name="ARYSPC_LOD0" value="1" />
+ </field>
+ <field name="Vertical Line Stride Offset" dword="0" bits="11:11" type="uint" />
+ <field name="Vertical Line Stride" dword="0" bits="12:12" type="uint" />
+ <field name="Tile Walk" dword="0" bits="13:13" type="uint">
+ <value name="TILEWALK_XMAJOR" value="0" />
+ <value name="TILEWALK_YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="0" bits="14:14" type="bool" />
+ <field name="Surface Horizontal Alignment" dword="0" bits="15:15" type="uint">
+ <value name="HALIGN_4" value="0" />
+ <value name="HALIGN_8" value="1" />
+ </field>
+ <field name="Surface Vertical Alignment" dword="0" bits="17:16" type="uint">
+ <value name="VALIGN_2" value="0" />
+ <value name="VALIGN_4" value="1" />
+ </field>
+ <field name="Surface Format" dword="0" bits="26:18" type="uint" />
+ <field name="Surface Array" dword="0" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="0" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_BUFFER" value="4" />
+ <value name="SURFTYPE_STRBUF" value="5" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="1" bits="31:0" type="address" />
+ <field name="Width" dword="2" bits="13:0" type="uint" />
+ <field name="Height" dword="2" bits="29:16" type="uint" />
+ <field name="Surface Pitch" dword="3" bits="17:0" type="uint" />
+ <field name="Integer Surface Format" dword="3" bits="20:18" type="uint" />
+ <field name="Depth" dword="3" bits="31:21" type="uint" />
+ <field name="Multisample Position Palette Index" dword="4" bits="2:0" type="uint" />
+ <field name="Strbuf Minimum Array Element" dword="4" bits="26:0" type="uint" />
+ <field name="Number of Multisamples" dword="4" bits="5:3" type="uint">
+ <value name="MULTISAMPLECOUNT_1" value="0" />
+ <value name="MULTISAMPLECOUNT_4" value="2" />
+ <value name="MULTISAMPLECOUNT_8" value="3" />
+ </field>
+ <field name="Multisampled Surface Storage Format" dword="4" bits="6:6" type="uint">
+ <value name="MSFMT_MSS" value="0" />
+ <value name="MSFMT_DEPTH_STENCIL" value="1" />
+ </field>
+ <field name="Render Target View Extent" dword="4" bits="17:7" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="28:18" type="uint" />
+ <field name="Render Target Rotation" dword="4" bits="30:29" type="uint">
+ <value name="RTROTATE_0DEG" value="0" />
+ <value name="RTROTATE_90DEG" value="1" />
+ <value name="RTROTATE_270DEG" value="3" />
+ </field>
+ <field name="MIP Count / LOD" dword="5" bits="3:0" type="uint" />
+ <field name="Surface Min LOD" dword="5" bits="7:4" type="uint" />
+ <field name="MOCS" dword="5" bits="19:16" type="uint" nonzero="true" />
+ <field name="Y Offset" dword="5" bits="23:20" type="uint" />
+ <field name="X Offset" dword="5" bits="31:25" type="uint" />
+ <field name="MCS Enable" dword="6" bits="0:0" type="bool" />
+ <field name="Y Offset for UV Plane" dword="6" bits="13:0" type="uint" />
+ <field name="Append Counter Enable" dword="6" bits="1:1" type="bool" />
+ <field name="Auxiliary Surface Pitch" dword="6" bits="11:3" type="uint" />
+ <field name="Append Counter Address" dword="6" bits="31:6" type="address" />
+ <field name="Auxiliary Surface Base Address" dword="6" bits="31:12" type="address" />
+ <field name="X Offset for UV Plane" dword="6" bits="29:16" type="uint" />
+ <field name="Reserved: MBZ" dword="6" bits="31:30" type="uint" />
+ <field name="Resource Min LOD" dword="7" bits="11:0" type="u4.8" />
+ <field name="Shader Channel Select Alpha" dword="7" bits="18:16" type="Shader Channel Select" />
+ <field name="Shader Channel Select Blue" dword="7" bits="21:19" type="Shader Channel Select" />
+ <field name="Shader Channel Select Green" dword="7" bits="24:22" type="Shader Channel Select" />
+ <field name="Shader Channel Select Red" dword="7" bits="27:25" type="Shader Channel Select" />
+ <field name="Alpha Clear Color" dword="7" bits="28:28" type="uint" />
+ <field name="Blue Clear Color" dword="7" bits="29:29" type="uint" />
+ <field name="Green Clear Color" dword="7" bits="30:30" type="uint" />
+ <field name="Red Clear Color" dword="7" bits="31:31" type="uint" />
+ </struct>
+ <struct name="SAMPLER_BORDER_COLOR_STATE" length="20">
+ <field name="Border Color Float Red" dword="0" bits="31:0" type="float" />
+ <field name="Border Color Float Green" dword="1" bits="31:0" type="float" />
+ <field name="Border Color Float Blue" dword="2" bits="31:0" type="float" />
+ <field name="Border Color Float Alpha" dword="3" bits="31:0" type="float" />
+ <field name="Border Color 8bit Red" dword="16" bits="7:0" type="uint" />
+ <field name="Border Color 16bit Red" dword="16" bits="15:0" type="uint" />
+ <field name="Border Color 32bit Red" dword="16" bits="31:0" type="uint" />
+ <field name="Border Color 8bit Green" dword="16" bits="15:8" type="uint" />
+ <field name="Border Color 8bit Blue" dword="16" bits="23:16" type="uint" />
+ <field name="Border Color 16bit Green" dword="16" bits="31:16" type="uint" />
+ <field name="Border Color 8bit Alpha" dword="16" bits="31:24" type="uint" />
+ <field name="Border Color 32bit Green" dword="17" bits="31:0" type="uint" />
+ <field name="Border Color 16bit Blue" dword="18" bits="15:0" type="uint" />
+ <field name="Border Color 32bit Blue" dword="18" bits="31:0" type="uint" />
+ <field name="Border Color 16bit Alpha" dword="18" bits="31:16" type="uint" />
+ <field name="Border Color 32bit Alpha" dword="19" bits="31:0" type="uint" />
+ </struct>
+ <struct name="SAMPLER_STATE" length="4">
+ <field name="Anisotropic Algorithm" dword="0" bits="0:0" type="uint">
+ <value name="LEGACY" value="0" />
+ <value name="EWA Approximation" value="1" />
+ </field>
+ <field name="Texture LOD Bias" dword="0" bits="13:1" type="s4.8" />
+ <field name="Min Mode Filter" dword="0" bits="16:14" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mag Mode Filter" dword="0" bits="19:17" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mip Mode Filter" dword="0" bits="21:20" type="uint" prefix="MIPFILTER">
+ <value name="NONE" value="0" />
+ <value name="NEAREST" value="1" />
+ <value name="LINEAR" value="3" />
+ </field>
+ <field name="Base Mip Level" dword="0" bits="26:22" type="u4.1" />
+ <field name="LOD PreClamp Enable" dword="0" bits="28:28" type="uint" prefix="CLAMP_ENABLE">
+ <value name="OGL" value="1" />
+ </field>
+ <field name="Texture Border Color Mode" dword="0" bits="29:29" type="uint">
+ <value name="DX10/OGL" value="0" />
+ <value name="DX9" value="1" />
+ </field>
+ <field name="Sampler Disable" dword="0" bits="31:31" type="bool" />
+ <field name="Cube Surface Control Mode" dword="1" bits="0:0" type="uint">
+ <value name="PROGRAMMED" value="0" />
+ <value name="OVERRIDE" value="1" />
+ </field>
+ <field name="Shadow Function" dword="1" bits="3:1" type="uint" prefix="PREFILTEROP">
+ <value name="ALWAYS" value="0" />
+ <value name="NEVER" value="1" />
+ <value name="LESS" value="2" />
+ <value name="EQUAL" value="3" />
+ <value name="LEQUAL" value="4" />
+ <value name="GREATER" value="5" />
+ <value name="NOTEQUAL" value="6" />
+ <value name="GEQUAL" value="7" />
+ </field>
+ <field name="Max LOD" dword="1" bits="19:8" type="u4.8" />
+ <field name="Min LOD" dword="1" bits="31:20" type="u4.8" />
+ <field name="Border Color Pointer" dword="2" bits="31:5" type="offset" />
+ <field name="TCZ Address Control Mode" dword="3" bits="2:0" type="Texture Coordinate Mode" />
+ <field name="TCY Address Control Mode" dword="3" bits="5:3" type="Texture Coordinate Mode" />
+ <field name="TCX Address Control Mode" dword="3" bits="8:6" type="Texture Coordinate Mode" />
+ <field name="Non-normalized Coordinate Enable" dword="3" bits="10:10" type="bool" />
+ <field name="Trilinear Filter Quality" dword="3" bits="12:11" type="uint">
+ <value name="FULL" value="0" />
+ <value name="TRIQUAL_HIGH/MAG_CLAMP_MIPFILTER" value="1" />
+ <value name="MED" value="2" />
+ <value name="LOW" value="3" />
+ </field>
+ <field name="R Address Min Filter Rounding Enable" dword="3" bits="13:13" type="bool" />
+ <field name="R Address Mag Filter Rounding Enable" dword="3" bits="14:14" type="bool" />
+ <field name="V Address Min Filter Rounding Enable" dword="3" bits="15:15" type="bool" />
+ <field name="V Address Mag Filter Rounding Enable" dword="3" bits="16:16" type="bool" />
+ <field name="U Address Min Filter Rounding Enable" dword="3" bits="17:17" type="bool" />
+ <field name="U Address Mag Filter Rounding Enable" dword="3" bits="18:18" type="bool" />
+ <field name="Maximum Anisotropy" dword="3" bits="21:19" type="uint">
+ <value name="RATIO 2:1" value="0" />
+ <value name="RATIO 4:1" value="1" />
+ <value name="RATIO 6:1" value="2" />
+ <value name="RATIO 8:1" value="3" />
+ <value name="RATIO 10:1" value="4" />
+ <value name="RATIO 12:1" value="5" />
+ <value name="RATIO 14:1" value="6" />
+ <value name="RATIO 16:1" value="7" />
+ </field>
+ <field name="ChromaKey Mode" dword="3" bits="22:22" type="uint">
+ <value name="KEYFILTER_KILL_ON_ANY_MATCH" value="0" />
+ <value name="KEYFILTER_REPLACE_BLACK" value="1" />
+ </field>
+ <field name="ChromaKey Index" dword="3" bits="24:23" type="uint" />
+ <field name="ChromaKey Enable" dword="3" bits="25:25" type="bool" />
+ </struct>
+ <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="UAV Coherency Required" dword="0" bits="9:9" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Primitive Topology Type" dword="1" bits="5:0" type="3D_Prim_Topo_Type" />
+ <field name="Vertex Access Type" dword="1" bits="8:8" type="uint">
+ <value name="SEQUENTIAL" value="0" />
+ <value name="RANDOM" value="1" />
+ </field>
+ <field name="End Offset Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Vertex Count Per Instance" dword="2" bits="31:0" type="uint" />
+ <field name="Start Vertex Location" dword="3" bits="31:0" type="uint" />
+ <field name="Instance Count" dword="4" bits="31:0" type="uint" />
+ <field name="Start Instance Location" dword="5" bits="31:0" type="uint" />
+ <field name="Base Vertex Location" dword="6" bits="31:0" type="int" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_EDIT_DS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="8:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="70" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Binding Table Edit Target" dword="1" bits="1:0" type="uint">
+ <value name="All Cores" value="3" />
+ <value name="Core 1" value="2" />
+ <value name="Core 0" value="1" />
+ </field>
+ <field name="Binding Table Block Clear" dword="1" bits="31:16" type="uint" />
+ <group count="0" dword="2" size="32">
+ <field name="Entry [n]" dword="0" bits="31:0" type="BINDING_TABLE_EDIT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_EDIT_GS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="8:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="68" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Binding Table Edit Target" dword="1" bits="1:0" type="uint">
+ <value name="All Cores" value="3" />
+ <value name="Core 1" value="2" />
+ <value name="Core 0" value="1" />
+ </field>
+ <field name="Binding Table Block Clear" dword="1" bits="31:16" type="uint" />
+ <group count="0" dword="2" size="32">
+ <field name="Entry [n]" dword="0" bits="31:0" type="BINDING_TABLE_EDIT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_EDIT_HS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="8:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="69" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Binding Table Edit Target" dword="1" bits="1:0" type="uint">
+ <value name="All Cores" value="3" />
+ <value name="Core 1" value="2" />
+ <value name="Core 0" value="1" />
+ </field>
+ <field name="Binding Table Block Clear" dword="1" bits="31:16" type="uint" />
+ <group count="0" dword="2" size="32">
+ <field name="Entry [n]" dword="0" bits="31:0" type="BINDING_TABLE_EDIT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_EDIT_PS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="8:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="71" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Binding Table Edit Target" dword="1" bits="1:0" type="uint">
+ <value name="All Cores" value="3" />
+ <value name="Core 1" value="2" />
+ <value name="Core 0" value="1" />
+ </field>
+ <field name="Binding Table Block Clear" dword="1" bits="31:16" type="uint" />
+ <group count="0" dword="2" size="32">
+ <field name="Entry [n]" dword="0" bits="31:0" type="BINDING_TABLE_EDIT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_EDIT_VS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="8:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="67" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Binding Table Edit Target" dword="1" bits="1:0" type="uint">
+ <value name="All Cores" value="3" />
+ <value name="Core 1" value="2" />
+ <value name="Core 0" value="1" />
+ </field>
+ <field name="Binding Table Block Clear" dword="1" bits="31:16" type="uint" />
+ <group count="0" dword="2" size="32">
+ <field name="Entry [n]" dword="0" bits="31:0" type="BINDING_TABLE_EDIT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="25" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MOCS" dword="1" bits="10:7" type="uint" nonzero="true" />
+ <field name="Binding Table Pool Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Binding Table Pool Base Address" dword="1" bits="31:12" type="address" />
+ <field name="Binding Table Pool Upper Bound" dword="2" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Core Mode Select" dword="0" bits="15:14" type="uint">
+ <value name="Legacy" value="0" />
+ <value name="Core 0 Enabled" value="1" />
+ <value name="Core 1 Enabled" value="2" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Clipped Drawing Rectangle X Min" dword="1" bits="15:0" type="uint" />
+ <field name="Clipped Drawing Rectangle Y Min" dword="1" bits="31:16" type="uint" />
+ <field name="Clipped Drawing Rectangle X Max" dword="2" bits="15:0" type="uint" />
+ <field name="Clipped Drawing Rectangle Y Max" dword="2" bits="31:16" type="uint" />
+ <field name="Drawing Rectangle Origin X" dword="3" bits="15:0" type="int" />
+ <field name="Drawing Rectangle Origin Y" dword="3" bits="31:16" type="int" />
+ </instruction>
+ <instruction name="3DSTATE_DS" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="29" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Accesses UAV" dword="2" bits="14:14" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="2" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="2" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="2" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="2" bits="30:30" type="bool" />
+ <field name="Single Domain Point Dispatch" dword="2" bits="31:31" type="uint" />
+ <field name="Per-Thread Scratch Space" dword="3" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="3" bits="31:10" type="address" />
+ <field name="Patch URB Entry Read Offset" dword="4" bits="9:4" type="uint" />
+ <field name="Patch URB Entry Read Length" dword="4" bits="17:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="4" bits="24:20" type="uint" />
+ <field name="Enable" dword="5" bits="0:0" type="bool" />
+ <field name="DS Cache Disable" dword="5" bits="1:1" type="bool" />
+ <field name="Compute W Coordinate Enable" dword="5" bits="2:2" type="bool" />
+ <field name="Statistics Enable" dword="5" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="5" bits="29:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="55" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="53" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="54" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="56" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="Constant Buffer Dx9 Enable" dword="2" bits="4:4" type="bool" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="52" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="Constant Buffer Dx9 Enable" dword="2" bits="4:4" type="bool" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="26" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MOCS" dword="1" bits="3:0" type="uint" nonzero="true" />
+ <field dword="1" bits="5:4" type="mbo" />
+ <field name="Gather Pool Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Gather Pool Base Address" dword="1" bits="31:12" type="address" />
+ <field name="Gather Pool Upper Bound" dword="2" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_GS" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="17" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="2" bits="11:11" type="bool" />
+ <field name="GS accesses UAV" dword="2" bits="12:12" type="uint" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="2" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="2" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="2" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="2" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="2" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="3" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="3" bits="31:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="4" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="4" bits="9:4" type="uint" />
+ <field name="Include Vertex Handles" dword="4" bits="10:10" type="bool" />
+ <field name="Vertex URB Entry Read Length" dword="4" bits="16:11" type="uint" />
+ <field name="Output Topology" dword="4" bits="22:17" type="3D_Prim_Topo_Type" />
+ <field name="Output Vertex Size" dword="4" bits="28:23" type="uint" />
+ <field name="Enable" dword="5" bits="0:0" type="bool" />
+ <field name="Discard Adjacency" dword="5" bits="1:1" type="bool" />
+ <field name="Reorder Mode" dword="5" bits="2:2" type="uint">
+ <value name="LEADING" value="0" />
+ <value name="TRAILING" value="1" />
+ </field>
+ <field name="Hint" dword="5" bits="3:3" type="uint" />
+ <field name="Include Primitive ID" dword="5" bits="4:4" type="bool" />
+ <field name="GS Invocations Increment Value" dword="5" bits="9:5" type="uint" />
+ <field name="Statistics Enable" dword="5" bits="10:10" type="uint" />
+ <field name="Dispatch Mode" dword="5" bits="12:11" type="uint" prefix="DISPATCH_MODE">
+ <value name="SINGLE" value="0" />
+ <value name="DUAL_INSTANCE" value="1" />
+ <value name="DUAL_OBJECT" value="2" />
+ </field>
+ <field name="Default StreamID" dword="5" bits="14:13" type="uint" />
+ <field name="Instance Control" dword="5" bits="19:15" type="uint" />
+ <field name="Control Data Header Size" dword="5" bits="23:20" type="uint" />
+ <field name="Maximum Number of Threads" dword="5" bits="31:24" type="uint" />
+ <field name="Semaphore Handle" dword="6" bits="12:0" type="offset" />
+ <field name="Control Data Format" dword="6" bits="31:31" type="uint">
+ <value name="GSCTL_CUT" value="0" />
+ <value name="GSCTL_SID" value="1" />
+ </field>
+ </instruction>
+ <instruction name="3DSTATE_HS" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="27" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Maximum Number of Threads" dword="1" bits="7:0" type="uint" />
+ <field name="Software Exception Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="1" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="1" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Instance Count" dword="2" bits="3:0" type="uint" />
+ <field name="Statistics Enable" dword="2" bits="29:29" type="bool" />
+ <field name="Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Kernel Start Pointer" dword="3" bits="31:6" type="offset" />
+ <field name="Per-Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="31:10" type="address" />
+ <field name="Vertex URB Entry Read Offset" dword="5" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="5" bits="16:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="5" bits="23:19" type="uint" />
+ <field name="Include Vertex Handles" dword="5" bits="24:24" type="bool" />
+ <field name="HS accesses UAV" dword="5" bits="25:25" type="bool" />
+ <field name="Vector Mask Enable" dword="5" bits="26:26" type="bool" />
+ <field name="Single Program Flow" dword="5" bits="27:27" type="bool" />
+ <field name="Semaphore Handle" dword="6" bits="12:0" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Index Format" dword="0" bits="9:8" type="uint" prefix="INDEX">
+ <value name="BYTE" value="0" />
+ <value name="WORD" value="1" />
+ <value name="DWORD" value="2" />
+ </field>
+ <field name="MOCS" dword="0" bits="15:12" type="uint" nonzero="true" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="10" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Buffer Starting Address" dword="1" bits="31:0" type="address" />
+ <field name="Buffer Ending Address" dword="2" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="13" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Number of Multisamples" dword="1" bits="3:1" type="uint">
+ <value name="NUMSAMPLES_1" value="0" />
+ <value name="NUMSAMPLES_4" value="2" />
+ <value name="NUMSAMPLES_8" value="3" />
+ </field>
+ <field name="Pixel Location" dword="1" bits="4:4" type="uint">
+ <value name="CENTER" value="0" />
+ <value name="UL_CORNER" value="1" />
+ </field>
+ <field name="Multi Sample Enable" dword="1" bits="5:5" type="bool" />
+ <field name="Sample0 Y Offset" dword="2" bits="3:0" type="u0.4" />
+ <field name="Sample0 X Offset" dword="2" bits="7:4" type="u0.4" />
+ <field name="Sample1 Y Offset" dword="2" bits="11:8" type="u0.4" />
+ <field name="Sample1 X Offset" dword="2" bits="15:12" type="u0.4" />
+ <field name="Sample2 Y Offset" dword="2" bits="19:16" type="u0.4" />
+ <field name="Sample2 X Offset" dword="2" bits="23:20" type="u0.4" />
+ <field name="Sample3 Y Offset" dword="2" bits="27:24" type="u0.4" />
+ <field name="Sample3 X Offset" dword="2" bits="31:28" type="u0.4" />
+ <field name="Sample4 Y Offset" dword="3" bits="3:0" type="u0.4" />
+ <field name="Sample4 X Offset" dword="3" bits="7:4" type="u0.4" />
+ <field name="Sample5 Y Offset" dword="3" bits="11:8" type="u0.4" />
+ <field name="Sample5 X Offset" dword="3" bits="15:12" type="u0.4" />
+ <field name="Sample6 Y Offset" dword="3" bits="19:16" type="u0.4" />
+ <field name="Sample6 X Offset" dword="3" bits="23:20" type="u0.4" />
+ <field name="Sample7 Y Offset" dword="3" bits="27:24" type="u0.4" />
+ <field name="Sample7 X Offset" dword="3" bits="31:28" type="u0.4" />
+ </instruction>
+ <instruction name="3DSTATE_PS" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="32" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer 0" dword="1" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Rounding Mode" dword="2" bits="15:14" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="2" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="2" bits="25:18" type="uint" />
+ <field name="Denormal Mode" dword="2" bits="26:26" type="uint">
+ <value name="FTZ" value="0" />
+ <value name="RET" value="1" />
+ </field>
+ <field name="Sampler Count" dword="2" bits="29:27" type="uint" />
+ <field name="Vector Mask Enable" dword="2" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="2" bits="31:31" type="bool" />
+ <field name="Per Thread Scratch Space" dword="3" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="3" bits="31:10" type="address" />
+ <field name="8 Pixel Dispatch Enable" dword="4" bits="0:0" type="bool" />
+ <field name="16 Pixel Dispatch Enable" dword="4" bits="1:1" type="bool" />
+ <field name="32 Pixel Dispatch Enable" dword="4" bits="2:2" type="bool" />
+ <field name="Position XY Offset Select" dword="4" bits="4:3" type="uint">
+ <value name="POSOFFSET_NONE" value="0" />
+ <value name="POSOFFSET_CENTROID" value="2" />
+ <value name="POSOFFSET_SAMPLE" value="3" />
+ </field>
+ <field name="PS Accesses UAV" dword="4" bits="5:5" type="bool" />
+ <field name="Render Target Resolve Enable" dword="4" bits="6:6" type="bool" />
+ <field name="Dual Source Blend Enable" dword="4" bits="7:7" type="bool" />
+ <field name="Render Target Fast Clear Enable" dword="4" bits="8:8" type="bool" />
+ <field name="oMask Present to RenderTarget" dword="4" bits="9:9" type="bool" />
+ <field name="Attribute Enable" dword="4" bits="10:10" type="bool" />
+ <field name="Push Constant Enable" dword="4" bits="11:11" type="bool" />
+ <field name="Sample Mask" dword="4" bits="19:12" type="uint" />
+ <field name="Maximum Number of Threads" dword="4" bits="31:23" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 2" dword="5" bits="6:0" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 1" dword="5" bits="14:8" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="5" bits="22:16" type="uint" />
+ <field name="Kernel Start Pointer 1" dword="6" bits="31:6" type="offset" />
+ <field name="Kernel Start Pointer 2" dword="7" bits="31:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="20" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Size" dword="1" bits="5:0" type="uint" />
+ <field name="Constant Buffer Offset" dword="1" bits="20:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="21" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Size" dword="1" bits="5:0" type="uint" />
+ <field name="Constant Buffer Offset" dword="1" bits="20:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="19" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Size" dword="1" bits="5:0" type="uint" />
+ <field name="Constant Buffer Offset" dword="1" bits="20:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="22" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Size" dword="1" bits="5:0" type="uint" />
+ <field name="Constant Buffer Offset" dword="1" bits="20:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="18" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Size" dword="1" bits="5:0" type="uint" />
+ <field name="Constant Buffer Offset" dword="1" bits="20:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_RAST_MULTISAMPLE" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="14" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Number of Rasterization Multisamples" dword="1" bits="3:1" type="uint" prefix="NRM">
+ <value name="NUMRASTSAMPLES_1" value="0" />
+ <value name="NUMRASTSAMPLES_2" value="1" />
+ <value name="NUMRASTSAMPLES_4" value="2" />
+ <value name="NUMRASTSAMPLES_8" value="3" />
+ <value name="NUMRASTSAMPLES_16" value="4" />
+ </field>
+ <field name="Sample0 Y Offset" dword="2" bits="3:0" type="u0.4" />
+ <field name="Sample0 X Offset" dword="2" bits="7:4" type="u0.4" />
+ <field name="Sample1 Y Offset" dword="2" bits="11:8" type="u0.4" />
+ <field name="Sample1 X Offset" dword="2" bits="15:12" type="u0.4" />
+ <field name="Sample2 Y Offset" dword="2" bits="19:16" type="u0.4" />
+ <field name="Sample2 X Offset" dword="2" bits="23:20" type="u0.4" />
+ <field name="Sample3 Y Offset" dword="2" bits="27:24" type="u0.4" />
+ <field name="Sample3 X Offset" dword="2" bits="31:28" type="u0.4" />
+ <field name="Sample4 Y Offset" dword="3" bits="3:0" type="u0.4" />
+ <field name="Sample4 X Offset" dword="3" bits="7:4" type="u0.4" />
+ <field name="Sample5 Y Offset" dword="3" bits="11:8" type="u0.4" />
+ <field name="Sample5 X Offset" dword="3" bits="15:12" type="u0.4" />
+ <field name="Sample6 Y Offset" dword="3" bits="19:16" type="u0.4" />
+ <field name="Sample6 X Offset" dword="3" bits="23:20" type="u0.4" />
+ <field name="Sample7 Y Offset" dword="3" bits="27:24" type="u0.4" />
+ <field name="Sample7 X Offset" dword="3" bits="31:28" type="u0.4" />
+ <field name="Sample8 Y Offset" dword="4" bits="3:0" type="u0.4" />
+ <field name="Sample8 X Offset" dword="4" bits="7:4" type="u0.4" />
+ <field name="Sample9 Y Offset" dword="4" bits="11:8" type="u0.4" />
+ <field name="Sample9 X Offset" dword="4" bits="15:12" type="u0.4" />
+ <field name="Sample10 Y Offset" dword="4" bits="19:16" type="u0.4" />
+ <field name="Sample10 X Offset" dword="4" bits="23:20" type="u0.4" />
+ <field name="Sample11 Y Offset" dword="4" bits="27:24" type="u0.4" />
+ <field name="Sample11 X Offset" dword="4" bits="31:28" type="u0.4" />
+ <field name="Sample12 Y Offset" dword="5" bits="3:0" type="u0.4" />
+ <field name="Sample12 X Offset" dword="5" bits="7:4" type="u0.4" />
+ <field name="Sample13 Y Offset" dword="5" bits="11:8" type="u0.4" />
+ <field name="Sample13 X Offset" dword="5" bits="15:12" type="u0.4" />
+ <field name="Sample14 Y Offset" dword="5" bits="19:16" type="u0.4" />
+ <field name="Sample14 X Offset" dword="5" bits="23:20" type="u0.4" />
+ <field name="Sample15 Y Offset" dword="5" bits="27:24" type="u0.4" />
+ <field name="Sample15 X Offset" dword="5" bits="31:28" type="u0.4" />
+ </instruction>
+ <instruction name="3DSTATE_SBE" bias="2" length="14" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="12" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="31" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Vertex URB Entry Read Offset" dword="1" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="1" bits="15:11" type="uint" />
+ <field name="Point Sprite Texture Coordinate Origin" dword="1" bits="20:20" type="uint">
+ <value name="UPPERLEFT" value="0" />
+ <value name="LOWERLEFT" value="1" />
+ </field>
+ <field name="Attribute Swizzle Enable" dword="1" bits="21:21" type="bool" />
+ <field name="Number of SF Output Attributes" dword="1" bits="27:22" type="uint" />
+ <field name="Attribute Swizzle Control Mode" dword="1" bits="28:28" type="uint" />
+ <group count="16" dword="2" size="16">
+ <field name="Attribute" dword="0" bits="15:0" type="SF_OUTPUT_ATTRIBUTE_DETAIL" />
+ </group>
+ <field name="Point Sprite Texture Coordinate Enable" dword="10" bits="31:0" type="uint" />
+ <field name="Constant Interpolation Enable" dword="11" bits="31:0" type="uint" />
+ <field name="Attribute 0 WrapShortest Enables" dword="12" bits="3:0" type="uint" />
+ <field name="Attribute 1 WrapShortest Enables" dword="12" bits="7:4" type="uint" />
+ <field name="Attribute 2 WrapShortest Enables" dword="12" bits="11:8" type="uint" />
+ <field name="Attribute 3 WrapShortest Enables" dword="12" bits="15:12" type="uint" />
+ <field name="Attribute 4 WrapShortest Enables" dword="12" bits="19:16" type="uint" />
+ <field name="Attribute 5 WrapShortest Enables" dword="12" bits="23:20" type="uint" />
+ <field name="Attribute 6 WrapShortest Enables" dword="12" bits="27:24" type="uint" />
+ <field name="Attribute 7 WrapShortest Enables" dword="12" bits="31:28" type="uint" />
+ <field name="Attribute 8 WrapShortest Enables" dword="13" bits="3:0" type="uint" />
+ <field name="Attribute 9 WrapShortest Enables" dword="13" bits="7:4" type="uint" />
+ <field name="Attribute 10 WrapShortest Enables" dword="13" bits="11:8" type="uint" />
+ <field name="Attribute 11 WrapShortest Enables" dword="13" bits="15:12" type="uint" />
+ <field name="Attribute 12 WrapShortest Enables" dword="13" bits="19:16" type="uint" />
+ <field name="Attribute 13 WrapShortest Enables" dword="13" bits="23:20" type="uint" />
+ <field name="Attribute 14 WrapShortest Enables" dword="13" bits="27:24" type="uint" />
+ <field name="Attribute 15 WrapShortest Enables" dword="13" bits="31:28" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_SF" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="19" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Front Winding" dword="1" bits="0:0" type="uint" />
+ <field name="Viewport Transform Enable" dword="1" bits="1:1" type="bool" />
+ <field name="BackFace Fill Mode" dword="1" bits="4:3" type="uint" prefix="FILL_MODE">
+ <value name="SOLID" value="0" />
+ <value name="WIREFRAME" value="1" />
+ <value name="POINT" value="2" />
+ </field>
+ <field name="FrontFace Fill Mode" dword="1" bits="6:5" type="uint" prefix="FILL_MODE">
+ <value name="SOLID" value="0" />
+ <value name="WIREFRAME" value="1" />
+ <value name="POINT" value="2" />
+ </field>
+ <field name="Global Depth Offset Enable Point" dword="1" bits="7:7" type="bool" />
+ <field name="Global Depth Offset Enable Wireframe" dword="1" bits="8:8" type="bool" />
+ <field name="Global Depth Offset Enable Solid" dword="1" bits="9:9" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Legacy Global Depth Bias Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Depth Buffer Surface Format" dword="1" bits="14:12" type="uint">
+ <value name="D32_FLOAT_S8X24_UINT" value="0" />
+ <value name="D32_FLOAT" value="1" />
+ <value name="D24_UNORM_S8_UINT" value="2" />
+ <value name="D24_UNORM_X8_UINT" value="3" />
+ <value name="D16_UNORM" value="5" />
+ </field>
+ <field name="Multisample Rasterization Mode" dword="2" bits="9:8" type="uint" />
+ <field name="RT Independent Rasterization Enable" dword="2" bits="10:10" type="bool" />
+ <field name="Scissor Rectangle Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Line Stipple Enable" dword="2" bits="14:14" type="bool" />
+ <field name="Line End Cap Antialiasing Region Width" dword="2" bits="17:16" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line Width" dword="2" bits="27:18" type="u3.7" />
+ <field name="Cull Mode" dword="2" bits="30:29" type="uint" prefix="CULLMODE">
+ <value name="BOTH" value="0" />
+ <value name="NONE" value="1" />
+ <value name="FRONT" value="2" />
+ <value name="BACK" value="3" />
+ </field>
+ <field name="Antialiasing Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Point Width" dword="3" bits="10:0" type="u8.3" />
+ <field name="Point Width Source" dword="3" bits="11:11" type="uint">
+ <value name="Vertex" value="0" />
+ <value name="State" value="1" />
+ </field>
+ <field name="Vertex Sub Pixel Precision Select" dword="3" bits="12:12" type="uint">
+ <value name="8 Bit" value="0" />
+ <value name="4 Bit" value="1" />
+ </field>
+ <field name="AA Line Distance Mode" dword="3" bits="14:14" type="uint">
+ <value name="AALINEDISTANCE_TRUE" value="1" />
+ </field>
+ <field name="Triangle Fan Provoking Vertex Select" dword="3" bits="26:25" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Line Strip/List Provoking Vertex Select" dword="3" bits="28:27" type="uint" />
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="3" bits="30:29" type="uint">
+ <value name="Vertex 0" value="0" />
+ <value name="Vertex 1" value="1" />
+ <value name="Vertex 2" value="2" />
+ </field>
+ <field name="Last Pixel Enable" dword="3" bits="31:31" type="bool" />
+ <field name="Global Depth Offset Constant" dword="4" bits="31:0" type="float" />
+ <field name="Global Depth Offset Scale" dword="5" bits="31:0" type="float" />
+ <field name="Global Depth Offset Clamp" dword="6" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="MOCS" dword="1" bits="28:25" type="uint" nonzero="true" />
+ <field name="Stencil Buffer Enable" dword="1" bits="31:31" type="bool" />
+ <field name="Surface Base Address" dword="2" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_URB_DS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="50" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="DS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="DS URB Entry Allocation Size" dword="1" bits="24:16" type="uint" />
+ <field name="DS URB Starting Address" dword="1" bits="30:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_GS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="51" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="GS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="GS URB Entry Allocation Size" dword="1" bits="24:16" type="uint" />
+ <field name="GS URB Starting Address" dword="1" bits="30:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_HS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="49" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="HS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="HS URB Entry Allocation Size" dword="1" bits="24:16" type="uint" />
+ <field name="HS URB Starting Address" dword="1" bits="30:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_VS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="48" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="VS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="VS URB Entry Allocation Size" dword="1" bits="24:16" type="uint" />
+ <field name="VS URB Starting Address" dword="1" bits="30:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VF" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Indexed Draw Cut Index Enable" dword="0" bits="8:8" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="12" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Cut Index" dword="1" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VS" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="16" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="VS accesses UAV" dword="2" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="2" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="2" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="2" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="2" bits="30:30" type="bool" />
+ <field name="Single Vertex Dispatch" dword="2" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="3" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="3" bits="31:10" type="address" />
+ <field name="Vertex URB Entry Read Offset" dword="4" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="4" bits="16:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="4" bits="24:20" type="uint" />
+ <field name="Enable" dword="5" bits="0:0" type="bool" />
+ <field name="Vertex Cache Disable" dword="5" bits="1:1" type="bool" />
+ <field name="Statistics Enable" dword="5" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="5" bits="31:23" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_WM" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="20" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Multisample Rasterization Mode" dword="1" bits="1:0" type="uint">
+ <value name="MSRASTMODE_OFF_PIXEL" value="0" />
+ <value name="MSRASTMODE_OFF_PATTERN" value="1" />
+ <value name="MSRASTMODE_ON_PIXEL" value="2" />
+ <value name="MSRASTMODE_ON_PATTERN" value="3" />
+ </field>
+ <field name="Point Rasterization Rule" dword="1" bits="2:2" type="uint">
+ <value name="RASTRULE_UPPER_LEFT" value="0" />
+ <value name="RASTRULE_UPPER_RIGHT" value="1" />
+ </field>
+ <field name="Line Stipple Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Polygon Stipple Enable" dword="1" bits="4:4" type="bool" />
+ <field name="RT Independent Rasterization Enable" dword="1" bits="5:5" type="bool" />
+ <field name="Line Antialiasing Region Width" dword="1" bits="7:6" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line End Cap Antialiasing Region Width" dword="1" bits="9:8" type="uint" />
+ <field name="Pixel Shader Uses Input Coverage Mask" dword="1" bits="10:10" type="bool" />
+ <field name="Barycentric Interpolation Mode" dword="1" bits="16:11" type="uint">
+ <value name="BIM_PERSPECTIVE_PIXEL" value="1" />
+ <value name="BIM_PERSPECTIVE_CENTROID" value="2" />
+ <value name="BIM_PERSPECTIVE_SAMPLE" value="4" />
+ <value name="BIM_LINEAR_PIXEL" value="8" />
+ <value name="BIM_LINEAR_CENTROID" value="16" />
+ <value name="BIM_LINEAR_SAMPLE" value="32" />
+ </field>
+ <field name="Position ZW Interpolation Mode" dword="1" bits="18:17" type="uint">
+ <value name="INTERP_PIXEL" value="0" />
+ <value name="INTERP_CENTROID" value="2" />
+ <value name="INTERP_SAMPLE" value="3" />
+ </field>
+ <field name="Pixel Shader Uses Source W" dword="1" bits="19:19" type="bool" />
+ <field name="Pixel Shader Uses Source Depth" dword="1" bits="20:20" type="bool" />
+ <field name="Early Depth/Stencil Control" dword="1" bits="22:21" type="uint">
+ <value name="EDSC_NORMAL" value="0" />
+ <value name="EDSC_PSEXEC" value="1" />
+ <value name="EDSC_PREPS" value="2" />
+ </field>
+ <field name="Pixel Shader Computed Depth Mode" dword="1" bits="24:23" type="uint">
+ <value name="PSCDEPTH_OFF" value="0" />
+ <value name="PSCDEPTH_ON" value="1" />
+ <value name="PSCDEPTH_ON_GE" value="2" />
+ <value name="PSCDEPTH_ON_LE" value="3" />
+ </field>
+ <field name="Pixel Shader Kills Pixel" dword="1" bits="25:25" type="bool" />
+ <field name="Legacy Diamond Line Rasterization" dword="1" bits="26:26" type="bool" />
+ <field name="Hierarchical Depth Buffer Resolve Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Depth Buffer Resolve Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Thread Dispatch Enable" dword="1" bits="29:29" type="bool" />
+ <field name="Depth Buffer Clear" dword="1" bits="30:30" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="31:31" type="bool" />
+ <field name="PS UAV-only" dword="2" bits="30:30" type="uint">
+ <value name="OFF" value="0" />
+ <value name="ON" value="1" />
+ </field>
+ <field name="Multisample Dispatch Mode" dword="2" bits="31:31" type="uint">
+ <value name="MSDISPMODE_PERSAMPLE" value="0" />
+ <value name="MSDISPMODE_PERPIXEL" value="1" />
+ </field>
+ </instruction>
+ <instruction name="GPGPU_CSR_BASE_ADDRESS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="GPGPU CSR Base Address" dword="1" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="GPGPU_OBJECT" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Shared Local Memory Fixed Offset" dword="1" bits="7:7" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="Half-Slice Destination Select" dword="2" bits="18:17" type="uint">
+ <value name="Half-Slice 1" value="2" />
+ <value name="Half-Slice 0" value="1" />
+ <value name="Either Half-Slice" value="0" />
+ </field>
+ <field name="Slice Destination Select" dword="2" bits="19:19" type="uint">
+ <value name="Slice 0" value="0" />
+ <value name="Slice 1" value="1" />
+ </field>
+ <field name="End of Thread Group" dword="2" bits="24:24" type="uint" />
+ <field name="Shared Local Memory Offset" dword="2" bits="31:28" type="uint" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="offset" />
+ <field name="Thread Group ID X" dword="4" bits="31:0" type="uint" />
+ <field name="Thread Group ID Y" dword="5" bits="31:0" type="uint" />
+ <field name="Thread Group ID Z" dword="6" bits="31:0" type="uint" />
+ <field name="Execution Mask" dword="7" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="GPGPU_WALKER" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="SubOpcode A" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Thread Width Counter Maximum" dword="2" bits="5:0" type="uint" />
+ <field name="Thread Height Counter Maximum" dword="2" bits="13:8" type="uint" />
+ <field name="Thread Depth Counter Maximum" dword="2" bits="21:16" type="uint" />
+ <field name="SIMD Size" dword="2" bits="31:30" type="uint">
+ <value name="SIMD8" value="0" />
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="Thread Group ID Starting X" dword="3" bits="31:0" type="uint" />
+ <field name="Thread Group ID X Dimension" dword="4" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting Y" dword="5" bits="31:0" type="uint" />
+ <field name="Thread Group ID Y Dimension" dword="6" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting Z" dword="7" bits="31:0" type="uint" />
+ <field name="Thread Group ID Z Dimension" dword="8" bits="31:0" type="uint" />
+ <field name="Right Execution Mask" dword="9" bits="31:0" type="uint" />
+ <field name="Bottom Execution Mask" dword="10" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MEDIA_OBJECT" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="4" />
+ <field name="Media Command Sub-Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Media Command Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="Half-Slice Destination Select" dword="2" bits="18:17" type="uint">
+ <value name="Half-Slice 1" value="2" />
+ <value name="Half-Slice 0" value="1" />
+ <value name="Either half-slice" value="0" />
+ </field>
+ <field name="Slice Destination Select" dword="2" bits="19:19" type="uint">
+ <value name="Slice 0" value="0" />
+ <value name="Slice 1" value="1" />
+ <value name="Either Slice" value="0" />
+ </field>
+ <field name="Use Scoreboard" dword="2" bits="21:21" type="uint">
+ <value name="Not using scoreboard" value="0" />
+ <value name="Using scoreboard" value="1" />
+ </field>
+ <field name="Thread Synchronization" dword="2" bits="24:24" type="uint">
+ <value name="No thread synchronization" value="0" />
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
+ </field>
+ <field name="Children Present" dword="2" bits="31:31" type="bool" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="address" />
+ <field name="Scoreboard X" dword="4" bits="8:0" type="uint" />
+ <field name="Scoredboard Y" dword="4" bits="24:16" type="uint" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Scoreboard Color" dword="5" bits="19:16" type="uint" />
+ <group count="0" dword="6" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="14" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="PRT_FenceType" dword="2" bits="22:22" type="uint">
+ <value name="Root thread queue" value="0" />
+ <value name="VFE state flush" value="1" />
+ </field>
+ <field name="PRT_Fence Needed" dword="2" bits="23:23" type="bool" />
+ <field name="Children Present" dword="2" bits="31:31" type="bool" />
+ <group count="12" dword="4" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="15" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="3" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="Use Scoreboard" dword="2" bits="21:21" type="uint">
+ <value name="Not using scoreboard" value="0" />
+ <value name="Using scoreboard" value="1" />
+ </field>
+ <field name="Thread Synchronization" dword="2" bits="24:24" type="uint">
+ <value name="No thread synchronization" value="0" />
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
+ </field>
+ <field name="Children Present" dword="2" bits="31:31" type="uint" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="offset" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Mid-Loop Unit X" dword="6" bits="9:8" type="int" />
+ <field name="Local Mid-Loop Unit Y" dword="6" bits="13:12" type="int" />
+ <field name="Middle Loop Extra Steps" dword="6" bits="20:16" type="uint" />
+ <field name="Color Count Minus One" dword="6" bits="27:24" type="uint" />
+ <field name="Quad Mode" dword="6" bits="29:29" type="uint" />
+ <field name="Repel" dword="6" bits="30:30" type="uint" />
+ <field name="Dual Mode" dword="6" bits="31:31" type="uint" />
+ <field name="Local Loop Exec Count" dword="7" bits="9:0" type="uint" />
+ <field name="Global Loop Exec Count" dword="7" bits="25:16" type="uint" />
+ <field name="Block Resolution X" dword="8" bits="8:0" type="uint" />
+ <field name="Block Resolution Y" dword="8" bits="24:16" type="uint" />
+ <field name="Local Start X" dword="9" bits="8:0" type="uint" />
+ <field name="Local Start Y" dword="9" bits="24:16" type="uint" />
+ <field name="Local Outer Loop Stride X" dword="11" bits="9:0" type="int" />
+ <field name="Local Outer Loop Stride Y" dword="11" bits="25:16" type="int" />
+ <field name="Local Inner Loop Unit X" dword="12" bits="9:0" type="int" />
+ <field name="Local Inner Loop Unit Y" dword="12" bits="25:16" type="int" />
+ <field name="Global Resolution X" dword="13" bits="8:0" type="uint" />
+ <field name="Global Resolution Y" dword="13" bits="24:16" type="uint" />
+ <field name="Global Start X" dword="14" bits="9:0" type="int" />
+ <field name="Global Start Y" dword="14" bits="25:16" type="int" />
+ <field name="Global Outer Loop Stride X" dword="15" bits="9:0" type="int" />
+ <field name="Global Outer Loop Stride Y" dword="15" bits="25:16" type="int" />
+ <field name="Global Inner Loop Unit X" dword="16" bits="9:0" type="int" />
+ <field name="Global Inner Loop Unit Y" dword="16" bits="25:16" type="int" />
+ <group count="0" dword="17" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="0" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Watermark Required" dword="1" bits="6:6" type="uint" />
+ <field name="Flush to GO" dword="1" bits="7:7" type="bool" />
+ <field name="Disable Preemption" dword="1" bits="8:8" type="bool" />
+ </instruction>
+ <instruction name="MEDIA_VFE_STATE" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="6" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Per Thread Scratch Space" dword="1" bits="3:0" type="uint" />
+ <field name="Stack Size" dword="1" bits="7:4" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="1" bits="31:10" type="address" />
+ <field name="GPGPU Mode" dword="2" bits="2:2" type="bool" />
+ <field name="Bypass Gateway Control" dword="2" bits="6:6" type="uint">
+ <value name="Maintaining OpenGateway/ForwardMsg/CloseGateway protocol (legacy mode)" value="0" />
+ <value name="Bypassing OpenGateway/CloseGateway protocol" value="1" />
+ </field>
+ <field name="Reset Gateway Timer" dword="2" bits="7:7" type="uint">
+ <value name="Maintaining the existing timestamp state" value="0" />
+ <value name="Resetting relative timer and latching the global timestamp" value="1" />
+ </field>
+ <field name="Number of URB Entries" dword="2" bits="15:8" type="uint" />
+ <field name="Maximum Number of Threads" dword="2" bits="31:16" type="uint" />
+ <field name="Half-Slice Disable" dword="3" bits="1:0" type="uint" />
+ <field name="CURBE Allocation Size" dword="4" bits="15:0" type="uint" />
+ <field name="URB Entry Allocation Size" dword="4" bits="31:16" type="uint" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Scoreboard Type" dword="5" bits="30:30" type="uint">
+ <value name="Stalling Scoreboard" value="0" />
+ <value name="Non-Stalling Scoreboard" value="1" />
+ </field>
+ <field name="Scoreboard Enable" dword="5" bits="31:31" type="uint">
+ <value name="Scoreboard disabled" value="0" />
+ <value name="Scoreboard enabled" value="1" />
+ </field>
+ <field name="Scoreboard 0 Delta X" dword="6" bits="3:0" type="int" />
+ <field name="Scoreboard 0 Delta Y" dword="6" bits="7:4" type="int" />
+ <field name="Scoreboard 1 Delta X" dword="6" bits="11:8" type="int" />
+ <field name="Scoreboard 1 Delta Y" dword="6" bits="15:12" type="int" />
+ <field name="Scoreboard 2 Delta X" dword="6" bits="19:16" type="int" />
+ <field name="Scoreboard 2 Delta Y" dword="6" bits="23:20" type="int" />
+ <field name="Scoreboard 3 Delta X" dword="6" bits="27:24" type="int" />
+ <field name="Scoreboard 3 Delta Y" dword="6" bits="31:28" type="int" />
+ <field name="Scoreboard 4 Delta X" dword="7" bits="3:0" type="int" />
+ <field name="Scoreboard 4 Delta Y" dword="7" bits="7:4" type="int" />
+ <field name="Scoreboard 5 Delta X" dword="7" bits="11:8" type="int" />
+ <field name="Scoreboard 5 Delta Y" dword="7" bits="15:12" type="int" />
+ <field name="Scoreboard 6 Delta X" dword="7" bits="19:16" type="int" />
+ <field name="Scoreboard 6 Delta Y" dword="7" bits="23:20" type="int" />
+ <field name="Scoreboard 7 Delta X" dword="7" bits="27:24" type="int" />
+ <field name="Scoreboard 7 Delta Y" dword="7" bits="31:28" type="int" />
+ </instruction>
+ <instruction name="MFC_AVC_PAK_OBJECT" bias="2" length="12" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="10" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect PAK-MV Data Length" dword="1" bits="9:0" type="uint" />
+ <field name="Indirect PAK-MV Data Start Address Offset" dword="2" bits="28:0" type="offset" />
+ <group count="8" dword="3" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFD_AVC_DPB_STATE" bias="2" length="27" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="9" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="6" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="16" dword="1" size="1">
+ <field name="Non-Existing Frame" dword="0" bits="0:0" type="uint">
+ <value name="INVALID" value="1" />
+ <value name="VALID" value="0" />
+ </field>
+ </group>
+ <group count="16" dword="1" offset_bits="16" size="1">
+ <field name="Long Term Frame" dword="0" bits="0:0" type="uint" />
+ </group>
+ <group count="16" dword="2" size="2">
+ <field name="Used for Reference" dword="0" bits="1:0" type="uint">
+ <value name="NOT_REFERENCE" value="0" />
+ <value name="TOP_FIELD" value="1" />
+ <value name="BOTTOM_FIELD" value="2" />
+ <value name="FRAME" value="3" />
+ </field>
+ </group>
+ <group count="16" dword="3" size="16">
+ <field name="LTST Frame Number List" dword="0" bits="15:0" type="uint" prefix="LTST">
+ <value name="Long Term Frame" value="1" />
+ <value name="Short Term Frame" value="0" />
+ </field>
+ </group>
+ <group count="16" dword="11" size="16">
+ <field name="View ID" dword="0" bits="15:0" type="uint" />
+ </group>
+ <group count="16" dword="19" size="8">
+ <field name="L0 View Order" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="16" dword="23" size="8">
+ <field name="L1 View Order" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFD_AVC_PICID_STATE" bias="2" length="10" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="8" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="5" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="PictureID Remapping Disable" dword="1" bits="0:0" type="uint">
+ <value name="Use 16 bits Picture ID" value="0" />
+ <value name="Use 4 bits FrameStoreID" value="1" />
+ </field>
+ <group count="16" dword="2" size="16">
+ <field name="Picture ID" dword="0" bits="15:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFD_VC1_BSD_OBJECT" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect BSD Data Length" dword="1" bits="23:0" type="uint" />
+ <field name="Indirect BSD Data Start Address" dword="2" bits="28:0" type="offset" />
+ <field name="Next Slice Vertical Position" dword="3" bits="8:0" type="uint" />
+ <field name="Slice Start Vertical Position" dword="3" bits="23:16" type="uint" />
+ <field name="First MB Bit Offset" dword="4" bits="2:0" type="uint" />
+ <field name="Emulation Prevention Byte Present" dword="4" bits="4:4" type="uint" />
+ <field name="First MB Byte Offset of Slice Data or Slice Header" dword="4" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_AVC_DIRECTMODE_STATE" bias="2" length="71" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="69" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="16" dword="1" size="64">
+ <field name="Direct MV Buffer - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Direct MV Buffer (Write) - Address" dword="34" bits="63:0" type="address" />
+ <group count="34" dword="37" size="32">
+ <field name="POC List" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_AVC_IMG_STATE" bias="2" length="14" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="12" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Size" dword="1" bits="15:0" type="uint" />
+ <field name="Frame Width" dword="2" bits="7:0" type="uint" />
+ <field name="Frame Height" dword="2" bits="23:16" type="uint" />
+ <field name="Image Structure" dword="3" bits="9:8" type="uint">
+ <value name="Frame Picture" value="0" />
+ <value name="Top Field Picture" value="1" />
+ <value name="Bottom Field Picture" value="3" />
+ <value name="Invalid, not allowed." value="2" />
+ </field>
+ <field name="Weighted BiPrediction IDC" dword="3" bits="11:10" type="uint">
+ <value name="DEFAULT" value="0" />
+ <value name="EXPLICIT" value="1" />
+ <value name="IMPLICIT" value="2" />
+ </field>
+ <field name="Weighted Prediction Enable" dword="3" bits="12:12" type="bool" />
+ <field name="First Chroma QP Offset" dword="3" bits="20:16" type="int" />
+ <field name="Second Chroma QP Offset" dword="3" bits="28:24" type="int" />
+ <field name="Field Picture" dword="4" bits="0:0" type="bool" />
+ <field name="MBAFF Mode" dword="4" bits="1:1" type="bool" />
+ <field name="Frame MB Only" dword="4" bits="2:2" type="bool" />
+ <field name="8x8 IDCT Transform Mode" dword="4" bits="3:3" type="bool" />
+ <field name="Direct 8x8 Inference" dword="4" bits="4:4" type="bool" />
+ <field name="Constrained Intra Prediction" dword="4" bits="5:5" type="bool" />
+ <field name="Non-Reference Picture" dword="4" bits="6:6" type="bool" />
+ <field name="Entropy Coding Sync Enable" dword="4" bits="7:7" type="bool" />
+ <field name="MB MV Format" dword="4" bits="8:8" type="uint">
+ <value name="IGNORE" value="0" />
+ <value name="FOLLOW" value="1" />
+ </field>
+ <field name="Chroma Format IDC" dword="4" bits="11:10" type="uint">
+ <value name="Monochrome picture" value="0" />
+ <value name="4:2:0 picture" value="1" />
+ <value name="4:2:2 picture (not supported)" value="2" />
+ <value name="4:4:4 picture (not supported)" value="3" />
+ </field>
+ <field name="MV Unpacked Enable" dword="4" bits="12:12" type="bool" />
+ <field name="Load Bitstream Pointer Per Slice" dword="4" bits="14:14" type="bool" />
+ <field name="MB Status Read" dword="4" bits="15:15" type="bool" />
+ <field name="Minimum Frame Size" dword="4" bits="31:16" type="uint" />
+ <field name="Intra MB Max Bit Control" dword="5" bits="0:0" type="bool" />
+ <field name="Inter MB Max Bit Control" dword="5" bits="1:1" type="bool" />
+ <field name="Frame Bitrate Max Report" dword="5" bits="2:2" type="bool" />
+ <field name="Frame Bitrate Min Report" dword="5" bits="3:3" type="bool" />
+ <field name="Force IPCM Control" dword="5" bits="7:7" type="bool" />
+ <field name="MB Level Rate Control" dword="5" bits="9:9" type="bool" />
+ <field name="Minimum Frame Size Units" dword="5" bits="11:10" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="16 bytes" value="1" />
+ <value name="4Kb" value="2" />
+ <value name="16Kb" value="3" />
+ </field>
+ <field name="Inter MB Force CBP to Zero Control" dword="5" bits="12:12" type="bool" />
+ <field name="Non First Pass" dword="5" bits="16:16" type="uint" />
+ <field name="Trellis Quantization Chroma Disable" dword="5" bits="27:27" type="bool" />
+ <field name="Trellis Quantization Rounding" dword="5" bits="30:28" type="uint" />
+ <field name="Trellis Quantization Enable" dword="5" bits="31:31" type="bool" />
+ <field name="Intra MB Conformance Max Size" dword="6" bits="11:0" type="uint" />
+ <field name="Inter MB Conformance Max Size" dword="6" bits="27:16" type="uint" />
+ <field name="Slice Delta QP Max[0]" dword="8" bits="7:0" type="int" />
+ <field name="Slice Delta QP Max[1]" dword="8" bits="15:8" type="int" />
+ <field name="Slice Delta QP Max[2]" dword="8" bits="23:16" type="uint" />
+ <field name="Slice Delta QP Max[3]" dword="8" bits="31:24" type="int" />
+ <field name="Slice Delta QP Min[0]" dword="9" bits="7:0" type="int" />
+ <field name="Slice Delta QP Min[1]" dword="9" bits="15:8" type="int" />
+ <field name="Slice Delta QP Min[2]" dword="9" bits="23:16" type="int" />
+ <field name="Slice Delta QP Min[3]" dword="9" bits="31:24" type="int" />
+ <field name="Frame Bitrate Min" dword="10" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit Mode" dword="10" bits="14:14" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Min Unit" dword="10" bits="15:15" type="uint" />
+ <field name="Frame Bitrate Max" dword="10" bits="29:16" type="uint" />
+ <field name="Frame Bitrate Max Unit Mode" dword="10" bits="30:30" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Max Unit" dword="10" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="11" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="11" bits="30:16" type="uint" />
+ <field name="Slice Stats Stream-Out Enable" dword="11" bits="31:31" type="bool" />
+ <field name="Initial QP Value" dword="13" bits="7:0" type="int" />
+ <field name="Number of Active Reference Pictures from L0" dword="13" bits="13:8" type="uint" />
+ <field name="Number of Active Reference Pictures from L1" dword="13" bits="21:16" type="uint" />
+ <field name="Number of Reference Frames" dword="13" bits="28:24" type="uint" />
+ <field name="Current Picture Has Performed MMCO5" dword="13" bits="29:29" type="bool" />
+ <field name="Pic Order Present" dword="14" bits="0:0" type="bool" />
+ <field name="Delta Pic Order Always Zero" dword="14" bits="1:1" type="bool" />
+ <field name="Pic Order Count Type" dword="14" bits="3:2" type="uint" />
+ <field name="Slice Group Map Type" dword="14" bits="10:8" type="uint" />
+ <field name="Redundant Pic Count Present" dword="14" bits="11:11" type="bool" />
+ <field name="Number of Slice Groups" dword="14" bits="14:12" type="uint" />
+ <field name="Deblocking Filter Control Present" dword="14" bits="15:15" type="bool" />
+ <field name="Log2 Max Frame Number" dword="14" bits="23:16" type="uint" />
+ <field name="Log2 Max Pic Order Count LSB" dword="14" bits="31:24" type="uint" />
+ <field name="Slice Group Change Rate" dword="15" bits="15:0" type="uint" />
+ <field name="Current Picture Frame Number" dword="15" bits="31:16" type="uint" />
+ <field name="Current Frame View ID" dword="16" bits="9:0" type="uint" />
+ <field name="Max View IDXL0" dword="16" bits="15:12" type="uint" />
+ <field name="Max View IDXL1" dword="16" bits="21:18" type="uint" />
+ <field name="Inter View Order Disable" dword="16" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="MFX_BSP_BUF_BASE_ADDR_STATE" bias="2" length="10" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="8" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="4" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="BSD/MPC Row Store Scratch Buffer - MOCS" dword="1" bits="3:0" type="uint" nonzero="true" />
+ <field name="BSD/MPC Row Store Scratch Buffer - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second Highest priority" value="1" />
+ <value name="Third Highest Priority" value="2" />
+ <value name="Lowest Priority" value="3" />
+ </field>
+ <field name="BSD/MPC Row Store Scratch Buffer - Address" dword="1" bits="31:6" type="address" />
+ <field name="MPR Row Store Scratch Buffer - MOCS" dword="4" bits="3:0" type="uint" nonzero="true" />
+ <field name="MPR Row Store Scratch Buffer - Arbitration Priority Control" dword="4" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MPR Row Store Scratch Buffer - Address" dword="4" bits="31:6" type="address" />
+ <field name="Bitplane Read Buffer - MOCS" dword="7" bits="3:0" type="uint" nonzero="true" />
+ <field name="Bitplane Read Buffer - Arbitration Priority Control" dword="7" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Bitplane Read Buffer - Address" dword="7" bits="31:6" type="uint" />
+ </instruction>
+ <instruction name="MFX_DBK_OBJECT" bias="2" length="13" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="11" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pre Deblocking Source - MOCS" dword="1" bits="3:0" type="uint" nonzero="true" />
+ <field name="Pre Deblocking Source - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Pre Deblocking Source - Address" dword="1" bits="31:6" type="address" />
+ <field name="Deblocking Control - MOCS" dword="4" bits="3:0" type="uint" nonzero="true" />
+ <field name="Deblocking Control - Arbitration Priority Control" dword="4" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblocking Control - Address" dword="4" bits="31:6" type="address" />
+ <field name="Deblocking Destination - MOCS" dword="7" bits="3:0" type="uint" nonzero="true" />
+ <field name="Deblocking Destination - Arbitration Priority Control" dword="7" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblocking Destination - Address" dword="7" bits="31:6" type="address" />
+ <field name="Deblock Row Store - MOCS" dword="10" bits="3:0" type="uint" nonzero="true" />
+ <field name="Deblock Row Store - Arbitration Priority Control" dword="10" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblock Row Store - Address" dword="10" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MFX_IND_OBJ_BASE_ADDR_STATE" bias="2" length="26" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="24" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MFX Indirect Bitstream Object - MOCS" dword="1" bits="3:0" type="uint" nonzero="true" />
+ <field name="MFX Indirect Bitstream Object - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFX Indirect Bitstream Object - Address" dword="1" bits="31:12" type="address" />
+ <field name="MFX Indirect Bitstream Object - Access Upper Bound" dword="4" bits="31:12" type="address" />
+ <field name="MFX Indirect MV Object - MOCS" dword="6" bits="3:0" type="uint" nonzero="true" />
+ <field name="MFX Indirect MV Object - Arbitration Priority Control" dword="6" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFX Indirect MV Object - Address" dword="6" bits="31:12" type="address" />
+ <field name="MFX Indirect MV Object - Access Upper Bound" dword="9" bits="31:12" type="address" />
+ <field name="MFD Indirect IT-COEFF Object - MOCS" dword="11" bits="3:0" type="uint" nonzero="true" />
+ <field name="MFD Indirect IT-COEFF Object - Arbitration Priority Control" dword="11" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFD Indirect IT-COEFF Object - Address" dword="11" bits="31:12" type="address" />
+ <field name="MFD Indirect IT-COEFF Object - Access Upper Bound" dword="14" bits="31:12" type="address" />
+ <field name="MFD Indirect IT-DBLK Object - MOCS" dword="16" bits="3:0" type="uint" nonzero="true" />
+ <field name="MFD Indirect IT-DBLK Object - Arbitration Priority Control" dword="16" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFD Indirect IT-DBLK Object - Address" dword="16" bits="31:12" type="address" />
+ <field name="MFD Indirect IT-DBLK Object - Access Upper Bound" dword="19" bits="31:12" type="address" />
+ <field name="MFC Indirect PAK-BSE Object - MOCS" dword="21" bits="3:0" type="uint" nonzero="true" />
+ <field name="MFC Indirect PAK-BSE Object - Arbitration Priority Control" dword="21" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MFC Indirect PAK-BSE Object - Address" dword="21" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="MFX_JPEG_PIC_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Input Format YUV" dword="1" bits="2:0" type="uint" />
+ <field name="Rotation" dword="1" bits="5:4" type="uint" />
+ <field name="Output Format YUV" dword="1" bits="11:8" type="uint" />
+ <field name="Average Down Sampling" dword="1" bits="16:16" type="uint" />
+ <field name="Vertical Down-Sampling Enable" dword="1" bits="17:17" type="bool" />
+ <field name="Vertical Up-Sampling Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Frame Width In Blocks" dword="2" bits="12:0" type="uint" />
+ <field name="Frame Height In Blocks" dword="2" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_MPEG2_PIC_STATE" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Scan Order" dword="1" bits="6:6" type="uint">
+ <value name="MPEG_ZIGZAG_SCAN" value="0" />
+ <value name="MPEG_ALTERNATE_VERTICAL_SCAN" value="1" />
+ </field>
+ <field name="Intra VLC Format" dword="1" bits="7:7" type="uint" />
+ <field name="Quantizer Scale Type" dword="1" bits="8:8" type="uint">
+ <value name="MPEG_QSCALE_LINEAR" value="0" />
+ <value name="MPEG_QSCALE_NONLINEAR" value="1" />
+ </field>
+ <field name="Concealment MV" dword="1" bits="9:9" type="bool" />
+ <field name="Frame Prediction Frame DCT" dword="1" bits="10:10" type="uint" />
+ <field name="Top Field First" dword="1" bits="11:11" type="bool" />
+ <field name="Picture Structure" dword="1" bits="13:12" type="uint">
+ <value name="MPEG_TOP_FIELD" value="1" />
+ <value name="MPEG_BOTTOM_FIELD" value="2" />
+ <value name="MPEG_FRAME" value="3" />
+ </field>
+ <field name="Intra DC Precision" dword="1" bits="15:14" type="uint" />
+ <field name="F_code[0][0]" dword="1" bits="19:16" type="uint" />
+ <field name="F_code[0][1]" dword="1" bits="23:20" type="uint" />
+ <field name="F_code[1][0]" dword="1" bits="27:24" type="uint" />
+ <field name="F_code[1][1]" dword="1" bits="31:28" type="uint" />
+ <field name="Disable Mismatch" dword="2" bits="0:0" type="bool" />
+ <field name="Mismatch Control Disable" dword="2" bits="1:1" type="bool" />
+ <field name="Picture Coding Type" dword="2" bits="10:9" type="uint">
+ <value name="MPEG_I_PICTURE" value="1" />
+ <value name="MPEG_P_PICTURE" value="2" />
+ <value name="MPEG_B_PICTURE" value="3" />
+ </field>
+ <field name="Load Bitstream Pointer Per Slice" dword="2" bits="14:14" type="bool" />
+ <field name="P/B Slice Predicted MV Override" dword="2" bits="24:24" type="uint">
+ <value name="Predicted" value="0" />
+ <value name="ZERO" value="1" />
+ </field>
+ <field name="P/B Slice Predicted Bi-direction MV Type Override" dword="2" bits="26:25" type="uint" prefix="MPEG2_MVTO">
+ <value name="BID" value="0" />
+ <value name="RESERVED" value="1" />
+ <value name="FWD" value="2" />
+ <value name="BWD" value="3" />
+ </field>
+ <field name="P/B Slice Concealment Mode" dword="2" bits="29:28" type="uint" prefix="MPEG2_CM">
+ <value name="INTER" value="0" />
+ <value name="LEFT" value="1" />
+ <value name="ZERO" value="2" />
+ <value name="INTRA" value="3" />
+ </field>
+ <field name="I Slice Concealment Mode" dword="2" bits="31:31" type="uint" prefix="MPEG2_CM">
+ <value name="Intra Concealment" value="0" />
+ <value name="Inter Concealment" value="1" />
+ </field>
+ <field name="Frame Width In MBs" dword="3" bits="7:0" type="uint" />
+ <field name="Frame Height In MBs" dword="3" bits="23:16" type="uint" />
+ <field name="Slice Concealment Disable" dword="3" bits="31:31" type="bool" />
+ <field name="Round Intra DC" dword="4" bits="2:1" type="uint" />
+ <field name="Round Inter DC" dword="4" bits="6:4" type="uint" />
+ <field name="Round Intra AC" dword="4" bits="10:8" type="uint" />
+ <field name="Round Inter AC," dword="4" bits="14:12" type="uint" />
+ <field name="Minimum Frame Size" dword="4" bits="31:16" type="uint" />
+ <field name="Intra MB Max Bit Control" dword="5" bits="0:0" type="uint" />
+ <field name="Inter MB Max Bit Control" dword="5" bits="1:1" type="uint" />
+ <field name="Frame Bitrate Max Report" dword="5" bits="2:2" type="uint" />
+ <field name="Frame Bitrate Min Report" dword="5" bits="3:3" type="uint" />
+ <field name="MBRateControlMask" dword="5" bits="9:9" type="uint" />
+ <field name="Minimum Frame Size Units" dword="5" bits="11:10" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="16 bytes" value="1" />
+ <value name="4Kb" value="2" />
+ <value name="16Kb" value="3" />
+ </field>
+ <field name="Inter MB Force CBP to Zero Control" dword="5" bits="12:12" type="uint" />
+ <field name="Frame Size Control" dword="5" bits="16:16" type="uint" />
+ <field name="Intra MB Conformance Max Size" dword="6" bits="11:0" type="uint" />
+ <field name="Inter MB Conformance Max Size" dword="6" bits="27:16" type="uint" />
+ <field name="Slice Delta QP Max[0]" dword="8" bits="7:0" type="int" />
+ <field name="Slice Delta QP Max[1]" dword="8" bits="15:8" type="int" />
+ <field name="Slice Delta QP Max[2]" dword="8" bits="23:16" type="int" />
+ <field name="Slice Delta QP Max[3]" dword="8" bits="31:24" type="int" />
+ <field name="Slice Delta QP Min[0]" dword="9" bits="7:0" type="int" />
+ <field name="Slice Delta QP Min[1]" dword="9" bits="15:8" type="int" />
+ <field name="Slice Delta QP Min[2]" dword="9" bits="23:16" type="int" />
+ <field name="Slice Delta QP Min[3]" dword="9" bits="31:24" type="int" />
+ <field name="Frame Bitrate Min" dword="10" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit Mode" dword="10" bits="14:14" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New Mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Min Unit" dword="10" bits="15:15" type="uint" />
+ <field name="Frame Bitrate Max" dword="10" bits="29:16" type="uint" />
+ <field name="Frame Bitrate Max Unit Mode" dword="10" bits="30:30" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Max Unit" dword="10" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="11" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="11" bits="30:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_PIPE_BUF_ADDR_STATE" bias="2" length="61" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="59" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pre Deblocking Destination - MOCS" dword="1" bits="3:0" type="uint" nonzero="true" />
+ <field name="Pre Deblocking Destination - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Pre Deblocking Destination - Address" dword="1" bits="31:6" type="address" />
+ <field name="Post Deblocking Destination - MOCS" dword="4" bits="3:0" type="uint" nonzero="true" />
+ <field name="Post Deblocking Destination - Arbitration Priority Control" dword="4" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Post Deblocking Destination - Address" dword="4" bits="31:6" type="address" />
+ <field name="Original Uncompressed Picture Source - MOCS" dword="7" bits="3:0" type="uint" nonzero="true" />
+ <field name="Original Uncompressed Picture Source - Arbitration Priority Control" dword="7" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Original Uncompressed Picture Source - Address" dword="7" bits="31:6" type="address" />
+ <field name="Stream-Out Data Destination - MOCS" dword="10" bits="3:0" type="uint" nonzero="true" />
+ <field name="Stream-Out Data Destination - Arbitration Priority Control" dword="10" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Stream-Out Data Destination - Address" dword="10" bits="31:6" type="address" />
+ <field name="Intra Row Store Scratch Buffer - MOCS" dword="13" bits="3:0" type="uint" nonzero="true" />
+ <field name="Intra Row Store Scratch Buffer - Arbitration Priority Control" dword="13" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Intra Row Store Scratch Buffer - Address" dword="13" bits="31:6" type="address" />
+ <field name="Deblocking Filter Row Store Scratch - MOCS" dword="16" bits="3:0" type="uint" nonzero="true" />
+ <field name="Deblocking Filter Row Store Scratch - Arbitration Priority Control" dword="16" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblocking Filter Row Store Scratch - Address" dword="16" bits="31:6" type="address" />
+ <group count="16" dword="19" size="64">
+ <field name="Reference Picture - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="MB Status Buffer - MOCS" dword="52" bits="3:0" type="uint" nonzero="true" />
+ <field name="MB Status Buffer - Arbitration Priority Control" dword="52" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MB Status Buffer - Address" dword="52" bits="31:6" type="address" />
+ <field name="MB ILDB Stream-Out Buffer - MOCS" dword="55" bits="3:0" type="uint" nonzero="true" />
+ <field name="MB ILDB Stream-Out Buffer - Arbitration Priority Control" dword="55" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MB ILDB Stream-Out Buffer - Address" dword="55" bits="31:6" type="address" />
+ <field name="Second MB ILDB Stream-Out Buffer - Arbitration Priority Control" dword="58" bits="5:4" type="uint">
+ <value name="Highest Priority" value="0" />
+ <value name="Second Highest Priority" value="1" />
+ <value name="Third Highest Priority" value="2" />
+ <value name="Lowest Priority" value="3" />
+ </field>
+ <field name="Second MB ILDB Stream-Out Buffer - Address" dword="58" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MFX_PIPE_MODE_SELECT" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Standard Select" dword="1" bits="3:0" type="uint" prefix="SS">
+ <value name="MPEG2" value="0" />
+ <value name="VC1" value="1" />
+ <value name="AVC" value="2" />
+ <value name="JPEG" value="3" />
+ </field>
+ <field name="Codec Select" dword="1" bits="4:4" type="uint">
+ <value name="Decode" value="0" />
+ <value name="Encode" value="1" />
+ </field>
+ <field name="Stitch Mode" dword="1" bits="5:5" type="bool" />
+ <field name="Pre Deblocking Output Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Post Deblocking Output Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Stream-Out Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Pic Error/Status Report Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Deblocker Stream-Out Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Decoder Mode Select" dword="1" bits="16:15" type="uint">
+ <value name="VLD Mode" value="0" />
+ <value name="IT Mode" value="1" />
+ <value name="Deblocker Mode" value="2" />
+ <value name="Interlayer Mode" value="3" />
+ </field>
+ <field name="Decoder Short Format Mode" dword="1" bits="17:17" type="uint">
+ <value name="Short Format Driver Interface" value="0" />
+ <value name="Long Format Driver Interface" value="1" />
+ </field>
+ <field name="Extended Stream-Out Enable" dword="1" bits="18:18" type="bool" />
+ <field name="Pic Status/Error Report ID" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MFX_VC1_DIRECTMODE_STATE" bias="2" length="7" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="5" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Direct MV Write Buffer - MOCS" dword="1" bits="3:0" type="uint" nonzero="true" />
+ <field name="Direct MV Write Buffer - Arbitration Priority Control" dword="1" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Direct MV Write Buffer - Address" dword="1" bits="31:6" type="address" />
+ <field name="Direct MV Read Buffer - MOCS" dword="4" bits="3:0" type="uint" nonzero="true" />
+ <field name="Direct MV Read Buffer - Arbitration Priority Control" dword="4" bits="5:4" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Direct MV Read Buffer - Address" dword="4" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MFX_WAIT" bias="1" length="1" engine="video">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="0" />
+ <field name="MFX Sync Control Flag" dword="0" bits="8:8" type="uint" />
+ <field name="SubOpcode" dword="0" bits="26:16" type="uint" default="0" />
+ <field name="Command Subtype" dword="0" bits="28:27" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ </instruction>
+ <instruction name="MI_BATCH_BUFFER_START" bias="2" length="2">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Address Space Indicator" dword="0" bits="8:8" type="uint" prefix="ASI">
+ <value name="GGTT" value="0" />
+ <value name="PPGTT" value="1" />
+ </field>
+ <field name="Resource Streamer Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Clear Command Buffer Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Non-Privileged" dword="0" bits="13:13" type="bool" />
+ <field name="Predication Enable" dword="0" bits="15:15" type="bool" />
+ <field name="Add Offset Enable" dword="0" bits="16:16" type="bool" />
+ <field name="Second Level Batch Buffer" dword="0" bits="22:22" type="uint">
+ <value name="First level batch" value="0" />
+ <value name="Second level batch" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="49" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Batch Buffer Start Address" dword="1" bits="31:2" type="address" />
+ </instruction>
+ <instruction name="MI_LOAD_REGISTER_REG" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="42" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Source Register Address" dword="1" bits="22:2" type="offset" />
+ <field name="Destination Register Address" dword="2" bits="22:2" type="offset" />
+ </instruction>
+ <instruction name="MI_LOAD_SCAN_LINES_EXCL" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="0" />
+ <field name="Display (Plane) Select" dword="0" bits="21:19" type="uint">
+ <value name="Display Plane A" value="0" />
+ <value name="Display Plane B" value="1" />
+ <value name="Display Plane C" value="4" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="19" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="End Scan Line Number" dword="1" bits="12:0" type="uint" />
+ <field name="Start Scan Line Number" dword="1" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MI_LOAD_SCAN_LINES_INCL" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="0" />
+ <field name="Display (Plane) Select" dword="0" bits="21:19" type="uint">
+ <value name="Display Plane A" value="0" />
+ <value name="Display Plane B" value="1" />
+ <value name="Display Plane C" value="4" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="18" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="End Scan Line Number" dword="1" bits="12:0" type="uint" />
+ <field name="Start Scan Line Number" dword="1" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MI_LOAD_URB_MEM" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="44" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="URB Address" dword="1" bits="14:2" type="uint" />
+ <field name="Memory Address" dword="2" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MI_MATH" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="26" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <group count="0" dword="1" size="32">
+ <field name="Instruction" dword="0" bits="31:0" type="MI_MATH_ALU_INSTRUCTION" />
+ </group>
+ </instruction>
+ <instruction name="MI_REPORT_PERF_COUNT" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="1" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="40" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Use Global GTT" dword="1" bits="0:0" type="bool" />
+ <field name="Core Mode Enable" dword="1" bits="4:4" type="uint" />
+ <field name="Memory Address" dword="1" bits="31:6" type="address" />
+ <field name="Report ID" dword="2" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_RS_CONTEXT" bias="1" length="1" engine="render">
+ <field name="Resource Streamer Save" dword="0" bits="0:0" type="uint" prefix="RS">
+ <value name="Restore" value="0" />
+ <value name="Save" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="15" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_RS_CONTROL" bias="1" length="1" engine="render">
+ <field name="Resource Streamer Control" dword="0" bits="0:0" type="uint" prefix="RS">
+ <value name="Stop" value="0" />
+ <value name="Start" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="6" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_RS_STORE_DATA_IMM" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="43" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Core Mode Enable" dword="2" bits="0:0" type="uint" />
+ <field name="Destination Address" dword="2" bits="31:2" type="address" />
+ <field name="Data DWord 0" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_SEMAPHORE_MBOX" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="General Register Select" dword="0" bits="13:8" type="uint" />
+ <field name="Register Select" dword="0" bits="17:16" type="uint">
+ <value name="RVSYNC" value="0" />
+ <value name="RVESYNC" value="1" />
+ <value name="RBSYNC" value="2" />
+ <value name="Use General Register Select" value="3" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="22" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Semaphore Data Dword" dword="1" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_SET_CONTEXT" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="24" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Restore Inhibit" dword="1" bits="0:0" type="uint" />
+ <field name="Force Restore" dword="1" bits="1:1" type="uint" />
+ <field name="Resource Streamer State Restore Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Resource Streamer State Save Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Core Mode Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Reserved, Must be 1" dword="1" bits="8:8" type="uint" />
+ <field name="Logical Context Address" dword="1" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="MI_SET_PREDICATE" bias="1" length="1">
+ <field name="PREDICATE ENABLE" dword="0" bits="1:0" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_STORE_REGISTER_MEM" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Predicate Enable" dword="0" bits="21:21" type="bool" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="36" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Address" dword="1" bits="22:2" type="offset" />
+ <field name="Memory Address" dword="2" bits="31:2" type="address" />
+ </instruction>
+ <instruction name="MI_STORE_URB_MEM" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="45" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="URB Address" dword="1" bits="14:2" type="uint" />
+ <field name="Memory Address" dword="2" bits="31:6" type="address" />
+ </instruction>
+ <instruction name="MI_URB_ATOMIC_ALLOC" bias="1" length="1" engine="render">
+ <field name="URB Atomic Storage Size" dword="0" bits="8:0" type="uint" />
+ <field name="URB Atomic Storage Offset" dword="0" bits="19:12" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="9" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_URB_CLEAR" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="25" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="URB Address" dword="1" bits="14:0" type="offset" />
+ <field name="URB Clear Length" dword="1" bits="29:16" type="uint" />
+ </instruction>
+ <instruction name="STATE_BASE_ADDRESS" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="General State Base Address Modify Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Stateless Data Port Access MOCS" dword="1" bits="7:4" type="uint" nonzero="true" />
+ <field name="General State MOCS" dword="1" bits="11:8" type="uint" nonzero="true" />
+ <field name="General State Base Address" dword="1" bits="31:12" type="address" />
+ <field name="Surface State Base Address Modify Enable" dword="2" bits="0:0" type="bool" />
+ <field name="Surface State MOCS" dword="2" bits="11:8" type="uint" nonzero="true" />
+ <field name="Surface State Base Address" dword="2" bits="31:12" type="address" />
+ <field name="Dynamic State Base Address Modify Enable" dword="3" bits="0:0" type="bool" />
+ <field name="Dynamic State MOCS" dword="3" bits="11:8" type="uint" nonzero="true" />
+ <field name="Dynamic State Base Address" dword="3" bits="31:12" type="address" />
+ <field name="Indirect Object Base Address Modify Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Indirect Object MOCS" dword="4" bits="11:8" type="uint" nonzero="true" />
+ <field name="Indirect Object Base Address" dword="4" bits="31:12" type="address" />
+ <field name="Instruction Base Address Modify Enable" dword="5" bits="0:0" type="bool" />
+ <field name="Instruction MOCS" dword="5" bits="11:8" type="uint" nonzero="true" />
+ <field name="Instruction Base Address" dword="5" bits="31:12" type="address" />
+ <field name="General State Access Upper Bound Modify Enable" dword="6" bits="0:0" type="bool" />
+ <field name="General State Access Upper Bound" dword="6" bits="31:12" type="address" />
+ <field name="Dynamic State Access Upper Bound Modify Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Dynamic State Access Upper Bound" dword="7" bits="31:12" type="address" />
+ <field name="Indirect Object Access Upper Bound Modify Enable" dword="8" bits="0:0" type="bool" />
+ <field name="Indirect Object Access Upper Bound" dword="8" bits="31:12" type="address" />
+ <field name="Instruction Access Upper Bound Modify Enable" dword="9" bits="0:0" type="bool" />
+ <field name="Instruction Access Upper Bound" dword="9" bits="31:12" type="address" />
+ </instruction>
+ <register name="BCS_INSTDONE" length="1" num="0x2206c">
+ <field name="Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Blitter IDLE" dword="0" bits="1:1" type="bool" default="1" />
+ <field name="GAB IDLE" dword="0" bits="2:2" type="bool" default="1" />
+ <field name="BCS Done" dword="0" bits="3:3" type="bool" default="1" />
+ </register>
+ <register name="CHICKEN3" length="1" num="0xe49c">
+ <field name="L3 Atomic Disable" dword="0" bits="6:6" type="uint" />
+ <field name="L3 Atomic Disable Mask" dword="0" bits="22:22" type="uint" />
+ </register>
+ <register name="GFX_ARB_ERROR_RPT" length="1" num="0x40a0">
+ <field name="TLB Page Fault Error" dword="0" bits="0:0" type="bool" />
+ <field name="Context Page Fault Error" dword="0" bits="1:1" type="bool" />
+ <field name="Invalid Page Directory entry error" dword="0" bits="2:2" type="bool" />
+ <field name="Hardware Status Page Fault Error" dword="0" bits="3:3" type="bool" />
+ <field name="TLB Page VTD Translation Error" dword="0" bits="4:4" type="bool" />
+ <field name="Context Page VTD Translation Error" dword="0" bits="5:5" type="bool" />
+ <field name="Page Directory Entry VTD Translation Error" dword="0" bits="6:6" type="bool" />
+ <field name="Hardware Status Page VTD Translation Error" dword="0" bits="7:7" type="bool" />
+ <field name="Unloaded PD Error" dword="0" bits="8:8" type="bool" />
+ <field name="Pending Page Faults" dword="0" bits="15:9" type="uint" />
+ </register>
+ <register name="INSTDONE_1" length="1" num="0x206c">
+ <field name="PRB0 Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="VFG Done" dword="0" bits="1:1" type="bool" />
+ <field name="VS Done" dword="0" bits="2:2" type="bool" />
+ <field name="HS Done" dword="0" bits="3:3" type="bool" />
+ <field name="TE Done" dword="0" bits="4:4" type="bool" />
+ <field name="DS Done" dword="0" bits="5:5" type="bool" />
+ <field name="GS Done" dword="0" bits="6:6" type="bool" />
+ <field name="SOL Done" dword="0" bits="7:7" type="bool" />
+ <field name="CL Done" dword="0" bits="8:8" type="bool" />
+ <field name="SF Done" dword="0" bits="9:9" type="bool" />
+ <field name="TDG Done" dword="0" bits="12:12" type="bool" />
+ <field name="URBM Done" dword="0" bits="13:13" type="bool" />
+ <field name="SVG Done" dword="0" bits="14:14" type="bool" />
+ <field name="GAFS Done" dword="0" bits="15:15" type="bool" />
+ <field name="VFE Done" dword="0" bits="16:16" type="bool" />
+ <field name="TSG Done" dword="0" bits="17:17" type="bool" />
+ <field name="GAFM Done" dword="0" bits="18:18" type="bool" />
+ <field name="GAM Done" dword="0" bits="19:19" type="bool" />
+ <field name="RS Done" dword="0" bits="20:20" type="bool" />
+ <field name="CS Done" dword="0" bits="21:21" type="bool" />
+ <field name="SDE Done" dword="0" bits="22:22" type="bool" />
+ <field name="RCCFBC CS Done" dword="0" bits="23:23" type="bool" />
+ </register>
+ <register name="L3CNTLREG2" length="1" num="0xb020">
+ <field name="SLM Enable" dword="0" bits="0:0" type="bool" />
+ <field name="URB Allocation" dword="0" bits="6:1" type="uint" />
+ <field name="URB Low Bandwidth" dword="0" bits="7:7" type="bool" />
+ <field name="RO Allocation" dword="0" bits="19:14" type="uint" />
+ <field name="RO Low Bandwidth" dword="0" bits="20:20" type="bool" />
+ <field name="DC Allocation" dword="0" bits="26:21" type="uint" />
+ <field name="DC Low Bandwidth" dword="0" bits="27:27" type="bool" />
+ </register>
+ <register name="L3SQCREG1" length="1" num="0xb010">
+ <field name="L3SQ High Priority Credit Initialization" dword="0" bits="18:14" type="uint">
+ <value name="SQHPCI_DEFAULT" value="0x4" />
+ </field>
+ <field name="L3SQ General Priority Credit Initialization" dword="0" bits="23:19" type="uint">
+ <value name="SQGPCI_DEFAULT" value="0xc" />
+ </field>
+ <field name="Convert DC_UC" dword="0" bits="24:24" type="bool" />
+ <field name="Convert IS_UC" dword="0" bits="25:25" type="bool" />
+ <field name="Convert C_UC" dword="0" bits="26:26" type="bool" />
+ <field name="Convert T_UC" dword="0" bits="27:27" type="bool" />
+ </register>
+ <register name="PERFCNT1" length="2" num="0x91b8">
+ <field name="Value" dword="0" bits="43:0" type="uint" />
+ <field name="Event Selection" dword="1" bits="27:20" type="uint" />
+ <field name="Counter Clear" dword="1" bits="28:28" type="bool" />
+ <field name="Edge Detect" dword="1" bits="29:29" type="bool" />
+ <field name="Overflow Enable" dword="1" bits="30:30" type="bool" />
+ <field name="Counter Enable" dword="1" bits="31:31" type="bool" />
+ </register>
+ <register name="PERFCNT2" length="2" num="0x91c0">
+ <field name="Value" dword="0" bits="43:0" type="uint" />
+ <field name="Event Selection" dword="1" bits="27:20" type="uint" />
+ <field name="Counter Clear" dword="1" bits="28:28" type="bool" />
+ <field name="Edge Detect" dword="1" bits="29:29" type="bool" />
+ <field name="Overflow Enable" dword="1" bits="30:30" type="bool" />
+ <field name="Counter Enable" dword="1" bits="31:31" type="bool" />
+ </register>
+ <register name="ROW_INSTDONE" length="1" num="0xe164">
+ <field name="BC Done" dword="0" bits="0:0" type="bool" />
+ <field name="PSD Done" dword="0" bits="1:1" type="bool" />
+ <field name="DC Done" dword="0" bits="2:2" type="bool" />
+ <field name="DAPR Done" dword="0" bits="3:3" type="bool" />
+ <field name="TDL Done" dword="0" bits="6:6" type="bool" />
+ <field name="GW Done" dword="0" bits="8:8" type="bool" />
+ <field name="IC Done" dword="0" bits="12:12" type="bool" />
+ <field name="MA0 Done" dword="0" bits="15:15" type="bool" />
+ <field name="EU00 Done SS0" dword="0" bits="16:16" type="bool" />
+ <field name="EU01 Done SS0" dword="0" bits="17:17" type="bool" />
+ <field name="EU02 Done SS0" dword="0" bits="18:18" type="bool" />
+ <field name="EU03 Done SS0" dword="0" bits="19:19" type="bool" />
+ <field name="EU04 Done SS0" dword="0" bits="20:20" type="bool" />
+ <field name="EU10 Done SS0" dword="0" bits="21:21" type="bool" />
+ <field name="EU11 Done SS0" dword="0" bits="22:22" type="bool" />
+ <field name="EU12 Done SS0" dword="0" bits="23:23" type="bool" />
+ <field name="EU13 Done SS0" dword="0" bits="24:24" type="bool" />
+ <field name="EU14 Done SS0" dword="0" bits="25:25" type="bool" />
+ <field name="MA1 Done SS0" dword="0" bits="26:26" type="bool" />
+ </register>
+ <register name="SAMPLER_INSTDONE" length="1" num="0xe160">
+ <field name="IME Done" dword="0" bits="0:0" type="bool" />
+ <field name="PL0 Done" dword="0" bits="1:1" type="bool" />
+ <field name="SO0 Done" dword="0" bits="2:2" type="bool" />
+ <field name="DG0 Done" dword="0" bits="3:3" type="bool" />
+ <field name="FT0 Done" dword="0" bits="4:4" type="bool" />
+ <field name="DM0 Done" dword="0" bits="5:5" type="bool" />
+ <field name="SC Done" dword="0" bits="6:6" type="bool" />
+ <field name="FL0 Done" dword="0" bits="7:7" type="bool" />
+ <field name="QC Done" dword="0" bits="8:8" type="bool" />
+ <field name="SVSM Done" dword="0" bits="9:9" type="bool" />
+ <field name="SI0 Done" dword="0" bits="10:10" type="bool" />
+ <field name="MT0 Done" dword="0" bits="11:11" type="bool" />
+ <field name="AVS Done" dword="0" bits="12:12" type="bool" />
+ <field name="IEF Done" dword="0" bits="13:13" type="bool" />
+ <field name="CRE Done" dword="0" bits="14:14" type="bool" />
+ <field name="SVSM ARB3" dword="0" bits="15:15" type="bool" />
+ <field name="SVSM ARB2" dword="0" bits="16:16" type="bool" />
+ <field name="SVSM ARB1" dword="0" bits="17:17" type="bool" />
+ <field name="SVSM Adapter" dword="0" bits="18:18" type="bool" />
+ <field name="FT1 Done" dword="0" bits="19:19" type="bool" />
+ <field name="DM1 Done" dword="0" bits="20:20" type="bool" />
+ <field name="MT1 Done" dword="0" bits="21:21" type="bool" />
+ </register>
+ <register name="SCRATCH1" length="1" num="0xb038">
+ <field name="L3 Atomic Disable" dword="0" bits="27:27" type="uint" />
+ </register>
+ <register name="SC_INSTDONE" length="1" num="0x7100">
+ <field name="SVL Done" dword="0" bits="0:0" type="bool" />
+ <field name="WMFE Done" dword="0" bits="1:1" type="bool" />
+ <field name="WMBE Done" dword="0" bits="2:2" type="bool" />
+ <field name="HIZ Done" dword="0" bits="3:3" type="bool" />
+ <field name="STC Done" dword="0" bits="4:4" type="bool" />
+ <field name="IZ Done" dword="0" bits="5:5" type="bool" />
+ <field name="SBE Done" dword="0" bits="6:6" type="bool" />
+ <field name="RCZ Done" dword="0" bits="8:8" type="bool" />
+ <field name="RCC Done" dword="0" bits="9:9" type="bool" />
+ <field name="RCPBE Done" dword="0" bits="10:10" type="bool" />
+ <field name="RCPFE Done" dword="0" bits="11:11" type="bool" />
+ <field name="DAPB Done" dword="0" bits="12:12" type="bool" />
+ <field name="DAPRBE Done" dword="0" bits="13:13" type="bool" />
+ <field name="SARB Done" dword="0" bits="15:15" type="bool" />
+ </register>
+ <register name="VCS_INSTDONE" length="1" num="0x1206c">
+ <field name="Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="USB Done" dword="0" bits="1:1" type="uint" default="1" />
+ <field name="QRC Done" dword="0" bits="2:2" type="uint" default="1" />
+ <field name="SEC Done" dword="0" bits="3:3" type="uint" default="1" />
+ <field name="MPC Done" dword="0" bits="4:4" type="uint" default="1" />
+ <field name="VFT Done" dword="0" bits="5:5" type="uint" default="1" />
+ <field name="BSP Done" dword="0" bits="6:6" type="uint" default="1" />
+ <field name="VLF Done" dword="0" bits="7:7" type="uint" default="1" />
+ <field name="VOP Done" dword="0" bits="8:8" type="uint" default="1" />
+ <field name="VMC Done" dword="0" bits="9:9" type="uint" default="1" />
+ <field name="VIP Done" dword="0" bits="10:10" type="uint" default="1" />
+ <field name="VIT Done" dword="0" bits="11:11" type="uint" default="1" />
+ <field name="VDS Done" dword="0" bits="12:12" type="uint" default="1" />
+ <field name="VMX Done" dword="0" bits="13:13" type="uint" default="1" />
+ <field name="VCP Done" dword="0" bits="14:14" type="uint" default="1" />
+ <field name="VCD Done" dword="0" bits="15:15" type="uint" default="1" />
+ <field name="VAD Done" dword="0" bits="16:16" type="uint" default="1" />
+ <field name="VMD Done" dword="0" bits="17:17" type="uint" default="1" />
+ <field name="VIS Done" dword="0" bits="18:18" type="uint" default="1" />
+ <field name="VAC Done" dword="0" bits="19:19" type="uint" default="1" />
+ <field name="VAM Done" dword="0" bits="20:20" type="uint" default="1" />
+ <field name="JPG Done" dword="0" bits="21:21" type="uint" default="1" />
+ <field name="VBP Done" dword="0" bits="22:22" type="uint" default="1" />
+ <field name="VHR Done" dword="0" bits="23:23" type="uint" default="1" />
+ <field name="VCI Done" dword="0" bits="24:24" type="uint" default="1" />
+ <field name="VCR Done" dword="0" bits="25:25" type="uint" default="1" />
+ <field name="VIN Done" dword="0" bits="26:26" type="uint" default="1" />
+ <field name="VPR Done" dword="0" bits="27:27" type="uint" default="1" />
+ <field name="VTQ Done" dword="0" bits="28:28" type="uint" default="1" />
+ <field name="Reserved" dword="0" bits="29:29" type="uint" default="1" />
+ <field name="VCS Done" dword="0" bits="30:30" type="uint" default="1" />
+ <field name="GAC Done" dword="0" bits="31:31" type="uint" default="1" />
+ </register>
+ <register name="VECS_FAULT_REG" length="1" num="0x4394">
+ <field name="Valid Bit" dword="0" bits="0:0" type="bool" />
+ <field name="Fault Type" dword="0" bits="2:1" type="uint">
+ <value name="Page Fault" value="0" />
+ <value name="Invalid PD Fault" value="1" />
+ <value name="Unloaded PD Fault" value="2" />
+ <value name="Invalid and Unloaded PD fault" value="3" />
+ </field>
+ <field name="SRCID of Fault" dword="0" bits="10:3" type="uint" />
+ <field name="GTTSEL" dword="0" bits="11:11" type="uint">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Virtual Address of Fault" dword="0" bits="31:12" type="address" />
+ </register>
+ <register name="VECS_INSTDONE" length="1" num="0x1a06c">
+ <field name="Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="VECS Done" dword="0" bits="30:30" type="uint" default="1" />
+ <field name="GAM Done" dword="0" bits="31:31" type="uint" default="1" />
+ </register>
+ <register name="VECS_RING_BUFFER_CTL" length="1" num="0x1A03c">
+ <field name="Ring Buffer Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Automatic Report Head Pointer" dword="0" bits="2:1" type="uint">
+ <value name="MI_AUTOREPORT_OFF" value="0" />
+ <value name="MI_AUTOREPORT_64KB" value="1" />
+ <value name="MI_AUTOREPORT_4KB" value="2" />
+ <value name="MI_AUTOREPORT_128KB" value="3" />
+ </field>
+ <field name="Disable Register Accesses" dword="0" bits="8:8" type="bool" />
+ <field name="Semaphore Wait" dword="0" bits="10:10" type="bool" />
+ <field name="RBWait" dword="0" bits="11:11" type="bool" />
+ <field name="Buffer Length (in pages - 1)" dword="0" bits="20:12" type="uint" />
+ </register>
+</genxml>
diff --git a/lib/genxml/gen80.xml b/lib/genxml/gen80.xml
new file mode 100644
index 000000000..059c889cc
--- /dev/null
+++ b/lib/genxml/gen80.xml
@@ -0,0 +1,2993 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="BDW" gen="8">
+ <import name="gen75.xml">
+ <exclude name="3DSTATE_DEPTH_STENCIL_STATE_POINTERS" />
+ <exclude name="3DSTATE_RAST_MULTISAMPLE" />
+ <exclude name="BCS_FAULT_REG" />
+ <exclude name="CHICKEN3" />
+ <exclude name="DEPTH_STENCIL_STATE" />
+ <exclude name="ERR_INT" />
+ <exclude name="GPGPU_OBJECT" />
+ <exclude name="L3CNTLREG2" />
+ <exclude name="L3CNTLREG3" />
+ <exclude name="L3SQCREG1" />
+ <exclude name="MI_FLUSH" />
+ <exclude name="MI_SEMAPHORE_MBOX" />
+ <exclude name="RCS_FAULT_REG" />
+ <exclude name="SCRATCH1" />
+ <exclude name="VCS_FAULT_REG" />
+ <exclude name="VECS_FAULT_REG" />
+ </import>
+ <enum name="3D_Vertex_Component_Control" prefix="VFCOMP">
+ <value name="NOSTORE" value="0" />
+ <value name="STORE_SRC" value="1" />
+ <value name="STORE_0" value="2" />
+ <value name="STORE_1_FP" value="3" />
+ <value name="STORE_1_INT" value="4" />
+ <value name="STORE_PID" value="7" />
+ </enum>
+ <enum name="Clear Color">
+ <value name="CC_ZERO" value="0" />
+ <value name="CC_ONE" value="1" />
+ </enum>
+ <enum name="Texture Coordinate Mode" prefix="TCM">
+ <value name="WRAP" value="0" />
+ <value name="MIRROR" value="1" />
+ <value name="CLAMP" value="2" />
+ <value name="CUBE" value="3" />
+ <value name="CLAMP_BORDER" value="4" />
+ <value name="MIRROR_ONCE" value="5" />
+ <value name="HALF_BORDER" value="6" />
+ </enum>
+ <enum name="WRAP_SHORTEST_ENABLE" prefix="WSE">
+ <value name="X" value="1" />
+ <value name="Y" value="2" />
+ <value name="XY" value="3" />
+ <value name="Z" value="4" />
+ <value name="XZ" value="5" />
+ <value name="YZ" value="6" />
+ <value name="XYZ" value="7" />
+ <value name="W" value="8" />
+ <value name="XW" value="9" />
+ <value name="YW" value="10" />
+ <value name="XYW" value="11" />
+ <value name="ZW" value="12" />
+ <value name="XZW" value="13" />
+ <value name="YZW" value="14" />
+ <value name="XYZW" value="15" />
+ </enum>
+ <struct name="3DSTATE_CONSTANT_BODY" length="10">
+ <group count="4" dword="0" size="16">
+ <field name="Read Length" dword="0" bits="15:0" type="uint" />
+ </group>
+ <group count="4" dword="2" size="64">
+ <field name="Buffer" dword="0" bits="63:5" type="address" />
+ </group>
+ </struct>
+ <struct name="BINDING_TABLE_STATE" length="1">
+ <field name="Surface State Pointer" dword="0" bits="31:6" type="offset" />
+ </struct>
+ <struct name="BLEND_STATE_ENTRY" length="2">
+ <field name="Write Disable Blue" dword="0" bits="0:0" type="bool" />
+ <field name="Write Disable Green" dword="0" bits="1:1" type="bool" />
+ <field name="Write Disable Red" dword="0" bits="2:2" type="bool" />
+ <field name="Write Disable Alpha" dword="0" bits="3:3" type="bool" />
+ <field name="Alpha Blend Function" dword="0" bits="7:5" type="3D_Color_Buffer_Blend_Function" />
+ <field name="Destination Alpha Blend Factor" dword="0" bits="12:8" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Source Alpha Blend Factor" dword="0" bits="17:13" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Color Blend Function" dword="0" bits="20:18" type="3D_Color_Buffer_Blend_Function" />
+ <field name="Destination Blend Factor" dword="0" bits="25:21" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Source Blend Factor" dword="0" bits="30:26" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Color Buffer Blend Enable" dword="0" bits="31:31" type="bool" />
+ <field name="Post-Blend Color Clamp Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Pre-Blend Color Clamp Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Color Clamp Range" dword="1" bits="3:2" type="uint">
+ <value name="COLORCLAMP_UNORM" value="0" />
+ <value name="COLORCLAMP_SNORM" value="1" />
+ <value name="COLORCLAMP_RTFORMAT" value="2" />
+ </field>
+ <field name="Pre-Blend Source Only Clamp Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Logic Op Function" dword="1" bits="30:27" type="3D_Logic_Op_Function" />
+ <field name="Logic Op Enable" dword="1" bits="31:31" type="bool" />
+ </struct>
+ <struct name="BLEND_STATE" length="1">
+ <field name="Y Dither Offset" dword="0" bits="20:19" type="uint" />
+ <field name="X Dither Offset" dword="0" bits="22:21" type="uint" />
+ <field name="Color Dither Enable" dword="0" bits="23:23" type="bool" />
+ <field name="Alpha Test Function" dword="0" bits="26:24" type="3D_Compare_Function" />
+ <field name="Alpha Test Enable" dword="0" bits="27:27" type="bool" />
+ <field name="Alpha To Coverage Dither Enable" dword="0" bits="28:28" type="bool" />
+ <field name="Alpha To One Enable" dword="0" bits="29:29" type="bool" />
+ <field name="Independent Alpha Blend Enable" dword="0" bits="30:30" type="bool" />
+ <field name="Alpha To Coverage Enable" dword="0" bits="31:31" type="bool" />
+ <group count="0" dword="1" size="64">
+ <field name="Entry" dword="0" bits="63:0" type="BLEND_STATE_ENTRY" />
+ </group>
+ </struct>
+ <struct name="FILTER_COEFFICIENT" length="1">
+ <field name="Filter Coefficient" dword="0" bits="7:0" type="s1.6" />
+ </struct>
+ <struct name="INLINE_DATA_DESCRIPTION_FOR_MFD_AVC_BSD_OBJECT" length="3">
+ <field name="MB Error Concealment P Slice Weight Prediction Disable" dword="0" bits="0:0" type="bool" />
+ <field name="MB Error Concealment P Slice Motion Vectors Override Disable" dword="0" bits="1:1" type="bool" />
+ <field name="MB Error Concealment B Spatial Weight Prediction Disable" dword="0" bits="3:3" type="bool" />
+ <field name="MB Error Concealment B Spatial Motion Vectors Override Disable" dword="0" bits="4:4" type="bool" />
+ <field name="MB Error Concealment B Spatial Prediction Mode" dword="0" bits="7:6" type="uint" />
+ <field name="MB Header Error Handling" dword="0" bits="8:8" type="bool" />
+ <field name="Entropy Error Handling" dword="0" bits="10:10" type="bool" />
+ <field name="MPR Error Handling" dword="0" bits="12:12" type="bool" />
+ <field name="BSD Premature Complete Error Handling" dword="0" bits="14:14" type="bool" />
+ <field name="Concealment Picture ID" dword="0" bits="21:16" type="uint" />
+ <field name="MB Error Concealment B Temporal Weight Prediction Disable" dword="0" bits="24:24" type="bool" />
+ <field name="MB Error Concealment B Temporal Motion Vectors Override Enable" dword="0" bits="25:25" type="bool" />
+ <field name="MB Error Concealment B Temporal Prediction Mode" dword="0" bits="28:27" type="uint" />
+ <field name="Intra PredMode (4x4/8x8 Luma) Error Control" dword="0" bits="29:29" type="bool" />
+ <field name="Init Current MB Number" dword="0" bits="30:30" type="bool" />
+ <field name="Concealment Method" dword="0" bits="31:31" type="uint" />
+ <field name="First MB Bit Offset" dword="1" bits="2:0" type="uint" />
+ <field name="Last Slice" dword="1" bits="3:3" type="bool" />
+ <field name="Emulation Prevention Byte Present" dword="1" bits="4:4" type="bool" />
+ <field name="Fix Prev MB Skipped" dword="1" bits="7:7" type="bool" />
+ <field name="First MB Byte Offset of Slice Data or Slice Header" dword="1" bits="31:16" type="uint" />
+ <field name="Intra Prediction Error Control" dword="2" bits="0:0" type="bool" />
+ <field name="Intra 8x8/4x4 Prediction Error Concealment Control" dword="2" bits="1:1" type="bool" />
+ <field name="B Slice Temporal Inter Concealment Mode" dword="2" bits="6:4" type="uint" />
+ <field name="B Slice Spatial Inter Concealment Mode" dword="2" bits="10:8" type="uint" />
+ <field name="B Slice Inter Direct Type Concealment Mode" dword="2" bits="13:12" type="uint" />
+ <field name="B Slice Concealment Mode" dword="2" bits="15:15" type="uint">
+ <value name="Intra Concealment" value="1" />
+ <value name="Inter Concealment" value="0" />
+ </field>
+ <field name="P Slice Inter Concealment Mode" dword="2" bits="18:16" type="uint" />
+ <field name="P Slice Concealment Mode" dword="2" bits="23:23" type="uint">
+ <value name="Intra Concealment" value="1" />
+ <value name="Inter Concealment" value="0" />
+ </field>
+ <field name="Concealment Reference Picture + Field Bit" dword="2" bits="29:24" type="uint" />
+ <field name="I Slice Concealment Mode" dword="2" bits="31:31" type="uint">
+ <value name="Intra Concealment" value="1" />
+ <value name="Inter Concealment" value="0" />
+ </field>
+ </struct>
+ <struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
+ <field name="Kernel Start Pointer" dword="0" bits="47:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="2" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="2" bits="18:18" type="bool" />
+ <field name="Denorm Mode" dword="2" bits="19:19" type="uint">
+ <value name="Ftz" value="0" />
+ <value name="SetByKernel" value="1" />
+ </field>
+ <field name="Sampler Count" dword="3" bits="4:2" type="uint">
+ <value name="No samplers used" value="0" />
+ <value name="Between 1 and 4 samplers used" value="1" />
+ <value name="Between 5 and 8 samplers used" value="2" />
+ <value name="Between 9 and 12 samplers used" value="3" />
+ <value name="Between 13 and 16 samplers used" value="4" />
+ </field>
+ <field name="Sampler State Pointer" dword="3" bits="31:5" type="offset" />
+ <field name="Binding Table Entry Count" dword="4" bits="4:0" type="uint" />
+ <field name="Binding Table Pointer" dword="4" bits="15:5" type="offset" />
+ <field name="Constant URB Entry Read Offset" dword="5" bits="15:0" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="5" bits="31:16" type="uint" />
+ <field name="Number of Threads in GPGPU Thread Group" dword="6" bits="9:0" type="uint" />
+ <field name="Shared Local Memory Size" dword="6" bits="20:16" type="uint">
+ <value name="Encodes 0k" value="0" />
+ <value name="Encodes 4k" value="1" />
+ <value name="Encodes 8k" value="2" />
+ <value name="Encodes 16k" value="4" />
+ <value name="Encodes 32k" value="8" />
+ <value name="Encodes 64k" value="16" />
+ </field>
+ <field name="Barrier Enable" dword="6" bits="21:21" type="bool" />
+ <field name="Rounding Mode" dword="6" bits="23:22" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Cross-Thread Constant Data Read Length" dword="7" bits="7:0" type="uint" />
+ </struct>
+ <struct name="MEMORYADDRESSATTRIBUTES" length="1">
+ <field name="Age for QUADLRU" dword="0" bits="1:0" type="uint" />
+ <field name="Target Cache" dword="0" bits="4:3" type="uint">
+ <value name="eLLC Only" value="0" />
+ <value name="LLC Only" value="1" />
+ <value name="LLC/eLLC" value="2" />
+ <value name="L3, LLC, eLLC" value="3" />
+ </field>
+ <field name="Arbitration Priority Control" dword="0" bits="8:7" type="uint" />
+ </struct>
+ <struct name="MEMORY_OBJECT_CONTROL_STATE" length="1">
+ <field name="Age for QUADLRU" dword="0" bits="1:0" type="uint" />
+ <field name="Target Cache" dword="0" bits="4:3" type="uint">
+ <value name="eLLC Only (when eDRAM is present, else gets allocated in LLC)" value="0" />
+ <value name="LLC Only" value="1" />
+ <value name="LLC/eLLC Allowed" value="2" />
+ <value name="L3 + Defer to PAT for LLC/eLLC selection" value="3" />
+ </field>
+ <field name="Memory Type:LLC/eLLC Cacheability Control" dword="0" bits="6:5" type="uint">
+ <value name=" UC with Fence (if coherent cycle)" value="0" />
+ <value name="UC (Uncacheable)" value="1" />
+ <value name="WT" value="2" />
+ <value name="WB" value="3" />
+ </field>
+ </struct>
+ <struct name="MEMORY_OBJECT_CONTROL_STATE_CHV" length="1">
+ <field name="Target Cache" dword="0" bits="4:3" type="uint">
+ <value name="No Caching" value="0" />
+ <value name="No Caching 1" value="1" />
+ <value name="No Caching 2" value="2" />
+ <value name="L3 Cache Allowed" value="3" />
+ </field>
+ <field name="Memory Type" dword="0" bits="6:5" type="uint">
+ <value name="UC" value="0" />
+ <value name="WB" value="3" />
+ </field>
+ </struct>
+ <struct name="RENDER_SURFACE_STATE" length="16">
+ <field name="Cube Face Enable - Positive Z" dword="0" bits="0:0" type="bool" />
+ <field name="Cube Face Enable - Negative Z" dword="0" bits="1:1" type="bool" />
+ <field name="Cube Face Enable - Positive Y" dword="0" bits="2:2" type="bool" />
+ <field name="Cube Face Enable - Negative Y" dword="0" bits="3:3" type="bool" />
+ <field name="Cube Face Enable - Positive X" dword="0" bits="4:4" type="bool" />
+ <field name="Cube Face Enable - Negative X" dword="0" bits="5:5" type="bool" />
+ <field name="Media Boundary Pixel Mode" dword="0" bits="7:6" type="uint">
+ <value name="NORMAL_MODE" value="0" />
+ <value name="PROGRESSIVE_FRAME" value="2" />
+ <value name="INTERLACED_FRAME" value="3" />
+ </field>
+ <field name="Render Cache Read Write Mode" dword="0" bits="8:8" type="uint">
+ <value name="Write-Only Cache" value="0" />
+ <value name="Read-Write Cache" value="1" />
+ </field>
+ <field name="Sampler L2 Bypass Mode Disable" dword="0" bits="9:9" type="bool" />
+ <field name="Vertical Line Stride Offset" dword="0" bits="10:10" type="uint" />
+ <field name="Vertical Line Stride" dword="0" bits="11:11" type="uint" />
+ <field name="Tile Mode" dword="0" bits="13:12" type="uint">
+ <value name="LINEAR" value="0" />
+ <value name="WMAJOR" value="1" />
+ <value name="XMAJOR" value="2" />
+ <value name="YMAJOR" value="3" />
+ </field>
+ <field name="Surface Horizontal Alignment" dword="0" bits="15:14" type="uint">
+ <value name="HALIGN_4" value="1" />
+ <value name="HALIGN_8" value="2" />
+ <value name="HALIGN_16" value="3" />
+ </field>
+ <field name="Surface Vertical Alignment" dword="0" bits="17:16" type="uint">
+ <value name="VALIGN_4" value="1" />
+ <value name="VALIGN_8" value="2" />
+ <value name="VALIGN_16" value="3" />
+ </field>
+ <field name="Surface Format" dword="0" bits="26:18" type="uint" />
+ <field name="Surface Array" dword="0" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="0" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_BUFFER" value="4" />
+ <value name="SURFTYPE_STRBUF" value="5" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface QPitch" dword="1" bits="14:0" type="uint" />
+ <field name="Base Mip Level" dword="1" bits="23:19" type="u4.1" />
+ <field name="MOCS" dword="1" bits="30:24" type="uint" nonzero="true" />
+ <field name="Width" dword="2" bits="13:0" type="uint" />
+ <field name="Height" dword="2" bits="29:16" type="uint" />
+ <field name="Surface Pitch" dword="3" bits="17:0" type="uint" />
+ <field name="Depth" dword="3" bits="31:21" type="uint" />
+ <field name="Multisample Position Palette Index" dword="4" bits="2:0" type="uint" />
+ <field name="Number of Multisamples" dword="4" bits="5:3" type="uint">
+ <value name="MULTISAMPLECOUNT_1" value="0" />
+ <value name="MULTISAMPLECOUNT_2" value="1" />
+ <value name="MULTISAMPLECOUNT_4" value="2" />
+ <value name="MULTISAMPLECOUNT_8" value="3" />
+ </field>
+ <field name="Multisampled Surface Storage Format" dword="4" bits="6:6" type="uint">
+ <value name="MSFMT_MSS" value="0" />
+ <value name="MSFMT_DEPTH_STENCIL" value="1" />
+ </field>
+ <field name="Render Target View Extent" dword="4" bits="17:7" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="28:18" type="uint" />
+ <field name="Render Target And Sample Unorm Rotation" dword="4" bits="30:29" type="uint">
+ <value name="0DEG" value="0" />
+ <value name="90DEG" value="1" />
+ <value name="270DEG" value="3" />
+ </field>
+ <field name="MIP Count / LOD" dword="5" bits="3:0" type="uint" />
+ <field name="Surface Min LOD" dword="5" bits="7:4" type="uint" />
+ <field name="Coherency Type" dword="5" bits="14:14" type="uint">
+ <value name="GPU coherent" value="0" />
+ <value name="IA coherent" value="1" />
+ </field>
+ <field name="EWA Disable For Cube" dword="5" bits="20:20" type="bool" />
+ <field name="Y Offset" dword="5" bits="23:21" type="uint" />
+ <field name="X Offset" dword="5" bits="31:25" type="uint" />
+ <field name="Auxiliary Surface Mode" dword="6" bits="2:0" type="uint">
+ <value name="AUX_NONE" value="0" />
+ <value name="AUX_MCS" value="1" />
+ <value name="AUX_APPEND" value="2" />
+ <value name="AUX_HIZ" value="3" />
+ </field>
+ <field name="Y Offset for U or UV Plane" dword="6" bits="13:0" type="uint" />
+ <field name="Auxiliary Surface Pitch" dword="6" bits="11:3" type="uint" />
+ <field name="Auxiliary Surface QPitch" dword="6" bits="30:16" type="uint" />
+ <field name="X Offset for U or UV Plane" dword="6" bits="29:16" type="uint" />
+ <field name="Separate UV Plane Enable" dword="6" bits="31:31" type="bool" />
+ <field name="Resource Min LOD" dword="7" bits="11:0" type="u4.8" />
+ <field name="Shader Channel Select Alpha" dword="7" bits="18:16" type="Shader Channel Select" />
+ <field name="Shader Channel Select Blue" dword="7" bits="21:19" type="Shader Channel Select" />
+ <field name="Shader Channel Select Green" dword="7" bits="24:22" type="Shader Channel Select" />
+ <field name="Shader Channel Select Red" dword="7" bits="27:25" type="Shader Channel Select" />
+ <field name="Alpha Clear Color" dword="7" bits="28:28" type="Clear Color" />
+ <field name="Blue Clear Color" dword="7" bits="29:29" type="Clear Color" />
+ <field name="Green Clear Color" dword="7" bits="30:30" type="Clear Color" />
+ <field name="Red Clear Color" dword="7" bits="31:31" type="Clear Color" />
+ <field name="Surface Base Address" dword="8" bits="63:0" type="address" />
+ <field name="Auxiliary Surface Base Address" dword="10" bits="63:12" type="address" />
+ <field name="Auxiliary Table Index for Media Compressed Surface" dword="10" bits="31:21" type="uint" />
+ <field name="Y Offset for V Plane" dword="11" bits="13:0" type="uint" />
+ <field name="X Offset for V Plane" dword="11" bits="29:16" type="uint" />
+ </struct>
+ <struct name="SAMPLER_BORDER_COLOR_STATE" length="4">
+ <field name="Border Color Float Red" dword="0" bits="31:0" type="float" />
+ <field name="Border Color 32bit Red" dword="0" bits="31:0" type="uint" />
+ <field name="Border Color Float Green" dword="1" bits="31:0" type="float" />
+ <field name="Border Color 32bit Green" dword="1" bits="31:0" type="uint" />
+ <field name="Border Color Float Blue" dword="2" bits="31:0" type="float" />
+ <field name="Border Color 32bit Blue" dword="2" bits="31:0" type="uint" />
+ <field name="Border Color Float Alpha" dword="3" bits="31:0" type="float" />
+ <field name="Border Color 32bit Alpha" dword="3" bits="31:0" type="uint" />
+ </struct>
+ <struct name="SAMPLER_STATE" length="4">
+ <field name="Anisotropic Algorithm" dword="0" bits="0:0" type="uint">
+ <value name="LEGACY" value="0" />
+ <value name="EWA Approximation" value="1" />
+ </field>
+ <field name="Texture LOD Bias" dword="0" bits="13:1" type="s4.8" />
+ <field name="Min Mode Filter" dword="0" bits="16:14" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mag Mode Filter" dword="0" bits="19:17" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mip Mode Filter" dword="0" bits="21:20" type="uint" prefix="MIPFILTER">
+ <value name="NONE" value="0" />
+ <value name="NEAREST" value="1" />
+ <value name="LINEAR" value="3" />
+ </field>
+ <field name="Base Mip Level" dword="0" bits="26:22" type="u4.1" />
+ <field name="LOD PreClamp Mode" dword="0" bits="28:27" type="uint" prefix="CLAMP_MODE">
+ <value name="NONE" value="0" />
+ <value name="OGL" value="2" />
+ </field>
+ <field name="Texture Border Color Mode" dword="0" bits="29:29" type="uint">
+ <value name="DX10/OGL" value="0" />
+ <value name="DX9" value="1" />
+ </field>
+ <field name="Sampler Disable" dword="0" bits="31:31" type="bool" />
+ <field name="Cube Surface Control Mode" dword="1" bits="0:0" type="uint">
+ <value name="PROGRAMMED" value="0" />
+ <value name="OVERRIDE" value="1" />
+ </field>
+ <field name="Shadow Function" dword="1" bits="3:1" type="uint" prefix="PREFILTEROP">
+ <value name="ALWAYS" value="0" />
+ <value name="NEVER" value="1" />
+ <value name="LESS" value="2" />
+ <value name="EQUAL" value="3" />
+ <value name="LEQUAL" value="4" />
+ <value name="GREATER" value="5" />
+ <value name="NOTEQUAL" value="6" />
+ <value name="GEQUAL" value="7" />
+ </field>
+ <field name="ChromaKey Mode" dword="1" bits="4:4" type="uint">
+ <value name="KEYFILTER_KILL_ON_ANY_MATCH" value="0" />
+ <value name="KEYFILTER_REPLACE_BLACK" value="1" />
+ </field>
+ <field name="ChromaKey Index" dword="1" bits="6:5" type="uint" />
+ <field name="ChromaKey Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Max LOD" dword="1" bits="19:8" type="u4.8" />
+ <field name="Min LOD" dword="1" bits="31:20" type="u4.8" />
+ <field name="LOD Clamp Magnification Mode" dword="2" bits="0:0" type="uint">
+ <value name="MIPNONE" value="0" />
+ <value name="MIPFILTER" value="1" />
+ </field>
+ <field name="Border Color Pointer" dword="2" bits="23:6" type="offset" />
+ <field name="TCZ Address Control Mode" dword="3" bits="2:0" type="Texture Coordinate Mode" />
+ <field name="TCY Address Control Mode" dword="3" bits="5:3" type="Texture Coordinate Mode" />
+ <field name="TCX Address Control Mode" dword="3" bits="8:6" type="Texture Coordinate Mode" />
+ <field name="Non-normalized Coordinate Enable" dword="3" bits="10:10" type="bool" />
+ <field name="Trilinear Filter Quality" dword="3" bits="12:11" type="uint">
+ <value name="FULL" value="0" />
+ <value name="HIGH" value="1" />
+ <value name="MED" value="2" />
+ <value name="LOW" value="3" />
+ </field>
+ <field name="R Address Min Filter Rounding Enable" dword="3" bits="13:13" type="bool" />
+ <field name="R Address Mag Filter Rounding Enable" dword="3" bits="14:14" type="bool" />
+ <field name="V Address Min Filter Rounding Enable" dword="3" bits="15:15" type="bool" />
+ <field name="V Address Mag Filter Rounding Enable" dword="3" bits="16:16" type="bool" />
+ <field name="U Address Min Filter Rounding Enable" dword="3" bits="17:17" type="bool" />
+ <field name="U Address Mag Filter Rounding Enable" dword="3" bits="18:18" type="bool" />
+ <field name="Maximum Anisotropy" dword="3" bits="21:19" type="uint">
+ <value name="RATIO 2:1" value="0" />
+ <value name="RATIO 4:1" value="1" />
+ <value name="RATIO 6:1" value="2" />
+ <value name="RATIO 8:1" value="3" />
+ <value name="RATIO 10:1" value="4" />
+ <value name="RATIO 12:1" value="5" />
+ <value name="RATIO 14:1" value="6" />
+ <value name="RATIO 16:1" value="7" />
+ </field>
+ </struct>
+ <struct name="SAMPLER_STATE_8X8_AVS_COEFFICIENTS" length="8">
+ <field name="Table 0X Filter Coefficient[n,0]" dword="0" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[n,0]" dword="0" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[n,1]" dword="0" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[n,1]" dword="0" bits="31:24" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[n,2]" dword="1" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[n,2]" dword="1" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[n,3]" dword="1" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[n,3]" dword="1" bits="31:24" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[n,4]" dword="2" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[n,4]" dword="2" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[n,5]" dword="2" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[n,5]" dword="2" bits="31:24" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[n,6]" dword="3" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[n,6]" dword="3" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[n,7]" dword="3" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[n,7]" dword="3" bits="31:24" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[n,2]" dword="4" bits="23:16" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[n,3]" dword="4" bits="31:24" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[n,4]" dword="5" bits="7:0" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[n,5]" dword="5" bits="15:8" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[n,2]" dword="6" bits="23:16" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[n,3]" dword="6" bits="31:24" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[n,4]" dword="7" bits="7:0" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[n,5]" dword="7" bits="15:8" type="s1.6" />
+ </struct>
+ <struct name="SF_CLIP_VIEWPORT" length="16">
+ <field name="Viewport Matrix Element m00" dword="0" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m11" dword="1" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m22" dword="2" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m30" dword="3" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m31" dword="4" bits="31:0" type="float" />
+ <field name="Viewport Matrix Element m32" dword="5" bits="31:0" type="float" />
+ <field name="X Min Clip Guardband" dword="8" bits="31:0" type="float" />
+ <field name="X Max Clip Guardband" dword="9" bits="31:0" type="float" />
+ <field name="Y Min Clip Guardband" dword="10" bits="31:0" type="float" />
+ <field name="Y Max Clip Guardband" dword="11" bits="31:0" type="float" />
+ <field name="X Min ViewPort" dword="12" bits="31:0" type="float" />
+ <field name="X Max ViewPort" dword="13" bits="31:0" type="float" />
+ <field name="Y Min ViewPort" dword="14" bits="31:0" type="float" />
+ <field name="Y Max ViewPort" dword="15" bits="31:0" type="float" />
+ </struct>
+ <struct name="VERTEX_BUFFER_STATE" length="4">
+ <field name="Buffer Pitch" dword="0" bits="11:0" type="uint" />
+ <field name="Null Vertex Buffer" dword="0" bits="13:13" type="bool" />
+ <field name="Address Modify Enable" dword="0" bits="14:14" type="bool" />
+ <field name="MOCS" dword="0" bits="22:16" type="uint" nonzero="true" />
+ <field name="Vertex Buffer Index" dword="0" bits="31:26" type="uint" />
+ <field name="Buffer Starting Address" dword="1" bits="63:0" type="address" />
+ <field name="Buffer Size" dword="3" bits="31:0" type="uint" />
+ </struct>
+ <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="10" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="AA Coverage Slope" dword="1" bits="7:0" type="u0.8" />
+ <field name="AA Point Coverage Slope" dword="1" bits="15:8" type="u0.8" />
+ <field name="AA Coverage Bias" dword="1" bits="23:16" type="u0.8" />
+ <field name="AA Point Coverage Bias" dword="1" bits="31:24" type="u0.8" />
+ <field name="AA Coverage EndCap Slope" dword="2" bits="7:0" type="u0.8" />
+ <field name="AA Point Coverage EndCap Slope" dword="2" bits="15:8" type="u0.8" />
+ <field name="AA Coverage EndCap Bias" dword="2" bits="23:16" type="u0.8" />
+ <field name="AA Point Coverage EndCap Bias" dword="2" bits="31:24" type="u0.8" />
+ </instruction>
+ <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="25" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MOCS" dword="1" bits="6:0" type="uint" nonzero="true" />
+ <field name="Binding Table Pool Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Binding Table Pool Base Address" dword="1" bits="63:12" type="address" />
+ <field name="Binding Table Pool Buffer Size" dword="3" bits="31:12" type="uint">
+ <value name="No Valid Data" value="0" />
+ </field>
+ </instruction>
+ <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="36" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Blend State Pointer Valid" dword="1" bits="0:0" type="bool" />
+ <field name="Blend State Pointer" dword="1" bits="31:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="14" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Color Calc State Pointer Valid" dword="1" bits="0:0" type="bool" />
+ <field name="Color Calc State Pointer" dword="1" bits="31:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Clear Value" dword="1" bits="31:0" type="float" />
+ <field name="Depth Clear Value Valid" dword="2" bits="0:0" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_CLIP" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="18" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="1" bits="7:0" type="uint" />
+ <field name="Statistics Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Force Clip Mode" dword="1" bits="16:16" type="bool" />
+ <field name="Force User Clip Distance Clip Test Enable Bitmask" dword="1" bits="17:17" type="bool" />
+ <field name="Early Cull Enable" dword="1" bits="18:18" type="bool" />
+ <field name="Vertex Sub Pixel Precision Select" dword="1" bits="19:19" type="uint">
+ <value name="8 Bit" value="0" />
+ <value name="4 Bit" value="1" />
+ </field>
+ <field name="Force User Clip Distance Cull Test Enable Bitmask" dword="1" bits="20:20" type="bool" />
+ <field name="Triangle Fan Provoking Vertex Select" dword="2" bits="1:0" type="uint" />
+ <field name="Line Strip/List Provoking Vertex Select" dword="2" bits="3:2" type="uint" />
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="2" bits="5:4" type="uint" />
+ <field name="Non-Perspective Barycentric Enable" dword="2" bits="8:8" type="bool" />
+ <field name="Perspective Divide Disable" dword="2" bits="9:9" type="bool" />
+ <field name="Clip Mode" dword="2" bits="15:13" type="uint">
+ <value name="CLIPMODE_NORMAL" value="0" />
+ <value name="CLIPMODE_REJECT_ALL" value="3" />
+ <value name="CLIPMODE_ACCEPT_ALL" value="4" />
+ </field>
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="2" bits="23:16" type="uint" />
+ <field name="Guardband Clip Test Enable" dword="2" bits="26:26" type="bool" />
+ <field name="Viewport XY Clip Test Enable" dword="2" bits="28:28" type="bool" />
+ <field name="API Mode" dword="2" bits="30:30" type="uint">
+ <value name="APIMODE_OGL" value="0" />
+ <value name="APIMODE_D3D" value="1" />
+ </field>
+ <field name="Clip Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Maximum VP Index" dword="3" bits="3:0" type="uint" />
+ <field name="Force Zero RTA Index Enable" dword="3" bits="5:5" type="bool" />
+ <field name="Maximum Point Width" dword="3" bits="16:6" type="u8.3" />
+ <field name="Minimum Point Width" dword="3" bits="27:17" type="u8.3" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="MOCS" dword="0" bits="14:8" type="mbz" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="26" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="319:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="MOCS" dword="0" bits="14:8" type="mbz" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="22" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="319:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="MOCS" dword="0" bits="14:8" type="mbz" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="25" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="319:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="MOCS" dword="0" bits="14:8" type="mbz" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="23" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="319:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="MOCS" dword="0" bits="14:8" type="mbz" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="21" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="319:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="17:0" type="uint" />
+ <field name="Surface Format" dword="1" bits="20:18" type="uint">
+ <value name="D32_FLOAT" value="1" />
+ <value name="D24_UNORM_X8_UINT" value="3" />
+ <value name="D16_UNORM" value="5" />
+ </field>
+ <field name="Hierarchical Depth Buffer Enable" dword="1" bits="22:22" type="bool" />
+ <field name="Stencil Write Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Depth Write Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="LOD" dword="4" bits="3:0" type="uint" />
+ <field name="Width" dword="4" bits="17:4" type="uint" />
+ <field name="Height" dword="4" bits="31:18" type="uint" />
+ <field name="MOCS" dword="5" bits="6:0" type="uint" nonzero="true" />
+ <field name="Minimum Array Element" dword="5" bits="20:10" type="uint" />
+ <field name="Depth" dword="5" bits="31:21" type="uint" />
+ <field name="Surface QPitch" dword="7" bits="14:0" type="uint" />
+ <field name="Render Target View Extent" dword="7" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_DS" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="29" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="14:14" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Single Domain Point Dispatch" dword="3" bits="31:31" type="uint" />
+ <field name="Per-Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="Patch URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Patch URB Entry Read Length" dword="6" bits="17:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="24:20" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Cache Disable" dword="7" bits="1:1" type="bool" />
+ <field name="Compute W Coordinate Enable" dword="7" bits="2:2" type="bool" />
+ <field name="Dispatch Mode" dword="7" bits="3:3" type="uint" prefix="DISPATCH_MODE">
+ <value name="SIMD4X2" value="0" />
+ <value name="SIMD8_SINGLE_PATCH" value="1" />
+ </field>
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="7" bits="29:21" type="uint" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="8" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="8" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="8" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="8" bits="26:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="55" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="Constant Buffer Dx9 Generate Stall" dword="2" bits="5:5" type="bool" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="53" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="Constant Buffer Dx9 Generate Stall" dword="2" bits="5:5" type="bool" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="54" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="Constant Buffer Dx9 Generate Stall" dword="2" bits="5:5" type="bool" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="56" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="Constant Buffer Dx9 Enable" dword="2" bits="4:4" type="bool" />
+ <field name="Constant Buffer Dx9 Generate Stall" dword="2" bits="5:5" type="bool" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="52" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="Constant Buffer Dx9 Enable" dword="2" bits="4:4" type="bool" />
+ <field name="Constant Buffer Dx9 Generate Stall" dword="2" bits="5:5" type="bool" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="26" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MOCS" dword="1" bits="6:0" type="uint" nonzero="true" />
+ <field name="Gather Pool Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Gather Pool Base Address" dword="1" bits="63:12" type="address" />
+ <field name="Gather Pool Buffer Size" dword="3" bits="31:12" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="17" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Expected Vertex Count" dword="3" bits="5:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="3" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Include Vertex Handles" dword="6" bits="10:10" type="bool" />
+ <field name="Vertex URB Entry Read Length" dword="6" bits="16:11" type="uint" />
+ <field name="Output Topology" dword="6" bits="22:17" type="3D_Prim_Topo_Type" />
+ <field name="Output Vertex Size" dword="6" bits="28:23" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Discard Adjacency" dword="7" bits="1:1" type="bool" />
+ <field name="Reorder Mode" dword="7" bits="2:2" type="uint">
+ <value name="LEADING" value="0" />
+ <value name="TRAILING" value="1" />
+ </field>
+ <field name="Hint" dword="7" bits="3:3" type="uint" />
+ <field name="Include Primitive ID" dword="7" bits="4:4" type="bool" />
+ <field name="Invocations Increment Value" dword="7" bits="9:5" type="uint" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Dispatch Mode" dword="7" bits="12:11" type="uint" prefix="DISPATCH_MODE">
+ <value name="Dual Instance" value="1" />
+ <value name="Dual Object" value="2" />
+ <value name="SIMD8" value="3" />
+ </field>
+ <field name="Default Stream Id" dword="7" bits="14:13" type="uint" />
+ <field name="Instance Control" dword="7" bits="19:15" type="uint" />
+ <field name="Control Data Header Size" dword="7" bits="23:20" type="uint" />
+ <field name="Maximum Number of Threads" dword="7" bits="31:24" type="uint" />
+ <field name="Static Output Vertex Count" dword="8" bits="26:16" type="uint" />
+ <field name="Static Output" dword="8" bits="30:30" type="bool" />
+ <field name="Control Data Format" dword="8" bits="31:31" type="uint">
+ <value name="CUT" value="0" />
+ <value name="SID" value="1" />
+ </field>
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="9" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="9" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="9" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="9" bits="26:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="7" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="MOCS" dword="1" bits="31:25" type="uint" nonzero="true" />
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="Surface QPitch" dword="4" bits="14:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_HS" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="27" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Software Exception Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="1" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="1" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Instance Count" dword="2" bits="3:0" type="uint" />
+ <field name="Maximum Number of Threads" dword="2" bits="16:8" type="uint" />
+ <field name="Statistics Enable" dword="2" bits="29:29" type="bool" />
+ <field name="Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Kernel Start Pointer" dword="3" bits="63:6" type="offset" />
+ <field name="Per-Thread Scratch Space" dword="5" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="5" bits="63:10" type="address" />
+ <field name="Vertex URB Entry Read Offset" dword="7" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="7" bits="16:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="7" bits="23:19" type="uint" />
+ <field name="Include Vertex Handles" dword="7" bits="24:24" type="bool" />
+ <field name="Accesses UAV" dword="7" bits="25:25" type="bool" />
+ <field name="Vector Mask Enable" dword="7" bits="26:26" type="bool" />
+ <field name="Single Program Flow" dword="7" bits="27:27" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="10" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MOCS" dword="1" bits="6:0" type="uint" nonzero="true" />
+ <field name="Index Format" dword="1" bits="9:8" type="uint" prefix="INDEX">
+ <value name="BYTE" value="0" />
+ <value name="WORD" value="1" />
+ <value name="DWORD" value="2" />
+ </field>
+ <field name="Buffer Starting Address" dword="2" bits="63:0" type="address" />
+ <field name="Buffer Size" dword="4" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="13" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Number of Multisamples" dword="1" bits="3:1" type="uint" />
+ <field name="Pixel Location" dword="1" bits="4:4" type="uint">
+ <value name="CENTER" value="0" />
+ <value name="UL_CORNER" value="1" />
+ </field>
+ <field name="Pixel Position Offset Enable" dword="1" bits="5:5" type="bool" default="0" />
+ </instruction>
+ <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="10" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="32" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer 0" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Rounding Mode" dword="3" bits="15:14" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Single Precision Denormal Mode" dword="3" bits="26:26" type="uint">
+ <value name="Flushed to Zero" value="0" />
+ <value name="Retained" value="1" />
+ </field>
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="3" bits="31:31" type="bool" />
+ <field name="Per Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="8 Pixel Dispatch Enable" dword="6" bits="0:0" type="bool" />
+ <field name="16 Pixel Dispatch Enable" dword="6" bits="1:1" type="bool" />
+ <field name="32 Pixel Dispatch Enable" dword="6" bits="2:2" type="bool" />
+ <field name="Position XY Offset Select" dword="6" bits="4:3" type="uint">
+ <value name="POSOFFSET_NONE" value="0" />
+ <value name="POSOFFSET_CENTROID" value="2" />
+ <value name="POSOFFSET_SAMPLE" value="3" />
+ </field>
+ <field name="Render Target Resolve Enable" dword="6" bits="6:6" type="bool" />
+ <field name="Render Target Fast Clear Enable" dword="6" bits="8:8" type="bool" />
+ <field name="Push Constant Enable" dword="6" bits="11:11" type="bool" />
+ <field name="Maximum Number of Threads Per PSD" dword="6" bits="31:23" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 2" dword="7" bits="6:0" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 1" dword="7" bits="14:8" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="7" bits="22:16" type="uint" />
+ <field name="Kernel Start Pointer 1" dword="8" bits="63:6" type="offset" />
+ <field name="Kernel Start Pointer 2" dword="10" bits="63:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_PS_BLEND" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="77" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Independent Alpha Blend Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Alpha Test Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Destination Blend Factor" dword="1" bits="13:9" type="uint" />
+ <field name="Source Blend Factor" dword="1" bits="18:14" type="uint" />
+ <field name="Destination Alpha Blend Factor" dword="1" bits="23:19" type="uint" />
+ <field name="Source Alpha Blend Factor" dword="1" bits="28:24" type="uint" />
+ <field name="Color Buffer Blend Enable" dword="1" bits="29:29" type="bool" />
+ <field name="Has Writeable RT" dword="1" bits="30:30" type="bool" />
+ <field name="Alpha To Coverage Enable" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="79" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pixel Shader Uses Input Coverage Mask" dword="1" bits="1:1" type="bool" />
+ <field name="Pixel Shader Has UAV" dword="1" bits="2:2" type="bool" />
+ <field name="Pixel Shader Is Per Sample" dword="1" bits="6:6" type="bool" />
+ <field name="Pixel Shader Disables Alpha To Coverage" dword="1" bits="7:7" type="bool" />
+ <field name="Attribute Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Pixel Shader Uses Source W" dword="1" bits="23:23" type="bool" />
+ <field name="Pixel Shader Uses Source Depth" dword="1" bits="24:24" type="bool" />
+ <field name="Force Computed Depth" dword="1" bits="25:25" type="bool" />
+ <field name="Pixel Shader Computed Depth Mode" dword="1" bits="27:26" type="uint">
+ <value name="PSCDEPTH_OFF" value="0" />
+ <value name="PSCDEPTH_ON" value="1" />
+ <value name="PSCDEPTH_ON_GE" value="2" />
+ <value name="PSCDEPTH_ON_LE" value="3" />
+ </field>
+ <field name="Pixel Shader Kills Pixel" dword="1" bits="28:28" type="bool" />
+ <field name="oMask Present to Render Target" dword="1" bits="29:29" type="bool" />
+ <field name="Pixel Shader Does not write to RT" dword="1" bits="30:30" type="mbz" />
+ <field name="Pixel Shader Valid" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_RASTER" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="80" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Viewport Z Clip Test Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Scissor Rectangle Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Antialiasing Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Back Face Fill Mode" dword="1" bits="4:3" type="uint" prefix="FILL_MODE">
+ <value name="SOLID" value="0" />
+ <value name="WIREFRAME" value="1" />
+ <value name="POINT" value="2" />
+ </field>
+ <field name="Front Face Fill Mode" dword="1" bits="6:5" type="uint" prefix="FILL_MODE">
+ <value name="SOLID" value="0" />
+ <value name="WIREFRAME" value="1" />
+ <value name="POINT" value="2" />
+ </field>
+ <field name="Global Depth Offset Enable Point" dword="1" bits="7:7" type="bool" />
+ <field name="Global Depth Offset Enable Wireframe" dword="1" bits="8:8" type="bool" />
+ <field name="Global Depth Offset Enable Solid" dword="1" bits="9:9" type="bool" />
+ <field name="DX Multisample Rasterization Mode" dword="1" bits="11:10" type="uint">
+ <value name="MSRASTMODE_ OFF_PIXEL" value="0" />
+ <value name="MSRASTMODE_ OFF_PATTERN" value="1" />
+ <value name="MSRASTMODE_ ON_PIXEL" value="2" />
+ <value name="MSRASTMODE_ ON_PATTERN" value="3" />
+ </field>
+ <field name="DX Multisample Rasterization Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Smooth Point Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Force Multisampling" dword="1" bits="14:14" type="uint" />
+ <field name="Cull Mode" dword="1" bits="17:16" type="uint" prefix="CULLMODE">
+ <value name="BOTH" value="0" />
+ <value name="NONE" value="1" />
+ <value name="FRONT" value="2" />
+ <value name="BACK" value="3" />
+ </field>
+ <field name="Forced Sample Count" dword="1" bits="20:18" type="uint" prefix="FSC">
+ <value name="NUMRASTSAMPLES_0" value="0" />
+ <value name="NUMRASTSAMPLES_1" value="1" />
+ <value name="NUMRASTSAMPLES_2" value="2" />
+ <value name="NUMRASTSAMPLES_4" value="3" />
+ <value name="NUMRASTSAMPLES_8" value="4" />
+ <value name="NUMRASTSAMPLES_16" value="5" />
+ </field>
+ <field name="Front Winding" dword="1" bits="21:21" type="uint">
+ <value name="Clockwise" value="0" />
+ <value name="Counter Clockwise" value="1" />
+ </field>
+ <field name="API Mode" dword="1" bits="23:22" type="uint">
+ <value name="DX9/OGL" value="0" />
+ <value name="DX10.0" value="1" />
+ <value name="DX10.1+" value="2" />
+ </field>
+ <field name="Global Depth Offset Constant" dword="2" bits="31:0" type="float" />
+ <field name="Global Depth Offset Scale" dword="3" bits="31:0" type="float" />
+ <field name="Global Depth Offset Clamp" dword="4" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="24" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Sample Mask" dword="1" bits="15:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_SAMPLE_PATTERN" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="28" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="8x Sample4 Y Offset" dword="5" bits="3:0" type="u0.4" />
+ <field name="8x Sample4 X Offset" dword="5" bits="7:4" type="u0.4" />
+ <field name="8x Sample5 Y Offset" dword="5" bits="11:8" type="u0.4" />
+ <field name="8x Sample5 X Offset" dword="5" bits="15:12" type="u0.4" />
+ <field name="8x Sample6 Y Offset" dword="5" bits="19:16" type="u0.4" />
+ <field name="8x Sample6 X Offset" dword="5" bits="23:20" type="u0.4" />
+ <field name="8x Sample7 Y Offset" dword="5" bits="27:24" type="u0.4" />
+ <field name="8x Sample7 X Offset" dword="5" bits="31:28" type="u0.4" />
+ <field name="8x Sample0 Y Offset" dword="6" bits="3:0" type="u0.4" />
+ <field name="8x Sample0 X Offset" dword="6" bits="7:4" type="u0.4" />
+ <field name="8x Sample1 Y Offset" dword="6" bits="11:8" type="u0.4" />
+ <field name="8x Sample1 X Offset" dword="6" bits="15:12" type="u0.4" />
+ <field name="8x Sample2 Y Offset" dword="6" bits="19:16" type="u0.4" />
+ <field name="8x Sample2 X Offset" dword="6" bits="23:20" type="u0.4" />
+ <field name="8x Sample3 Y Offset" dword="6" bits="27:24" type="u0.4" />
+ <field name="8x Sample3 X Offset" dword="6" bits="31:28" type="u0.4" />
+ <field name="4x Sample0 Y Offset" dword="7" bits="3:0" type="u0.4" />
+ <field name="4x Sample0 X Offset" dword="7" bits="7:4" type="u0.4" />
+ <field name="4x Sample1 Y Offset" dword="7" bits="11:8" type="u0.4" />
+ <field name="4x Sample1 X Offset" dword="7" bits="15:12" type="u0.4" />
+ <field name="4x Sample2 Y Offset" dword="7" bits="19:16" type="u0.4" />
+ <field name="4x Sample2 X Offset" dword="7" bits="23:20" type="u0.4" />
+ <field name="4x Sample3 Y Offset" dword="7" bits="27:24" type="u0.4" />
+ <field name="4x Sample3 X Offset" dword="7" bits="31:28" type="u0.4" />
+ <field name="2x Sample0 Y Offset" dword="8" bits="3:0" type="u0.4" />
+ <field name="2x Sample0 X Offset" dword="8" bits="7:4" type="u0.4" />
+ <field name="2x Sample1 Y Offset" dword="8" bits="11:8" type="u0.4" />
+ <field name="2x Sample1 X Offset" dword="8" bits="15:12" type="u0.4" />
+ <field name="1x Sample0 Y Offset" dword="8" bits="19:16" type="u0.4" />
+ <field name="1x Sample0 X Offset" dword="8" bits="23:20" type="u0.4" />
+ </instruction>
+ <instruction name="3DSTATE_SBE" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="31" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Primitive ID Override Attribute Select" dword="1" bits="4:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="1" bits="10:5" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="1" bits="15:11" type="uint" />
+ <field name="Primitive ID Override Component X" dword="1" bits="16:16" type="bool" />
+ <field name="Primitive ID Override Component Y" dword="1" bits="17:17" type="bool" />
+ <field name="Primitive ID Override Component Z" dword="1" bits="18:18" type="bool" />
+ <field name="Primitive ID Override Component W" dword="1" bits="19:19" type="bool" />
+ <field name="Point Sprite Texture Coordinate Origin" dword="1" bits="20:20" type="uint">
+ <value name="UPPERLEFT" value="0" />
+ <value name="LOWERLEFT" value="1" />
+ </field>
+ <field name="Attribute Swizzle Enable" dword="1" bits="21:21" type="bool" />
+ <field name="Number of SF Output Attributes" dword="1" bits="27:22" type="uint" />
+ <field name="Force Vertex URB Entry Read Offset" dword="1" bits="28:28" type="bool" />
+ <field name="Force Vertex URB Entry Read Length" dword="1" bits="29:29" type="bool" />
+ <field name="Point Sprite Texture Coordinate Enable" dword="2" bits="31:0" type="uint" />
+ <field name="Constant Interpolation Enable" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_SBE_SWIZ" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="81" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="16" dword="1" size="16">
+ <field name="Attribute" dword="0" bits="15:0" type="SF_OUTPUT_ATTRIBUTE_DETAIL" />
+ </group>
+ <group count="16" dword="9" size="4">
+ <field name="Attribute Wrap Shortest Enables" dword="0" bits="3:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_SF" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="19" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Viewport Transform Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Legacy Global Depth Bias Enable" dword="1" bits="11:11" type="bool" />
+ <field name="CHV Line Width" dword="1" bits="29:12" type="u11.7" />
+ <field name="Line End Cap Antialiasing Region Width" dword="2" bits="17:16" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line Width" dword="2" bits="27:18" type="u3.7" />
+ <field name="Point Width" dword="3" bits="10:0" type="u8.3" />
+ <field name="Point Width Source" dword="3" bits="11:11" type="uint">
+ <value name="Vertex" value="0" />
+ <value name="State" value="1" />
+ </field>
+ <field name="Vertex Sub Pixel Precision Select" dword="3" bits="12:12" type="uint">
+ <value name="8 Bit" value="0" />
+ <value name="4 Bit" value="1" />
+ </field>
+ <field name="Smooth Point Enable" dword="3" bits="13:13" type="bool" />
+ <field name="AA Line Distance Mode" dword="3" bits="14:14" type="uint">
+ <value name="AALINEDISTANCE_TRUE" value="1" />
+ </field>
+ <field name="Triangle Fan Provoking Vertex Select" dword="3" bits="26:25" type="uint" />
+ <field name="Line Strip/List Provoking Vertex Select" dword="3" bits="28:27" type="uint" />
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="3" bits="30:29" type="uint" />
+ <field name="Last Pixel Enable" dword="3" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_SO_BUFFER" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="24" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Stream Output Buffer Offset Address Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Stream Offset Write Enable" dword="1" bits="21:21" type="bool" />
+ <field name="MOCS" dword="1" bits="28:22" type="uint" nonzero="true" />
+ <field name="SO Buffer Index" dword="1" bits="30:29" type="uint" />
+ <field name="SO Buffer Enable" dword="1" bits="31:31" type="bool" />
+ <field name="Surface Base Address" dword="2" bits="47:2" type="address" />
+ <field name="Surface Size" dword="4" bits="29:0" type="uint" />
+ <field name="Stream Output Buffer Offset Address" dword="5" bits="47:2" type="address" />
+ <field name="Stream Offset" dword="7" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="MOCS" dword="1" bits="28:22" type="uint" nonzero="true" />
+ <field name="Stencil Buffer Enable" dword="1" bits="31:31" type="bool" />
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="Surface QPitch" dword="4" bits="14:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_STREAMOUT" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="30" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Force Rendering" dword="1" bits="24:23" type="uint">
+ <value name="Resreved" value="1" />
+ <value name="Force_Off" value="2" />
+ <value name="Force_on" value="3" />
+ </field>
+ <field name="SO Statistics Enable" dword="1" bits="25:25" type="bool" />
+ <field name="Reorder Mode" dword="1" bits="26:26" type="uint">
+ <value name="LEADING" value="0" />
+ <value name="TRAILING" value="1" />
+ </field>
+ <field name="Render Stream Select" dword="1" bits="28:27" type="uint" />
+ <field name="Rendering Disable" dword="1" bits="30:30" type="bool" />
+ <field name="SO Function Enable" dword="1" bits="31:31" type="bool" />
+ <field name="Stream 0 Vertex Read Length" dword="2" bits="4:0" type="uint" />
+ <field name="Stream 0 Vertex Read Offset" dword="2" bits="5:5" type="uint" />
+ <field name="Stream 1 Vertex Read Length" dword="2" bits="12:8" type="uint" />
+ <field name="Stream 1 Vertex Read Offset" dword="2" bits="13:13" type="uint" />
+ <field name="Stream 2 Vertex Read Length" dword="2" bits="20:16" type="uint" />
+ <field name="Stream 2 Vertex Read Offset" dword="2" bits="21:21" type="uint" />
+ <field name="Stream 3 Vertex Read Length" dword="2" bits="28:24" type="uint" />
+ <field name="Stream 3 Vertex Read Offset" dword="2" bits="29:29" type="uint" />
+ <field name="Buffer 0 Surface Pitch" dword="3" bits="11:0" type="uint" />
+ <field name="Buffer 1 Surface Pitch" dword="3" bits="27:16" type="uint" />
+ <field name="Buffer 2 Surface Pitch" dword="4" bits="11:0" type="uint" />
+ <field name="Buffer 3 Surface Pitch" dword="4" bits="27:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_DS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="50" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="DS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="DS URB Entry Allocation Size" dword="1" bits="24:16" type="uint" />
+ <field name="DS URB Starting Address" dword="1" bits="31:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_GS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="51" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="GS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="GS URB Entry Allocation Size" dword="1" bits="24:16" type="uint" />
+ <field name="GS URB Starting Address" dword="1" bits="31:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_HS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="49" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="HS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="HS URB Entry Allocation Size" dword="1" bits="24:16" type="uint" />
+ <field name="HS URB Starting Address" dword="1" bits="31:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_URB_VS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="48" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="VS Number of URB Entries" dword="1" bits="15:0" type="uint" />
+ <field name="VS URB Entry Allocation Size" dword="1" bits="24:16" type="uint" />
+ <field name="VS URB Starting Address" dword="1" bits="31:25" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VF_INSTANCING" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="73" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Vertex Element Index" dword="1" bits="5:0" type="uint" />
+ <field name="Instancing Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Instance Data Step Rate" dword="2" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VF_SGVS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="74" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="VertexID Element Offset" dword="1" bits="5:0" type="uint" />
+ <field name="VertexID Component Number" dword="1" bits="14:13" type="uint">
+ <value name="COMP_0" value="0" />
+ <value name="COMP_1" value="1" />
+ <value name="COMP_2" value="2" />
+ <value name="COMP_3" value="3" />
+ </field>
+ <field name="VertexID Enable" dword="1" bits="15:15" type="bool" />
+ <field name="InstanceID Element Offset" dword="1" bits="21:16" type="uint" />
+ <field name="InstanceID Component Number" dword="1" bits="30:29" type="uint">
+ <value name="COMP_0" value="0" />
+ <value name="COMP_1" value="1" />
+ <value name="COMP_2" value="2" />
+ <value name="COMP_3" value="3" />
+ </field>
+ <field name="InstanceID Enable" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_VF_TOPOLOGY" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="75" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Primitive Topology Type" dword="1" bits="5:0" type="3D_Prim_Topo_Type" />
+ </instruction>
+ <instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="16" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Single Vertex Dispatch" dword="3" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="Vertex URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="6" bits="16:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="24:20" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Vertex Cache Disable" dword="7" bits="1:1" type="bool" />
+ <field name="SIMD8 Dispatch Enable" dword="7" bits="2:2" type="bool" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="7" bits="31:23" type="uint" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="8" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="8" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="8" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="8" bits="26:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_WM" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="20" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Force Kill Pixel Enable" dword="1" bits="1:0" type="uint">
+ <value name="ForceOff" value="1" />
+ <value name="ForceON" value="2" />
+ </field>
+ <field name="Point Rasterization Rule" dword="1" bits="2:2" type="uint">
+ <value name="RASTRULE_UPPER_LEFT" value="0" />
+ <value name="RASTRULE_UPPER_RIGHT" value="1" />
+ </field>
+ <field name="Line Stipple Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Polygon Stipple Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Line Antialiasing Region Width" dword="1" bits="7:6" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Line End Cap Antialiasing Region Width" dword="1" bits="9:8" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Barycentric Interpolation Mode" dword="1" bits="16:11" type="uint">
+ <value name="BIM_PERSPECTIVE_PIXEL" value="1" />
+ <value name="BIM_PERSPECTIVE_CENTROID" value="2" />
+ <value name="BIM_PERSPECTIVE_SAMPLE" value="4" />
+ <value name="BIM_LINEAR_PIXEL" value="8" />
+ <value name="BIM_LINEAR_CENTROID" value="16" />
+ <value name="BIM_LINEAR_SAMPLE" value="32" />
+ </field>
+ <field name="Position ZW Interpolation Mode" dword="1" bits="18:17" type="uint">
+ <value name="INTERP_PIXEL" value="0" />
+ <value name="INTERP_CENTROID" value="2" />
+ <value name="INTERP_SAMPLE" value="3" />
+ </field>
+ <field name="Force Thread Dispatch Enable" dword="1" bits="20:19" type="uint">
+ <value name="ForceOff" value="1" />
+ <value name="ForceON" value="2" />
+ </field>
+ <field name="Early Depth/Stencil Control" dword="1" bits="22:21" type="uint">
+ <value name="EDSC_NORMAL" value="0" />
+ <value name="EDSC_PSEXEC" value="1" />
+ <value name="EDSC_PREPS" value="2" />
+ </field>
+ <field name="Legacy Diamond Line Rasterization" dword="1" bits="26:26" type="bool" />
+ <field name="Legacy Hierarchical Depth Buffer Resolve Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Legacy Depth Buffer Resolve Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Legacy Depth Buffer Clear Enable" dword="1" bits="30:30" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_WM_CHROMAKEY" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="76" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="ChromaKey Kill Enable" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_WM_DEPTH_STENCIL" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="78" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Buffer Write Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Depth Test Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Stencil Buffer Write Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Stencil Test Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Double Sided Stencil Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Depth Test Function" dword="1" bits="7:5" type="3D_Compare_Function" />
+ <field name="Stencil Test Function" dword="1" bits="10:8" type="3D_Compare_Function" />
+ <field name="Backface Stencil Pass Depth Pass Op" dword="1" bits="13:11" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Pass Depth Fail Op" dword="1" bits="16:14" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Fail Op" dword="1" bits="19:17" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Test Function" dword="1" bits="22:20" type="3D_Compare_Function" />
+ <field name="Stencil Pass Depth Pass Op" dword="1" bits="25:23" type="3D_Stencil_Operation" />
+ <field name="Stencil Pass Depth Fail Op" dword="1" bits="28:26" type="3D_Stencil_Operation" />
+ <field name="Stencil Fail Op" dword="1" bits="31:29" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Write Mask" dword="2" bits="7:0" type="uint" />
+ <field name="Backface Stencil Test Mask" dword="2" bits="15:8" type="uint" />
+ <field name="Stencil Write Mask" dword="2" bits="23:16" type="uint" />
+ <field name="Stencil Test Mask" dword="2" bits="31:24" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="82" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Number of Multisamples" dword="1" bits="15:13" type="uint" />
+ <field name="Stencil Clear Value" dword="1" bits="23:16" type="uint" />
+ <field name="Full Surface Depth and Stencil Clear" dword="1" bits="25:25" type="bool" />
+ <field name="Pixel Position Offset Enable" dword="1" bits="26:26" type="bool" />
+ <field name="Hierarchical Depth Buffer Resolve Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Depth Buffer Resolve Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Scissor Rectangle Enable" dword="1" bits="29:29" type="bool" />
+ <field name="Depth Buffer Clear Enable" dword="1" bits="30:30" type="bool" />
+ <field name="Stencil Buffer Clear Enable" dword="1" bits="31:31" type="bool" />
+ <field name="Clear Rectangle X Min" dword="2" bits="15:0" type="uint" />
+ <field name="Clear Rectangle Y Min" dword="2" bits="31:16" type="uint" />
+ <field name="Clear Rectangle X Max" dword="3" bits="15:0" type="uint" />
+ <field name="Clear Rectangle Y Max" dword="3" bits="31:16" type="uint" />
+ <field name="Sample Mask" dword="4" bits="15:0" type="uint" />
+ </instruction>
+ <instruction name="GPGPU_CSR_BASE_ADDRESS" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="GPGPU CSR Base Address" dword="1" bits="63:12" type="address" />
+ </instruction>
+ <instruction name="GPGPU_WALKER" bias="2" length="15" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="13" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:6" type="offset" />
+ <field name="Thread Width Counter Maximum" dword="4" bits="5:0" type="uint" />
+ <field name="Thread Height Counter Maximum" dword="4" bits="13:8" type="uint" />
+ <field name="Thread Depth Counter Maximum" dword="4" bits="21:16" type="uint" />
+ <field name="SIMD Size" dword="4" bits="31:30" type="uint">
+ <value name="SIMD8" value="0" />
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="Thread Group ID Starting X" dword="5" bits="31:0" type="uint" />
+ <field name="Thread Group ID X Dimension" dword="7" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting Y" dword="8" bits="31:0" type="uint" />
+ <field name="Thread Group ID Y Dimension" dword="10" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting/Resume Z" dword="11" bits="31:0" type="uint" />
+ <field name="Thread Group ID Z Dimension" dword="12" bits="31:0" type="uint" />
+ <field name="Right Execution Mask" dword="13" bits="31:0" type="uint" />
+ <field name="Bottom Execution Mask" dword="14" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MEDIA_OBJECT" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="4" />
+ <field name="Media Command Sub-Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Media Command Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="SubSlice Destination Select" dword="2" bits="18:17" type="uint">
+ <value name="SubSlice 2" value="2" />
+ <value name="SubSlice 1" value="1" />
+ <value name="SubSlice 0" value="0" />
+ </field>
+ <field name="Slice Destination Select" dword="2" bits="20:19" type="uint">
+ <value name="Slice 0" value="0" />
+ <value name="Slice 1" value="1" />
+ <value name="Slice 2" value="2" />
+ </field>
+ <field name="Use Scoreboard" dword="2" bits="21:21" type="uint">
+ <value name="Not using scoreboard" value="0" />
+ <value name="Using scoreboard" value="1" />
+ </field>
+ <field name="Force Destination" dword="2" bits="22:22" type="uint" />
+ <field name="Thread Synchronization" dword="2" bits="24:24" type="uint">
+ <value name="No thread synchronization" value="0" />
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
+ </field>
+ <field name="Children Present" dword="2" bits="31:31" type="bool" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="address" />
+ <field name="Scoreboard X" dword="4" bits="8:0" type="uint" />
+ <field name="Scoredboard Y" dword="4" bits="24:16" type="uint" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Scoreboard Color" dword="5" bits="19:16" type="uint" />
+ <group count="0" dword="6" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_OBJECT_GRPID" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="5" />
+ <field name="Media Command Sub-Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Media Command Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="SubSlice Destination Select" dword="2" bits="18:17" type="uint">
+ <value name="SubSlice 2" value="2" />
+ <value name="SubSlice 1" value="1" />
+ <value name="SubSlice 0" value="0" />
+ </field>
+ <field name="Slice Destination Select" dword="2" bits="20:19" type="uint">
+ <value name="Slice 0" value="0" />
+ <value name="Slice 1" value="1" />
+ <value name="Slice 2" value="2" />
+ </field>
+ <field name="Use Scoreboard" dword="2" bits="21:21" type="uint">
+ <value name="Not using scoreboard" value="0" />
+ <value name="Using scoreboard" value="1" />
+ </field>
+ <field name="Force Destination" dword="2" bits="22:22" type="uint" />
+ <field name="End of Thread Group" dword="2" bits="23:23" type="uint" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="address" />
+ <field name="Scoreboard X" dword="4" bits="8:0" type="uint" />
+ <field name="Scoreboard Y" dword="4" bits="24:16" type="uint" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Scoreboard Color" dword="5" bits="19:16" type="uint" />
+ <field name="GroupID" dword="6" bits="31:0" type="uint" />
+ <group count="0" dword="7" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="15" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="3" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="Use Scoreboard" dword="2" bits="21:21" type="uint">
+ <value name="Not using scoreboard" value="0" />
+ <value name="Using scoreboard" value="1" />
+ </field>
+ <field name="Thread Synchronization" dword="2" bits="24:24" type="uint">
+ <value name="No thread synchronization" value="0" />
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
+ </field>
+ <field name="Children Present" dword="2" bits="31:31" type="uint" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="offset" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Group ID Loop Select" dword="5" bits="31:8" type="uint" />
+ <field name="Mid-Loop Unit X" dword="6" bits="9:8" type="int" />
+ <field name="Local Mid-Loop Unit Y" dword="6" bits="13:12" type="int" />
+ <field name="Middle Loop Extra Steps" dword="6" bits="20:16" type="uint" />
+ <field name="Color Count Minus One" dword="6" bits="27:24" type="uint" />
+ <field name="Local Loop Exec Count" dword="7" bits="9:0" type="uint" />
+ <field name="Global Loop Exec Count" dword="7" bits="25:16" type="uint" />
+ <field name="Block Resolution X" dword="8" bits="8:0" type="uint" />
+ <field name="Block Resolution Y" dword="8" bits="24:16" type="uint" />
+ <field name="Local Start X" dword="9" bits="8:0" type="uint" />
+ <field name="Local Start Y" dword="9" bits="24:16" type="uint" />
+ <field name="Local Outer Loop Stride X" dword="11" bits="9:0" type="int" />
+ <field name="Local Outer Loop Stride Y" dword="11" bits="25:16" type="int" />
+ <field name="Local Inner Loop Unit X" dword="12" bits="9:0" type="int" />
+ <field name="Local Inner Loop Unit Y" dword="12" bits="25:16" type="int" />
+ <field name="Global Resolution X" dword="13" bits="8:0" type="uint" />
+ <field name="Global Resolution Y" dword="13" bits="24:16" type="uint" />
+ <field name="Global Start X" dword="14" bits="9:0" type="int" />
+ <field name="Global Start Y" dword="14" bits="25:16" type="int" />
+ <field name="Global Outer Loop Stride X" dword="15" bits="9:0" type="int" />
+ <field name="Global Outer Loop Stride Y" dword="15" bits="25:16" type="int" />
+ <field name="Global Inner Loop Unit X" dword="16" bits="9:0" type="int" />
+ <field name="Global Inner Loop Unit Y" dword="16" bits="25:16" type="int" />
+ <group count="0" dword="17" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="0" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Watermark Required" dword="1" bits="6:6" type="uint" />
+ <field name="Flush to GO" dword="1" bits="7:7" type="bool" />
+ </instruction>
+ <instruction name="MEDIA_VFE_STATE" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="7" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Per Thread Scratch Space" dword="1" bits="3:0" type="uint" />
+ <field name="Stack Size" dword="1" bits="7:4" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="1" bits="47:10" type="address" />
+ <field name="Bypass Gateway Control" dword="3" bits="6:6" type="uint">
+ <value name="Maintaining OpenGateway/ForwardMsg/CloseGateway protocol (legacy mode)" value="0" />
+ <value name="Bypassing OpenGateway/CloseGateway protocol" value="1" />
+ </field>
+ <field name="Reset Gateway Timer" dword="3" bits="7:7" type="uint">
+ <value name="Maintaining the existing timestamp state" value="0" />
+ <value name="Resetting relative timer and latching the global timestamp" value="1" />
+ </field>
+ <field name="Number of URB Entries" dword="3" bits="15:8" type="uint" />
+ <field name="Maximum Number of Threads" dword="3" bits="31:16" type="uint" />
+ <field name="Slice Disable" dword="4" bits="1:0" type="uint">
+ <value name="All Subslices Enabled" value="0" />
+ <value name="Only Slice 0 Enabled" value="1" />
+ <value name="Only Slice 0 Subslice 0 Enabled" value="3" />
+ </field>
+ <field name="CURBE Allocation Size" dword="5" bits="15:0" type="uint" />
+ <field name="URB Entry Allocation Size" dword="5" bits="31:16" type="uint" />
+ <field name="Scoreboard Mask" dword="6" bits="7:0" type="uint" />
+ <field name="Scoreboard Type" dword="6" bits="30:30" type="uint">
+ <value name="Stalling Scoreboard" value="0" />
+ <value name="Non-Stalling Scoreboard" value="1" />
+ </field>
+ <field name="Scoreboard Enable" dword="6" bits="31:31" type="bool" />
+ <field name="Scoreboard 0 Delta X" dword="7" bits="3:0" type="int" />
+ <field name="Scoreboard 0 Delta Y" dword="7" bits="7:4" type="int" />
+ <field name="Scoreboard 1 Delta X" dword="7" bits="11:8" type="int" />
+ <field name="Scoreboard 1 Delta Y" dword="7" bits="15:12" type="int" />
+ <field name="Scoreboard 2 Delta X" dword="7" bits="19:16" type="int" />
+ <field name="Scoreboard 2 Delta Y" dword="7" bits="23:20" type="int" />
+ <field name="Scoreboard 3 Delta X" dword="7" bits="27:24" type="int" />
+ <field name="Scoreboard 3 Delta Y" dword="7" bits="31:28" type="int" />
+ <field name="Scoreboard 4 Delta X" dword="8" bits="3:0" type="int" />
+ <field name="Scoreboard 4 Delta Y" dword="8" bits="7:4" type="int" />
+ <field name="Scoreboard 5 Delta X" dword="8" bits="11:8" type="int" />
+ <field name="Scoreboard 5 Delta Y" dword="8" bits="15:12" type="int" />
+ <field name="Scoreboard 6 Delta X" dword="8" bits="19:16" type="int" />
+ <field name="Scoreboard 6 Delta Y" dword="8" bits="23:20" type="int" />
+ <field name="Scoreboard 7 Delta X" dword="8" bits="27:24" type="int" />
+ <field name="Scoreboard 7 Delta Y" dword="8" bits="31:28" type="int" />
+ </instruction>
+ <instruction name="MFD_VP8_BSD_OBJECT" bias="2" length="22" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="20" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command OpCode" dword="0" bits="26:24" type="uint" default="4" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Partition0 First MB Bit Offset from Frame Header" dword="1" bits="2:0" type="uint" />
+ <field name="Coded Num of Coeff Token Partitions" dword="1" bits="5:4" type="uint" />
+ <field name="Partition0 CPBAC Entropy Range" dword="1" bits="15:8" type="uint" />
+ <field name="Partition0 CPBAC Entropy Count" dword="1" bits="20:16" type="uint" />
+ <field name="Partition0 CPBAC Entropy Value" dword="2" bits="31:24" type="uint" />
+ <field name="Indirect Partition0 Data Length" dword="3" bits="23:0" type="uint" />
+ <field name="Indirect Partition0 Data Start Offset" dword="4" bits="31:0" type="uint" />
+ <field name="Indirect Partition1 Data Length" dword="5" bits="23:0" type="uint" />
+ <field name="Indirect Partition1 Data Start Offset" dword="6" bits="31:0" type="uint" />
+ <field name="Indirect Partition2 Data Length" dword="7" bits="23:0" type="uint" />
+ <field name="Indirect Partition2 Data Start Offset" dword="8" bits="31:0" type="uint" />
+ <field name="Indirect Partition3 Data Length" dword="9" bits="23:0" type="uint" />
+ <field name="Indirect Partition3 Data Start Offset" dword="10" bits="31:0" type="uint" />
+ <field name="Indirect Partition4 Data Length" dword="11" bits="23:0" type="uint" />
+ <field name="Indirect Partition4 Data Start Offset" dword="12" bits="31:0" type="uint" />
+ <field name="Indirect Partition5 Data Length" dword="13" bits="23:0" type="uint" />
+ <field name="Indirect Partition5 Data Start Offset" dword="14" bits="31:0" type="uint" />
+ <field name="Indirect Partition6 Data Length" dword="15" bits="23:0" type="uint" />
+ <field name="Indirect Partition6 Data Start Offset" dword="16" bits="31:0" type="uint" />
+ <field name="Indirect Partition7 Data Length" dword="17" bits="23:0" type="uint" />
+ <field name="Indirect Partition7 Data Start Offset" dword="18" bits="31:0" type="uint" />
+ <field name="Indirect Partition8 Data Length" dword="19" bits="23:0" type="uint" />
+ <field name="Indirect Partition8 Data Start Offset" dword="20" bits="31:0" type="uint" />
+ <field name="MB Header Error Handling" dword="21" bits="8:8" type="uint" />
+ <field name="Entropy Error Handling" dword="21" bits="10:10" type="uint" />
+ <field name="MPR Error (MV out of range) Handling" dword="21" bits="12:12" type="uint" />
+ <field name="BSD Premature Complete Error Handling" dword="21" bits="14:14" type="uint" />
+ <field name="Concealment Picture ID" dword="21" bits="17:16" type="uint" />
+ <field name="Concealment Method" dword="21" bits="31:31" type="uint">
+ <value name="Intra 16x16 Prediction" value="0" />
+ <value name="Inter P Copy" value="1" />
+ </field>
+ </instruction>
+ <instruction name="MFX_AVC_DIRECTMODE_STATE" bias="2" length="71" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="69" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="16" dword="1" size="64">
+ <field name="Direct MV Buffer - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Direct MV Buffer - Attributes" dword="33" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Direct MV Buffer (Write) - Address" dword="34" bits="63:0" type="address" />
+ <field name="Direct MV Buffer (Write) - Attributes" dword="36" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <group count="34" dword="37" size="32">
+ <field name="POC List" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_AVC_IMG_STATE" bias="2" length="14" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="12" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Size" dword="1" bits="15:0" type="uint" />
+ <field name="Frame Width" dword="2" bits="7:0" type="uint" />
+ <field name="Frame Height" dword="2" bits="23:16" type="uint" />
+ <field name="Image Structure" dword="3" bits="9:8" type="uint">
+ <value name="Frame Picture" value="0" />
+ <value name="Top Field Picture" value="1" />
+ <value name="Bottom Field Picture" value="3" />
+ <value name="Invalid, not allowed." value="2" />
+ </field>
+ <field name="Weighted BiPrediction IDC" dword="3" bits="11:10" type="uint">
+ <value name="DEFAULT" value="0" />
+ <value name="EXPLICIT" value="1" />
+ <value name="IMPLICIT" value="2" />
+ </field>
+ <field name="Weighted Prediction Enable" dword="3" bits="12:12" type="bool" />
+ <field name="First Chroma QP Offset" dword="3" bits="20:16" type="int" />
+ <field name="Second Chroma QP Offset" dword="3" bits="28:24" type="int" />
+ <field name="Field Picture" dword="4" bits="0:0" type="bool" />
+ <field name="MBAFF Mode" dword="4" bits="1:1" type="bool" />
+ <field name="Frame MB Only" dword="4" bits="2:2" type="bool" />
+ <field name="8x8 IDCT Transform Mode" dword="4" bits="3:3" type="bool" />
+ <field name="Direct 8x8 Inference" dword="4" bits="4:4" type="bool" />
+ <field name="Constrained Intra Prediction" dword="4" bits="5:5" type="bool" />
+ <field name="Non-Reference Picture" dword="4" bits="6:6" type="bool" />
+ <field name="Entropy Coding Sync Enable" dword="4" bits="7:7" type="bool" />
+ <field name="MB MV Format" dword="4" bits="8:8" type="uint">
+ <value name="IGNORE" value="0" />
+ <value name="FOLLOW" value="1" />
+ </field>
+ <field name="Chroma Format IDC" dword="4" bits="11:10" type="uint">
+ <value name="Monochrome picture" value="0" />
+ <value name="4:2:0 picture" value="1" />
+ <value name="4:2:2 picture (not supported)" value="2" />
+ <value name="4:4:4 picture (not supported)" value="3" />
+ </field>
+ <field name="MV Unpacked Enable" dword="4" bits="12:12" type="bool" />
+ <field name="Load Bitstream Pointer Per Slice" dword="4" bits="14:14" type="bool" />
+ <field name="MB Status Read" dword="4" bits="15:15" type="bool" />
+ <field name="Minimum Frame Size" dword="4" bits="31:16" type="uint" />
+ <field name="Intra MB Max Bit Control" dword="5" bits="0:0" type="bool" />
+ <field name="Inter MB Max Bit Control" dword="5" bits="1:1" type="bool" />
+ <field name="Frame Bitrate Max Report" dword="5" bits="2:2" type="bool" />
+ <field name="Frame Bitrate Min Report" dword="5" bits="3:3" type="bool" />
+ <field name="Force IPCM Control" dword="5" bits="7:7" type="bool" />
+ <field name="MB Level Rate Control" dword="5" bits="9:9" type="bool" />
+ <field name="Minimum Frame Size Units" dword="5" bits="11:10" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="16 bytes" value="1" />
+ <value name="4Kb" value="2" />
+ <value name="16Kb" value="3" />
+ </field>
+ <field name="Non First Pass" dword="5" bits="16:16" type="uint" />
+ <field name="Trellis Quantization Chroma Disable" dword="5" bits="27:27" type="bool" />
+ <field name="Trellis Quantization Rounding" dword="5" bits="30:28" type="uint" />
+ <field name="Trellis Quantization Enable" dword="5" bits="31:31" type="bool" />
+ <field name="Intra MB Conformance Max Size" dword="6" bits="11:0" type="uint" />
+ <field name="Inter MB Conformance Max Size" dword="6" bits="27:16" type="uint" />
+ <field name="Slice Delta QP Max[0]" dword="8" bits="7:0" type="int" />
+ <field name="Slice Delta QP Max[1]" dword="8" bits="15:8" type="int" />
+ <field name="Slice Delta QP Max[2]" dword="8" bits="23:16" type="uint" />
+ <field name="Slice Delta QP Max[3]" dword="8" bits="31:24" type="int" />
+ <field name="Slice Delta QP Min[0]" dword="9" bits="7:0" type="int" />
+ <field name="Slice Delta QP Min[1]" dword="9" bits="15:8" type="int" />
+ <field name="Slice Delta QP Min[2]" dword="9" bits="23:16" type="int" />
+ <field name="Slice Delta QP Min[3]" dword="9" bits="31:24" type="int" />
+ <field name="Frame Bitrate Min" dword="10" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit Mode" dword="10" bits="14:14" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Min Unit" dword="10" bits="15:15" type="uint" />
+ <field name="Frame Bitrate Max" dword="10" bits="29:16" type="uint" />
+ <field name="Frame Bitrate Max Unit Mode" dword="10" bits="30:30" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Max Unit" dword="10" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="11" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="11" bits="30:16" type="uint" />
+ <field name="Slice Stats Stream-Out Enable" dword="11" bits="31:31" type="bool" />
+ <field name="Initial QP Value" dword="13" bits="7:0" type="int" />
+ <field name="Number of Active Reference Pictures from L0" dword="13" bits="13:8" type="uint" />
+ <field name="Number of Active Reference Pictures from L1" dword="13" bits="21:16" type="uint" />
+ <field name="Number of Reference Frames" dword="13" bits="28:24" type="uint" />
+ <field name="Current Picture Has Performed MMCO5" dword="13" bits="29:29" type="bool" />
+ <field name="Pic Order Present" dword="14" bits="0:0" type="bool" />
+ <field name="Delta Pic Order Always Zero" dword="14" bits="1:1" type="bool" />
+ <field name="Pic Order Count Type" dword="14" bits="3:2" type="uint" />
+ <field name="Slice Group Map Type" dword="14" bits="10:8" type="uint" />
+ <field name="Redundant Pic Count Present" dword="14" bits="11:11" type="bool" />
+ <field name="Number of Slice Groups" dword="14" bits="14:12" type="uint" />
+ <field name="Deblocking Filter Control Present" dword="14" bits="15:15" type="bool" />
+ <field name="Log2 Max Frame Number" dword="14" bits="23:16" type="uint" />
+ <field name="Log2 Max Pic Order Count LSB" dword="14" bits="31:24" type="uint" />
+ <field name="Slice Group Change Rate" dword="15" bits="15:0" type="uint" />
+ <field name="Current Picture Frame Number" dword="15" bits="31:16" type="uint" />
+ <field name="Current Frame View ID" dword="16" bits="9:0" type="uint" />
+ <field name="Max View IDXL0" dword="16" bits="15:12" type="uint" />
+ <field name="Max View IDXL1" dword="16" bits="21:18" type="uint" />
+ <field name="Inter View Order Disable" dword="16" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="MFX_BSP_BUF_BASE_ADDR_STATE" bias="2" length="10" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="8" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="4" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="BSD/MPC Row Store Scratch Buffer - Address" dword="1" bits="47:6" type="address" />
+ <field name="BSD/MPC Row Store Scratch Buffer - Age for QUADLRU" dword="3" bits="1:0" type="uint" />
+ <field name="BSD/MPC Row Store Scratch Buffer - Target Cache" dword="3" bits="4:3" type="uint">
+ <value name="eLLC Only" value="0" />
+ <value name="LLC Only" value="1" />
+ <value name="LLC/eLLC" value="2" />
+ <value name="L3, LLC, eLLC" value="3" />
+ </field>
+ <field name="BSD/MPC Row Store Scratch Buffer - Cacheability Control" dword="3" bits="6:5" type="uint">
+ <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
+ <value name="Uncacheable" value="1" />
+ <value name="Writethrough" value="2" />
+ <value name="Writeback" value="3" />
+ </field>
+ <field name="BSD/MPC Row Store Scratch Buffer - Arbitration Priority Control" dword="3" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MPR Row Store Scratch Buffer - Address" dword="4" bits="47:6" type="address" />
+ <field name="MPR Row Store Scratch Buffer - Age for QUADLRU" dword="6" bits="1:0" type="uint" />
+ <field name="MPR Row Store Scratch Buffer - Target Cache" dword="6" bits="4:3" type="uint">
+ <value name="eLLC Only" value="0" />
+ <value name="LLC Only" value="1" />
+ <value name="LLC/eLLC" value="2" />
+ <value name="L3, LLC, eLLC" value="3" />
+ </field>
+ <field name="MPR Row Store Scratch Buffer - Cacheability Control" dword="6" bits="6:5" type="uint">
+ <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
+ <value name="Uncacheable" value="1" />
+ <value name="Writethrough" value="2" />
+ <value name="Writeback" value="3" />
+ </field>
+ <field name="MPR Row Store Scratch Buffer - Arbitration Priority Control" dword="6" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Bitplane Read Buffer - Address" dword="7" bits="47:6" type="uint" />
+ <field name="Bitplane Read Buffer - Age for QUADLRU" dword="9" bits="1:0" type="uint" />
+ <field name="Bitplane Read Buffer - Target Cache" dword="9" bits="4:3" type="uint">
+ <value name="eLLC Only" value="0" />
+ <value name="LLC Only" value="1" />
+ <value name="LLC/eLLC" value="2" />
+ <value name="L3, LLC, eLLC" value="3" />
+ </field>
+ <field name="Bitplane Read Buffer - Cacheability Control" dword="9" bits="6:5" type="uint">
+ <value name="Use Cacheability Controls From Page Table / UC with Fence (if coherent cycle)" value="0" />
+ <value name="Uncacheable" value="1" />
+ <value name="Writethrough" value="2" />
+ <value name="Writeback" value="3" />
+ </field>
+ <field name="Bitplane Read Buffer - Arbitration Priority Control" dword="9" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ </instruction>
+ <instruction name="MFX_DBK_OBJECT" bias="2" length="13" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="11" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pre Deblocking Source - Address" dword="1" bits="47:6" type="address" />
+ <field name="Pre Deblocking Source - Age for QUADLRU" dword="3" bits="1:0" type="uint" />
+ <field name="Pre Deblocking Source - Target Cache" dword="3" bits="4:3" type="uint">
+ <value name="eLLC Only" value="0" />
+ <value name="LLC Only" value="1" />
+ <value name="LLC/eLLC" value="2" />
+ <value name="L3, LLC, eLLC" value="3" />
+ </field>
+ <field name="Pre Deblocking Source - Cacheability Control" dword="3" bits="6:5" type="uint">
+ <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
+ <value name="Uncacheable" value="1" />
+ <value name="Writethrough" value="2" />
+ <value name="Writeback" value="3" />
+ </field>
+ <field name="Pre Deblocking Source - Arbitration Priority Control" dword="3" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblocking Control - Address" dword="4" bits="47:6" type="address" />
+ <field name="Deblocking Control - Age for QUADLRU" dword="6" bits="1:0" type="uint" />
+ <field name="Deblocking Control - Target Cache" dword="6" bits="4:3" type="uint">
+ <value name="eLLC Only" value="0" />
+ <value name="LLC Only" value="1" />
+ <value name="LLC/eLLC" value="2" />
+ <value name="L3, LLC, eLLC" value="3" />
+ </field>
+ <field name="Deblocking Control - Cacheability Control" dword="6" bits="6:5" type="uint">
+ <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
+ <value name="Uncacheable" value="1" />
+ <value name="Writethrough" value="2" />
+ <value name="Writeback" value="3" />
+ </field>
+ <field name="Deblocking Control - Arbitration Priority Control" dword="6" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblocking Destination - Address" dword="7" bits="47:6" type="address" />
+ <field name="Deblocking Destination - Age for QUADLRU" dword="9" bits="1:0" type="uint" />
+ <field name="Deblocking Destination - Target Cache" dword="9" bits="4:3" type="uint">
+ <value name="eLLC Only" value="0" />
+ <value name="LLC Only" value="1" />
+ <value name="LLC/eLLC" value="2" />
+ <value name="L3, LLC, eLLC" value="3" />
+ </field>
+ <field name="Deblocking Destination - Cacheability Control" dword="9" bits="6:5" type="uint">
+ <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
+ <value name="Uncacheable" value="1" />
+ <value name="Writethrough" value="2" />
+ <value name="Writeback" value="3" />
+ </field>
+ <field name="Deblocking Destination - Arbitration Priority Control" dword="9" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblock Row Store - Address" dword="10" bits="47:6" type="address" />
+ <field name="Deblock Row Store - Age for QUADLRU" dword="12" bits="1:0" type="uint" />
+ <field name="Deblock Row Store - Target Cache" dword="12" bits="4:3" type="uint">
+ <value name="eLLC Only" value="0" />
+ <value name="LLC Only" value="1" />
+ <value name="LLC/eLLC" value="2" />
+ <value name="L3, LLC, eLLC" value="3" />
+ </field>
+ <field name="Deblock Row Store - Cacheability Control" dword="12" bits="6:5" type="uint">
+ <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
+ <value name="Uncacheable" value="1" />
+ <value name="Writethrough" value="2" />
+ <value name="Writeback" value="3" />
+ </field>
+ <field name="Deblock Row Store - Arbitration Priority Control" dword="12" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ </instruction>
+ <instruction name="MFX_IND_OBJ_BASE_ADDR_STATE" bias="2" length="26" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="24" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MFX Indirect Bitstream Object - Address" dword="1" bits="63:0" type="address" />
+ <field name="MFX Indirect Bitstream Object - Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="MFX Indirect Bitstream Object - Upper Bound" dword="4" bits="63:0" type="address" />
+ <field name="MFX Indirect MV Object - Address" dword="6" bits="63:0" type="address" />
+ <field name="MFX Indirect MV Object - Attributes" dword="8" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="MFX Indirect MV Object - Upper Bound" dword="9" bits="63:0" type="address" />
+ <field name="MFD Indirect IT-COEFF Object - Address" dword="11" bits="63:0" type="address" />
+ <field name="MFD Indirect IT-COEFF Object - Attributes" dword="13" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="MFD Indirect IT-COEFF Object - Upper Bound" dword="14" bits="63:0" type="address" />
+ <field name="MFD Indirect IT-DBLK Object - Address" dword="16" bits="63:0" type="address" />
+ <field name="MFD Indirect IT-DBLK Object - Attributes" dword="18" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="MFD Indirect IT-DBLK Object - Upper Bound" dword="19" bits="63:0" type="address" />
+ <field name="MFC Indirect PAK-BSE Object - Address" dword="21" bits="63:0" type="address" />
+ <field name="MFC Indirect PAK-BSE Object - Attributes" dword="23" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="MFC Indirect PAK-BSE Object - Upper Bound" dword="24" bits="63:0" type="address" />
+ </instruction>
+ <instruction name="MFX_JPEG_PIC_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Input Format YUV" dword="1" bits="2:0" type="uint" />
+ <field name="Rotation" dword="1" bits="5:4" type="uint" />
+ <field name="Output Format YUV" dword="1" bits="11:8" type="uint" />
+ <field name="Average Down Sampling" dword="1" bits="16:16" type="uint" />
+ <field name="Vertical Down-Sampling Enable" dword="1" bits="17:17" type="bool" />
+ <field name="Horizontal Down-Sampling Enable" dword="1" bits="18:18" type="bool" />
+ <field name="Vertical Up-Sampling Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Frame Width In Blocks" dword="2" bits="12:0" type="uint" />
+ <field name="Frame Height In Blocks" dword="2" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_PIPE_BUF_ADDR_STATE" bias="2" length="61" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="59" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pre Deblocking Destination - Address" dword="1" bits="47:6" type="address" />
+ <field name="Pre Deblocking Destination - MOCS" dword="3" bits="6:0" type="uint" nonzero="true" />
+ <field name="Pre Deblocking Destination - Arbitration Priority Control" dword="3" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Post Deblocking Destination - Address" dword="4" bits="47:6" type="address" />
+ <field name="Post Deblocking Destination - MOCS" dword="6" bits="6:0" type="uint" nonzero="true" />
+ <field name="Post Deblocking Destination - Arbitration Priority Control" dword="6" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Original Uncompressed Picture Source - Address" dword="7" bits="47:6" type="address" />
+ <field name="Original Uncompressed Picture Source - MOCS" dword="9" bits="6:0" type="uint" nonzero="true" />
+ <field name="Original Uncompressed Picture Source - Arbitration Priority Control" dword="9" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Stream-Out Data Destination - Address" dword="10" bits="47:6" type="address" />
+ <field name="Stream-Out Data Destination - MOCS" dword="12" bits="6:0" type="uint" nonzero="true" />
+ <field name="Stream-Out Data Destination - Arbitration Priority Control" dword="12" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Intra Row Store Scratch Buffer - Address High" dword="13" bits="47:6" type="address" />
+ <field name="Intra Row Store Scratch Buffer - MOCS" dword="15" bits="6:0" type="uint" nonzero="true" />
+ <field name="Intra Row Store Scratch Buffer - Arbitration Priority Control" dword="15" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblocking Filter Row Store Scratch - Address High" dword="16" bits="47:6" type="address" />
+ <field name="Deblocking Filter Row Store Scratch - MOCS" dword="18" bits="6:0" type="uint" nonzero="true" />
+ <field name="Deblocking Filter Row Store Scratch - Arbitration Priority Control" dword="18" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <group count="16" dword="19" size="64">
+ <field name="Reference Picture - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Reference Picture - MOCS" dword="51" bits="6:0" type="uint" nonzero="true" />
+ <field name="Reference Picture - Arbitration Priority Control" dword="51" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MB Status Buffer - Address" dword="52" bits="47:6" type="address" />
+ <field name="MB Status Buffer - MOCS" dword="54" bits="6:0" type="uint" nonzero="true" />
+ <field name="MB Status Buffer - Arbitration Priority Control" dword="54" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MB ILDB Stream-Out Buffer - Address" dword="55" bits="47:6" type="address" />
+ <field name="MB ILDB Stream-Out Buffer - MOCS" dword="57" bits="6:0" type="uint" nonzero="true" />
+ <field name="MB ILDB Stream-Out Buffer - Arbitration Priority Control" dword="57" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Second MB ILDB Stream-Out Buffer - Address High" dword="58" bits="47:6" type="address" />
+ <field name="Second MB ILDB Stream-Out Buffer - MOCS" dword="60" bits="6:0" type="uint" nonzero="true" />
+ <field name="Second MB ILDB Stream-Out Buffer - Arbitration Priority Control" dword="60" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ </instruction>
+ <instruction name="MFX_PIPE_MODE_SELECT" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Standard Select" dword="1" bits="3:0" type="uint" prefix="SS">
+ <value name="MPEG2" value="0" />
+ <value name="VC1" value="1" />
+ <value name="AVC" value="2" />
+ <value name="JPEG" value="3" />
+ <value name="VP8" value="5" />
+ <value name="UVLD" value="15" />
+ </field>
+ <field name="Codec Select" dword="1" bits="4:4" type="uint">
+ <value name="Decode" value="0" />
+ <value name="Encode" value="1" />
+ </field>
+ <field name="Stitch Mode" dword="1" bits="5:5" type="bool" />
+ <field name="Pre Deblocking Output Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Post Deblocking Output Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Stream-Out Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Pic Error/Status Report Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Deblocker Stream-Out Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Decoder Mode Select" dword="1" bits="16:15" type="uint">
+ <value name="VLD Mode" value="0" />
+ <value name="IT Mode" value="1" />
+ <value name="Deblocker Mode" value="2" />
+ <value name="Interlayer Mode" value="3" />
+ </field>
+ <field name="Decoder Short Format Mode" dword="1" bits="17:17" type="uint">
+ <value name="Short Format Driver Interface" value="0" />
+ <value name="Long Format Driver Interface" value="1" />
+ </field>
+ <field name="Extended Stream-Out Enable" dword="1" bits="18:18" type="bool" />
+ <field name="Pic Status/Error Report ID" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MFX_SURFACE_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface ID" dword="1" bits="3:0" type="uint">
+ <value name="Source Input Picture" value="4" />
+ <value name="Reconstructed Scaled Reference Picture" value="5" />
+ </field>
+ <field name="Cr(V)/Cb(U) Pixel Offset V Direction" dword="2" bits="1:0" type="u0.2" />
+ <field name="Width" dword="2" bits="17:4" type="uint" />
+ <field name="Height" dword="2" bits="31:18" type="uint" />
+ <field name="Tile Walk" dword="3" bits="0:0" type="uint" prefix="TW">
+ <value name="XMAJOR" value="0" />
+ <value name="YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="3" bits="1:1" type="bool" />
+ <field name="Half Pitch for Chroma" dword="3" bits="2:2" type="bool" />
+ <field name="Surface Pitch" dword="3" bits="19:3" type="uint" />
+ <field name="Interleave Chroma" dword="3" bits="27:27" type="bool" />
+ <field name="Surface Format" dword="3" bits="31:28" type="uint">
+ <value name="YCRCB_NORMAL" value="0" />
+ <value name="YCRCB_SWAPUVY" value="1" />
+ <value name="YCRCB_SWAPUV" value="2" />
+ <value name="YCRCB_SWAPY" value="3" />
+ <value name="PLANAR_420_8" value="4" />
+ <value name="PLANAR_411_8" value="5" />
+ <value name="PLANAR_422_8" value="6" />
+ <value name="STMM_DN_STATISTICS" value="7" />
+ <value name="R10G10B10A2_UNORM" value="8" />
+ <value name="R8G8B8A8_UNORM" value="9" />
+ <value name="R8B8_UNORM (CrCb)" value="10" />
+ <value name="R8_UNORM (Cr/Cb)" value="11" />
+ <value name="Y8_UNORM" value="12" />
+ </field>
+ <field name="Y Offset for U(Cb)" dword="4" bits="14:0" type="uint" />
+ <field name="X Offset for U(Cb)" dword="4" bits="30:16" type="uint" />
+ <field name="Y Offset for V(Cr)" dword="5" bits="15:0" type="uint" />
+ <field name="X Offset for V(Cr)" dword="5" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_VC1_DIRECTMODE_STATE" bias="2" length="7" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="5" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Direct MV Write Buffer - Address" dword="1" bits="63:0" type="address" />
+ <field name="Direct MV Write Buffer - Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Direct MV Read Buffer - Address" dword="4" bits="63:0" type="address" />
+ <field name="Direct MV Read Buffer - Attributes" dword="6" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </instruction>
+ <instruction name="MFX_VP8_PAK_OBJECT" bias="2" length="7" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="5" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="4" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect PAK-MV Data Length" dword="1" bits="9:0" type="uint" />
+ <field name="Indirect PAK-MV Data Start Address Offset" dword="2" bits="28:0" type="offset" />
+ <field name="Inline Data" dword="3" bits="127:0" type="uint" />
+ </instruction>
+ <instruction name="MFX_VP8_PIC_STATE" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command OpCode" dword="0" bits="26:24" type="uint" default="4" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Width" dword="1" bits="7:0" type="uint" />
+ <field name="Frame Height" dword="1" bits="23:16" type="uint" />
+ <field name="MC Filter Select" dword="2" bits="0:0" type="uint" />
+ <field name="Chroma Full Pixel MC Filter Mode" dword="2" bits="1:1" type="uint" />
+ <field name="DBLK Filter Type" dword="2" bits="4:4" type="uint" />
+ <field name="Key Frame" dword="2" bits="5:5" type="bool" />
+ <field name="Segmentation ID Stream-Out Enable" dword="2" bits="6:6" type="bool" />
+ <field name="Segmentation ID Stream-In Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Segment Enable" dword="2" bits="8:8" type="bool" />
+ <field name="Update MB Segment Map" dword="2" bits="9:9" type="bool" />
+ <field name="MB NoCoeff Skip" dword="2" bits="10:10" type="bool" />
+ <field name="Mode Reference Loop Filter Delta Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Golden Ref Picture MV Sign Bias" dword="2" bits="12:12" type="bool" />
+ <field name="Alternate Ref Pic MV Sign Bias" dword="2" bits="13:13" type="bool" />
+ <field name="Deblock Sharpness Level" dword="2" bits="18:16" type="uint" />
+ <field name="Log2 Num of Partition" dword="2" bits="25:24" type="uint">
+ <value name="1 Token partition" value="0" />
+ <value name="2 Token partition" value="1" />
+ <value name="4 Token partition" value="2" />
+ <value name="8 Token partition" value="3" />
+ </field>
+ <field name="DBLK Filter Level for Segment0" dword="3" bits="5:0" type="uint" />
+ <field name="DBLK Filter Level for Segment1" dword="3" bits="13:8" type="uint" />
+ <field name="DBLK Filter Level for Segment2" dword="3" bits="21:16" type="uint" />
+ <field name="DBLK Filter Level for Segment3" dword="3" bits="29:24" type="uint" />
+ <field name="Quantizer Value [0][Y1DC]" dword="4" bits="8:0" type="uint" />
+ <field name="Quantizer Value [0][Y1AC]" dword="4" bits="24:16" type="uint" />
+ <field name="Quantizer Value [0][UVDC]" dword="5" bits="8:0" type="uint" />
+ <field name="Quantizer Value [0][UVAC]" dword="5" bits="24:16" type="uint" />
+ <field name="Quantizer Value [0][Y2DC]" dword="6" bits="8:0" type="uint" />
+ <field name="Quantizer Value [0][Y2AC]" dword="6" bits="24:16" type="uint" />
+ <field name="Quantizer Value [1][Y1DC]" dword="7" bits="8:0" type="uint" />
+ <field name="Quantizer Value [1][Y1AC]" dword="7" bits="24:16" type="uint" />
+ <field name="Quantizer Value [1][UVDC]" dword="8" bits="8:0" type="uint" />
+ <field name="Quantizer Value [1][UVAC]" dword="8" bits="24:16" type="uint" />
+ <field name="Quantizer Value [1][Y2DC]" dword="9" bits="8:0" type="uint" />
+ <field name="Quantizer Value [1][Y2AC]" dword="9" bits="24:16" type="uint" />
+ <field name="Quantizer Value [2][Y1DC]" dword="10" bits="8:0" type="uint" />
+ <field name="Quantizer Value [2][Y1AC]" dword="10" bits="24:16" type="uint" />
+ <field name="Quantizer Value [2][UVDC]" dword="11" bits="8:0" type="uint" />
+ <field name="Quantizer Value [2][UVAC]" dword="11" bits="24:16" type="uint" />
+ <field name="Quantizer Value [2][Y2DC]" dword="12" bits="8:0" type="uint" />
+ <field name="Quantizer Value [2][Y2AC]" dword="12" bits="24:16" type="uint" />
+ <field name="Quantizer Value [3][Y1DC]" dword="13" bits="8:0" type="uint" />
+ <field name="Quantizer Value [3][Y1AC]" dword="13" bits="24:16" type="uint" />
+ <field name="Quantizer Value [3][UVDC]" dword="14" bits="8:0" type="uint" />
+ <field name="Quantizer Value [3][UVAC]" dword="14" bits="24:16" type="uint" />
+ <field name="Quantizer Value [3][Y2DC]" dword="15" bits="8:0" type="uint" />
+ <field name="Quantizer Value [3][Y2AC]" dword="15" bits="24:16" type="uint" />
+ <field name="CoeffProbability Stream-In - Address" dword="16" bits="47:6" type="address" />
+ <field name="CoeffProbability Stream-In - Age for QUADLRU" dword="18" bits="1:0" type="uint" />
+ <field name="CoeffProbability Stream-In - Target Cache" dword="18" bits="4:3" type="uint">
+ <value name="eLLC Only" value="0" />
+ <value name="LLC Only" value="1" />
+ <value name="LLC/eLLC" value="2" />
+ <value name="L3, LLC, eLLC" value="3" />
+ </field>
+ <field name="CoeffProbability Stream-In - Cacheability Control" dword="18" bits="6:5" type="uint">
+ <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
+ <value name="Uncacheable" value="1" />
+ <value name="Writethrough" value="2" />
+ <value name="Writeback" value="3" />
+ </field>
+ <field name="CoeffProbability Stream-In - Arbitration Priority Control" dword="18" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="MBSegmentIDTreeProbs[0]" dword="19" bits="7:0" type="uint" />
+ <field name="MBSegmentIDTreeProbs[1]" dword="19" bits="15:8" type="uint" />
+ <field name="MBSegmentIDTreeProbs[2]" dword="19" bits="23:16" type="uint" />
+ <field name="InterPredFromGRefRefProb" dword="20" bits="7:0" type="uint" />
+ <field name="InterPredFromLastRefProb" dword="20" bits="15:8" type="uint" />
+ <field name="IntraMBProb" dword="20" bits="23:16" type="uint" />
+ <field name="MBNoCoeffSkipFalseProb" dword="20" bits="31:24" type="uint" />
+ <field name="YModeProb[0]" dword="21" bits="7:0" type="uint" />
+ <field name="YModeProb[1]" dword="21" bits="15:8" type="uint" />
+ <field name="YModeProb[2]" dword="21" bits="23:16" type="uint" />
+ <field name="YModeProb[3]" dword="21" bits="31:24" type="uint" />
+ <field name="UVModeProb[0]" dword="22" bits="7:0" type="uint" />
+ <field name="UVModeProb[1]" dword="22" bits="15:8" type="uint" />
+ <field name="UVModeProb[2]" dword="22" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][0]" dword="23" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][1]" dword="23" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][2]" dword="23" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][3]" dword="23" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[0][4]" dword="24" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][5]" dword="24" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][6]" dword="24" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][7]" dword="24" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[0][8]" dword="25" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][9]" dword="25" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][10]" dword="25" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][11]" dword="25" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[0][12]" dword="26" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][13]" dword="26" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][14]" dword="26" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][15]" dword="26" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[0][16]" dword="27" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][17]" dword="27" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][18]" dword="27" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][0]" dword="28" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][1]" dword="28" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][2]" dword="28" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][3]" dword="28" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[1][4]" dword="29" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][5]" dword="29" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][6]" dword="29" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][7]" dword="29" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[1][8]" dword="30" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][9]" dword="30" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][10]" dword="30" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][11]" dword="30" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[1][12]" dword="31" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][13]" dword="31" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][14]" dword="31" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][15]" dword="31" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[1][16]" dword="32" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][17]" dword="32" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][18]" dword="32" bits="23:16" type="uint" />
+ <field name="RefLFDelta0" dword="33" bits="6:0" type="int" />
+ <field name="RefLFDelta1" dword="33" bits="14:8" type="int" />
+ <field name="RefLFDelta2" dword="33" bits="22:16" type="int" />
+ <field name="RefLFDelta3" dword="33" bits="30:24" type="int" />
+ <field name="ModeLFDelta0" dword="34" bits="6:0" type="int" />
+ <field name="ModeLFDelta1" dword="34" bits="14:8" type="int" />
+ <field name="ModeLFDelta2" dword="34" bits="22:16" type="int" />
+ <field name="ModeLFDelta3" dword="34" bits="30:24" type="int" />
+ <field name="Segmentation ID Stream - Address" dword="35" bits="47:0" type="uint" />
+ <field name="Segmentation ID Stream - Age for QUADLRU" dword="37" bits="1:0" type="uint" />
+ <field name="Segmentation ID Stream - Target Cache" dword="37" bits="4:3" type="uint">
+ <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
+ <value name="Uncacheable" value="1" />
+ <value name="Writethrough" value="2" />
+ <value name="Writeback" value="3" />
+ </field>
+ <field name="Segmentation ID Stream - Cacheability Control" dword="37" bits="6:5" type="uint">
+ <value name="Use Cacheability Controls From Page Table / UC with Fence" value="0" />
+ <value name="Uncacheable" value="1" />
+ <value name="Writethrough" value="2" />
+ <value name="Writeback" value="3" />
+ </field>
+ <field name="Segmentation ID Stream - Arbitration Priority Control" dword="37" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ </instruction>
+ <instruction name="MI_ARB_ON_OFF" bias="1" length="1">
+ <field name="Arbitration Enable" dword="0" bits="0:0" type="bool" default="1" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="8" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_ATOMIC" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="ATOMIC OPCODE" dword="0" bits="15:8" type="uint" />
+ <field name="Return Data Control" dword="0" bits="16:16" type="uint" />
+ <field name="CS STALL" dword="0" bits="17:17" type="uint" />
+ <field name="Inline Data" dword="0" bits="18:18" type="uint" />
+ <field name="Data Size" dword="0" bits="20:19" type="uint">
+ <value name="DWORD" value="0" />
+ <value name="QWORD" value="1" />
+ <value name="OCTWORD" value="2" />
+ <value name="RESERVED" value="3" />
+ </field>
+ <field name="Post-Sync Operation" dword="0" bits="21:21" type="bool" />
+ <field name="Memory Type" dword="0" bits="22:22" type="uint">
+ <value name="Per Process Graphics Address" value="0" />
+ <value name="Global Graphics Address" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="47" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Memory Address" dword="1" bits="47:2" type="address" />
+ <field name="Operand1 Data Dword 0" dword="3" bits="31:0" type="uint" />
+ <field name="Operand2 Data Dword 0" dword="4" bits="31:0" type="uint" />
+ <field name="Operand1 Data Dword 1" dword="5" bits="31:0" type="uint" />
+ <field name="Operand2 Data Dword 1" dword="6" bits="31:0" type="uint" />
+ <field name="Operand1 Data Dword 2" dword="7" bits="31:0" type="uint" />
+ <field name="Operand2 Data Dword 2" dword="8" bits="31:0" type="uint" />
+ <field name="Operand1 Data Dword 3" dword="9" bits="31:0" type="uint" />
+ <field name="Operand2 Data Dword 3" dword="10" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_BATCH_BUFFER_START" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Address Space Indicator" dword="0" bits="8:8" type="uint" prefix="ASI">
+ <value name="GGTT" value="0" />
+ <value name="PPGTT" value="1" />
+ </field>
+ <field name="Resource Streamer Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Predication Enable" dword="0" bits="15:15" type="bool" />
+ <field name="Add Offset Enable" dword="0" bits="16:16" type="bool" />
+ <field name="Second Level Batch Buffer" dword="0" bits="22:22" type="uint">
+ <value name="First level batch" value="0" />
+ <value name="Second level batch" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="49" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Batch Buffer Start Address" dword="1" bits="47:2" type="address" />
+ </instruction>
+ <instruction name="MI_CLFLUSH" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="9:0" type="uint" default="1" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="39" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Starting Cacheline Offset" dword="1" bits="11:6" type="uint" />
+ <field name="Page Base Address" dword="1" bits="47:12" type="address" />
+ <group count="0" dword="3" size="32">
+ <field name="DW Representing a Half Cache Line" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MI_CONDITIONAL_BATCH_BUFFER_END" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Compare Semaphore" dword="0" bits="21:21" type="uint" default="0" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="54" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Compare Data Dword" dword="1" bits="31:0" type="uint" />
+ <field name="Compare Address" dword="2" bits="47:3" type="address" />
+ </instruction>
+ <instruction name="MI_COPY_MEM_MEM" bias="2" length="5">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="Use Global GTT Destination" dword="0" bits="21:21" type="bool" />
+ <field name="Use Global GTT Source" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="46" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Destination Memory Address" dword="1" bits="63:2" type="address" />
+ <field name="Source Memory Address" dword="3" bits="63:2" type="address" />
+ </instruction>
+ <instruction name="MI_FLUSH_DW" bias="2" length="5" engine="blitter|video">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="3" />
+ <field name="Video Pipeline Cache Invalidate" dword="0" bits="7:7" type="bool" />
+ <field name="Notify Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Post-Sync Operation" dword="0" bits="15:14" type="uint" />
+ <field name="TLB Invalidate" dword="0" bits="18:18" type="bool" />
+ <field name="Store Data Index" dword="0" bits="21:21" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="38" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Destination Address Type" dword="1" bits="2:2" type="uint" prefix="DAT">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Address" dword="1" bits="47:3" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="MI_LOAD_REGISTER_IMM" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Byte Write Disables" dword="0" bits="11:8" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="34" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Offset" dword="1" bits="22:2" type="offset" />
+ <field name="Data DWord" dword="2" bits="31:0" type="uint" />
+ <group count="0" dword="2" size="64">
+ <field name="Register Offset" dword="0" bits="22:2" type="offset" />
+ <field name="Data DWord" dword="1" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MI_LOAD_REGISTER_MEM" bias="2" length="4">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Async Mode Enable" dword="0" bits="21:21" type="bool" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="41" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Address" dword="1" bits="22:2" type="offset" />
+ <field name="Memory Address" dword="2" bits="63:2" type="address" />
+ </instruction>
+ <instruction name="MI_LOAD_SCAN_LINES_INCL" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="0" />
+ <field name="Scan Line Event Done Forward" dword="0" bits="18:17" type="uint" />
+ <field name="Display (Plane) Select" dword="0" bits="21:19" type="uint">
+ <value name="Display Plane A" value="0" />
+ <value name="Display Plane B" value="1" />
+ <value name="Display Plane C" value="4" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="18" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="End Scan Line Number" dword="1" bits="12:0" type="uint" />
+ <field name="Start Scan Line Number" dword="1" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MI_LOAD_URB_MEM" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="44" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="URB Address" dword="1" bits="14:2" type="uint" />
+ <field name="Memory Address" dword="2" bits="63:6" type="address" />
+ </instruction>
+ <instruction name="MI_MATH" bias="2">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="26" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <group count="0" dword="1" size="32">
+ <field name="Instruction" dword="0" bits="31:0" type="MI_MATH_ALU_INSTRUCTION" />
+ </group>
+ </instruction>
+ <instruction name="MI_REPORT_PERF_COUNT" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="2" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="40" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Use Global GTT" dword="1" bits="0:0" type="bool" />
+ <field name="Core Mode Enable" dword="1" bits="4:4" type="uint" />
+ <field name="Memory Address" dword="1" bits="63:6" type="address" />
+ <field name="Report ID" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_RS_STORE_DATA_IMM" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="43" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Core Mode Enable" dword="1" bits="0:0" type="uint" />
+ <field name="Destination Address" dword="1" bits="63:2" type="address" />
+ <field name="Data DWord 0" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_SEMAPHORE_SIGNAL" bias="2" length="2">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Target Engine Select" dword="0" bits="17:15" type="uint">
+ <value name="RCS" value="0" />
+ <value name="VCS0" value="1" />
+ <value name="BCS" value="2" />
+ <value name="VECS" value="3" />
+ <value name="VCS1" value="4" />
+ </field>
+ <field name="Post-Sync Operation" dword="0" bits="21:21" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="27" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Target Context ID" dword="1" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_SEMAPHORE_WAIT" bias="2" length="4">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Compare Operation" dword="0" bits="14:12" type="uint" prefix="COMPARE">
+ <value name="SAD_GREATER_THAN_SDD" value="0" />
+ <value name="SAD_GREATER_THAN_OR_EQUAL_SDD" value="1" />
+ <value name="SAD_LESS_THAN_SDD" value="2" />
+ <value name="SAD_LESS_THAN_OR_EQUAL_SDD" value="3" />
+ <value name="SAD_EQUAL_SDD" value="4" />
+ <value name="SAD_NOT_EQUAL_SDD" value="5" />
+ </field>
+ <field name="Wait Mode" dword="0" bits="15:15" type="uint">
+ <value name="Polling Mode" value="1" />
+ <value name="Signal Mode" value="0" />
+ </field>
+ <field name="Memory Type" dword="0" bits="22:22" type="uint">
+ <value name="Per Process Graphics Address" value="0" />
+ <value name="Global Graphics Address" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="28" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Semaphore Data Dword" dword="1" bits="31:0" type="uint" />
+ <field name="Semaphore Address" dword="2" bits="31:2" type="address" />
+ <field name="Semaphore Address High" dword="3" bits="15:0" type="address" />
+ </instruction>
+ <instruction name="MI_SET_PREDICATE" bias="1" length="1">
+ <field name="Predicate Enable" dword="0" bits="3:0" type="uint">
+ <value name="NOOP Never" value="0" />
+ <value name="NOOP On Result2 Clear" value="1" />
+ <value name="NOOP On Result2 Set" value="2" />
+ <value name="NOOP On Result Clear" value="3" />
+ <value name="NOOP On Result Set" value="4" />
+ <value name="Execute when one slice enabled." value="5" />
+ <value name="Execute when two slices are enabled." value="6" />
+ <value name="Execute when three slices are enabled." value="7" />
+ <value name="NOOP Always" value="15" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_STORE_DATA_IMM" bias="2" length="4">
+ <field name="DWord Length" dword="0" bits="9:0" type="uint" default="2" />
+ <field name="Store Qword" dword="0" bits="21:21" type="uint" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="32" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Core Mode Enable" dword="1" bits="0:0" type="uint" />
+ <field name="Address" dword="1" bits="47:2" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="MI_STORE_DATA_INDEX" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Use Per-Process Hardware Status Page" dword="0" bits="21:21" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="33" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Offset" dword="1" bits="11:2" type="uint" />
+ <field name="Data DWord 0" dword="2" bits="31:0" type="uint" />
+ <field name="Data DWord 1" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_STORE_REGISTER_MEM" bias="2" length="4">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Predicate Enable" dword="0" bits="21:21" type="bool" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="36" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Address" dword="1" bits="22:2" type="offset" />
+ <field name="Memory Address" dword="2" bits="63:2" type="address" />
+ </instruction>
+ <instruction name="MI_STORE_URB_MEM" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="45" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="URB Address" dword="1" bits="14:2" type="uint" />
+ <field name="Memory Address" dword="2" bits="63:6" type="address" />
+ </instruction>
+ <instruction name="MI_TOPOLOGY_FILTER" bias="1" length="1" engine="render">
+ <field name="Topology Filter Value" dword="0" bits="5:0" type="3D_Prim_Topo_Type" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="13" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_WAIT_FOR_EVENT" bias="1" length="1" engine="render|blitter">
+ <field name="Display Pipe A Scan Line Wait Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Display Plane A Flip Pending Wait Enable" dword="0" bits="1:1" type="bool" />
+ <field name="Display Sprite A Flip Pending Wait Enable" dword="0" bits="2:2" type="bool" />
+ <field name="Display Pipe A Vertical Blank Wait Enable" dword="0" bits="3:3" type="bool" />
+ <field name="Display Pipe B Scan Line Wait Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Display Plane B Flip Pending Wait Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Display Sprite B Flip Pending Wait Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Display Pipe B Vertical Blank Wait Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Display Pipe C Scan Line Wait Enable" dword="0" bits="14:14" type="bool" />
+ <field name="Display Plane C Flip Pending Wait Enable" dword="0" bits="15:15" type="bool" />
+ <field name="Display Sprite C Flip Pending Wait Enable" dword="0" bits="20:20" type="bool" />
+ <field name="Display Pipe C Vertical Blank Wait Enable" dword="0" bits="21:21" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Cache Flush Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Stall At Pixel Scoreboard" dword="1" bits="1:1" type="bool" />
+ <field name="State Cache Invalidation Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Constant Cache Invalidation Enable" dword="1" bits="3:3" type="bool" />
+ <field name="VF Cache Invalidation Enable" dword="1" bits="4:4" type="bool" />
+ <field name="DC Flush Enable" dword="1" bits="5:5" type="bool" />
+ <field name="Pipe Control Flush Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Notify Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Indirect State Pointers Disable" dword="1" bits="9:9" type="bool" />
+ <field name="Texture Cache Invalidation Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Instruction Cache Invalidate Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Render Target Cache Flush Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Depth Stall Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Post Sync Operation" dword="1" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write PS Depth Count" value="2" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="Generic Media State Clear" dword="1" bits="16:16" type="bool" />
+ <field name="TLB Invalidate" dword="1" bits="18:18" type="bool" />
+ <field name="Global Snapshot Count Reset" dword="1" bits="19:19" type="bool" />
+ <field name="Command Streamer Stall Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Store Data Index" dword="1" bits="21:21" type="uint" />
+ <field name="LRI Post Sync Operation" dword="1" bits="23:23" type="uint">
+ <value name="No LRI Operation" value="0" />
+ <value name="MMIO Write Immediate Data" value="1" />
+ </field>
+ <field name="Destination Address Type" dword="1" bits="24:24" type="uint" prefix="DAT">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Address" dword="2" bits="47:2" type="address" />
+ <field name="Immediate Data" dword="4" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="STATE_BASE_ADDRESS" bias="2" length="16" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="14" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="General State Base Address Modify Enable" dword="1" bits="0:0" type="bool" />
+ <field name="General State MOCS" dword="1" bits="10:4" type="uint" nonzero="true" />
+ <field name="General State Base Address" dword="1" bits="63:12" type="address" />
+ <field name="Stateless Data Port Access MOCS" dword="3" bits="22:16" type="uint" nonzero="true" />
+ <field name="Surface State Base Address Modify Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Surface State MOCS" dword="4" bits="10:4" type="uint" nonzero="true" />
+ <field name="Surface State Base Address" dword="4" bits="63:12" type="address" />
+ <field name="Dynamic State Base Address Modify Enable" dword="6" bits="0:0" type="bool" />
+ <field name="Dynamic State MOCS" dword="6" bits="10:4" type="uint" nonzero="true" />
+ <field name="Dynamic State Base Address" dword="6" bits="63:12" type="address" />
+ <field name="Indirect Object Base Address Modify Enable" dword="8" bits="0:0" type="bool" />
+ <field name="Indirect Object MOCS" dword="8" bits="10:4" type="uint" nonzero="true" />
+ <field name="Indirect Object Base Address" dword="8" bits="63:12" type="address" />
+ <field name="Instruction Base Address Modify Enable" dword="10" bits="0:0" type="bool" />
+ <field name="Instruction MOCS" dword="10" bits="10:4" type="uint" nonzero="true" />
+ <field name="Instruction Base Address" dword="10" bits="63:12" type="address" />
+ <field name="General State Buffer Size Modify Enable" dword="12" bits="0:0" type="bool" />
+ <field name="General State Buffer Size" dword="12" bits="31:12" type="uint" />
+ <field name="Dynamic State Buffer Size Modify Enable" dword="13" bits="0:0" type="bool" />
+ <field name="Dynamic State Buffer Size" dword="13" bits="31:12" type="uint" />
+ <field name="Indirect Object Buffer Size Modify Enable" dword="14" bits="0:0" type="bool" />
+ <field name="Indirect Object Buffer Size" dword="14" bits="31:12" type="uint" />
+ <field name="Instruction Buffer size Modify Enable" dword="15" bits="0:0" type="bool" />
+ <field name="Instruction Buffer Size" dword="15" bits="31:12" type="uint" />
+ </instruction>
+ <instruction name="STATE_SIP" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="2" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="System Instruction Pointer" dword="1" bits="63:4" type="offset" />
+ </instruction>
+ <instruction name="SWTESS_BASE_ADDRESS" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="3" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SW Tessellation MOCS" dword="1" bits="11:8" type="uint" nonzero="true" />
+ <field name="SW Tessellation Base Address" dword="1" bits="47:12" type="address" />
+ </instruction>
+ <register name="ACTHD_UDW" length="1" num="0x205c">
+ <field name="Head Pointer Upper DWORD" dword="0" bits="15:0" type="uint" default="0" />
+ </register>
+ <register name="BCS_ACTHD_UDW" length="1" num="0x2205c">
+ <field name="Head Pointer Upper DWORD" dword="0" bits="15:0" type="uint" default="0" />
+ </register>
+ <register name="CACHE_MODE_1" length="1" num="0x7004">
+ <field name="RCZ Read after expansion control fix 2" dword="0" bits="2:2" type="bool" />
+ <field name="Depth Read Hit Write-Only Optimization Disable" dword="0" bits="3:3" type="bool" />
+ <field name="MCS Cache Disable" dword="0" bits="5:5" type="bool" />
+ <field name="4X4 RCPFE-STC Optimization Disable" dword="0" bits="6:6" type="bool" />
+ <field name="Sampler Cache Set XOR selection" dword="0" bits="8:7" type="uint" />
+ <field name="NP PMA Fix Enable" dword="0" bits="11:11" type="uint" />
+ <field name="HIZ Eviction Policy" dword="0" bits="12:12" type="uint" />
+ <field name="NP Early Z Fails Disable" dword="0" bits="13:13" type="uint" />
+ <field name="MSC Resolve Optimization Disable" dword="0" bits="14:14" type="uint" />
+ <field name="RCZ Read after expansion control fix 2 Mask" dword="0" bits="18:18" type="bool" />
+ <field name="Depth Read Hit Write-Only Optimization Disable Mask" dword="0" bits="19:19" type="bool" />
+ <field name="MCS Cache Disable Mask" dword="0" bits="21:21" type="bool" />
+ <field name="4X4 RCPFE-STC Optimization Disable Mask" dword="0" bits="22:22" type="bool" />
+ <field name="Sampler Cache Set XOR selection Mask" dword="0" bits="24:23" type="uint" />
+ <field name="NP PMA Fix Enable Mask" dword="0" bits="27:27" type="uint" />
+ <field name="HIZ Eviction Policy Mask" dword="0" bits="28:28" type="uint" />
+ <field name="NP Early Z Fails Disable Mask" dword="0" bits="29:29" type="uint" />
+ <field name="MSC Resolve Optimization Disable Mask" dword="0" bits="30:30" type="uint" />
+ </register>
+ <register name="FAULT_REG" length="1" num="0x4094">
+ <field name="Valid Bit" dword="0" bits="0:0" type="bool" />
+ <field name="Fault Type" dword="0" bits="2:1" type="uint">
+ <value name="Invalid PTE Fault" value="0" />
+ <value name="Invalid PDE Fault" value="1" />
+ <value name="Invalid PDPE Fault" value="2" />
+ <value name="Invalid PML4E Fault" value="3" />
+ </field>
+ <field name="SRCID of Fault" dword="0" bits="10:3" type="uint" />
+ <field name="GTTSEL" dword="0" bits="11:11" type="uint">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Engine ID" dword="0" bits="14:12" type="uint">
+ <value name="GFX" value="0" />
+ <value name="MFX0" value="1" />
+ <value name="MFX1" value="2" />
+ <value name="VEBX" value="3" />
+ <value name="BLT" value="4" />
+ <value name="GUC" value="5" />
+ </field>
+ </register>
+ <register name="GFX_ARB_ERROR_RPT" length="1" num="0x40a0">
+ <field name="TLB Page Fault Error" dword="0" bits="0:0" type="bool" />
+ <field name="RSTRM PAVP Read Invalid" dword="0" bits="1:1" type="bool" />
+ <field name="Invalid Page Directory Entry Error" dword="0" bits="2:2" type="bool" />
+ <field name="ROSTRM PAVP Invalid Physical Address" dword="0" bits="3:3" type="bool" />
+ <field name="TLB Page VTD Translation Error" dword="0" bits="4:4" type="bool" />
+ <field name="WRDP PAVP Invalid" dword="0" bits="5:5" type="bool" />
+ <field name="Page Directory Entry VTD Translation Error" dword="0" bits="6:6" type="bool" />
+ <field name="Unloaded PD Error" dword="0" bits="8:8" type="bool" />
+ <field name="GuC VTd translation Page Fault 2nd level (Undefined doorbell)" dword="0" bits="9:9" type="bool" />
+ <field name="Non WB memory type for Advanced Context" dword="0" bits="10:10" type="bool" />
+ <field name="PASID Not Enabled" dword="0" bits="11:11" type="bool" />
+ <field name="PASID Boundary Violation" dword="0" bits="12:12" type="bool" />
+ <field name="PASID Not Valid" dword="0" bits="13:13" type="bool" />
+ <field name="PASID Was Zero For Untranslated Request" dword="0" bits="14:14" type="bool" />
+ <field name="Context Was Not Marked As Present When Doing DMA" dword="0" bits="15:15" type="bool" />
+ </register>
+ <register name="L3CNTLREG" length="1" num="0x7034">
+ <field name="SLM Enable" dword="0" bits="0:0" type="bool" />
+ <field name="URB Allocation" dword="0" bits="7:1" type="uint" />
+ <field name="RO Allocation" dword="0" bits="17:11" type="uint" />
+ <field name="DC Allocation" dword="0" bits="24:18" type="uint" />
+ <field name="All Allocation" dword="0" bits="31:25" type="uint" />
+ </register>
+ <register name="RCS_RING_BUFFER_CTL" length="1" num="0x203c">
+ <field name="Ring Buffer Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Automatic Report Head Pointer" dword="0" bits="2:1" type="uint">
+ <value name="MI_AUTOREPORT_OFF" value="0" />
+ <value name="MI_AUTOREPORT_64KB" value="1" />
+ <value name="MI_AUTOREPORT_4KB" value="2" />
+ <value name="MI_AUTOREPORT_128KB" value="3" />
+ </field>
+ <field name="Semaphore Wait" dword="0" bits="10:10" type="bool" />
+ <field name="RBWait" dword="0" bits="11:11" type="bool" />
+ <field name="Buffer Length (in pages - 1)" dword="0" bits="20:12" type="uint" />
+ </register>
+ <register name="ROW_INSTDONE" length="1" num="0xe164">
+ <field name="BC Done" dword="0" bits="0:0" type="bool" />
+ <field name="PSD Done" dword="0" bits="1:1" type="bool" />
+ <field name="DAPR Done" dword="0" bits="3:3" type="bool" />
+ <field name="TDL Done" dword="0" bits="6:6" type="bool" />
+ <field name="IC Done" dword="0" bits="12:12" type="bool" />
+ <field name="MA0 Done" dword="0" bits="15:15" type="bool" />
+ <field name="EU00 Done SS0" dword="0" bits="16:16" type="bool" />
+ <field name="EU01 Done SS0" dword="0" bits="17:17" type="bool" />
+ <field name="EU02 Done SS0" dword="0" bits="18:18" type="bool" />
+ <field name="EU03 Done SS0" dword="0" bits="19:19" type="bool" />
+ <field name="EU10 Done SS0" dword="0" bits="21:21" type="bool" />
+ <field name="EU11 Done SS0" dword="0" bits="22:22" type="bool" />
+ <field name="EU12 Done SS0" dword="0" bits="23:23" type="bool" />
+ <field name="EU13 Done SS0" dword="0" bits="24:24" type="bool" />
+ <field name="MA1 Done SS0" dword="0" bits="26:26" type="bool" />
+ </register>
+ <register name="SAMPLER_INSTDONE" length="1" num="0xe160">
+ <field name="IME Done" dword="0" bits="0:0" type="bool" />
+ <field name="PL0 Done" dword="0" bits="1:1" type="bool" />
+ <field name="SO0 Done" dword="0" bits="2:2" type="bool" />
+ <field name="DG0 Done" dword="0" bits="3:3" type="bool" />
+ <field name="FT0 Done" dword="0" bits="4:4" type="bool" />
+ <field name="DM0 Done" dword="0" bits="5:5" type="bool" />
+ <field name="SC Done" dword="0" bits="6:6" type="bool" />
+ <field name="FL0 Done" dword="0" bits="7:7" type="bool" />
+ <field name="QC Done" dword="0" bits="8:8" type="bool" />
+ <field name="SVSM Done" dword="0" bits="9:9" type="bool" />
+ <field name="SI0 Done" dword="0" bits="10:10" type="bool" />
+ <field name="MT0 Done" dword="0" bits="11:11" type="bool" />
+ <field name="AVS Done" dword="0" bits="12:12" type="bool" />
+ <field name="IEF Done" dword="0" bits="13:13" type="bool" />
+ <field name="CRE Done" dword="0" bits="14:14" type="bool" />
+ <field name="SVSM ARB3" dword="0" bits="15:15" type="bool" />
+ <field name="SVSM ARB2" dword="0" bits="16:16" type="bool" />
+ <field name="SVSM ARB1" dword="0" bits="17:17" type="bool" />
+ <field name="SVSM Adapter" dword="0" bits="18:18" type="bool" />
+ <field name="BDM Done" dword="0" bits="19:19" type="bool" />
+ </register>
+ <register name="SC_INSTDONE" length="1" num="0x7100">
+ <field name="SVL Done" dword="0" bits="0:0" type="bool" />
+ <field name="WMFE Done" dword="0" bits="1:1" type="bool" />
+ <field name="WMBE Done" dword="0" bits="2:2" type="bool" />
+ <field name="HIZ Done" dword="0" bits="3:3" type="bool" />
+ <field name="STC Done" dword="0" bits="4:4" type="bool" />
+ <field name="IZ Done" dword="0" bits="5:5" type="bool" />
+ <field name="SBE Done" dword="0" bits="6:6" type="bool" />
+ <field name="RCZ Done" dword="0" bits="8:8" type="bool" />
+ <field name="RCC Done" dword="0" bits="9:9" type="bool" />
+ <field name="RCPBE Done" dword="0" bits="10:10" type="bool" />
+ <field name="RCPFE Done" dword="0" bits="11:11" type="bool" />
+ <field name="DAPB Done" dword="0" bits="12:12" type="bool" />
+ <field name="DAPRBE Done" dword="0" bits="13:13" type="bool" />
+ <field name="SARB Done" dword="0" bits="15:15" type="bool" />
+ <field name="DC0 Done" dword="0" bits="16:16" type="bool" />
+ <field name="DC1 Done" dword="0" bits="17:17" type="bool" />
+ <field name="DC2 Done" dword="0" bits="18:18" type="bool" />
+ <field name="GW0 Done" dword="0" bits="20:20" type="bool" />
+ <field name="GW1 Done" dword="0" bits="21:21" type="bool" />
+ <field name="GW2 Done" dword="0" bits="22:22" type="bool" />
+ <field name="TDC Done" dword="0" bits="24:24" type="bool" />
+ </register>
+ <register name="VCS2_RING_BUFFER_CTL" length="1" num="0x1203c">
+ <field name="Ring Buffer Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Automatic Report Head Pointer" dword="0" bits="2:1" type="uint">
+ <value name="MI_AUTOREPORT_OFF" value="0" />
+ <value name="MI_AUTOREPORT_64KB" value="1" />
+ <value name="MI_AUTOREPORT_4KB" value="2" />
+ <value name="MI_AUTOREPORT_128KB" value="3" />
+ </field>
+ <field name="Disable Register Accesses" dword="0" bits="8:8" type="bool" />
+ <field name="Semaphore Wait" dword="0" bits="10:10" type="bool" />
+ <field name="RBWait" dword="0" bits="11:11" type="bool" />
+ <field name="Buffer Length (in pages - 1)" dword="0" bits="20:12" type="uint" />
+ </register>
+ <register name="VCS_ACTHD_UDW" length="1" num="0x1205c">
+ <field name="Head Pointer Upper DWORD" dword="0" bits="15:0" type="uint" default="0" />
+ </register>
+ <register name="VCS_INSTDONE" length="1" num="0x1206c">
+ <field name="Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="USB Done" dword="0" bits="1:1" type="bool" />
+ <field name="QRC Done" dword="0" bits="2:2" type="bool" />
+ <field name="SEC Done" dword="0" bits="3:3" type="bool" />
+ <field name="MPC Done" dword="0" bits="4:4" type="bool" />
+ <field name="VFT Done" dword="0" bits="5:5" type="bool" />
+ <field name="BSP Done" dword="0" bits="6:6" type="bool" />
+ <field name="VLF Done" dword="0" bits="7:7" type="bool" />
+ <field name="VOP Done" dword="0" bits="8:8" type="bool" />
+ <field name="VMC Done" dword="0" bits="9:9" type="bool" />
+ <field name="VIP Done" dword="0" bits="10:10" type="bool" />
+ <field name="VIT Done" dword="0" bits="11:11" type="bool" />
+ <field name="VDS Done" dword="0" bits="12:12" type="bool" />
+ <field name="VMX Done" dword="0" bits="13:13" type="bool" />
+ <field name="VCP Done" dword="0" bits="14:14" type="bool" />
+ <field name="VCD Done" dword="0" bits="15:15" type="bool" />
+ <field name="VAD Done" dword="0" bits="16:16" type="bool" />
+ <field name="VMD Done" dword="0" bits="17:17" type="bool" />
+ <field name="VIS Done" dword="0" bits="18:18" type="bool" />
+ <field name="VAC Done" dword="0" bits="19:19" type="bool" />
+ <field name="VAM Done" dword="0" bits="20:20" type="bool" />
+ <field name="JPG Done" dword="0" bits="21:21" type="bool" />
+ <field name="VBP Done" dword="0" bits="22:22" type="bool" />
+ <field name="VHR Done" dword="0" bits="23:23" type="bool" />
+ <field name="VCI Done" dword="0" bits="24:24" type="bool" />
+ <field name="VCR Done" dword="0" bits="25:25" type="bool" />
+ <field name="VIN Done" dword="0" bits="26:26" type="bool" />
+ <field name="VPR Done" dword="0" bits="27:27" type="bool" />
+ <field name="VTQ Done" dword="0" bits="28:28" type="bool" />
+ <field name="Reserved" dword="0" bits="29:29" type="bool" />
+ <field name="VCS Done" dword="0" bits="30:30" type="bool" />
+ <field name="GAC Done" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="VECS_ACTHD_UDW" length="1" num="0x1a05c">
+ <field name="Head Pointer Upper DWORD" dword="0" bits="15:0" type="uint" default="0" />
+ </register>
+ <register name="VECS_INSTDONE" length="1" num="0x1a06c">
+ <field name="Ring Enable" dword="0" bits="0:0" type="bool" />
+ <field name="VECS Done" dword="0" bits="30:30" type="bool" />
+ <field name="GAM Done" dword="0" bits="31:31" type="bool" />
+ </register>
+</genxml>
diff --git a/lib/genxml/gen90.xml b/lib/genxml/gen90.xml
new file mode 100644
index 000000000..6af7c2b19
--- /dev/null
+++ b/lib/genxml/gen90.xml
@@ -0,0 +1,4192 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="SKL" gen="9">
+ <import name="gen80.xml">
+ <exclude name="Clear Color" />
+ <exclude name="INSTPM" />
+ <exclude name="MEMORY_OBJECT_CONTROL_STATE" />
+ <exclude name="MEMORY_OBJECT_CONTROL_STATE_CHV" />
+ <exclude name="MI_URB_CLEAR" />
+ <exclude name="RPSTAT1" />
+ <exclude name="SWTESS_BASE_ADDRESS" />
+ </import>
+ <enum name="Atomic_OPCODE" prefix="MI_ATOMIC_OP">
+ <value name="AND" value="0x01" />
+ <value name="OR" value="0x02" />
+ <value name="XOR" value="0x03" />
+ <value name="MOVE" value="0x04" />
+ <value name="INC" value="0x05" />
+ <value name="DEC" value="0x06" />
+ <value name="ADD" value="0x07" />
+ <value name="SUB" value="0x08" />
+ <value name="RSUB" value="0x09" />
+ <value name="IMAX" value="0x0a" />
+ <value name="IMIN" value="0x0b" />
+ <value name="UMAX" value="0x0c" />
+ <value name="UMIN" value="0x0d" />
+ <value name="CMP_WR" value="0x0e" />
+ <value name="PREDEC" value="0x0f" />
+ <value name="AND8B" value="0x21" />
+ <value name="OR8B" value="0x22" />
+ <value name="XOR8B" value="0x23" />
+ <value name="MOVE8B" value="0x24" />
+ <value name="INC8B" value="0x25" />
+ <value name="DEC8B" value="0x26" />
+ <value name="ADD8B" value="0x27" />
+ <value name="SUB8B" value="0x28" />
+ <value name="RSUB8B" value="0x29" />
+ <value name="IMAX8B" value="0x2a" />
+ <value name="IMIN8B" value="0x2b" />
+ <value name="UMAX8B" value="0x2c" />
+ <value name="UMIN8B" value="0x2d" />
+ <value name="CMP_WR8B" value="0x2e" />
+ <value name="PREDEC8B" value="0x2f" />
+ <value name="CMP_WR16B" value="0x4e" />
+ </enum>
+ <enum name="Attribute_Component_Format" prefix="ACF">
+ <value name="disabled" value="0" />
+ <value name=".xy" value="1" />
+ <value name=".xyz" value="2" />
+ <value name=".xyzw" value="3" />
+ </enum>
+ <struct name="COLOR_CALC_STATE" length="6">
+ <field name="Alpha Test Format" dword="0" bits="0:0" type="uint">
+ <value name="ALPHATEST_UNORM8" value="0" />
+ <value name="ALPHATEST_FLOAT32" value="1" />
+ </field>
+ <field name="Round Disable Function Disable" dword="0" bits="15:15" type="bool" />
+ <field name="Alpha Reference Value As UNORM8" dword="1" bits="31:0" type="uint" />
+ <field name="Alpha Reference Value As FLOAT32" dword="1" bits="31:0" type="float" />
+ <field name="Blend Constant Color Red" dword="2" bits="31:0" type="float" />
+ <field name="Blend Constant Color Green" dword="3" bits="31:0" type="float" />
+ <field name="Blend Constant Color Blue" dword="4" bits="31:0" type="float" />
+ <field name="Blend Constant Color Alpha" dword="5" bits="31:0" type="float" />
+ </struct>
+ <struct name="FRAMEDELTAQP" length="2">
+ <group count="8" dword="0" size="8">
+ <field name="Frame Delta QP" dword="0" bits="7:0" type="int" />
+ </group>
+ </struct>
+ <struct name="FRAMEDELTAQPRANGE" length="2">
+ <group count="8" dword="0" size="8">
+ <field name="Frame Delta QP Range" dword="0" bits="7:0" type="uint" />
+ </group>
+ </struct>
+ <struct name="HEVC_ARBITRATION_PRIORITY" length="1">
+ <field name="Priority" dword="0" bits="1:0" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ </struct>
+ <struct name="MEMORYADDRESSATTRIBUTES" length="1">
+ <field name="MOCS" dword="0" bits="6:0" type="uint" nonzero="true" />
+ <field name="Arbitration Priority Control" dword="0" bits="8:7" type="HEVC_ARBITRATION_PRIORITY" />
+ <field name="Memory Compression Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Memory Compression Mode" dword="0" bits="10:10" type="uint" />
+ <field name="Row Store Scratch Buffer Cache Select" dword="0" bits="12:12" type="uint">
+ <value name="LLC" value="0" />
+ <value name="Internal Media Storage" value="1" />
+ </field>
+ <field name="Tiled Resource Mode" dword="0" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ </struct>
+ <struct name="HCP_PAK_INSERT_OBJECT_INDIRECT_PAYLOAD" length="4">
+ <field name="Indirect Payload Data Size in bits" dword="0" bits="31:0" type="uint" />
+ <field name="Indirect Payload Base Address" dword="1" bits="63:0" type="address" />
+ <field name="Indirect Payload Base Address2" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </struct>
+ <struct name="HCP_REF_LIST_ENTRY" length="1">
+ <field name="Reference Picture tb Value" dword="0" bits="7:0" type="uint" />
+ <field name="List Entry" dword="0" bits="10:8" type="uint" />
+ <field name="Chroma Weighted Prediction" dword="0" bits="11:11" type="uint">
+ <value name="Default" value="0" />
+ <value name="Explicit" value="1" />
+ </field>
+ <field name="Luma Weighted Prediction" dword="0" bits="12:12" type="uint">
+ <value name="Default" value="0" />
+ <value name="Explicit" value="1" />
+ </field>
+ <field name="Long Term Reference" dword="0" bits="13:13" type="bool" />
+ <field name="Field Pic" dword="0" bits="14:14" type="bool" />
+ <field name="Top Field" dword="0" bits="15:15" type="bool" />
+ </struct>
+ <struct name="HCP_TILE_POSITION_IN_CTB" length="1">
+ <field name="CtbPos0+i" dword="0" bits="7:0" type="uint" />
+ <field name="CtbPos1+i" dword="0" bits="15:8" type="uint" />
+ <field name="CtbPos2+i" dword="0" bits="23:16" type="uint" />
+ <field name="CtbPos3+i" dword="0" bits="31:24" type="uint" />
+ </struct>
+ <struct name="HCP_WEIGHTOFFSET_CHROMA_ENTRY" length="1">
+ <field name="Delta Chroma Weight LX[0]" dword="0" bits="7:0" type="uint" />
+ <field name="Chroma Offset LX[0]" dword="0" bits="15:8" type="uint" />
+ <field name="Delta Chroma Weight LX[1]" dword="0" bits="23:16" type="uint" />
+ <field name="Chroma Offset LX[1]" dword="0" bits="31:24" type="uint" />
+ </struct>
+ <struct name="HCP_WEIGHTOFFSET_LUMA_ENTRY" length="1">
+ <field name="Delta Luma Weight LX" dword="0" bits="7:0" type="uint" />
+ <field name="Luma Offset LX" dword="0" bits="15:8" type="uint" />
+ </struct>
+ <struct name="HEVC_VP9_RDOQ_LAMBDA_FIELDS" length="1">
+ <field name="Lambda Value 0" dword="0" bits="15:0" type="uint" />
+ <field name="Lambda Value 1" dword="0" bits="31:16" type="uint" />
+ </struct>
+ <struct name="HUC_VIRTUAL_ADDR_REGION" length="3">
+ <field name="Address" dword="0" bits="63:0" type="address" />
+ <field name="Memory Address Attributes" dword="2" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </struct>
+ <struct name="IMAGE_STATE_COST" length="2">
+ <field name="MV 0 Cost" dword="0" bits="7:0" type="uint" />
+ <field name="MV 1 Cost" dword="0" bits="15:8" type="uint" />
+ <field name="MV 2 Cost" dword="0" bits="23:16" type="uint" />
+ <field name="MV 3 Cost" dword="0" bits="31:24" type="uint" />
+ <field name="MV 4 Cost" dword="1" bits="7:0" type="uint" />
+ <field name="MV 5 Cost" dword="1" bits="15:8" type="uint" />
+ <field name="MV 6 Cost" dword="1" bits="23:16" type="uint" />
+ <field name="MV 7 Cost" dword="1" bits="31:24" type="uint" />
+ </struct>
+ <struct name="INLINE_DATA_DESCRIPTION_FOR_MFD_AVC_BSD_OBJECT" length="3">
+ <field name="MB Error Concealment P Slice Weight Prediction Disable" dword="0" bits="0:0" type="bool" />
+ <field name="MB Error Concealment P Slice Motion Vectors Override Disable" dword="0" bits="1:1" type="bool" />
+ <field name="MB Error Concealment B Spatial Weight Prediction Disable" dword="0" bits="3:3" type="bool" />
+ <field name="MB Error Concealment B Spatial Motion Vectors Override Disable" dword="0" bits="4:4" type="bool" />
+ <field name="MB Error Concealment B Spatial Prediction Mode" dword="0" bits="7:6" type="uint" />
+ <field name="MB Header Error Handling" dword="0" bits="8:8" type="bool" />
+ <field name="Entropy Error Handling" dword="0" bits="10:10" type="bool" />
+ <field name="MPR Error Handling" dword="0" bits="12:12" type="bool" />
+ <field name="BSD Premature Complete Error Handling" dword="0" bits="14:14" type="bool" />
+ <field name="Concealment Picture ID" dword="0" bits="21:16" type="uint" />
+ <field name="MB Error Concealment B Temporal Weight Prediction Disable" dword="0" bits="24:24" type="bool" />
+ <field name="MB Error Concealment B Temporal Motion Vectors Override Enable" dword="0" bits="25:25" type="bool" />
+ <field name="MB Error Concealment B Temporal Prediction Mode" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Intra PredMode (4x4/8x8 Luma) Error Control" dword="0" bits="29:29" type="uint" />
+ <field name="Init Current MB Number" dword="0" bits="30:30" type="bool" />
+ <field name="Concealment Method" dword="0" bits="31:31" type="uint" />
+ <field name="First MB Bit Offset" dword="1" bits="2:0" type="uint" />
+ <field name="Last Slice" dword="1" bits="3:3" type="bool" />
+ <field name="Emulation Prevention Byte Present" dword="1" bits="4:4" type="bool" />
+ <field name="Fix Prev MB Skipped" dword="1" bits="7:7" type="bool" />
+ <field name="First MB Byte Offset of Slice Data or Slice Header" dword="1" bits="31:16" type="uint" />
+ <field name="Intra Prediction Error Control" dword="2" bits="0:0" type="bool" />
+ <field name="Intra 8x8/4x4 Prediction Error Concealment Control" dword="2" bits="1:1" type="bool" />
+ <field name="B Slice Temporal Inter Concealment Mode" dword="2" bits="6:4" type="uint" />
+ <field name="B Slice Spatial Inter Concealment Mode" dword="2" bits="10:8" type="uint" />
+ <field name="B Slice Inter Direct Type Concealment Mode" dword="2" bits="13:12" type="uint" />
+ <field name="B Slice Concealment Mode" dword="2" bits="15:15" type="uint">
+ <value name="Intra Concealment" value="1" />
+ <value name="Inter Concealment" value="0" />
+ </field>
+ <field name="P Slice Inter Concealment Mode" dword="2" bits="18:16" type="uint" />
+ <field name="P Slice Concealment Mode" dword="2" bits="23:23" type="uint">
+ <value name="Intra Concealment" value="1" />
+ <value name="Inter Concealment" value="0" />
+ </field>
+ <field name="Concealment Reference Picture + Field Bit" dword="2" bits="29:24" type="uint" />
+ <field name="I Slice Concealment Mode" dword="2" bits="31:31" type="uint">
+ <value name="Intra Concealment" value="1" />
+ <value name="Inter Concealment" value="0" />
+ </field>
+ </struct>
+ <struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
+ <field name="Kernel Start Pointer" dword="0" bits="47:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Priority" dword="2" bits="17:17" type="uint">
+ <value name="Normal Priority" value="0" />
+ <value name="High Priority" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="2" bits="18:18" type="bool" />
+ <field name="Denorm Mode" dword="2" bits="19:19" type="uint">
+ <value name="Ftz" value="0" />
+ <value name="SetByKernel" value="1" />
+ </field>
+ <field name="Sampler Count" dword="3" bits="4:2" type="uint">
+ <value name="No samplers used" value="0" />
+ <value name="Between 1 and 4 samplers used" value="1" />
+ <value name="Between 5 and 8 samplers used" value="2" />
+ <value name="Between 9 and 12 samplers used" value="3" />
+ <value name="Between 13 and 16 samplers used" value="4" />
+ </field>
+ <field name="Sampler State Pointer" dword="3" bits="31:5" type="offset" />
+ <field name="Binding Table Entry Count" dword="4" bits="4:0" type="uint" />
+ <field name="Binding Table Pointer" dword="4" bits="15:5" type="offset" />
+ <field name="Constant URB Entry Read Offset" dword="5" bits="15:0" type="uint" />
+ <field name="Constant URB Entry Read Length" dword="5" bits="31:16" type="uint" />
+ <field name="Number of Threads in GPGPU Thread Group" dword="6" bits="9:0" type="uint" />
+ <field name="Global Barrier Enable" dword="6" bits="15:15" type="bool" />
+ <field name="Shared Local Memory Size" dword="6" bits="20:16" type="uint">
+ <value name="Encodes 0K" value="0" />
+ <value name="Encodes 1K" value="1" />
+ <value name="Encodes 2K" value="2" />
+ <value name="Encodes 4K" value="3" />
+ <value name="Encodes 8K" value="4" />
+ <value name="Encodes 16K" value="5" />
+ <value name="Encodes 32K" value="6" />
+ <value name="Encodes 64K" value="7" />
+ </field>
+ <field name="Barrier Enable" dword="6" bits="21:21" type="bool" />
+ <field name="Rounding Mode" dword="6" bits="23:22" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Cross-Thread Constant Data Read Length" dword="7" bits="7:0" type="uint" />
+ </struct>
+ <struct name="RENDER_SURFACE_STATE" length="16">
+ <field name="Cube Face Enable - Positive Z" dword="0" bits="0:0" type="bool" />
+ <field name="Cube Face Enable - Negative Z" dword="0" bits="1:1" type="bool" />
+ <field name="Cube Face Enable - Positive Y" dword="0" bits="2:2" type="bool" />
+ <field name="Cube Face Enable - Negative Y" dword="0" bits="3:3" type="bool" />
+ <field name="Cube Face Enable - Positive X" dword="0" bits="4:4" type="bool" />
+ <field name="Cube Face Enable - Negative X" dword="0" bits="5:5" type="bool" />
+ <field name="Media Boundary Pixel Mode" dword="0" bits="7:6" type="uint">
+ <value name="NORMAL_MODE" value="0" />
+ <value name="PROGRESSIVE_FRAME" value="2" />
+ <value name="INTERLACED_FRAME" value="3" />
+ </field>
+ <field name="Render Cache Read Write Mode" dword="0" bits="8:8" type="uint">
+ <value name="Write-Only Cache" value="0" />
+ <value name="Read-Write Cache" value="1" />
+ </field>
+ <field name="Sampler L2 Bypass Mode Disable" dword="0" bits="9:9" type="bool" />
+ <field name="Vertical Line Stride Offset" dword="0" bits="10:10" type="uint" />
+ <field name="Vertical Line Stride" dword="0" bits="11:11" type="uint" />
+ <field name="Tile Mode" dword="0" bits="13:12" type="uint">
+ <value name="LINEAR" value="0" />
+ <value name="WMAJOR" value="1" />
+ <value name="XMAJOR" value="2" />
+ <value name="YMAJOR" value="3" />
+ </field>
+ <field name="Surface Horizontal Alignment" dword="0" bits="15:14" type="uint">
+ <value name="HALIGN_4" value="1" />
+ <value name="HALIGN_8" value="2" />
+ <value name="HALIGN_16" value="3" />
+ </field>
+ <field name="Surface Vertical Alignment" dword="0" bits="17:16" type="uint">
+ <value name="VALIGN_4" value="1" />
+ <value name="VALIGN_8" value="2" />
+ <value name="VALIGN_16" value="3" />
+ </field>
+ <field name="Surface Format" dword="0" bits="27:18" type="uint" />
+ <field name="Surface Array" dword="0" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="0" bits="31:29" type="uint">
+ <value name="SURFTYPE_1D" value="0" />
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_3D" value="2" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_BUFFER" value="4" />
+ <value name="SURFTYPE_STRBUF" value="5" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface QPitch" dword="1" bits="14:0" type="uint" />
+ <field name="Base Mip Level" dword="1" bits="23:19" type="u4.1" />
+ <field name="MOCS" dword="1" bits="30:24" type="uint" nonzero="true" />
+ <field name="Width" dword="2" bits="13:0" type="uint" />
+ <field name="Height" dword="2" bits="29:16" type="uint" />
+ <field name="Surface Pitch" dword="3" bits="17:0" type="uint" />
+ <field name="Depth" dword="3" bits="31:21" type="uint" />
+ <field name="Multisample Position Palette Index" dword="4" bits="2:0" type="uint" />
+ <field name="Number of Multisamples" dword="4" bits="5:3" type="uint">
+ <value name="MULTISAMPLECOUNT_1" value="0" />
+ <value name="MULTISAMPLECOUNT_2" value="1" />
+ <value name="MULTISAMPLECOUNT_4" value="2" />
+ <value name="MULTISAMPLECOUNT_8" value="3" />
+ <value name="MULTISAMPLECOUNT_16" value="4" />
+ </field>
+ <field name="Multisampled Surface Storage Format" dword="4" bits="6:6" type="uint">
+ <value name="MSFMT_MSS" value="0" />
+ <value name="MSFMT_DEPTH_STENCIL" value="1" />
+ </field>
+ <field name="Render Target View Extent" dword="4" bits="17:7" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="28:18" type="uint" />
+ <field name="Render Target And Sample Unorm Rotation" dword="4" bits="30:29" type="uint">
+ <value name="0DEG" value="0" />
+ <value name="90DEG" value="1" />
+ <value name="180DEG" value="2" />
+ <value name="270DEG" value="3" />
+ </field>
+ <field name="MIP Count / LOD" dword="5" bits="3:0" type="uint" />
+ <field name="Surface Min LOD" dword="5" bits="7:4" type="uint" />
+ <field name="Mip Tail Start LOD" dword="5" bits="11:8" type="uint" />
+ <field name="Coherency Type" dword="5" bits="14:14" type="uint">
+ <value name="GPU coherent" value="0" />
+ <value name="IA coherent" value="1" />
+ </field>
+ <field name="Tiled Resource Mode" dword="5" bits="19:18" type="uint">
+ <value name="NONE" value="0" />
+ <value name="4KB" value="1" />
+ <value name="64KB" value="2" />
+ <value name="TILEYF" value="1" />
+ <value name="TILEYS" value="2" />
+ </field>
+ <field name="EWA Disable For Cube" dword="5" bits="20:20" type="bool" />
+ <field name="Y Offset" dword="5" bits="23:21" type="uint" />
+ <field name="X Offset" dword="5" bits="31:25" type="uint" />
+ <field name="Auxiliary Surface Mode" dword="6" bits="2:0" type="uint">
+ <value name="AUX_NONE" value="0" />
+ <value name="AUX_CCS_D" value="1" />
+ <value name="AUX_APPEND" value="2" />
+ <value name="AUX_HIZ" value="3" />
+ <value name="AUX_CCS_E" value="5" />
+ </field>
+ <field name="Y Offset for U or UV Plane" dword="6" bits="13:0" type="uint" />
+ <field name="Auxiliary Surface Pitch" dword="6" bits="11:3" type="uint" />
+ <field name="Auxiliary Surface QPitch" dword="6" bits="30:16" type="uint" />
+ <field name="X Offset for U or UV Plane" dword="6" bits="29:16" type="uint" />
+ <field name="Separate UV Plane Enable" dword="6" bits="31:31" type="bool" />
+ <field name="Resource Min LOD" dword="7" bits="11:0" type="u4.8" />
+ <field name="Shader Channel Select Alpha" dword="7" bits="18:16" type="Shader Channel Select" />
+ <field name="Shader Channel Select Blue" dword="7" bits="21:19" type="Shader Channel Select" />
+ <field name="Shader Channel Select Green" dword="7" bits="24:22" type="Shader Channel Select" />
+ <field name="Shader Channel Select Red" dword="7" bits="27:25" type="Shader Channel Select" />
+ <field name="Memory Compression Enable" dword="7" bits="30:30" type="bool" />
+ <field name="Memory Compression Mode" dword="7" bits="31:31" type="uint">
+ <value name="Horizontal" value="0" />
+ <value name="Vertical" value="1" />
+ </field>
+ <field name="Surface Base Address" dword="8" bits="63:0" type="address" />
+ <field name="Quilt Width" dword="10" bits="4:0" type="uint" />
+ <field name="Quilt Height" dword="10" bits="9:5" type="uint" />
+ <field name="Auxiliary Surface Base Address" dword="10" bits="63:12" type="address" />
+ <field name="Auxiliary Table Index for Media Compressed Surface" dword="10" bits="31:21" type="uint" />
+ <field name="Y Offset for V Plane" dword="11" bits="13:0" type="uint" />
+ <field name="X Offset for V Plane" dword="11" bits="29:16" type="uint" />
+ <field name="Hierarchical Depth Clear Value" dword="12" bits="31:0" type="float" />
+ <field name="Red Clear Color" dword="12" bits="31:0" type="int" />
+ <field name="Green Clear Color" dword="13" bits="31:0" type="int" />
+ <field name="Blue Clear Color" dword="14" bits="31:0" type="int" />
+ <field name="Alpha Clear Color" dword="15" bits="31:0" type="int" />
+ </struct>
+ <struct name="ROUNDINGPRECISIONTABLE_3_BITS" length="1">
+ <field name="Rounding Precision" dword="0" bits="2:0" type="uint">
+ <value name="+1/16" value="0" />
+ <value name="+2/16" value="1" />
+ <value name="+3/16" value="2" />
+ <value name="+4/16" value="3" />
+ <value name="+5/16" value="4" />
+ <value name="+6/16" value="5" />
+ <value name="+7/16" value="6" />
+ <value name="+8/16" value="7" />
+ </field>
+ </struct>
+ <struct name="SAMPLER_STATE" length="4">
+ <field name="Anisotropic Algorithm" dword="0" bits="0:0" type="uint">
+ <value name="LEGACY" value="0" />
+ <value name="EWA Approximation" value="1" />
+ </field>
+ <field name="Texture LOD Bias" dword="0" bits="13:1" type="s4.8" />
+ <field name="Min Mode Filter" dword="0" bits="16:14" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mag Mode Filter" dword="0" bits="19:17" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mip Mode Filter" dword="0" bits="21:20" type="uint" prefix="MIPFILTER">
+ <value name="NONE" value="0" />
+ <value name="NEAREST" value="1" />
+ <value name="LINEAR" value="3" />
+ </field>
+ <field name="Coarse LOD Quality Mode" dword="0" bits="26:22" type="uint" />
+ <field name="LOD PreClamp Mode" dword="0" bits="28:27" type="uint" prefix="CLAMP_MODE">
+ <value name="NONE" value="0" />
+ <value name="OGL" value="2" />
+ </field>
+ <field name="Texture Border Color Mode" dword="0" bits="29:29" type="uint">
+ <value name="DX10/OGL" value="0" />
+ <value name="DX9" value="1" />
+ </field>
+ <field name="Sampler Disable" dword="0" bits="31:31" type="bool" />
+ <field name="Cube Surface Control Mode" dword="1" bits="0:0" type="uint">
+ <value name="PROGRAMMED" value="0" />
+ <value name="OVERRIDE" value="1" />
+ </field>
+ <field name="Shadow Function" dword="1" bits="3:1" type="uint" prefix="PREFILTEROP">
+ <value name="ALWAYS" value="0" />
+ <value name="NEVER" value="1" />
+ <value name="LESS" value="2" />
+ <value name="EQUAL" value="3" />
+ <value name="LEQUAL" value="4" />
+ <value name="GREATER" value="5" />
+ <value name="NOTEQUAL" value="6" />
+ <value name="GEQUAL" value="7" />
+ </field>
+ <field name="ChromaKey Mode" dword="1" bits="4:4" type="uint">
+ <value name="KEYFILTER_KILL_ON_ANY_MATCH" value="0" />
+ <value name="KEYFILTER_REPLACE_BLACK" value="1" />
+ </field>
+ <field name="ChromaKey Index" dword="1" bits="6:5" type="uint" />
+ <field name="ChromaKey Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Max LOD" dword="1" bits="19:8" type="u4.8" />
+ <field name="Min LOD" dword="1" bits="31:20" type="u4.8" />
+ <field name="LOD Clamp Magnification Mode" dword="2" bits="0:0" type="uint">
+ <value name="MIPNONE" value="0" />
+ <value name="MIPFILTER" value="1" />
+ </field>
+ <field name="Border Color Pointer" dword="2" bits="23:6" type="offset" />
+ <field name="TCZ Address Control Mode" dword="3" bits="2:0" type="Texture Coordinate Mode" />
+ <field name="TCY Address Control Mode" dword="3" bits="5:3" type="Texture Coordinate Mode" />
+ <field name="TCX Address Control Mode" dword="3" bits="8:6" type="Texture Coordinate Mode" />
+ <field name="Reduction Type Enable" dword="3" bits="9:9" type="bool" />
+ <field name="Non-normalized Coordinate Enable" dword="3" bits="10:10" type="bool" />
+ <field name="Trilinear Filter Quality" dword="3" bits="12:11" type="uint">
+ <value name="FULL" value="0" />
+ <value name="HIGH" value="1" />
+ <value name="MED" value="2" />
+ <value name="LOW" value="3" />
+ </field>
+ <field name="R Address Min Filter Rounding Enable" dword="3" bits="13:13" type="bool" />
+ <field name="R Address Mag Filter Rounding Enable" dword="3" bits="14:14" type="bool" />
+ <field name="V Address Min Filter Rounding Enable" dword="3" bits="15:15" type="bool" />
+ <field name="V Address Mag Filter Rounding Enable" dword="3" bits="16:16" type="bool" />
+ <field name="U Address Min Filter Rounding Enable" dword="3" bits="17:17" type="bool" />
+ <field name="U Address Mag Filter Rounding Enable" dword="3" bits="18:18" type="bool" />
+ <field name="Maximum Anisotropy" dword="3" bits="21:19" type="uint">
+ <value name="RATIO 2:1" value="0" />
+ <value name="RATIO 4:1" value="1" />
+ <value name="RATIO 6:1" value="2" />
+ <value name="RATIO 8:1" value="3" />
+ <value name="RATIO 10:1" value="4" />
+ <value name="RATIO 12:1" value="5" />
+ <value name="RATIO 14:1" value="6" />
+ <value name="RATIO 16:1" value="7" />
+ </field>
+ <field name="Reduction Type" dword="3" bits="23:22" type="uint">
+ <value name="STD_FILTER" value="0" />
+ <value name="COMPARISON" value="1" />
+ <value name="MINIMUM" value="2" />
+ <value name="MAXIMUM" value="3" />
+ </field>
+ </struct>
+ <struct name="SAMPLER_STATE_8X8_AVS_COEFFICIENTS" length="8">
+ <group count="4" dword="0" size="8">
+ <field name="Table 0 Filter Coefficient" dword="0" bits="7:0" type="s1.6" />
+ </group>
+ <group count="4" dword="0" size="32">
+ <field name="Table 1 Filter Coefficient0" dword="0" bits="7:0" type="s1.6" />
+ <field name="Table 1 Filter Coefficient1" dword="0" bits="15:8" type="s1.6" />
+ </group>
+ </struct>
+ <struct name="SFC_AVS_CHROMA_COEFF_TABLE_BODY" length="64">
+ <field name="Table 1X Filter Coefficient[[n],2]" dword="0" bits="7:0" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[[n],2]" dword="0" bits="15:8" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[[n],3]" dword="0" bits="23:16" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[[n],3]" dword="0" bits="31:24" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[[n],4]" dword="1" bits="7:0" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[[n],4]" dword="1" bits="15:8" type="s1.6" />
+ <field name="Table 1X Filter Coefficient[[n],5]" dword="1" bits="23:16" type="s1.6" />
+ <field name="Table 1Y Filter Coefficient[[n],5]" dword="1" bits="31:24" type="s1.6" />
+ <group count="31" dword="2" size="64">
+ <field name="Filter Coefficients" dword="0" bits="63:0" type="uint" />
+ </group>
+ </struct>
+ <struct name="SFC_AVS_LUMA_COEFF_TABLE_BODY" length="128">
+ <field name="Table 0X Filter Coefficient[[n],0]" dword="0" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],0]" dword="0" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],1]" dword="0" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],1]" dword="0" bits="31:24" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],2]" dword="1" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],2]" dword="1" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],3]" dword="1" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],3]" dword="1" bits="31:24" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],4]" dword="2" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],4]" dword="2" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],5]" dword="2" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],5]" dword="2" bits="31:24" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],6]" dword="3" bits="7:0" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],6]" dword="3" bits="15:8" type="s1.6" />
+ <field name="Table 0X Filter Coefficient[[n],7]" dword="3" bits="23:16" type="s1.6" />
+ <field name="Table 0Y Filter Coefficient[[n],7]" dword="3" bits="31:24" type="s1.6" />
+ <group count="31" dword="4" size="128">
+ <field name="Filter Coefficients" dword="0" bits="127:0" type="uint" />
+ </group>
+ </struct>
+ <struct name="SFC_AVS_STATE_BODY" length="2">
+ <field name="Transition Area with 8 Pixels" dword="0" bits="2:0" type="uint" />
+ <field name="Transition Area with 4 Pixels" dword="0" bits="6:4" type="uint" />
+ <field name="Sharpness Level" dword="0" bits="31:24" type="uint" />
+ <field name="Max Derivative 8 Pixels" dword="1" bits="7:0" type="uint" />
+ <field name="Max Derivative 4 Pixels" dword="1" bits="23:16" type="uint" />
+ </struct>
+ <struct name="SFC_IEF_STATE_BODY" length="23">
+ <field name="Gain Factor" dword="0" bits="5:0" type="uint" default="44" />
+ <field name="Weak Edge Threshold" dword="0" bits="11:6" type="uint" default="1" />
+ <field name="Strong Edge Threshold" dword="0" bits="17:12" type="uint" default="8" />
+ <field name="R3x Coefficient" dword="0" bits="22:18" type="u0.5" default="5" />
+ <field name="R3c Coefficient" dword="0" bits="27:23" type="u0.5" default="5" />
+ <field name="Global Noise Estimation" dword="1" bits="7:0" type="uint" />
+ <field name="Non Edge Weight" dword="1" bits="10:8" type="uint" />
+ <field name="Regular Weight" dword="1" bits="13:11" type="uint" />
+ <field name="Strong Edge Weight" dword="1" bits="16:14" type="uint" />
+ <field name="R5x Coefficient" dword="1" bits="21:17" type="u0.5" />
+ <field name="R5cx Coefficient" dword="1" bits="26:22" type="u0.5" />
+ <field name="R5c Coefficient" dword="1" bits="31:27" type="u0.5" />
+ <field name="STD Sin(alpha)" dword="2" bits="7:0" type="s0.7" />
+ <field name="STD Cos(alpha)" dword="2" bits="15:8" type="s0.7" />
+ <field name="Sat_Max" dword="2" bits="21:16" type="uint" />
+ <field name="Hue_Max" dword="2" bits="27:22" type="uint" />
+ <field name="S3U" dword="3" bits="10:0" type="s2.8" />
+ <field name="Diamond Margin" dword="3" bits="14:12" type="uint" />
+ <field name="VY_STD_Enable" dword="3" bits="15:15" type="bool" />
+ <field name="U_Mid" dword="3" bits="23:16" type="uint" />
+ <field name="V_Mid" dword="3" bits="31:24" type="uint" />
+ <field name="Diamond_dv" dword="4" bits="6:0" type="int" />
+ <field name="Diamond_Th" dword="4" bits="12:7" type="uint" />
+ <field name="Diamond_alpha" dword="4" bits="20:13" type="u2.6" />
+ <field name="HS_margin" dword="4" bits="23:21" type="uint" />
+ <field name="Diamond_du" dword="4" bits="30:24" type="int" />
+ <field name="Skin Detail Factor" dword="4" bits="31:31" type="uint">
+ <value name="Detail Revealed" value="0" />
+ <value name="Not Detail Revealed" value="1" />
+ </field>
+ <field name="Y_point_1" dword="5" bits="7:0" type="uint" />
+ <field name="Y_point_2" dword="5" bits="15:8" type="uint" />
+ <field name="Y_point_3" dword="5" bits="23:16" type="uint" />
+ <field name="Y_point_4" dword="5" bits="31:24" type="uint" />
+ <field name="INV_Margin_VYL" dword="6" bits="15:0" type="u0.16" />
+ <field name="INV_Margin_VYU" dword="7" bits="15:0" type="u0.16" />
+ <field name="P0L" dword="7" bits="23:16" type="uint" />
+ <field name="P1L" dword="7" bits="31:24" type="uint" />
+ <field name="P2L" dword="8" bits="7:0" type="uint" />
+ <field name="P3L" dword="8" bits="15:8" type="uint" />
+ <field name="B0L" dword="8" bits="23:16" type="uint" />
+ <field name="B1L" dword="8" bits="31:24" type="uint" />
+ <field name="B2L" dword="9" bits="7:0" type="uint" />
+ <field name="B3L" dword="9" bits="15:8" type="uint" />
+ <field name="S0L" dword="9" bits="26:16" type="s2.8" />
+ <field name="Y_Slope_2" dword="9" bits="31:27" type="u2.3" />
+ <field name="S1L" dword="10" bits="10:0" type="s2.8" />
+ <field name="S2L" dword="10" bits="21:11" type="s2.8" />
+ <field name="S3L" dword="11" bits="10:0" type="s2.8" />
+ <field name="P0U" dword="11" bits="18:11" type="uint" />
+ <field name="P1U" dword="11" bits="26:19" type="uint" />
+ <field name="Y_Slope1" dword="11" bits="31:27" type="u2.3" />
+ <field name="P2U" dword="12" bits="7:0" type="uint" />
+ <field name="P3U" dword="12" bits="15:8" type="uint" />
+ <field name="B0U" dword="12" bits="23:16" type="uint" />
+ <field name="B1U" dword="12" bits="31:24" type="uint" />
+ <field name="B2U" dword="13" bits="7:0" type="uint" />
+ <field name="B3U" dword="13" bits="15:8" type="uint" />
+ <field name="S0U" dword="13" bits="26:16" type="s2.8" />
+ <field name="S1U" dword="14" bits="10:0" type="s2.8" />
+ <field name="S2U" dword="14" bits="21:11" type="s2.8" />
+ <field name="Transform Enable" dword="15" bits="0:0" type="bool" />
+ <field name="YUV Channel Swap" dword="15" bits="1:1" type="bool" />
+ <field name="C0" dword="15" bits="15:3" type="s2.10" />
+ <field name="C1" dword="15" bits="28:16" type="s2.10" />
+ <field name="C2" dword="16" bits="12:0" type="s2.10" />
+ <field name="C3" dword="16" bits="25:13" type="s2.10" />
+ <field name="C4" dword="17" bits="12:0" type="s2.10" />
+ <field name="C5" dword="17" bits="25:13" type="s2.10" />
+ <field name="C6" dword="18" bits="12:0" type="s2.10" />
+ <field name="C7" dword="18" bits="25:13" type="s2.10" />
+ <field name="C8" dword="19" bits="12:0" type="s2.10" />
+ <field name="Offset In 1" dword="20" bits="10:0" type="s2.8" />
+ <field name="Offset Out 1" dword="20" bits="21:11" type="s2.8" />
+ <field name="Offset In 2" dword="21" bits="10:0" type="s2.8" />
+ <field name="Offset Out 2" dword="21" bits="21:11" type="s2.8" />
+ <field name="Offset In 3" dword="22" bits="10:0" type="s2.8" />
+ <field name="Offset Out 3" dword="22" bits="21:11" type="s2.8" />
+ </struct>
+ <struct name="SFC_LOCK_BODY" length="1">
+ <field name="VE-SFC Pipe Select" dword="0" bits="0:0" type="uint" />
+ <field name="Pre-Scaled Output Surface Output Enable" dword="0" bits="1:1" type="bool" />
+ </struct>
+ <struct name="VDENC_SURFACE_CONTROL_BITS" length="1">
+ <field name="MOCS" dword="0" bits="6:0" type="uint" nonzero="true" />
+ <field name="Arbitration Priority Control" dword="0" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Memory Compression Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Memory Compression Mode" dword="0" bits="10:10" type="uint" />
+ <field name="Cache Select" dword="0" bits="12:12" type="uint" />
+ <field name="Tiled Resource Mode" dword="0" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ </struct>
+ <struct name="VDENC_PICTURE" length="3">
+ <field name="Address" dword="0" bits="63:0" type="address" />
+ <field name="Picture Fields" dword="2" bits="31:0" type="VDENC_SURFACE_CONTROL_BITS" />
+ </struct>
+ <struct name="VDENC_SURFACE_STATE_FIELDS" length="4">
+ <field name="Cr(V)/Cb(U) Pixel Offset V Direction" dword="0" bits="1:0" type="u0.2" />
+ <field name="Surface Format Byte Swizzle" dword="0" bits="2:2" type="bool" />
+ <field name="Color space selection" dword="0" bits="3:3" type="uint" />
+ <field name="Width" dword="0" bits="17:4" type="uint" />
+ <field name="Height" dword="0" bits="31:18" type="uint" />
+ <field name="Tile Walk" dword="1" bits="0:0" type="uint" prefix="TW">
+ <value name="XMAJOR" value="0" />
+ <value name="YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="1" bits="1:1" type="uint" />
+ <field name="Half Pitch for Chroma" dword="1" bits="2:2" type="bool" />
+ <field name="Surface Pitch" dword="1" bits="19:3" type="uint" />
+ <field name="Interleave Chroma" dword="1" bits="27:27" type="uint" />
+ <field name="Surface Format" dword="1" bits="31:28" type="uint" prefix="VDENC">
+ <value name="YUV 4:2:2" value="0" />
+ <value name="RGBA 4:4:4:4" value="1" />
+ <value name="YUV 4:4:4" value="2" />
+ <value name="Y8_UNORM" value="3" />
+ <value name="PLANAR_420_8" value="4" />
+ </field>
+ <field name="Y Offset for U(Cb)" dword="2" bits="14:0" type="uint" />
+ <field name="X Offset for U(Cb)" dword="2" bits="30:16" type="uint" />
+ <field name="Y Offset for V(Cr)" dword="3" bits="15:0" type="uint" />
+ <field name="X Offset for V(Cr)" dword="3" bits="28:16" type="uint" />
+ </struct>
+ <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="MOCS" dword="0" bits="14:8" type="uint" nonzero="true" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="26" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="319:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="MOCS" dword="0" bits="14:8" type="uint" nonzero="true" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="22" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="319:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="MOCS" dword="0" bits="14:8" type="uint" nonzero="true" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="25" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="319:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="MOCS" dword="0" bits="14:8" type="uint" nonzero="true" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="23" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="319:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="MOCS" dword="0" bits="14:8" type="uint" nonzero="true" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="21" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Constant Body" dword="1" bits="319:0" type="3DSTATE_CONSTANT_BODY" />
+ </instruction>
+ <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="17:0" type="uint" />
+ <field name="Surface Format" dword="1" bits="20:18" type="uint">
+ <value name="D32_FLOAT" value="1" />
+ <value name="D24_UNORM_X8_UINT" value="3" />
+ <value name="D16_UNORM" value="5" />
+ </field>
+ <field name="Hierarchical Depth Buffer Enable" dword="1" bits="22:22" type="bool" />
+ <field name="Stencil Write Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Depth Write Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="LOD" dword="4" bits="3:0" type="uint" />
+ <field name="Width" dword="4" bits="17:4" type="uint" />
+ <field name="Height" dword="4" bits="31:18" type="uint" />
+ <field name="MOCS" dword="5" bits="6:0" type="uint" nonzero="true" />
+ <field name="Minimum Array Element" dword="5" bits="20:10" type="uint" />
+ <field name="Depth" dword="5" bits="31:21" type="uint" />
+ <field name="Mip Tail Start LOD" dword="6" bits="29:26" type="uint" />
+ <field name="Tiled Resource Mode" dword="6" bits="31:30" type="uint">
+ <value name="NONE" value="0" />
+ <value name="TILEYF" value="1" />
+ <value name="TILEYS" value="2" />
+ </field>
+ <field name="Surface QPitch" dword="7" bits="14:0" type="uint" />
+ <field name="Render Target View Extent" dword="7" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_DS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="29" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="14:14" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="Patch URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Patch URB Entry Read Length" dword="6" bits="17:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="24:20" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Cache Disable" dword="7" bits="1:1" type="bool" />
+ <field name="Compute W Coordinate Enable" dword="7" bits="2:2" type="bool" />
+ <field name="Dispatch Mode" dword="7" bits="4:3" type="uint" prefix="DISPATCH_MODE">
+ <value name="SIMD4X2" value="0" />
+ <value name="SIMD8_SINGLE_PATCH" value="1" />
+ <value name="SIMD8_SINGLE_OR_DUAL_PATCH" value="2" />
+ </field>
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="7" bits="29:21" type="uint" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="8" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="8" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="8" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="8" bits="26:21" type="uint" />
+ <field name="DUAL_PATCH Kernel Start Pointer" dword="9" bits="63:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="55" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Update Gather Table Only" dword="1" bits="1:1" type="uint">
+ <value name="Commit Gather" value="0" />
+ <value name="Non-Commit Gather" value="1" />
+ </field>
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="On-Die Table" dword="2" bits="3:3" type="uint">
+ <value name="Load" value="0" />
+ <value name="Read" value="1" />
+ </field>
+ <field name="Constant Buffer Dx9 Generate Stall" dword="2" bits="5:5" type="bool" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="53" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Update Gather Table Only" dword="1" bits="1:1" type="uint">
+ <value name="Commit Gather" value="0" />
+ <value name="Non-Commit Gather" value="1" />
+ </field>
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="On-Die Table" dword="2" bits="3:3" type="uint">
+ <value name="Load" value="0" />
+ <value name="Read" value="1" />
+ </field>
+ <field name="Constant Buffer Dx9 Generate Stall" dword="2" bits="5:5" type="bool" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="54" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Update Gather Table Only" dword="1" bits="1:1" type="uint">
+ <value name="Commit Gather" value="0" />
+ <value name="Non-Commit Gather" value="1" />
+ </field>
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="On-Die Table" dword="2" bits="3:3" type="uint">
+ <value name="Load" value="0" />
+ <value name="Read" value="1" />
+ </field>
+ <field name="Constant Buffer Dx9 Generate Stall" dword="2" bits="5:5" type="bool" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="56" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="DX9 On-Die Register Read Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Update Gather Table Only" dword="1" bits="1:1" type="uint">
+ <value name="Commit Gather" value="0" />
+ <value name="Non-Commit Gather" value="1" />
+ </field>
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="On-Die Table" dword="2" bits="3:3" type="uint">
+ <value name="Load" value="0" />
+ <value name="Read" value="1" />
+ </field>
+ <field name="Constant Buffer Dx9 Enable" dword="2" bits="4:4" type="bool" />
+ <field name="Constant Buffer Dx9 Generate Stall" dword="2" bits="5:5" type="bool" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="52" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="DX9 On-Die Register Read Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Update Gather Table Only" dword="1" bits="1:1" type="uint">
+ <value name="Commit Gather" value="0" />
+ <value name="Non-Commit Gather" value="1" />
+ </field>
+ <field name="Constant Buffer Binding Table Block" dword="1" bits="15:12" type="uint" />
+ <field name="Constant Buffer Valid" dword="1" bits="31:16" type="uint" />
+ <field name="On-Die Table" dword="2" bits="3:3" type="uint">
+ <value name="Load" value="0" />
+ <value name="Read" value="1" />
+ </field>
+ <field name="Constant Buffer Dx9 Enable" dword="2" bits="4:4" type="bool" />
+ <field name="Constant Buffer Dx9 Generate Stall" dword="2" bits="5:5" type="bool" />
+ <field name="Gather Buffer Offset" dword="2" bits="22:6" type="offset" />
+ <group count="0" dword="3" size="32">
+ <field name="Entry_0" dword="0" bits="15:0" type="GATHER_CONSTANT_ENTRY" />
+ <field name="Entry_1" dword="0" bits="31:16" type="GATHER_CONSTANT_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="17" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Expected Vertex Count" dword="3" bits="5:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="3" bits="31:31" type="bool" />
+ <field name="Per-Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Include Vertex Handles" dword="6" bits="10:10" type="bool" />
+ <field name="Vertex URB Entry Read Length" dword="6" bits="16:11" type="uint" />
+ <field name="Output Topology" dword="6" bits="22:17" type="3D_Prim_Topo_Type" />
+ <field name="Output Vertex Size" dword="6" bits="28:23" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data [5:4]" dword="6" bits="30:29" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Discard Adjacency" dword="7" bits="1:1" type="bool" />
+ <field name="Reorder Mode" dword="7" bits="2:2" type="uint">
+ <value name="LEADING" value="0" />
+ <value name="TRAILING" value="1" />
+ </field>
+ <field name="Hint" dword="7" bits="3:3" type="uint" />
+ <field name="Include Primitive ID" dword="7" bits="4:4" type="bool" />
+ <field name="Invocations Increment Value" dword="7" bits="9:5" type="uint" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Dispatch Mode" dword="7" bits="12:11" type="uint" prefix="DISPATCH_MODE">
+ <value name="Dual Instance" value="1" />
+ <value name="Dual Object" value="2" />
+ <value name="SIMD8" value="3" />
+ </field>
+ <field name="Default Stream Id" dword="7" bits="14:13" type="uint" />
+ <field name="Instance Control" dword="7" bits="19:15" type="uint" />
+ <field name="Control Data Header Size" dword="7" bits="23:20" type="uint" />
+ <field name="Maximum Number of Threads" dword="8" bits="8:0" type="uint" />
+ <field name="Static Output Vertex Count" dword="8" bits="26:16" type="uint" />
+ <field name="Static Output" dword="8" bits="30:30" type="bool" />
+ <field name="Control Data Format" dword="8" bits="31:31" type="uint">
+ <value name="CUT" value="0" />
+ <value name="SID" value="1" />
+ </field>
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="9" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="9" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="9" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="9" bits="26:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_HS" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="27" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Software Exception Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="1" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="1" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Instance Count" dword="2" bits="3:0" type="uint" />
+ <field name="Maximum Number of Threads" dword="2" bits="16:8" type="uint" />
+ <field name="Statistics Enable" dword="2" bits="29:29" type="bool" />
+ <field name="Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Kernel Start Pointer" dword="3" bits="63:6" type="offset" />
+ <field name="Per-Thread Scratch Space" dword="5" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="5" bits="63:10" type="address" />
+ <field name="Include Primitive ID" dword="7" bits="0:0" type="bool" />
+ <field name="Vertex URB Entry Read Offset" dword="7" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="7" bits="16:11" type="uint" />
+ <field name="Dispatch Mode" dword="7" bits="18:17" type="uint" prefix="DISPATCH_MODE">
+ <value name="SINGLE_PATCH" value="0" />
+ <value name="DUAL_PATCH" value="1" />
+ <value name="8_PATCH" value="2" />
+ </field>
+ <field name="Dispatch GRF Start Register For URB Data" dword="7" bits="23:19" type="uint" />
+ <field name="Include Vertex Handles" dword="7" bits="24:24" type="bool" />
+ <field name="Accesses UAV" dword="7" bits="25:25" type="bool" />
+ <field name="Vector Mask Enable" dword="7" bits="26:26" type="bool" />
+ <field name="Single Program Flow" dword="7" bits="27:27" type="bool" />
+ <field name="Dispatch GRF Start Register For URB Data [5]" dword="7" bits="28:28" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="10" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="32" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer 0" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Rounding Mode" dword="3" bits="15:14" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Single Precision Denormal Mode" dword="3" bits="26:26" type="uint">
+ <value name="Flushed to Zero" value="0" />
+ <value name="Retained" value="1" />
+ </field>
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Single Program Flow" dword="3" bits="31:31" type="bool" />
+ <field name="Per Thread Scratch Space" dword="4" bits="3:0" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="4" bits="63:10" type="address" />
+ <field name="8 Pixel Dispatch Enable" dword="6" bits="0:0" type="bool" />
+ <field name="16 Pixel Dispatch Enable" dword="6" bits="1:1" type="bool" />
+ <field name="32 Pixel Dispatch Enable" dword="6" bits="2:2" type="bool" />
+ <field name="Position XY Offset Select" dword="6" bits="4:3" type="uint">
+ <value name="POSOFFSET_NONE" value="0" />
+ <value name="POSOFFSET_CENTROID" value="2" />
+ <value name="POSOFFSET_SAMPLE" value="3" />
+ </field>
+ <field name="Render Target Resolve Type" dword="6" bits="7:6" type="uint">
+ <value name="RESOLVE_DISABLED" value="0" />
+ <value name="RESOLVE_PARTIAL" value="1" />
+ <value name="RESOLVE_FULL" value="3" />
+ </field>
+ <field name="Render Target Fast Clear Enable" dword="6" bits="8:8" type="bool" />
+ <field name="Push Constant Enable" dword="6" bits="11:11" type="bool" />
+ <field name="Maximum Number of Threads Per PSD" dword="6" bits="31:23" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 2" dword="7" bits="6:0" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 1" dword="7" bits="14:8" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="7" bits="22:16" type="uint" />
+ <field name="Kernel Start Pointer 1" dword="8" bits="63:6" type="offset" />
+ <field name="Kernel Start Pointer 2" dword="10" bits="63:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_PS_BLEND" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="77" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Independent Alpha Blend Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Alpha Test Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Destination Blend Factor" dword="1" bits="13:9" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Source Blend Factor" dword="1" bits="18:14" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Destination Alpha Blend Factor" dword="1" bits="23:19" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Source Alpha Blend Factor" dword="1" bits="28:24" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Color Buffer Blend Enable" dword="1" bits="29:29" type="bool" />
+ <field name="Has Writeable RT" dword="1" bits="30:30" type="bool" />
+ <field name="Alpha To Coverage Enable" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="79" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Input Coverage Mask State" dword="1" bits="1:0" type="uint" prefix="ICMS">
+ <value name="NONE" value="0" />
+ <value name="NORMAL" value="1" />
+ <value name="INNER_CONSERVATIVE" value="2" />
+ <value name="DEPTH_COVERAGE" value="3" />
+ </field>
+ <field name="Pixel Shader Has UAV" dword="1" bits="2:2" type="bool" />
+ <field name="Pixel Shader Pulls Bary" dword="1" bits="3:3" type="bool" />
+ <field name="Pixel Shader Computes Stencil" dword="1" bits="5:5" type="bool" />
+ <field name="Pixel Shader Is Per Sample" dword="1" bits="6:6" type="bool" />
+ <field name="Pixel Shader Disables Alpha To Coverage" dword="1" bits="7:7" type="bool" />
+ <field name="Attribute Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Pixel Shader Uses Source W" dword="1" bits="23:23" type="bool" />
+ <field name="Pixel Shader Uses Source Depth" dword="1" bits="24:24" type="bool" />
+ <field name="Force Computed Depth" dword="1" bits="25:25" type="bool" />
+ <field name="Pixel Shader Computed Depth Mode" dword="1" bits="27:26" type="uint">
+ <value name="PSCDEPTH_OFF" value="0" />
+ <value name="PSCDEPTH_ON" value="1" />
+ <value name="PSCDEPTH_ON_GE" value="2" />
+ <value name="PSCDEPTH_ON_LE" value="3" />
+ </field>
+ <field name="Pixel Shader Kills Pixel" dword="1" bits="28:28" type="bool" />
+ <field name="oMask Present to Render Target" dword="1" bits="29:29" type="bool" />
+ <field name="Pixel Shader Does not write to RT" dword="1" bits="30:30" type="mbz" />
+ <field name="Pixel Shader Valid" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_RASTER" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="80" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Viewport Z Near Clip Test Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Scissor Rectangle Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Antialiasing Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Back Face Fill Mode" dword="1" bits="4:3" type="uint" prefix="FILL_MODE">
+ <value name="SOLID" value="0" />
+ <value name="WIREFRAME" value="1" />
+ <value name="POINT" value="2" />
+ </field>
+ <field name="Front Face Fill Mode" dword="1" bits="6:5" type="uint" prefix="FILL_MODE">
+ <value name="SOLID" value="0" />
+ <value name="WIREFRAME" value="1" />
+ <value name="POINT" value="2" />
+ </field>
+ <field name="Global Depth Offset Enable Point" dword="1" bits="7:7" type="bool" />
+ <field name="Global Depth Offset Enable Wireframe" dword="1" bits="8:8" type="bool" />
+ <field name="Global Depth Offset Enable Solid" dword="1" bits="9:9" type="bool" />
+ <field name="DX Multisample Rasterization Mode" dword="1" bits="11:10" type="uint">
+ <value name="MSRASTMODE_ OFF_PIXEL" value="0" />
+ <value name="MSRASTMODE_ OFF_PATTERN" value="1" />
+ <value name="MSRASTMODE_ ON_PIXEL" value="2" />
+ <value name="MSRASTMODE_ ON_PATTERN" value="3" />
+ </field>
+ <field name="DX Multisample Rasterization Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Smooth Point Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Force Multisampling" dword="1" bits="14:14" type="uint" />
+ <field name="Cull Mode" dword="1" bits="17:16" type="uint" prefix="CULLMODE">
+ <value name="BOTH" value="0" />
+ <value name="NONE" value="1" />
+ <value name="FRONT" value="2" />
+ <value name="BACK" value="3" />
+ </field>
+ <field name="Forced Sample Count" dword="1" bits="20:18" type="uint" prefix="FSC">
+ <value name="NUMRASTSAMPLES_0" value="0" />
+ <value name="NUMRASTSAMPLES_1" value="1" />
+ <value name="NUMRASTSAMPLES_2" value="2" />
+ <value name="NUMRASTSAMPLES_4" value="3" />
+ <value name="NUMRASTSAMPLES_8" value="4" />
+ <value name="NUMRASTSAMPLES_16" value="5" />
+ </field>
+ <field name="Front Winding" dword="1" bits="21:21" type="uint">
+ <value name="Clockwise" value="0" />
+ <value name="Counter Clockwise" value="1" />
+ </field>
+ <field name="API Mode" dword="1" bits="23:22" type="uint">
+ <value name="DX9/OGL" value="0" />
+ <value name="DX10.0" value="1" />
+ <value name="DX10.1+" value="2" />
+ </field>
+ <field name="Conservative Rasterization Enable" dword="1" bits="24:24" type="bool" />
+ <field name="Viewport Z Far Clip Test Enable" dword="1" bits="26:26" type="bool" />
+ <field name="Global Depth Offset Constant" dword="2" bits="31:0" type="float" />
+ <field name="Global Depth Offset Scale" dword="3" bits="31:0" type="float" />
+ <field name="Global Depth Offset Clamp" dword="4" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_RS_CONSTANT_POINTER" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="84" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Operation Load or Store" dword="1" bits="12:12" type="uint" prefix="RS">
+ <value name="Store" value="0" />
+ <value name="Load" value="1" />
+ </field>
+ <field name="Shader Select" dword="1" bits="30:28" type="uint">
+ <value name="VS" value="0" />
+ <value name="PS" value="4" />
+ </field>
+ <field name="Global Constant Buffer Address" dword="2" bits="31:6" type="address" />
+ <field name="Global Constant Buffer Address High" dword="3" bits="31:0" type="address" />
+ </instruction>
+ <instruction name="3DSTATE_SAMPLE_PATTERN" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="28" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="16x Sample0 Y Offset" dword="1" bits="3:0" type="u0.4" />
+ <field name="16x Sample0 X Offset" dword="1" bits="7:4" type="u0.4" />
+ <field name="16x Sample1 Y Offset" dword="1" bits="11:8" type="u0.4" />
+ <field name="16x Sample1 X Offset" dword="1" bits="15:12" type="u0.4" />
+ <field name="16x Sample2 Y Offset" dword="1" bits="19:16" type="u0.4" />
+ <field name="16x Sample2 X Offset" dword="1" bits="23:20" type="u0.4" />
+ <field name="16x Sample3 Y Offset" dword="1" bits="27:24" type="u0.4" />
+ <field name="16x Sample3 X Offset" dword="1" bits="31:28" type="u0.4" />
+ <field name="16x Sample4 Y Offset" dword="2" bits="3:0" type="u0.4" />
+ <field name="16x Sample4 X Offset" dword="2" bits="7:4" type="u0.4" />
+ <field name="16x Sample5 Y Offset" dword="2" bits="11:8" type="u0.4" />
+ <field name="16x Sample5 X Offset" dword="2" bits="15:12" type="u0.4" />
+ <field name="16x Sample6 Y Offset" dword="2" bits="19:16" type="u0.4" />
+ <field name="16x Sample6 X Offset" dword="2" bits="23:20" type="u0.4" />
+ <field name="16x Sample7 Y Offset" dword="2" bits="27:24" type="u0.4" />
+ <field name="16x Sample7 X Offset" dword="2" bits="31:28" type="u0.4" />
+ <field name="16x Sample8 Y Offset" dword="3" bits="3:0" type="u0.4" />
+ <field name="16x Sample8 X Offset" dword="3" bits="7:4" type="u0.4" />
+ <field name="16x Sample9 Y Offset" dword="3" bits="11:8" type="u0.4" />
+ <field name="16x Sample9 X Offset" dword="3" bits="15:12" type="u0.4" />
+ <field name="16x Sample10 Y Offset" dword="3" bits="19:16" type="u0.4" />
+ <field name="16x Sample10 X Offset" dword="3" bits="23:20" type="u0.4" />
+ <field name="16x Sample11 Y Offset" dword="3" bits="27:24" type="u0.4" />
+ <field name="16x Sample11 X Offset" dword="3" bits="31:28" type="u0.4" />
+ <field name="16x Sample12 Y Offset" dword="4" bits="3:0" type="u0.4" />
+ <field name="16x Sample12 X Offset" dword="4" bits="7:4" type="u0.4" />
+ <field name="16x Sample13 Y Offset" dword="4" bits="11:8" type="u0.4" />
+ <field name="16x Sample13 X Offset" dword="4" bits="15:12" type="u0.4" />
+ <field name="16x Sample14 Y Offset" dword="4" bits="19:16" type="u0.4" />
+ <field name="16x Sample14 X Offset" dword="4" bits="23:20" type="u0.4" />
+ <field name="16x Sample15 Y Offset" dword="4" bits="27:24" type="u0.4" />
+ <field name="16x Sample15 X Offset" dword="4" bits="31:28" type="u0.4" />
+ <field name="8x Sample4 Y Offset" dword="5" bits="3:0" type="u0.4" />
+ <field name="8x Sample4 X Offset" dword="5" bits="7:4" type="u0.4" />
+ <field name="8x Sample5 Y Offset" dword="5" bits="11:8" type="u0.4" />
+ <field name="8x Sample5 X Offset" dword="5" bits="15:12" type="u0.4" />
+ <field name="8x Sample6 Y Offset" dword="5" bits="19:16" type="u0.4" />
+ <field name="8x Sample6 X Offset" dword="5" bits="23:20" type="u0.4" />
+ <field name="8x Sample7 Y Offset" dword="5" bits="27:24" type="u0.4" />
+ <field name="8x Sample7 X Offset" dword="5" bits="31:28" type="u0.4" />
+ <field name="8x Sample0 Y Offset" dword="6" bits="3:0" type="u0.4" />
+ <field name="8x Sample0 X Offset" dword="6" bits="7:4" type="u0.4" />
+ <field name="8x Sample1 Y Offset" dword="6" bits="11:8" type="u0.4" />
+ <field name="8x Sample1 X Offset" dword="6" bits="15:12" type="u0.4" />
+ <field name="8x Sample2 Y Offset" dword="6" bits="19:16" type="u0.4" />
+ <field name="8x Sample2 X Offset" dword="6" bits="23:20" type="u0.4" />
+ <field name="8x Sample3 Y Offset" dword="6" bits="27:24" type="u0.4" />
+ <field name="8x Sample3 X Offset" dword="6" bits="31:28" type="u0.4" />
+ <field name="4x Sample0 Y Offset" dword="7" bits="3:0" type="u0.4" />
+ <field name="4x Sample0 X Offset" dword="7" bits="7:4" type="u0.4" />
+ <field name="4x Sample1 Y Offset" dword="7" bits="11:8" type="u0.4" />
+ <field name="4x Sample1 X Offset" dword="7" bits="15:12" type="u0.4" />
+ <field name="4x Sample2 Y Offset" dword="7" bits="19:16" type="u0.4" />
+ <field name="4x Sample2 X Offset" dword="7" bits="23:20" type="u0.4" />
+ <field name="4x Sample3 Y Offset" dword="7" bits="27:24" type="u0.4" />
+ <field name="4x Sample3 X Offset" dword="7" bits="31:28" type="u0.4" />
+ <field name="2x Sample0 Y Offset" dword="8" bits="3:0" type="u0.4" />
+ <field name="2x Sample0 X Offset" dword="8" bits="7:4" type="u0.4" />
+ <field name="2x Sample1 Y Offset" dword="8" bits="11:8" type="u0.4" />
+ <field name="2x Sample1 X Offset" dword="8" bits="15:12" type="u0.4" />
+ <field name="1x Sample0 Y Offset" dword="8" bits="19:16" type="u0.4" />
+ <field name="1x Sample0 X Offset" dword="8" bits="23:20" type="u0.4" />
+ </instruction>
+ <instruction name="3DSTATE_SBE" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="31" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Primitive ID Override Attribute Select" dword="1" bits="4:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="1" bits="10:5" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="1" bits="15:11" type="uint" />
+ <field name="Primitive ID Override Component X" dword="1" bits="16:16" type="bool" />
+ <field name="Primitive ID Override Component Y" dword="1" bits="17:17" type="bool" />
+ <field name="Primitive ID Override Component Z" dword="1" bits="18:18" type="bool" />
+ <field name="Primitive ID Override Component W" dword="1" bits="19:19" type="bool" />
+ <field name="Point Sprite Texture Coordinate Origin" dword="1" bits="20:20" type="uint">
+ <value name="UPPERLEFT" value="0" />
+ <value name="LOWERLEFT" value="1" />
+ </field>
+ <field name="Attribute Swizzle Enable" dword="1" bits="21:21" type="bool" />
+ <field name="Number of SF Output Attributes" dword="1" bits="27:22" type="uint" />
+ <field name="Force Vertex URB Entry Read Offset" dword="1" bits="28:28" type="bool" />
+ <field name="Force Vertex URB Entry Read Length" dword="1" bits="29:29" type="bool" />
+ <field name="Point Sprite Texture Coordinate Enable" dword="2" bits="31:0" type="uint" />
+ <field name="Constant Interpolation Enable" dword="3" bits="31:0" type="uint" />
+ <group count="32" dword="4" size="2">
+ <field name="Attribute Active Component Format" dword="0" bits="1:0" type="uint" prefix="ACTIVE_COMPONENT">
+ <value name="DISABLED" value="0" />
+ <value name="XY" value="1" />
+ <value name="XYZ" value="2" />
+ <value name="XYZW" value="3" />
+ </field>
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_SF" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="19" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Viewport Transform Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Legacy Global Depth Bias Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Line Width" dword="1" bits="29:12" type="u11.7" />
+ <field name="Line End Cap Antialiasing Region Width" dword="2" bits="17:16" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Point Width" dword="3" bits="10:0" type="u8.3" />
+ <field name="Point Width Source" dword="3" bits="11:11" type="uint">
+ <value name="Vertex" value="0" />
+ <value name="State" value="1" />
+ </field>
+ <field name="Vertex Sub Pixel Precision Select" dword="3" bits="12:12" type="uint">
+ <value name="8 Bit" value="0" />
+ <value name="4 Bit" value="1" />
+ </field>
+ <field name="Smooth Point Enable" dword="3" bits="13:13" type="bool" />
+ <field name="AA Line Distance Mode" dword="3" bits="14:14" type="uint">
+ <value name="AALINEDISTANCE_TRUE" value="1" />
+ </field>
+ <field name="Triangle Fan Provoking Vertex Select" dword="3" bits="26:25" type="uint" />
+ <field name="Line Strip/List Provoking Vertex Select" dword="3" bits="28:27" type="uint" />
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="3" bits="30:29" type="uint" />
+ <field name="Last Pixel Enable" dword="3" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_TE" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="28" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="TE Enable" dword="1" bits="0:0" type="bool" />
+ <field name="TE Mode" dword="1" bits="2:1" type="uint">
+ <value name="HW_TESS" value="0" />
+ </field>
+ <field name="TE Domain" dword="1" bits="5:4" type="uint">
+ <value name="QUAD" value="0" />
+ <value name="TRI" value="1" />
+ <value name="ISOLINE" value="2" />
+ </field>
+ <field name="Output Topology" dword="1" bits="9:8" type="uint" prefix="OUTPUT">
+ <value name="POINT" value="0" />
+ <value name="LINE" value="1" />
+ <value name="TRI_CW" value="2" />
+ <value name="TRI_CCW" value="3" />
+ </field>
+ <field name="Partitioning" dword="1" bits="13:12" type="uint">
+ <value name="INTEGER" value="0" />
+ <value name="ODD_FRACTIONAL" value="1" />
+ <value name="EVEN_FRACTIONAL" value="2" />
+ </field>
+ <field name="Maximum Tessellation Factor Odd" dword="2" bits="31:0" type="float" />
+ <field name="Maximum Tessellation Factor Not Odd" dword="3" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_URB_CLEAR" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="29" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="URB Address" dword="1" bits="14:0" type="offset" />
+ <field name="URB Clear Length" dword="1" bits="29:16" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VF" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Indexed Draw Cut Index Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Component Packing Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Sequential Draw Cut Index Enable" dword="0" bits="10:10" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="12" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Cut Index" dword="1" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VF_COMPONENT_PACKING" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="85" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="32" dword="1" size="4">
+ <field name="Vertex Element Enables" dword="0" bits="3:0" type="uint" />
+ </group>
+ <group count="4" dword="1" size="32">
+ <field name="Vertex Element Enables DW" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_WM_DEPTH_STENCIL" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="78" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Buffer Write Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Depth Test Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Stencil Buffer Write Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Stencil Test Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Double Sided Stencil Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Depth Test Function" dword="1" bits="7:5" type="3D_Compare_Function" />
+ <field name="Stencil Test Function" dword="1" bits="10:8" type="3D_Compare_Function" />
+ <field name="Backface Stencil Pass Depth Pass Op" dword="1" bits="13:11" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Pass Depth Fail Op" dword="1" bits="16:14" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Fail Op" dword="1" bits="19:17" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Test Function" dword="1" bits="22:20" type="3D_Compare_Function" />
+ <field name="Stencil Pass Depth Pass Op" dword="1" bits="25:23" type="3D_Stencil_Operation" />
+ <field name="Stencil Pass Depth Fail Op" dword="1" bits="28:26" type="3D_Stencil_Operation" />
+ <field name="Stencil Fail Op" dword="1" bits="31:29" type="3D_Stencil_Operation" />
+ <field name="Backface Stencil Write Mask" dword="2" bits="7:0" type="uint" />
+ <field name="Backface Stencil Test Mask" dword="2" bits="15:8" type="uint" />
+ <field name="Stencil Write Mask" dword="2" bits="23:16" type="uint" />
+ <field name="Stencil Test Mask" dword="2" bits="31:24" type="uint" />
+ <field name="Backface Stencil Reference Value" dword="3" bits="7:0" type="uint" />
+ <field name="Stencil Reference Value" dword="3" bits="15:8" type="uint" />
+ </instruction>
+ <instruction name="HCP_BSD_OBJECT" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="32" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect BSD Data Length" dword="1" bits="31:0" type="uint" />
+ <field name="Indirect BSD Data Start Address" dword="2" bits="28:0" type="offset" />
+ </instruction>
+ <instruction name="HCP_FQM_STATE" bias="2" length="34" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="32" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="5" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Intra/Inter" dword="1" bits="0:0" type="uint">
+ <value name="Intra" value="0" />
+ <value name="Inter" value="1" />
+ </field>
+ <field name="SizeID" dword="1" bits="2:1" type="uint" prefix="SZ">
+ <value name="4x4" value="0" />
+ <value name="8x8" value="1" />
+ <value name="16x16" value="2" />
+ <value name="32x32" value="3" />
+ </field>
+ <field name="Color Component" dword="1" bits="4:3" type="uint">
+ <value name="Luma" value="0" />
+ <value name="Chroma Cb" value="1" />
+ <value name="Chroma Cr" value="2" />
+ </field>
+ <field name="FQM DC Value" dword="1" bits="31:16" type="uint" />
+ <group count="128" dword="2" size="8">
+ <field name="Quantizer Matrix 8x8" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="HCP_IND_OBJ_BASE_ADDR_STATE" bias="2" length="14" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="12" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="3" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="HCP Indirect Bitstream Object - Base Address" dword="1" bits="63:0" type="address" />
+ <field name="HCP Indirect Bitstream Object - Memory Address Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP Indirect Bitstream Object - Access Upper Bound" dword="4" bits="63:0" type="address" />
+ <field name="HCP Indirect CU Object - Base Address" dword="6" bits="63:0" type="address" />
+ <field name="HCP Indirect CU Object - Memory Address Attributes" dword="8" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP PAK-BSE Object - Base Address" dword="9" bits="63:0" type="address" />
+ <field name="HCP PAK-BSE Object - Memory Address Attributes" dword="11" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HCP PAK-BSE Object - Access Upper Bound" dword="12" bits="63:0" type="address" />
+ </instruction>
+ <instruction name="HCP_PAK_INSERT_OBJECT" bias="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="34" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="End of Slice" dword="1" bits="1:1" type="bool" />
+ <field name="Last Header" dword="1" bits="2:2" type="bool" />
+ <field name="Emulation Byte Bits Insert Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Skip Emulation Byte Count" dword="1" bits="7:4" type="uint" />
+ <field name="Data Bits In Last DW" dword="1" bits="13:8" type="uint" />
+ <field name="Header Length Excluded From Size" dword="1" bits="15:15" type="uint">
+ <value name="ACCUMULATE" value="0" />
+ <value name="NO_ACCUMULATION" value="1" />
+ </field>
+ <field name="Data Byte Offset" dword="1" bits="17:16" type="uint" />
+ <field name="Indirect Payload Enable" dword="1" bits="31:31" type="bool" />
+ <group count="0" dword="2" size="128">
+ <field name="Indirect Payload" dword="0" bits="127:0" type="HCP_PAK_INSERT_OBJECT_INDIRECT_PAYLOAD" />
+ <field name="Inline PayLoad" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="HCP_PAK_OBJECT" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="33" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Split Level 2 Part 0" dword="1" bits="3:0" type="uint" />
+ <field name="Split Level 2 Part 1" dword="1" bits="7:4" type="uint" />
+ <field name="Split Level 2 Part 2" dword="1" bits="11:8" type="uint" />
+ <field name="Split Level 2 Part 3" dword="1" bits="15:12" type="uint" />
+ <field name="Split Level 1" dword="1" bits="19:16" type="uint" />
+ <field name="Split Level 0" dword="1" bits="20:20" type="uint" />
+ <field name="CU Count" dword="1" bits="29:24" type="uint" />
+ <field name="Last LCU of Tile" dword="1" bits="30:30" type="bool" />
+ <field name="Last LCU of Slice" dword="1" bits="31:31" type="bool" />
+ <field name="Current LCU X Address" dword="2" bits="15:0" type="uint" />
+ <field name="Current LCU Y Address" dword="2" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="HCP_PIC_STATE" bias="2" length="32" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="30" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="16" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Width In Minimum Coding Block Size" dword="1" bits="9:0" type="uint" />
+ <field name="PAK Transform Skip Enable" dword="1" bits="15:15" type="bool" />
+ <field name="Frame Height In Minimum Coding Block Size" dword="1" bits="25:16" type="uint" />
+ <field name="Min CU Size" dword="2" bits="1:0" type="uint" prefix="LCU">
+ <value name="64x64" value="3" />
+ <value name="32x32" value="2" />
+ <value name="16x16" value="1" />
+ <value name="8x8" value="0" />
+ </field>
+ <field name="LCU Size" dword="2" bits="3:2" type="uint" prefix="LCU">
+ <value name="64x64" value="3" />
+ <value name="32x32" value="2" />
+ <value name="16x16" value="1" />
+ <value name="Illegal/reserved" value="0" />
+ </field>
+ <field name="Min TU Size" dword="2" bits="5:4" type="uint" prefix="TU">
+ <value name="32x32" value="3" />
+ <value name="16x16" value="2" />
+ <value name="8x8" value="1" />
+ <value name="4x4" value="0" />
+ </field>
+ <field name="Max TU Size" dword="2" bits="7:6" type="uint" prefix="TU">
+ <value name="32x32" value="3" />
+ <value name="16x16" value="2" />
+ <value name="8x8" value="1" />
+ <value name="4x4" value="0" />
+ </field>
+ <field name="Min PCM Size" dword="2" bits="9:8" type="uint" prefix="PCM">
+ <value name="32x32" value="2" />
+ <value name="16x16" value="1" />
+ <value name="8x8" value="0" />
+ </field>
+ <field name="Max PCM Size" dword="2" bits="11:10" type="uint" prefix="PCM">
+ <value name="32x32" value="2" />
+ <value name="16x16" value="1" />
+ <value name="8x8" value="0" />
+ </field>
+ <field name="Collocated Picture Is I Slice" dword="3" bits="0:0" type="bool" />
+ <field name="Current Picture Is I Slice" dword="3" bits="1:1" type="bool" />
+ <field name="CABAC Zero Word Insertion Test Enable" dword="3" bits="2:2" type="bool" />
+ <field name="Sample Adaptive Offset Enable" dword="4" bits="3:3" type="bool" />
+ <field name="PCM Enable" dword="4" bits="4:4" type="bool" />
+ <field name="CU QP Delta Enable" dword="4" bits="5:5" type="bool" />
+ <field name="Max DQP Depth" dword="4" bits="7:6" type="uint" />
+ <field name="PCM Loop Filter Disable" dword="4" bits="8:8" type="bool" />
+ <field name="Constrained Intra Prediction" dword="4" bits="9:9" type="bool" />
+ <field name="Log2 Parallel Merge Level" dword="4" bits="12:10" type="uint" />
+ <field name="Sign Data Hiding" dword="4" bits="13:13" type="bool" />
+ <field name="Loop Filter Enable" dword="4" bits="15:15" type="bool" />
+ <field name="Entropy Coding Sync Enable" dword="4" bits="16:16" type="bool" />
+ <field name="Tiling Enable" dword="4" bits="17:17" type="bool" />
+ <field name="Weighted BiPredication Enable" dword="4" bits="18:18" type="bool" />
+ <field name="Weighted Predication Enable" dword="4" bits="19:19" type="bool" />
+ <field name="Field Pic" dword="4" bits="20:20" type="bool" />
+ <field name="Top Field" dword="4" bits="21:21" type="bool" />
+ <field name="Transform Skip Enable" dword="4" bits="22:22" type="bool" />
+ <field name="AMP Enable" dword="4" bits="23:23" type="bool" />
+ <field name="Transquant Bypass Enable" dword="4" bits="25:25" type="bool" />
+ <field name="Strong Intra Smoothing Enable" dword="4" bits="26:26" type="bool" />
+ <field name="CU Packet Structure" dword="4" bits="27:27" type="uint">
+ <value name="VME" value="0" />
+ <value name="ExtEnc" value="1" />
+ </field>
+ <field name="Picture Cb QP Offset" dword="5" bits="4:0" type="int" />
+ <field name="Picture Cr QP Offset" dword="5" bits="9:5" type="int" />
+ <field name="Intra Max Transform Hierarchy Depth" dword="5" bits="12:10" type="uint" />
+ <field name="Inter Max Transform Hierarchy Depth" dword="5" bits="15:13" type="uint" />
+ <field name="Chroma PCM Sample Bit Depth" dword="5" bits="19:16" type="uint" />
+ <field name="Luma PCM Sample Bit Depth" dword="5" bits="23:20" type="uint" />
+ <field name="Chroma Bit Depth" dword="5" bits="26:24" type="uint">
+ <value name="8-bit" value="0" />
+ <value name="9-bit" value="1" />
+ <value name="10-bit" value="2" />
+ <value name="11-bit" value="3" />
+ <value name="12-bit" value="4" />
+ </field>
+ <field name="Luma Bit Depth" dword="5" bits="29:27" type="uint">
+ <value name="8-bit" value="0" />
+ <value name="9-bit" value="1" />
+ <value name="10-bit" value="2" />
+ <value name="11-bit" value="3" />
+ <value name="12-bit" value="4" />
+ </field>
+ <field name="LCU Max Bit Size Allowed" dword="6" bits="15:0" type="uint" />
+ <field name="Non First Pass" dword="6" bits="16:16" type="bool" />
+ <field name="LCU Max Size Report" dword="6" bits="24:24" type="bool" />
+ <field name="Frame Bitrate Max Report" dword="6" bits="25:25" type="bool" />
+ <field name="Frame Bitrate Min Report" dword="6" bits="26:26" type="bool" />
+ <field name="Load Bitstream Pointer Per Slice" dword="6" bits="29:29" type="bool" />
+ <field name="Frame Bitrate Max" dword="7" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Max Unit" dword="7" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min" dword="8" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit" dword="8" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="9" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="9" bits="30:16" type="uint" />
+ <field name="Frame Delta QP Max" dword="10" bits="63:0" type="FRAMEDELTAQP" />
+ <field name="Frame Delta QP Min" dword="12" bits="63:0" type="FRAMEDELTAQP" />
+ <field name="Frame Delta QP Max Range" dword="14" bits="63:0" type="FRAMEDELTAQPRANGE" />
+ <field name="Frame Delta QP Min Range" dword="16" bits="63:0" type="FRAMEDELTAQPRANGE" />
+ <field name="Minimum Frame Size" dword="18" bits="15:0" type="uint" />
+ <field name="Minimum Frame Size Units" dword="18" bits="31:30" type="uint" prefix="HCP_MFSU">
+ <value name="4Kb" value="0" />
+ <value name="16Kb" value="1" />
+ </field>
+ </instruction>
+ <instruction name="HCP_PIPE_BUF_ADDR_STATE" bias="2" length="104" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="102" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Decoded Picture - Address" dword="1" bits="63:0" type="address" />
+ <field name="Decoded Picture - Memory Address Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocking Filter Line Buffer - Address" dword="4" bits="63:0" type="address" />
+ <field name="Deblocking Filter Line Buffer - Memory Address Attributes" dword="6" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocking Filter Tile Line Buffer - Address" dword="7" bits="63:0" type="address" />
+ <field name="Deblocking Filter Tile Line Buffer - Memory Address Attributes" dword="9" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocking Filter Tile Column Buffer - Address" dword="10" bits="63:0" type="address" />
+ <field name="Deblocking Filter Tile Column Buffer - Memory Address Attributes" dword="12" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Metadata Line Buffer - Address" dword="13" bits="63:0" type="address" />
+ <field name="Metadata Line Buffer - Memory Address Attributes" dword="15" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Metadata Tile Line Buffer - Address" dword="16" bits="63:0" type="address" />
+ <field name="Metadata Tile Line Buffer - Memory Address Attributes" dword="18" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Metadata Tile Column Buffer - Address" dword="19" bits="63:0" type="address" />
+ <field name="Metadata Tile Column Buffer - Memory Address Attributes" dword="21" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SAO Line Buffer - Address" dword="22" bits="63:0" type="address" />
+ <field name="SAO Line Buffer - Memory Address Attributes" dword="24" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SAO Tile Line Buffer - Address" dword="25" bits="63:0" type="address" />
+ <field name="SAO Tile Line Buffer - Memory Address Attributes" dword="27" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SAO Tile Column Buffer - Address" dword="28" bits="63:0" type="address" />
+ <field name="SAO Tile Column Buffer - Memory Address Attributes" dword="30" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Current MV Temporal Buffer - Address" dword="31" bits="63:0" type="address" />
+ <field name="Current MV Temporal Buffer - Memory Address Attributes" dword="33" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <group count="8" dword="37" size="64">
+ <field name="Reference Picture - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Reference Picture - Memory Address Attributes" dword="53" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Original Uncompressed Picture Source - Address" dword="54" bits="63:0" type="address" />
+ <field name="Original Uncompressed Picture Source - Memory Address Attributes" dword="56" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Stream-Out Data Destination - Address" dword="57" bits="63:0" type="address" />
+ <field name="Stream-Out Data Destination - Memory Address Attributes" dword="59" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Decoded Picture Status Buffer - Address" dword="60" bits="63:0" type="address" />
+ <field name="Decoded Picture Status Buffer - Memory Address Attributes" dword="62" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="LCU ILDB Stream-Out Buffer - Address" dword="63" bits="63:0" type="address" />
+ <field name="LCU ILDB Stream-Out Buffer - Memory Address Attributes" dword="65" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <group count="8" dword="66" size="64">
+ <field name="Collocated MV Temporal Buffer - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Collocated MV Temporal Buffer - Memory Address Attributes" dword="82" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="VP9 Probability Buffer - Address" dword="83" bits="63:0" type="address" />
+ <field name="VP9 Probability Buffer - Memory Address Attributes" dword="85" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="VP9 Segment ID Buffer - Address" dword="86" bits="63:0" type="address" />
+ <field name="VP9 Segment ID Buffer - Memory Address Attributes" dword="88" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="VP9 HVD Line Row Store Buffer - Address" dword="89" bits="63:0" type="address" />
+ <field name="VP9 HVD Line Row Store Buffer - Memory Address Attributes" dword="91" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="VP9 HVD Tile Row Store Buffer - Address" dword="92" bits="63:0" type="address" />
+ <field name="VP9 HVD Tile Row Store Buffer - Memory Address Attributes" dword="94" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </instruction>
+ <instruction name="HCP_PIPE_MODE_SELECT" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Codec Select" dword="1" bits="0:0" type="uint">
+ <value name="Decode" value="0" />
+ <value name="Encode" value="1" />
+ </field>
+ <field name="Deblocker Stream-Out Enable" dword="1" bits="1:1" type="bool" />
+ <field name="PAK Pipeline Stream-Out Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Pic Status/Error Report Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Codec Standard Select" dword="1" bits="7:5" type="uint">
+ <value name="HEVC" value="0" />
+ <value name="VP9" value="1" />
+ </field>
+ <field name="Advanced Rate Control Enable" dword="1" bits="9:9" type="bool" />
+ <field name="PAK Frame Level Stream-Out Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Media Soft-Reset Counter" dword="2" bits="31:0" type="uint" />
+ <field name="Pic Status/Error Report ID" dword="3" bits="31:0" type="uint" />
+ <field name="HprVp9ModeSwitchEcoDisable" dword="4" bits="6:6" type="bool" />
+ </instruction>
+ <instruction name="HCP_QM_STATE" bias="2" length="18" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="16" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="4" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Prediction Type" dword="1" bits="0:0" type="uint">
+ <value name="Intra" value="0" />
+ <value name="Inter" value="1" />
+ </field>
+ <field name="SizeID" dword="1" bits="2:1" type="uint" prefix="SZ">
+ <value name="4x4" value="0" />
+ <value name="8x8" value="1" />
+ <value name="16x16" value="2" />
+ <value name="32x32" value="3" />
+ </field>
+ <field name="Color Component" dword="1" bits="4:3" type="uint">
+ <value name="Luma" value="0" />
+ <value name="Chroma Cb" value="1" />
+ <value name="Chroma Cr" value="2" />
+ </field>
+ <field name="DC Coefficient" dword="1" bits="12:5" type="uint" />
+ <group count="64" dword="2" size="8">
+ <field name="Quantizer Matrix 8x8" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="HCP_REF_IDX_STATE" bias="2" length="18" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="16" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="18" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Reference Picture List Select" dword="1" bits="0:0" type="uint" />
+ <field name="Number of Reference Indexes Active" dword="1" bits="4:1" type="uint" />
+ <group count="16" dword="2" size="32">
+ <field name="Reference List Entry" dword="0" bits="31:0" type="HCP_REF_LIST_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="HCP_SLICE_STATE" bias="2" length="11" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="9" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="20" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Slice Horizontal Position" dword="1" bits="8:0" type="uint" />
+ <field name="Slice Vertical Position" dword="1" bits="24:16" type="uint" />
+ <field name="Next Slice Horizontal Position" dword="2" bits="8:0" type="uint" />
+ <field name="Next Slice Vertical Position" dword="2" bits="24:16" type="uint" />
+ <field name="Slice Type" dword="3" bits="1:0" type="uint" prefix="HCP_ST">
+ <value name="B Slice" value="0" />
+ <value name="P Slice" value="1" />
+ <value name="I Slice" value="2" />
+ </field>
+ <field name="Last Slice" dword="3" bits="2:2" type="bool" />
+ <field name="Slice QP Sign" dword="3" bits="3:3" type="uint" />
+ <field name="Dependent Slice" dword="3" bits="4:4" type="bool" />
+ <field name="Slice Temporal MVP Enable" dword="3" bits="5:5" type="bool" />
+ <field name="Slice QP" dword="3" bits="11:6" type="uint" />
+ <field name="Slice Cb QP Offset" dword="3" bits="16:12" type="int">
+ <value name="-12" value="20" />
+ <value name="-11" value="21" />
+ <value name="-10" value="22" />
+ <value name="-9" value="23" />
+ <value name="-8" value="24" />
+ <value name="-7" value="25" />
+ <value name="-6" value="26" />
+ <value name="-5" value="27" />
+ <value name="-4" value="28" />
+ <value name="-3" value="29" />
+ <value name="-2" value="30" />
+ <value name="-1" value="31" />
+ </field>
+ <field name="Slice Cr QP Offset" dword="3" bits="21:17" type="int">
+ <value name="-12" value="20" />
+ <value name="-11" value="21" />
+ <value name="-10" value="22" />
+ <value name="-9" value="23" />
+ <value name="-8" value="24" />
+ <value name="-7" value="25" />
+ <value name="-6" value="26" />
+ <value name="-5" value="27" />
+ <value name="-4" value="28" />
+ <value name="-3" value="29" />
+ <value name="-2" value="30" />
+ <value name="-1" value="31" />
+ </field>
+ <field name="Slice Header Disable Deblocking Filter" dword="4" bits="0:0" type="bool" />
+ <field name="Slice TC Offset Div2" dword="4" bits="4:1" type="int" />
+ <field name="Slice Beta Offset Div2" dword="4" bits="8:5" type="int" />
+ <field name="Slice Loop Filter Enable" dword="4" bits="10:10" type="bool" />
+ <field name="Slice SAO Chroma" dword="4" bits="11:11" type="bool" />
+ <field name="Slice SAO Luma" dword="4" bits="12:12" type="bool" />
+ <field name="MVD L1 Zero" dword="4" bits="13:13" type="bool" />
+ <field name="Low Delay" dword="4" bits="14:14" type="bool" />
+ <field name="Collocated From L0" dword="4" bits="15:15" type="bool" />
+ <field name="Log2 Weight Denominator Chroma" dword="4" bits="18:16" type="uint" />
+ <field name="Log2 Weight Denominator Luma" dword="4" bits="21:19" type="uint" />
+ <field name="CABAC Init" dword="4" bits="22:22" type="bool" />
+ <field name="Max Merge Index" dword="4" bits="25:23" type="uint" />
+ <field name="Collocated MV Temporal Buffer Index" dword="4" bits="28:26" type="uint" />
+ <field name="Slice Header Length" dword="5" bits="15:0" type="uint" />
+ <field name="Round Intra" dword="6" bits="23:20" type="uint">
+ <value name="+1/32" value="0" />
+ <value name="+2/32" value="1" />
+ <value name="+3/32" value="2" />
+ <value name="+4/32" value="3" />
+ <value name="+5/32" value="4" />
+ <value name="+6/32" value="5" />
+ <value name="+7/32" value="6" />
+ <value name="+8/32" value="7" />
+ <value name="+9/32" value="8" />
+ <value name="+10/32" value="9" />
+ <value name="+11/32" value="10" />
+ <value name="+12/32" value="11" />
+ <value name="+13/32" value="12" />
+ <value name="+14/32" value="13" />
+ <value name="+15/32" value="14" />
+ <value name="+16/32" value="15" />
+ </field>
+ <field name="Round Inter" dword="6" bits="29:26" type="uint">
+ <value name="+1/32" value="0" />
+ <value name="+2/32" value="1" />
+ <value name="+3/32" value="2" />
+ <value name="+4/32" value="3" />
+ <value name="+5/32" value="4" />
+ <value name="+6/32" value="5" />
+ <value name="+7/32" value="6" />
+ <value name="+8/32" value="7" />
+ <value name="+9/32" value="8" />
+ <value name="+10/32" value="9" />
+ <value name="+11/32" value="10" />
+ <value name="+12/32" value="11" />
+ <value name="+13/32" value="12" />
+ <value name="+14/32" value="13" />
+ <value name="+15/32" value="14" />
+ <value name="+16/32" value="15" />
+ </field>
+ <field name="CABAC Zero Word Insertion Enable" dword="7" bits="1:1" type="bool" />
+ <field name="Emulation Byte Slice Insert Enable" dword="7" bits="2:2" type="bool" />
+ <field name="Tail Insertion Present" dword="7" bits="8:8" type="bool" />
+ <field name="Slice Data Insertion Present" dword="7" bits="9:9" type="bool" />
+ <field name="Header Insertion Present" dword="7" bits="10:10" type="bool" />
+ <field name="Indirect PAK-BSE Data Start Offset" dword="8" bits="28:6" type="offset" />
+ <field name="Transform Skip Lambda" dword="9" bits="15:0" type="uint" />
+ <field name="Transform Skip Number of Zero Coeffs Factor0" dword="10" bits="7:0" type="uint" />
+ <field name="Transform Skip Number of Non-Zero Coeffs Factor0" dword="10" bits="15:8" type="uint" />
+ <field name="Transform Skip Number of Zero Coeffs Factor1" dword="10" bits="23:16" type="uint" />
+ <field name="Transform Skip Number of Non-Zero Coeffs Factor1" dword="10" bits="31:24" type="uint" />
+ </instruction>
+ <instruction name="HCP_SURFACE_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Surface ID" dword="1" bits="31:28" type="uint" prefix="HCP">
+ <value name="Current Decoded Picture" value="0" />
+ <value name="Source Input Picture" value="1" />
+ <value name="Prev Reference Picture" value="2" />
+ <value name="Golden Reference Picture" value="3" />
+ <value name="AltRef Reference Picture" value="4" />
+ <value name="Reference Picture" value="5" />
+ </field>
+ <field name="Y Offset for U(Cb)" dword="2" bits="14:0" type="uint" />
+ <field name="Surface Format" dword="2" bits="31:28" type="uint">
+ <value name="PLANAR_420_8" value="4" />
+ <value name="P010" value="13" />
+ </field>
+ </instruction>
+ <instruction name="HCP_TILE_CODING" bias="1" length="1" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="21" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SAO Parameter Offset" dword="4" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="HCP_TILE_STATE" bias="2" length="13" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="11" />
+ <field name="Media Instruction Command" dword="0" bits="22:16" type="uint" default="17" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Number of Tile Rows" dword="1" bits="4:0" type="uint" />
+ <field name="Number of Tile Columns" dword="1" bits="9:5" type="uint" />
+ <group count="5" dword="2" size="32">
+ <field name="Column Position" dword="0" bits="31:0" type="HCP_TILE_POSITION_IN_CTB" />
+ </group>
+ <group count="6" dword="7" size="32">
+ <field name="Row position" dword="0" bits="31:0" type="HCP_TILE_POSITION_IN_CTB" />
+ </group>
+ </instruction>
+ <instruction name="HCP_VP9_PIC_STATE" bias="2" length="12" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="10" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="48" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Width" dword="1" bits="13:0" type="uint" />
+ <field name="Frame Height" dword="1" bits="29:16" type="uint" />
+ <field name="Frame Type" dword="2" bits="0:0" type="uint" prefix="VP9">
+ <value name="Key Frame" value="0" />
+ <value name="Inter Frame" value="1" />
+ </field>
+ <field name="Adapt Probabilities" dword="2" bits="1:1" type="bool" />
+ <field name="Intra Only" dword="2" bits="2:2" type="bool" />
+ <field name="Allow Hi Precision MV" dword="2" bits="3:3" type="bool" />
+ <field name="Motion Compensation Filter Type" dword="2" bits="6:4" type="uint">
+ <value name="Eight-tap" value="0" />
+ <value name="Eight-tap-Smooth" value="1" />
+ <value name="Eight-tap-Sharp" value="2" />
+ <value name="Bilinear" value="3" />
+ <value name="Switchable" value="4" />
+ </field>
+ <field name="Reference Frame Sign Bias" dword="2" bits="9:7" type="uint" />
+ <field name="Use Prev in Find MV References" dword="2" bits="10:10" type="bool" />
+ <field name="Hybrid Prediction Mode" dword="2" bits="11:11" type="uint" />
+ <field name="Selectable TX Mode" dword="2" bits="12:12" type="uint" />
+ <field name="Last Frame Type" dword="2" bits="13:13" type="uint" prefix="VP9">
+ <value name="Key Frame" value="0" />
+ <value name="Non Key Frame" value="1" />
+ </field>
+ <field name="Refresh Frame Context Enable" dword="2" bits="14:14" type="bool" />
+ <field name="Error Resilient Mode Enable" dword="2" bits="15:15" type="bool" />
+ <field name="Frame Parallel Decoding Mode Enable" dword="2" bits="16:16" type="bool" />
+ <field name="Filter Level" dword="2" bits="22:17" type="uint" />
+ <field name="Sharpness Level" dword="2" bits="25:23" type="uint" />
+ <field name="Segmentation Enable" dword="2" bits="26:26" type="bool" />
+ <field name="Segmentation Update Map" dword="2" bits="27:27" type="bool" />
+ <field name="Segmentation Temporal Update" dword="2" bits="28:28" type="bool" />
+ <field name="Lossless Mode" dword="2" bits="29:29" type="bool" />
+ <field name="Segment ID Stream-Out Enable" dword="2" bits="30:30" type="bool" />
+ <field name="Segment ID Stream-In Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Log2 Tile Column" dword="3" bits="3:0" type="uint">
+ <value name="1 Tile Column" value="0" />
+ <value name="2 Tile Column" value="1" />
+ <value name="4 Tile Column" value="2" />
+ <value name="8 Tile Column" value="3" />
+ <value name="16 Tile Column" value="4" />
+ <value name="32 Tile Column" value="5" />
+ <value name="64 Tile Column" value="6" />
+ </field>
+ <field name="Log2 Tile Row" dword="3" bits="9:8" type="uint">
+ <value name="1 Tile Row" value="0" />
+ <value name="2 Tile Row" value="1" />
+ <value name="4 Tile Row" value="2" />
+ </field>
+ <field name="Chroma Sampling Format" dword="3" bits="23:22" type="uint">
+ <value name="Format_420" value="0" />
+ <value name="Format_422" value="1" />
+ <value name="Format_444" value="2" />
+ </field>
+ <field name="Bit Depth" dword="3" bits="27:24" type="uint">
+ <value name="8-bit" value="0" />
+ <value name="10-bit" value="2" />
+ <value name="12-bit" value="4" />
+ </field>
+ <field name="Profile Level" dword="3" bits="31:28" type="uint">
+ <value name="Profile_0" value="0" />
+ <value name="Profile_2" value="2" />
+ </field>
+ <field name="Vertical Scale Factor for LAST" dword="4" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor for LAST" dword="4" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor for GOLDEN" dword="5" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor for GOLDEN" dword="5" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor for ALTREF" dword="6" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor for ALTREF" dword="6" bits="31:16" type="uint" />
+ <field name="Last Frame Width" dword="7" bits="13:0" type="uint" />
+ <field name="Last Frame Height" dword="7" bits="29:16" type="uint" />
+ <field name="Golden Frame Width" dword="8" bits="13:0" type="uint" />
+ <field name="Golden Frame Height" dword="8" bits="29:16" type="uint" />
+ <field name="Altref Frame Width" dword="9" bits="13:0" type="uint" />
+ <field name="Altref Frame Height" dword="9" bits="29:16" type="uint" />
+ <field name="Uncompressed Header Length" dword="10" bits="7:0" type="uint" />
+ <field name="First Partition Size" dword="10" bits="31:16" type="uint" />
+ <field name="Motion Comp Scaling Enable" dword="11" bits="1:1" type="bool" />
+ <field name="Compressed Header BIN count" dword="13" bits="15:0" type="uint" />
+ <field name="Luma AC Q Index Delta" dword="13" bits="23:16" type="uint" />
+ <field name="Chroma AC Q Index Delta" dword="14" bits="4:0" type="int" />
+ <field name="Chroma DC Q Index Delta" dword="14" bits="12:8" type="int" />
+ <field name="Luma DC Q Index Delta" dword="14" bits="20:16" type="int" />
+ <field name="LF Ref Delta 0" dword="15" bits="6:0" type="int" />
+ <field name="LF Ref Delta 1" dword="15" bits="14:8" type="int" />
+ <field name="LF Ref Delta 2" dword="15" bits="22:16" type="int" />
+ <field name="LF Ref Delta 3" dword="15" bits="30:24" type="int" />
+ <field name="LF Mode Delta 0" dword="16" bits="6:0" type="int" />
+ <field name="LF Mode Delta 1" dword="16" bits="14:8" type="int" />
+ <field name="Bit Offset for LF Ref Delta" dword="17" bits="15:0" type="uint" />
+ <field name="Bit Offset for LF Mode Delta" dword="17" bits="31:16" type="uint" />
+ <field name="Bit Offset for Q index" dword="18" bits="15:0" type="uint" />
+ <field name="Bit Offset for LF Level" dword="18" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="HCP_VP9_SEGMENT_STATE" bias="2" length="7" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="5" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="50" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Segment ID" dword="1" bits="2:0" type="uint" />
+ <field name="Segment Skipped" dword="2" bits="0:0" type="bool" />
+ <field name="Segment Reference" dword="2" bits="2:1" type="uint" />
+ <field name="Segment Reference Enable" dword="2" bits="3:3" type="bool" />
+ <field name="Filter Level Ref0 Mode 0" dword="3" bits="5:0" type="uint" />
+ <field name="Filter Level Ref0 Mode 1" dword="3" bits="13:8" type="uint" />
+ <field name="Filter Level Ref1 Mode 0" dword="3" bits="21:16" type="uint" />
+ <field name="Filter Level Ref1 Mode 1" dword="3" bits="29:24" type="uint" />
+ <field name="Filter Level Ref2 Mode 0" dword="4" bits="5:0" type="uint" />
+ <field name="Filter Level Ref2 Mode 1" dword="4" bits="13:8" type="uint" />
+ <field name="Filter Level Ref3 Mode 0" dword="4" bits="21:16" type="uint" />
+ <field name="Filter Level Ref3 Mode 1" dword="4" bits="29:24" type="uint" />
+ <field name="Luma DC Quant Scale" dword="5" bits="14:0" type="uint" />
+ <field name="Luma AC Quant Scale" dword="5" bits="30:16" type="uint" />
+ <field name="Chroma DC Quant Scale" dword="6" bits="14:0" type="uint" />
+ <field name="Chroma AC Quant Scale" dword="6" bits="30:16" type="uint" />
+ </instruction>
+ <instruction name="HCP_WEIGHTOFFSET_STATE" bias="2" length="34" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="32" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="19" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Reference Picture List Select" dword="1" bits="0:0" type="uint" />
+ <group count="16" dword="2" size="32">
+ <field name="Luma Offsets" dword="0" bits="31:0" type="HCP_WEIGHTOFFSET_LUMA_ENTRY" />
+ </group>
+ <group count="16" dword="18" size="32">
+ <field name="Chroma Offsets" dword="0" bits="31:0" type="HCP_WEIGHTOFFSET_CHROMA_ENTRY" />
+ </group>
+ </instruction>
+ <instruction name="HEVC_VP9_RDOQ_STATE" bias="2" length="62" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="60" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="HTQ Performance Fix 1 Disable" dword="1" bits="30:30" type="bool" />
+ <field name="HTQ Performance Fix 0 Disable" dword="1" bits="31:31" type="bool" />
+ <group count="32" dword="2" size="32">
+ <field name="Intra Luma Lambda" dword="0" bits="31:0" type="HEVC_VP9_RDOQ_LAMBDA_FIELDS" />
+ </group>
+ <group count="32" dword="34" size="32">
+ <field name="Intra Chroma Lambda" dword="0" bits="31:0" type="HEVC_VP9_RDOQ_LAMBDA_FIELDS" />
+ </group>
+ <group count="32" dword="66" size="32">
+ <field name="Inter Luma Lambda" dword="0" bits="31:0" type="HEVC_VP9_RDOQ_LAMBDA_FIELDS" />
+ </group>
+ <group count="32" dword="98" size="32">
+ <field name="Inter Chroma Lambda" dword="0" bits="31:0" type="HEVC_VP9_RDOQ_LAMBDA_FIELDS" />
+ </group>
+ </instruction>
+ <instruction name="HUC_CFG_STATE" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="3" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="11" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="P24C" dword="1" bits="0:0" type="uint">
+ <value name="Normal operation" value="0" />
+ <value name="Force reset" value="1" />
+ </field>
+ </instruction>
+ <instruction name="HUC_DMEM_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="11" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="HUC Data Source - Address" dword="1" bits="63:0" type="address" />
+ <field name="HUC Data Source - Memory Address Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HUC Data Destination - Address" dword="4" bits="16:6" type="address" />
+ <field name="HUC Data Length" dword="5" bits="16:6" type="uint" />
+ </instruction>
+ <instruction name="HUC_IMEM_STATE" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="11" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="HUC Firmware Descriptor" dword="4" bits="7:0" type="uint" />
+ </instruction>
+ <instruction name="HUC_IND_OBJ_BASE_ADDR_STATE" bias="2" length="11" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="5" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="11" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="HUC Indirect Stream-In Object - Address" dword="1" bits="63:0" type="address" />
+ <field name="HUC Indirect Stream-In Object - Memory Address Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HUC Indirect Stream-In Object - Access Upper Bound" dword="4" bits="63:0" type="address" />
+ <field name="HUC Indirect Stream-Out Object - Address" dword="6" bits="63:0" type="address" />
+ <field name="HUC Indirect Stream-Out Object - Memory Address Attributes" dword="8" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="HUC Indirect Stream-Out Object - Access Upper Bound" dword="9" bits="63:0" type="address" />
+ </instruction>
+ <instruction name="HUC_PIPE_MODE_SELECT" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="11" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect Stream-Out Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Media Soft-Reset Counter" dword="2" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="HUC_START" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="33" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="11" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Last Stream Object" dword="1" bits="0:0" type="bool" />
+ </instruction>
+ <instruction name="HUC_STREAM_OBJECT" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="32" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="11" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect Stream-In Data Length" dword="1" bits="31:0" type="uint" />
+ <field name="Indirect Stream-In - Address" dword="2" bits="28:0" type="address" />
+ <field name="HUC Processing" dword="2" bits="31:31" type="bool" />
+ <field name="Indirect Stream-Out - Address" dword="3" bits="28:0" type="address" />
+ <field name="Start Code Byte [0]" dword="4" bits="7:0" type="uint" />
+ <field name="Start Code Byte [1]" dword="4" bits="15:8" type="uint" />
+ <field name="Start Code Byte [2]" dword="4" bits="23:16" type="uint" />
+ <field name="Start Code Search Engine" dword="4" bits="24:24" type="bool" />
+ <field name="Emulation Prevention Byte Removal" dword="4" bits="25:25" type="bool" />
+ <field name="Stream-Out" dword="4" bits="26:26" type="bool" />
+ <field name="DRM Length Mode" dword="4" bits="28:27" type="uint">
+ <value name="Start Code Mode" value="0" />
+ <value name="Length Mode" value="1" />
+ </field>
+ <field name="HUC Bitstream Enable" dword="4" bits="29:29" type="bool" />
+ </instruction>
+ <instruction name="HUC_VIRTUAL_ADDR_STATE" bias="2" length="49" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="4" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="11" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="16" dword="1" size="96">
+ <field name="HUC Virtual Address Region" dword="0" bits="95:0" type="HUC_VIRTUAL_ADDR_REGION" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_OBJECT" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="4" />
+ <field name="Media Command Sub-Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Media Command Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="SubSlice Destination Select" dword="2" bits="18:17" type="uint">
+ <value name="Subslice 3" value="3" />
+ <value name="SubSlice 2" value="2" />
+ <value name="SubSlice 1" value="1" />
+ <value name="SubSlice 0" value="0" />
+ </field>
+ <field name="Slice Destination Select" dword="2" bits="20:19" type="uint">
+ <value name="Slice 0" value="0" />
+ <value name="Slice 1" value="1" />
+ <value name="Slice 2" value="2" />
+ </field>
+ <field name="Use Scoreboard" dword="2" bits="21:21" type="uint">
+ <value name="Not using scoreboard" value="0" />
+ <value name="Using scoreboard" value="1" />
+ </field>
+ <field name="Force Destination" dword="2" bits="22:22" type="uint" />
+ <field name="Thread Synchronization" dword="2" bits="24:24" type="uint">
+ <value name="No thread synchronization" value="0" />
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
+ </field>
+ <field name="Slice Destination Select MSBs" dword="2" bits="26:25" type="uint" />
+ <field name="Children Present" dword="2" bits="31:31" type="bool" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="address" />
+ <field name="Scoreboard X" dword="4" bits="8:0" type="uint" />
+ <field name="Scoredboard Y" dword="4" bits="24:16" type="uint" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Scoreboard Color" dword="5" bits="19:16" type="uint" />
+ <group count="0" dword="6" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_OBJECT_GRPID" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="5" />
+ <field name="Media Command Sub-Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Media Command Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="SubSlice Destination Select" dword="2" bits="18:17" type="uint">
+ <value name="Subslice3" value="3" />
+ <value name="SubSlice 2" value="2" />
+ <value name="SubSlice 1" value="1" />
+ <value name="SubSlice 0" value="0" />
+ </field>
+ <field name="Slice Destination Select" dword="2" bits="20:19" type="uint">
+ <value name="Slice 0" value="0" />
+ <value name="Slice 1" value="1" />
+ <value name="Slice 2" value="2" />
+ </field>
+ <field name="Use Scoreboard" dword="2" bits="21:21" type="uint">
+ <value name="Not using scoreboard" value="0" />
+ <value name="Using scoreboard" value="1" />
+ </field>
+ <field name="Force Destination" dword="2" bits="22:22" type="uint" />
+ <field name="End of Thread Group" dword="2" bits="23:23" type="uint" />
+ <field name="Slice Destination Select MSB" dword="2" bits="24:24" type="uint" />
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="address" />
+ <field name="Scoreboard X" dword="4" bits="8:0" type="uint" />
+ <field name="Scoreboard Y" dword="4" bits="24:16" type="uint" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Scoreboard Color" dword="5" bits="19:16" type="uint" />
+ <field name="GroupID" dword="6" bits="31:0" type="uint" />
+ <group count="0" dword="7" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="15" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="3" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Interface Descriptor Offset" dword="1" bits="5:0" type="uint" />
+ <field name="Indirect Data Length" dword="2" bits="16:0" type="uint" />
+ <field name="Use Scoreboard" dword="2" bits="21:21" type="uint">
+ <value name="Not using scoreboard" value="0" />
+ <value name="Using scoreboard" value="1" />
+ </field>
+ <field name="Masked Dispatch" dword="2" bits="23:22" type="uint" />
+ <field name="Thread Synchronization" dword="2" bits="24:24" type="uint">
+ <value name="No thread synchronization" value="0" />
+ <value name="Thread dispatch is synchronized by the 'spawn root thread' message" value="1" />
+ </field>
+ <field name="Indirect Data Start Address" dword="3" bits="31:0" type="uint" />
+ <field name="Scoreboard Mask" dword="5" bits="7:0" type="uint" />
+ <field name="Group ID Loop Select" dword="5" bits="31:8" type="uint">
+ <value name="No_Groups" value="0" />
+ <value name="Color_Groups" value="1" />
+ <value name="InnerLocal_Groups" value="2" />
+ <value name="MidLocal_Groups" value="3" />
+ <value name="OuterLocal_Groups" value="4" />
+ <value name="InnerGlobal_Groups" value="5" />
+ </field>
+ <field name="Mid-Loop Unit X" dword="6" bits="9:8" type="int" />
+ <field name="Local Mid-Loop Unit Y" dword="6" bits="13:12" type="int" />
+ <field name="Middle Loop Extra Steps" dword="6" bits="20:16" type="uint" />
+ <field name="Color Count Minus One" dword="6" bits="27:24" type="uint" />
+ <field name="Local Loop Exec Count" dword="7" bits="11:0" type="uint" />
+ <field name="Global Loop Exec Count" dword="7" bits="27:16" type="uint" />
+ <field name="Block Resolution X" dword="8" bits="10:0" type="uint" />
+ <field name="Block Resolution Y" dword="8" bits="26:16" type="uint" />
+ <field name="Local Start X" dword="9" bits="10:0" type="uint" />
+ <field name="Local Start Y" dword="9" bits="26:16" type="uint" />
+ <field name="Local Outer Loop Stride X" dword="11" bits="11:0" type="int" />
+ <field name="Local Outer Loop Stride Y" dword="11" bits="27:16" type="int" />
+ <field name="Local Inner Loop Unit X" dword="12" bits="11:0" type="int" />
+ <field name="Local Inner Loop Unit Y" dword="12" bits="27:16" type="int" />
+ <field name="Global Resolution X" dword="13" bits="10:0" type="uint" />
+ <field name="Global Resolution Y" dword="13" bits="26:16" type="uint" />
+ <field name="Global Start X" dword="14" bits="11:0" type="int" />
+ <field name="Global Start Y" dword="14" bits="27:16" type="int" />
+ <field name="Global Outer Loop Stride X" dword="15" bits="11:0" type="int" />
+ <field name="Global Outer Loop Stride Y" dword="15" bits="27:16" type="int" />
+ <field name="Global Inner Loop Unit X" dword="16" bits="11:0" type="int" />
+ <field name="Global Inner Loop Unit Y" dword="16" bits="27:16" type="int" />
+ <group count="0" dword="17" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MEDIA_VFE_STATE" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="7" />
+ <field name="SubOpcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Per Thread Scratch Space" dword="1" bits="3:0" type="uint" />
+ <field name="Stack Size" dword="1" bits="7:4" type="uint" />
+ <field name="Scratch Space Base Pointer" dword="1" bits="47:10" type="address" />
+ <field name="Reset Gateway Timer" dword="3" bits="7:7" type="uint">
+ <value name="Maintaining the existing timestamp state" value="0" />
+ <value name="Resetting relative timer and latching the global timestamp" value="1" />
+ </field>
+ <field name="Number of URB Entries" dword="3" bits="15:8" type="uint" />
+ <field name="Maximum Number of Threads" dword="3" bits="31:16" type="uint" />
+ <field name="Slice Disable" dword="4" bits="1:0" type="uint">
+ <value name="All Subslices Enabled" value="0" />
+ <value name="Only Slice 0 Enabled" value="1" />
+ <value name="Only Slice 0 Subslice 0 Enabled" value="3" />
+ </field>
+ <field name="CURBE Allocation Size" dword="5" bits="15:0" type="uint" />
+ <field name="URB Entry Allocation Size" dword="5" bits="31:16" type="uint" />
+ <field name="Scoreboard Mask" dword="6" bits="7:0" type="uint" />
+ <field name="Scoreboard Type" dword="6" bits="30:30" type="uint">
+ <value name="Stalling Scoreboard" value="0" />
+ <value name="Non-Stalling Scoreboard" value="1" />
+ </field>
+ <field name="Scoreboard Enable" dword="6" bits="31:31" type="bool" />
+ <field name="Scoreboard 0 Delta X" dword="7" bits="3:0" type="int" />
+ <field name="Scoreboard 0 Delta Y" dword="7" bits="7:4" type="int" />
+ <field name="Scoreboard 1 Delta X" dword="7" bits="11:8" type="int" />
+ <field name="Scoreboard 1 Delta Y" dword="7" bits="15:12" type="int" />
+ <field name="Scoreboard 2 Delta X" dword="7" bits="19:16" type="int" />
+ <field name="Scoreboard 2 Delta Y" dword="7" bits="23:20" type="int" />
+ <field name="Scoreboard 3 Delta X" dword="7" bits="27:24" type="int" />
+ <field name="Scoreboard 3 Delta Y" dword="7" bits="31:28" type="int" />
+ <field name="Scoreboard 4 Delta X" dword="8" bits="3:0" type="int" />
+ <field name="Scoreboard 4 Delta Y" dword="8" bits="7:4" type="int" />
+ <field name="Scoreboard 5 Delta X" dword="8" bits="11:8" type="int" />
+ <field name="Scoreboard 5 Delta Y" dword="8" bits="15:12" type="int" />
+ <field name="Scoreboard 6 Delta X" dword="8" bits="19:16" type="int" />
+ <field name="Scoreboard 6 Delta Y" dword="8" bits="23:20" type="int" />
+ <field name="Scoreboard 7 Delta X" dword="8" bits="27:24" type="int" />
+ <field name="Scoreboard 7 Delta Y" dword="8" bits="31:28" type="int" />
+ </instruction>
+ <instruction name="MFC_AVC_PAK_OBJECT" bias="2" length="12" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="10" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect PAK-MV Data Length" dword="1" bits="9:0" type="uint" />
+ <field name="Indirect PAK-MV Data Start Address Offset" dword="2" bits="28:0" type="offset" />
+ <group count="8" dword="3" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ <group count="12" dword="12" size="32">
+ <field name="VDEnc Mode Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFC_JPEG_HUFF_TABLE_STATE" bias="2" length="176" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="174" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Huff Table ID" dword="1" bits="0:0" type="uint" />
+ <field name="DC_TABLE" dword="2" bits="383:0" type="uint" />
+ <field name="AC_TABLE" dword="14" bits="5183:0" type="uint" />
+ </instruction>
+ <instruction name="MFC_JPEG_SCAN_OBJECT" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MCU Count" dword="1" bits="25:0" type="uint" />
+ <field name="Restart Interval" dword="2" bits="15:0" type="uint" />
+ <field name="Last Scan" dword="2" bits="16:16" type="bool" />
+ <field name="Head Present" dword="2" bits="17:17" type="bool" />
+ <field name="Huffman DC Table" dword="2" bits="20:18" type="uint" />
+ <field name="Huffman AC Table" dword="2" bits="24:22" type="uint" />
+ </instruction>
+ <instruction name="MFD_AVC_BSD_OBJECT" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect BSD Data Length" dword="1" bits="31:0" type="uint" />
+ <field name="Indirect BSD Data Start Address" dword="2" bits="28:0" type="offset" />
+ <field name="Inline Data" dword="3" bits="95:0" type="INLINE_DATA_DESCRIPTION_FOR_MFD_AVC_BSD_OBJECT" />
+ </instruction>
+ <instruction name="MFD_AVC_DPB_STATE" bias="2" length="27" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="25" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="6" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="16" dword="1" size="1">
+ <field name="Non-Existing Frame" dword="0" bits="0:0" type="uint">
+ <value name="INVALID" value="1" />
+ <value name="VALID" value="0" />
+ </field>
+ </group>
+ <group count="16" dword="1" offset_bits="16" size="1">
+ <field name="Long Term Frame" dword="0" bits="0:0" type="uint" />
+ </group>
+ <group count="16" dword="2" size="2">
+ <field name="Used for Reference" dword="0" bits="1:0" type="uint">
+ <value name="NOT_REFERENCE" value="0" />
+ <value name="TOP_FIELD" value="1" />
+ <value name="BOTTOM_FIELD" value="2" />
+ <value name="FRAME" value="3" />
+ </field>
+ </group>
+ <group count="16" dword="3" size="16">
+ <field name="LTST Frame Number List" dword="0" bits="15:0" type="uint" />
+ </group>
+ <group count="16" dword="11" size="16">
+ <field name="View ID" dword="0" bits="15:0" type="uint" />
+ </group>
+ <group count="16" dword="19" size="8">
+ <field name="L0 View Order" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="16" dword="23" size="8">
+ <field name="L1 View Order" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFD_AVC_SLICEADDR" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="7" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="1" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect BSD Data Length" dword="1" bits="31:0" type="uint" />
+ <field name="Indirect BSD Data Start Address" dword="2" bits="28:0" type="offset" />
+ </instruction>
+ <instruction name="MFX_AVC_IMG_STATE" bias="2" length="21" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="19" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Size" dword="1" bits="15:0" type="uint" />
+ <field name="Frame Width" dword="2" bits="7:0" type="uint" />
+ <field name="Frame Height" dword="2" bits="23:16" type="uint" />
+ <field name="Image Structure" dword="3" bits="9:8" type="uint">
+ <value name="Frame Picture" value="0" />
+ <value name="Top Field Picture" value="1" />
+ <value name="Bottom Field Picture" value="3" />
+ <value name="Invalid, not allowed." value="2" />
+ </field>
+ <field name="Weighted BiPrediction IDC" dword="3" bits="11:10" type="uint">
+ <value name="DEFAULT" value="0" />
+ <value name="EXPLICIT" value="1" />
+ <value name="IMPLICIT" value="2" />
+ </field>
+ <field name="Weighted Prediction Enable" dword="3" bits="12:12" type="bool" />
+ <field name="Rho Domain Rate Control Enable" dword="3" bits="13:13" type="bool" />
+ <field name="First Chroma QP Offset" dword="3" bits="20:16" type="int" />
+ <field name="Second Chroma QP Offset" dword="3" bits="28:24" type="int" />
+ <field name="Field Picture" dword="4" bits="0:0" type="bool" />
+ <field name="MBAFF Mode" dword="4" bits="1:1" type="bool" />
+ <field name="Frame MB Only" dword="4" bits="2:2" type="bool" />
+ <field name="8x8 IDCT Transform Mode" dword="4" bits="3:3" type="bool" />
+ <field name="Direct 8x8 Inference" dword="4" bits="4:4" type="bool" />
+ <field name="Constrained Intra Prediction" dword="4" bits="5:5" type="bool" />
+ <field name="Non-Reference Picture" dword="4" bits="6:6" type="bool" />
+ <field name="Entropy Coding Sync Enable" dword="4" bits="7:7" type="bool" />
+ <field name="MB MV Format" dword="4" bits="8:8" type="uint">
+ <value name="IGNORE" value="0" />
+ <value name="FOLLOW" value="1" />
+ </field>
+ <field name="Chroma Format IDC" dword="4" bits="11:10" type="uint">
+ <value name="Monochrome picture" value="0" />
+ <value name="4:2:0 picture" value="1" />
+ <value name="4:2:2 picture (not supported)" value="2" />
+ <value name="4:4:4 picture (not supported)" value="3" />
+ </field>
+ <field name="MV Unpacked Enable" dword="4" bits="12:12" type="bool" />
+ <field name="Load Bitstream Pointer Per Slice" dword="4" bits="14:14" type="bool" />
+ <field name="MB Status Read" dword="4" bits="15:15" type="bool" />
+ <field name="Minimum Frame Size" dword="4" bits="31:16" type="uint" />
+ <field name="Intra MB Max Bit Control" dword="5" bits="0:0" type="bool" />
+ <field name="Inter MB Max Bit Control" dword="5" bits="1:1" type="bool" />
+ <field name="Frame Bitrate Max Report" dword="5" bits="2:2" type="bool" />
+ <field name="Frame Bitrate Min Report" dword="5" bits="3:3" type="bool" />
+ <field name="Force IPCM Control" dword="5" bits="7:7" type="bool" />
+ <field name="MB Level Rate Control" dword="5" bits="9:9" type="bool" />
+ <field name="Minimum Frame Size Units" dword="5" bits="11:10" type="uint" prefix="AVC_MFSU">
+ <value name="Compatibility mode" value="0" />
+ <value name="16 bytes" value="1" />
+ <value name="4Kb" value="2" />
+ <value name="16Kb" value="3" />
+ </field>
+ <field name="Non First Pass" dword="5" bits="16:16" type="uint" />
+ <field name="Trellis Quantization Chroma Disable" dword="5" bits="27:27" type="bool" />
+ <field name="Trellis Quantization Rounding" dword="5" bits="30:28" type="uint" />
+ <field name="Trellis Quantization Enable" dword="5" bits="31:31" type="bool" />
+ <field name="Intra MB Conformance Max Size" dword="6" bits="11:0" type="uint" />
+ <field name="Inter MB Conformance Max Size" dword="6" bits="27:16" type="uint" />
+ <field name="Slice Delta QP Max[0]" dword="8" bits="7:0" type="int" />
+ <field name="Slice Delta QP Max[1]" dword="8" bits="15:8" type="int" />
+ <field name="Slice Delta QP Max[2]" dword="8" bits="23:16" type="uint" />
+ <field name="Slice Delta QP Max[3]" dword="8" bits="31:24" type="int" />
+ <field name="Slice Delta QP Min[0]" dword="9" bits="7:0" type="int" />
+ <field name="Slice Delta QP Min[1]" dword="9" bits="15:8" type="int" />
+ <field name="Slice Delta QP Min[2]" dword="9" bits="23:16" type="int" />
+ <field name="Slice Delta QP Min[3]" dword="9" bits="31:24" type="int" />
+ <field name="Frame Bitrate Min" dword="10" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit Mode" dword="10" bits="14:14" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Min Unit" dword="10" bits="15:15" type="uint" />
+ <field name="Frame Bitrate Max" dword="10" bits="29:16" type="uint" />
+ <field name="Frame Bitrate Max Unit Mode" dword="10" bits="30:30" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Max Unit" dword="10" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="11" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="11" bits="30:16" type="uint" />
+ <field name="Slice Stats Stream-Out Enable" dword="11" bits="31:31" type="bool" />
+ <field name="Initial QP Value" dword="13" bits="7:0" type="int" />
+ <field name="Number of Active Reference Pictures from L0" dword="13" bits="13:8" type="uint" />
+ <field name="Number of Active Reference Pictures from L1" dword="13" bits="21:16" type="uint" />
+ <field name="Number of Reference Frames" dword="13" bits="28:24" type="uint" />
+ <field name="Current Picture Has Performed MMCO5" dword="13" bits="29:29" type="bool" />
+ <field name="Pic Order Present" dword="14" bits="0:0" type="bool" />
+ <field name="Delta Pic Order Always Zero" dword="14" bits="1:1" type="bool" />
+ <field name="Pic Order Count Type" dword="14" bits="3:2" type="uint" />
+ <field name="Slice Group Map Type" dword="14" bits="10:8" type="uint" />
+ <field name="Redundant Pic Count Present" dword="14" bits="11:11" type="bool" />
+ <field name="Number of Slice Groups" dword="14" bits="14:12" type="uint" />
+ <field name="Deblocking Filter Control Present" dword="14" bits="15:15" type="bool" />
+ <field name="Log2 Max Frame Number" dword="14" bits="23:16" type="uint" />
+ <field name="Log2 Max Pic Order Count LSB" dword="14" bits="31:24" type="uint" />
+ <field name="Slice Group Change Rate" dword="15" bits="15:0" type="uint" />
+ <field name="Current Picture Frame Number" dword="15" bits="31:16" type="uint" />
+ <field name="Current Frame View ID" dword="16" bits="9:0" type="uint" />
+ <field name="Max View IDXL0" dword="16" bits="15:12" type="uint" />
+ <field name="Max View IDXL1" dword="16" bits="21:18" type="uint" />
+ <field name="Inter View Order Disable" dword="16" bits="31:31" type="bool" />
+ <field name="Rho Domain Average MB QP" dword="17" bits="21:16" type="uint" />
+ <field name="Threshold Size" dword="19" bits="31:0" type="uint" />
+ <field name="Target Slice Size" dword="20" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MFX_AVC_SLICE_STATE" bias="2" length="10" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="8" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Slice Type" dword="1" bits="3:0" type="uint" prefix="AVC_ST">
+ <value name="P Slice" value="0" />
+ <value name="B Slice" value="1" />
+ <value name="I Slice" value="2" />
+ </field>
+ <field name="Log2 Weight Denominator Luma" dword="2" bits="2:0" type="uint" />
+ <field name="Log2 Weight Denominator Chroma" dword="2" bits="10:8" type="uint" />
+ <field name="Number of Reference Pictures in Inter-prediction List 0" dword="2" bits="21:16" type="uint" />
+ <field name="Number of Reference Pictures in Inter-prediction List 1" dword="2" bits="29:24" type="uint" />
+ <field name="Slice Alpha C0 Offset Div2" dword="3" bits="3:0" type="int" />
+ <field name="Slice Beta Offset Div2" dword="3" bits="11:8" type="int" />
+ <field name="Slice Quantization Parameter" dword="3" bits="21:16" type="uint" />
+ <field name="CABAC Init IDC" dword="3" bits="25:24" type="uint" />
+ <field name="Disable Deblocking Filter Indicator" dword="3" bits="28:27" type="uint" />
+ <field name="Direct Prediction Type" dword="3" bits="29:29" type="uint">
+ <value name="Temporal" value="0" />
+ <value name="Spatial" value="1" />
+ </field>
+ <field name="Weighted Prediction Indicator" dword="3" bits="31:30" type="uint" />
+ <field name="Slice Start MB Number" dword="4" bits="14:0" type="uint" />
+ <field name="Slice Horizontal Position" dword="4" bits="23:16" type="uint" />
+ <field name="Slice Vertical Position" dword="4" bits="31:24" type="uint" />
+ <field name="Next Slice Horizontal Position" dword="5" bits="7:0" type="uint" />
+ <field name="Next Slice Vertical Position" dword="5" bits="23:16" type="uint" />
+ <field name="Stream ID" dword="6" bits="1:0" type="uint" />
+ <field name="Slice ID" dword="6" bits="7:4" type="uint" />
+ <field name="CABAC Zero Word Insertion Enable" dword="6" bits="12:12" type="bool" />
+ <field name="Emulation Byte Slice Insert Enable" dword="6" bits="13:13" type="bool" />
+ <field name="Tail Insertion Present" dword="6" bits="15:15" type="bool" />
+ <field name="Slice Data Insertion Present" dword="6" bits="16:16" type="bool" />
+ <field name="Header Insertion Present" dword="6" bits="17:17" type="bool" />
+ <field name="Last Slice Group" dword="6" bits="19:19" type="bool" />
+ <field name="MB Type Skip Conversion Disable" dword="6" bits="20:20" type="bool" />
+ <field name="MB Type Direct Conversion Disable" dword="6" bits="21:21" type="bool" />
+ <field name="Rate Control Panic Type" dword="6" bits="22:22" type="uint">
+ <value name="QP Panic" value="0" />
+ <value name="CBP Panic" value="1" />
+ </field>
+ <field name="Rate Control Panic Enable" dword="6" bits="23:23" type="bool" />
+ <field name="Rate Control Stable Tolerance" dword="6" bits="27:24" type="uint" />
+ <field name="Rate Control Triggle Mode" dword="6" bits="29:28" type="uint">
+ <value name="Always Rate Control" value="0" />
+ <value name="Gentle Rate Control" value="1" />
+ <value name="Loose Rate Control" value="2" />
+ </field>
+ <field name="Reset Rate Control Counter" dword="6" bits="30:30" type="bool" />
+ <field name="Rate Control Counter Enable" dword="6" bits="31:31" type="uint" />
+ <field name="Indirect PAK-BSE Data Start Address" dword="7" bits="28:0" type="offset" />
+ <field name="Grow Init" dword="8" bits="3:0" type="uint" />
+ <field name="Grow Resistance" dword="8" bits="7:4" type="uint" />
+ <field name="Shrink Init" dword="8" bits="11:8" type="uint" />
+ <field name="Shrink Resistance" dword="8" bits="15:12" type="uint" />
+ <field name="QP Max Positive Modifier Magnitude" dword="8" bits="23:16" type="uint" />
+ <field name="QP Max Negative Modifier Magnitude" dword="8" bits="31:24" type="uint" />
+ <field name="Correct 1" dword="9" bits="3:0" type="uint" />
+ <field name="Correct 2" dword="9" bits="7:4" type="uint" />
+ <field name="Correct 3" dword="9" bits="11:8" type="uint" />
+ <field name="Correct 4" dword="9" bits="15:12" type="uint" />
+ <field name="Correct 5" dword="9" bits="19:16" type="uint" />
+ <field name="Correct 6" dword="9" bits="23:20" type="uint" />
+ <field name="Round Intra" dword="9" bits="26:24" type="uint">
+ <value name="+1/16" value="0" />
+ <value name="+2/16" value="1" />
+ <value name="+3/16" value="2" />
+ <value name="+4/16" value="3" />
+ <value name="+5/16" value="4" />
+ <value name="+6/16" value="5" />
+ <value name="+7/16" value="6" />
+ <value name="+8/16" value="7" />
+ </field>
+ <field name="Round Intra Enable" dword="9" bits="27:27" type="bool" />
+ <field name="Round Inter" dword="9" bits="30:28" type="uint">
+ <value name="+1/16" value="0" />
+ <value name="+2/16" value="1" />
+ <value name="+3/16" value="2" />
+ <value name="+4/16" value="3" />
+ <value name="+5/16" value="4" />
+ <value name="+6/16" value="5" />
+ <value name="+7/16" value="6" />
+ <value name="+8/16" value="7" />
+ </field>
+ <field name="Round Inter Enable" dword="9" bits="31:31" type="bool" />
+ <field name="CV0" dword="10" bits="3:0" type="uint" />
+ <field name="CV1" dword="10" bits="7:4" type="uint" />
+ <field name="CV2" dword="10" bits="11:8" type="uint" />
+ <field name="CV3" dword="10" bits="15:12" type="uint" />
+ <field name="CV4" dword="10" bits="19:16" type="uint" />
+ <field name="CV5" dword="10" bits="23:20" type="uint" />
+ <field name="CV6" dword="10" bits="27:24" type="uint" />
+ <field name="CV7" dword="10" bits="31:28" type="uint" />
+ </instruction>
+ <instruction name="MFX_BSP_BUF_BASE_ADDR_STATE" bias="2" length="10" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="8" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="4" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="BSD/MPC Row Store Scratch Buffer - Address" dword="1" bits="47:6" type="address" />
+ <field name="BSD/MPC Row Store Scratch Buffer - Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="MPR Row Store Scratch Buffer - Address" dword="4" bits="47:6" type="address" />
+ <field name="MPR Row Store Scratch Buffer - Attributes" dword="6" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Bitplane Read Buffer - Address" dword="7" bits="47:6" type="address" />
+ <field name="Bitplane Read Buffer - Attributes" dword="9" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </instruction>
+ <instruction name="MFX_DBK_OBJECT" bias="2" length="13" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="11" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pre Deblocking Source - Address" dword="1" bits="47:6" type="address" />
+ <field name="Pre Deblocking Source - MOCS" dword="3" bits="6:0" type="uint" nonzero="true" />
+ <field name="Pre Deblocking Source - Arbitration Priority Control" dword="3" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Pre Deblocking Source - Memory Compression Enable" dword="3" bits="9:9" type="bool" />
+ <field name="Pre Deblocking Source - Memory Compression Mode" dword="3" bits="10:10" type="uint" />
+ <field name="Pre Deblocking Source - Tiled Resource Mode" dword="3" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ <field name="Deblocking Control - Address" dword="4" bits="47:6" type="address" />
+ <field name="Deblocking Control - MOCS" dword="6" bits="6:0" type="uint" nonzero="true" />
+ <field name="Deblocking Control - Arbitration Priority Control" dword="6" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblocking Control - Memory Compression Enable" dword="6" bits="9:9" type="bool" />
+ <field name="Deblocking Control - Memory Compression Mode" dword="6" bits="10:10" type="uint" />
+ <field name="Deblocking Control - Tiled Resource Mode" dword="6" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ <field name="Deblocking Destination - Address High" dword="7" bits="47:6" type="address" />
+ <field name="Deblocking Destination - MOCS" dword="9" bits="6:0" type="uint" nonzero="true" />
+ <field name="Deblocking Destination - Arbitration Priority Control" dword="9" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblocking Destination - Memory Compression Enable" dword="9" bits="9:9" type="bool" />
+ <field name="Deblocking Destination - Memory Compression Mode" dword="9" bits="10:10" type="uint" />
+ <field name="Deblocking Destination - Tiled Resource Mode" dword="9" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ <field name="Deblock Row Store - Address" dword="10" bits="47:6" type="address" />
+ <field name="CoeffProbability Stream-In - MOCS" dword="12" bits="6:0" type="uint" nonzero="true" />
+ <field name="Deblock Row Store - Arbitration Priority Control" dword="12" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Deblock Row Store - Memory Compression Enable" dword="12" bits="9:9" type="bool" />
+ <field name="Deblock Row Store - Memory Compression Mode" dword="12" bits="10:10" type="uint" />
+ <field name="Deblock Row Store - Tiled Resource Mode" dword="12" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ </instruction>
+ <instruction name="MFX_FQM_STATE" bias="2" length="34" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="32" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="AVC" dword="1" bits="1:0" type="uint">
+ <value name="AVC_4x4_Intra_MATRIX" value="0" />
+ <value name="AVC_4x4_Inter_MATRIX" value="1" />
+ <value name="AVC_8x8_Intra_MATRIX" value="2" />
+ <value name="AVC_8x8_Inter_MATRIX" value="3" />
+ </field>
+ <field name="MPEG2" dword="1" bits="1:0" type="uint">
+ <value name="MPEG_INTRA_QUANTIZER_MATRIX" value="0" />
+ <value name="MPEG_NON_INTRA_QUANTIZER_MATRIX" value="1" />
+ </field>
+ <field name="JPEG" dword="1" bits="1:0" type="uint">
+ <value name="JPEG_Luma_Y_QUANTIZER_MATRIX (or R)" value="0" />
+ <value name="JPEG_Chroma_Cb_QUANTIZER_MATRIX (or G)" value="1" />
+ <value name="JPEG_Chroma_Cr_QUANTIZER_MATRIX (or B)" value="2" />
+ </field>
+ <group count="64" dword="2" size="8">
+ <field name="Quantizer Matrix 8x8" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_JPEG_PIC_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="7" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Input Format YUV" dword="1" bits="2:0" type="uint" />
+ <field name="Output MCU Structure" dword="1" bits="2:0" type="uint" prefix="MCU">
+ <value name="YUV400" value="0" />
+ <value name="YUV420" value="1" />
+ <value name="YUV422H_2Y" value="2" />
+ <value name="RGB" value="3" />
+ </field>
+ <field name="Rotation" dword="1" bits="5:4" type="uint" />
+ <field name="Output Format YUV" dword="1" bits="11:8" type="uint" />
+ <field name="Input Surface Format YUV" dword="1" bits="11:8" type="uint" prefix="IS">
+ <value name="NV12" value="1" />
+ <value name="UYVY" value="2" />
+ <value name="YUY2" value="3" />
+ <value name="Y8" value="4" />
+ <value name="RGB" value="5" />
+ </field>
+ <field name="Average Down Sampling" dword="1" bits="16:16" type="uint" />
+ <field name="Vertical Down-Sampling Enable" dword="1" bits="17:17" type="bool" />
+ <field name="Horizontal Down-Sampling Enable" dword="1" bits="18:18" type="bool" />
+ <field name="Vertical Up-Sampling Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Pixels In Vertical Last MCU" dword="1" bits="25:21" type="uint" />
+ <field name="Pixels In Horizontal Last MCU" dword="1" bits="30:26" type="uint" />
+ <field name="Frame Width In Blocks" dword="2" bits="12:0" type="uint" />
+ <field name="Rounding Quant" dword="2" bits="15:13" type="uint" />
+ <field name="Frame Height In Blocks" dword="2" bits="28:16" type="uint" />
+ <field name="Output Pixel Normalize" dword="2" bits="29:29" type="uint" />
+ </instruction>
+ <instruction name="MFX_MPEG2_PIC_STATE" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Scan Order" dword="1" bits="6:6" type="uint">
+ <value name="MPEG_ZIGZAG_SCAN" value="0" />
+ <value name="MPEG_ALTERNATE_VERTICAL_SCAN" value="1" />
+ </field>
+ <field name="Intra VLC Format" dword="1" bits="7:7" type="uint" />
+ <field name="Quantizer Scale Type" dword="1" bits="8:8" type="uint">
+ <value name="MPEG_QSCALE_LINEAR" value="0" />
+ <value name="MPEG_QSCALE_NONLINEAR" value="1" />
+ </field>
+ <field name="Concealment MV" dword="1" bits="9:9" type="bool" />
+ <field name="Frame Prediction Frame DCT" dword="1" bits="10:10" type="uint" />
+ <field name="Top Field First" dword="1" bits="11:11" type="bool" />
+ <field name="Picture Structure" dword="1" bits="13:12" type="uint">
+ <value name="MPEG_TOP_FIELD" value="1" />
+ <value name="MPEG_BOTTOM_FIELD" value="2" />
+ <value name="MPEG_FRAME" value="3" />
+ </field>
+ <field name="Intra DC Precision" dword="1" bits="15:14" type="uint" />
+ <field name="F_code[0][0]" dword="1" bits="19:16" type="uint" />
+ <field name="F_code[0][1]" dword="1" bits="23:20" type="uint" />
+ <field name="F_code[1][0]" dword="1" bits="27:24" type="uint" />
+ <field name="F_code[1][1]" dword="1" bits="31:28" type="uint" />
+ <field name="Disable Mismatch" dword="2" bits="0:0" type="bool" />
+ <field name="Mismatch Control Disable" dword="2" bits="1:1" type="bool" />
+ <field name="Picture Coding Type" dword="2" bits="10:9" type="uint">
+ <value name="MPEG_I_PICTURE" value="1" />
+ <value name="MPEG_P_PICTURE" value="2" />
+ <value name="MPEG_B_PICTURE" value="3" />
+ </field>
+ <field name="Load Bitstream Pointer Per Slice" dword="2" bits="14:14" type="bool" />
+ <field name="P/B Slice Predicted MV Override" dword="2" bits="24:24" type="uint">
+ <value name="Predicted" value="0" />
+ <value name="ZERO" value="1" />
+ </field>
+ <field name="P/B Slice Predicted Bi-direction MV Type Override" dword="2" bits="26:25" type="uint" prefix="MPEG2_MVTO">
+ <value name="BID" value="0" />
+ <value name="RESERVED" value="1" />
+ <value name="FWD" value="2" />
+ <value name="BWD" value="3" />
+ </field>
+ <field name="P/B Slice Concealment Mode" dword="2" bits="29:28" type="uint" prefix="MPEG2_CM">
+ <value name="INTER" value="0" />
+ <value name="LEFT" value="1" />
+ <value name="ZERO" value="2" />
+ <value name="INTRA" value="3" />
+ </field>
+ <field name="I Slice Concealment Mode" dword="2" bits="31:31" type="uint" prefix="MPEG2_CM">
+ <value name="Intra Concealment" value="0" />
+ <value name="Inter Concealment" value="1" />
+ </field>
+ <field name="Frame Width In MBs" dword="3" bits="7:0" type="uint" />
+ <field name="Frame Height In MBs" dword="3" bits="23:16" type="uint" />
+ <field name="Slice Concealment Disable" dword="3" bits="31:31" type="bool" />
+ <field name="Round Intra DC" dword="4" bits="2:1" type="uint" />
+ <field name="Round Inter DC" dword="4" bits="6:4" type="uint" />
+ <field name="Round Intra AC" dword="4" bits="10:8" type="uint" />
+ <field name="Round Inter AC," dword="4" bits="14:12" type="uint" />
+ <field name="Minimum Frame Size" dword="4" bits="31:16" type="uint" />
+ <field name="Intra MB Max Bit Control" dword="5" bits="0:0" type="uint" />
+ <field name="Inter MB Max Bit Control" dword="5" bits="1:1" type="uint" />
+ <field name="Frame Bitrate Max Report" dword="5" bits="2:2" type="uint" />
+ <field name="Frame Bitrate Min Report" dword="5" bits="3:3" type="uint" />
+ <field name="MBRateControlMask" dword="5" bits="9:9" type="uint" />
+ <field name="Minimum Frame Size Units" dword="5" bits="11:10" type="uint" prefix="MPEG2_MFSU">
+ <value name="Compatibility mode" value="0" />
+ <value name="16 bytes" value="1" />
+ <value name="4Kb" value="2" />
+ <value name="16Kb" value="3" />
+ </field>
+ <field name="Inter MB Force CBP to Zero Control" dword="5" bits="12:12" type="uint" />
+ <field name="Frame Size Control" dword="5" bits="16:16" type="uint" />
+ <field name="Intra MB Conformance Max Size" dword="6" bits="11:0" type="uint" />
+ <field name="Inter MB Conformance Max Size" dword="6" bits="27:16" type="uint" />
+ <field name="Slice Delta QP Max[0]" dword="8" bits="7:0" type="int" />
+ <field name="Slice Delta QP Max[1]" dword="8" bits="15:8" type="int" />
+ <field name="Slice Delta QP Max[2]" dword="8" bits="23:16" type="int" />
+ <field name="Slice Delta QP Max[3]" dword="8" bits="31:24" type="int" />
+ <field name="Slice Delta QP Min[0]" dword="9" bits="7:0" type="int" />
+ <field name="Slice Delta QP Min[1]" dword="9" bits="15:8" type="int" />
+ <field name="Slice Delta QP Min[2]" dword="9" bits="23:16" type="int" />
+ <field name="Slice Delta QP Min[3]" dword="9" bits="31:24" type="int" />
+ <field name="Frame Bitrate Min" dword="10" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Min Unit Mode" dword="10" bits="14:14" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New Mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Min Unit" dword="10" bits="15:15" type="uint" />
+ <field name="Frame Bitrate Max" dword="10" bits="29:16" type="uint" />
+ <field name="Frame Bitrate Max Unit Mode" dword="10" bits="30:30" type="uint">
+ <value name="Compatibility mode" value="0" />
+ <value name="New mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Max Unit" dword="10" bits="31:31" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="11" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="11" bits="30:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_MPEG_TS_CONTROL command" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="11" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Video PacketID Header Parameter" dword="1" bits="12:0" type="uint" />
+ <field name="StreamID Lower Nibble" dword="1" bits="23:20" type="uint" />
+ <field name="Output TS Packet Grouping Select" dword="1" bits="24:24" type="uint" />
+ <field name="Copy Right Flag In PES Header" dword="1" bits="25:25" type="uint" />
+ <field name="Original Or Flag In PES Header" dword="1" bits="26:26" type="uint" />
+ <field name="DSM Trick Mode Flag In PES Header" dword="1" bits="27:27" type="uint" />
+ <field name="Additional Copy Info Flag In PES Header" dword="1" bits="28:28" type="bool" />
+ <field name="Payload Unit Start Indicator Control" dword="1" bits="29:29" type="uint" />
+ <field name="PCR 90 KHz Component Least Significant Bits" dword="2" bits="31:0" type="uint" />
+ <field name="90KHz counter MSB" dword="3" bits="0:0" type="uint" />
+ <field name="27MHz Counter" dword="3" bits="31:23" type="uint" />
+ <field name="PTS Delta" dword="4" bits="31:0" type="uint" />
+ <field name="MPEGTS Packet Count" dword="5" bits="15:0" type="uint" />
+ <field name="Continuity Counter" dword="5" bits="31:28" type="uint" />
+ </instruction>
+ <instruction name="MFX_PIPE_BUF_ADDR_STATE" bias="2" length="65" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="63" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Pre Deblocking Destination - Address" dword="1" bits="47:6" type="address" />
+ <field name="Pre Deblocking Destination - Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Post Deblocking Destination - Address" dword="4" bits="47:6" type="address" />
+ <field name="Post Deblocking Destination - Attributes" dword="6" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Original Uncompressed Picture Source - Address" dword="7" bits="47:6" type="address" />
+ <field name="Original Uncompressed Picture Source - Attributes" dword="9" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Stream-Out Data Destination - Address" dword="10" bits="47:6" type="address" />
+ <field name="Stream-Out Data Destination - Attributes" dword="12" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Intra Row Store Scratch Buffer - Address" dword="13" bits="47:6" type="address" />
+ <field name="Intra Row Store Scratch Buffer - Attributes" dword="15" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocking Filter Row Store Scratch - Address" dword="16" bits="47:6" type="address" />
+ <field name="Deblocking Filter Row Store Scratch - Attributes" dword="18" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <group count="16" dword="19" size="64">
+ <field name="Reference Picture - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Reference Picture - Attributes" dword="51" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="MB Status Buffer - Address" dword="52" bits="47:6" type="address" />
+ <field name="MB Status Buffer - Attributes" dword="54" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="MB ILDB Stream-Out Buffer - Address" dword="55" bits="47:6" type="address" />
+ <field name="MB ILDB Stream-Out Buffer - Attributes" dword="57" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Second MB ILDB Stream-Out Buffer - Address" dword="58" bits="47:6" type="address" />
+ <field name="Second MB ILDB Stream-Out Buffer - Attributes" dword="60" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <group count="16" dword="61" size="2">
+ <field name="Reference Picture - Memory Compression Mode" dword="0" bits="1:1" type="uint" />
+ <field name="Reference Picture - Memory Compression Enable" dword="0" bits="0:0" type="bool" />
+ </group>
+ <field name="Scaled Reference Surface - Address" dword="62" bits="47:6" type="address" />
+ <field name="Scaled Reference Surface - Attributes" dword="64" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SliceSize Stream-Out Data Destination - Address" dword="65" bits="47:6" type="address" />
+ <field name="SliceSize Stream-Out Data Destination - Attributes" dword="67" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </instruction>
+ <instruction name="MFX_PIPE_MODE_SELECT" bias="2" length="5" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="3" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Standard Select" dword="1" bits="3:0" type="uint" prefix="SS">
+ <value name="MPEG2" value="0" />
+ <value name="VC1" value="1" />
+ <value name="AVC" value="2" />
+ <value name="JPEG" value="3" />
+ <value name="VP8" value="5" />
+ <value name="UVLD" value="15" />
+ </field>
+ <field name="Codec Select" dword="1" bits="4:4" type="uint">
+ <value name="Decode" value="0" />
+ <value name="Encode" value="1" />
+ </field>
+ <field name="Stitch Mode" dword="1" bits="5:5" type="bool" />
+ <field name="Frame Statistics Stream-Out Enable" dword="1" bits="6:6" type="bool" />
+ <field name="Scaled Surface Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Pre Deblocking Output Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Post Deblocking Output Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Stream-Out Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Pic Error/Status Report Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Deblocker Stream-Out Enable" dword="1" bits="12:12" type="bool" />
+ <field name="VDEnc Mode" dword="1" bits="13:13" type="uint" prefix="VM">
+ <value name="MBEnc Mode" value="0" />
+ <value name="VDEnc Mode" value="1" />
+ </field>
+ <field name="Standalone VDEnc Mode Enable" dword="1" bits="14:14" type="bool" />
+ <field name="Decoder Mode Select" dword="1" bits="16:15" type="uint">
+ <value name="VLD Mode" value="0" />
+ <value name="IT Mode" value="1" />
+ <value name="Deblocker Mode" value="2" />
+ <value name="Interlayer Mode" value="3" />
+ </field>
+ <field name="Decoder Short Format Mode" dword="1" bits="17:17" type="uint">
+ <value name="Short Format Driver Interface" value="0" />
+ <value name="Long Format Driver Interface" value="1" />
+ </field>
+ <field name="Extended Stream-Out Enable" dword="1" bits="18:18" type="bool" />
+ <field name="Pic Status/Error Report ID" dword="3" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MFX_QM_STATE" bias="2" length="18" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="16" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="7" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="AVC" dword="1" bits="1:0" type="uint">
+ <value name="AVC_4x4_Intra_MATRIX" value="0" />
+ <value name="AVC_4x4_Inter_MATRIX" value="1" />
+ <value name="AVC_8x8_Intra_MATRIX" value="2" />
+ <value name="AVC_8x8_Inter_MATRIX" value="3" />
+ </field>
+ <field name="MPEG2" dword="1" bits="1:0" type="uint">
+ <value name="MPEG_INTRA_QUANTIZER_MATRIX" value="0" />
+ <value name="MPEG_NON_INTRA_QUANTIZER_MATRIX" value="1" />
+ </field>
+ <field name="JPEG" dword="1" bits="1:0" type="uint">
+ <value name="JPEG_Luma_Y_QUANTIZER_MATRIX (or R)" value="0" />
+ <value name="JPEG_Chroma_Cb_QUANTIZER_MATRIX (or G)" value="1" />
+ <value name="JPEG_Chroma_Cr_QUANTIZER_MATRIX (or B)" value="2" />
+ </field>
+ <group count="64" dword="2" size="8">
+ <field name="Forward Quantizer Matrix" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MFX_SURFACE_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface ID" dword="1" bits="3:0" type="uint" prefix="MFX">
+ <value name="Reference Picture" value="0" />
+ <value name="Source Input Picture" value="4" />
+ <value name="Reconstructed Scaled Reference Picture" value="5" />
+ </field>
+ <field name="Cr(V)/Cb(U) Pixel Offset V Direction" dword="2" bits="1:0" type="u0.2" />
+ <field name="Width" dword="2" bits="17:4" type="uint" />
+ <field name="Height" dword="2" bits="31:18" type="uint" />
+ <field name="Tile Walk" dword="3" bits="0:0" type="uint" prefix="TW">
+ <value name="XMAJOR" value="0" />
+ <value name="YMAJOR" value="1" />
+ </field>
+ <field name="Tiled Surface" dword="3" bits="1:1" type="bool" />
+ <field name="Half Pitch for Chroma" dword="3" bits="2:2" type="bool" />
+ <field name="Surface Pitch" dword="3" bits="19:3" type="uint" />
+ <field name="Interleave Chroma" dword="3" bits="27:27" type="bool" />
+ <field name="Surface Format" dword="3" bits="31:28" type="uint" prefix="MFX">
+ <value name="YCRCB_NORMAL" value="0" />
+ <value name="YCRCB_SWAPUVY" value="1" />
+ <value name="YCRCB_SWAPUV" value="2" />
+ <value name="YCRCB_SWAPY" value="3" />
+ <value name="PLANAR_420_8" value="4" />
+ <value name="PLANAR_411_8" value="5" />
+ <value name="PLANAR_422_8" value="6" />
+ <value name="STMM_DN_STATISTICS" value="7" />
+ <value name="R10G10B10A2_UNORM" value="8" />
+ <value name="R8G8B8A8_UNORM" value="9" />
+ <value name="R8B8_UNORM (CrCb)" value="10" />
+ <value name="R8_UNORM (Cr/Cb)" value="11" />
+ <value name="Y8_UNORM" value="12" />
+ </field>
+ <field name="Y Offset for U(Cb)" dword="4" bits="14:0" type="uint" />
+ <field name="X Offset for U(Cb)" dword="4" bits="30:16" type="uint" />
+ <field name="Y Offset for V(Cr)" dword="5" bits="15:0" type="uint" />
+ <field name="X Offset for V(Cr)" dword="5" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MFX_VP8_BSP_BUF_BASE_ADDR_STATE" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="4" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Header - Address" dword="1" bits="63:0" type="address" />
+ <field name="Frame Header - Attributes" dword="3" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Intermediate Buffer - Address" dword="4" bits="63:0" type="address" />
+ <field name="Intermediate Buffer - Attributes" dword="6" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Intermediate Buffer Partition Offset" dword="7" bits="255:0" type="uint" />
+ <field name="Intermediate Buffer Max Size" dword="15" bits="31:0" type="uint" />
+ <field name="Final Frame - Address" dword="16" bits="63:0" type="address" />
+ <field name="Final Frame - Attributes" dword="18" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Final Frame Byte Offset" dword="19" bits="5:0" type="uint" />
+ <field name="Stream-Out - Address" dword="20" bits="63:0" type="address" />
+ <field name="Stream-Out - Attributes" dword="22" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Coeff Probs Stream-In Surface - Address" dword="23" bits="63:0" type="address" />
+ <field name="Coeff Probs Stream-In Surface - Attributes" dword="25" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Token Statistics Surface - Address" dword="26" bits="63:0" type="address" />
+ <field name="Token Statistics Surface - Attributes" dword="28" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="MPC Row Store Surface - Address" dword="29" bits="63:0" type="address" />
+ <field name="MPC Row Store Surface - Attributes" dword="31" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </instruction>
+ <instruction name="MFX_VP8_ENCODER_CFG" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="4" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Performance Counter Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Final Bitstream Output Disable" dword="1" bits="1:1" type="bool" />
+ <field name="Token Statistics Output Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Bitstream Statistics Output Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Update Segment Feature Data Flag" dword="1" bits="4:4" type="bool" />
+ <field name="Skip Final Bitstream when Over/Underflow" dword="1" bits="5:5" type="bool" />
+ <field name="Rate Control Initial Pass" dword="1" bits="6:6" type="bool" />
+ <field name="Per Segment Delta Qindex / LoopFilter Disable" dword="1" bits="7:7" type="bool" />
+ <field name="Finer BRC Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Compressed Bitstream Output Disable" dword="1" bits="9:9" type="bool" />
+ <field name="VBSP Unit Power Clock Gating Disable" dword="1" bits="10:10" type="bool" />
+ <field name="Max Frame Bit count Rate Control Enable" dword="2" bits="0:0" type="bool" />
+ <field name="Min Frame Bit Count Rate Control Enable" dword="2" bits="1:1" type="bool" />
+ <field name="Max Inter MB Bit Count Check Enable" dword="2" bits="2:2" type="bool" />
+ <field name="Max Intra MB Bit Count Check Enable" dword="2" bits="3:3" type="bool" />
+ <field name="Intermediate Bit Buffer Overrun Enable" dword="2" bits="4:4" type="bool" />
+ <field name="Final Bitstream Buffer Overrun Enable" dword="2" bits="5:5" type="bool" />
+ <field name="QIndex Clamp High for Underflow" dword="2" bits="6:6" type="bool" />
+ <field name="QIndex Clamp High for Overflow" dword="2" bits="7:7" type="bool" />
+ <field name="Max Inter MB Bit Count" dword="3" bits="11:0" type="uint" />
+ <field name="Max Intra MB Bit Count Limit" dword="3" bits="27:16" type="uint" />
+ <field name="Frame Bitrate Max" dword="4" bits="13:0" type="uint" />
+ <field name="Frame Bitrate Max Unit" dword="4" bits="14:14" type="uint" />
+ <field name="Frame Bitrate Max Unit Mode" dword="4" bits="15:15" type="uint">
+ <value name="Compatibility Mode" value="0" />
+ <value name="New Mode" value="1" />
+ </field>
+ <field name="Frame Bitrate Min" dword="4" bits="29:16" type="uint" />
+ <field name="Frame Bitrate Min Unit" dword="4" bits="30:30" type="uint" />
+ <field name="Frame Bitrate Min Unit Mode" dword="4" bits="31:31" type="uint">
+ <value name="Compatibility Mode" value="0" />
+ <value name="New Mode" value="1" />
+ </field>
+ <field name="Frame Delta QIndex Max[0]" dword="5" bits="7:0" type="uint" />
+ <field name="Frame Delta QIndex Max[1]" dword="5" bits="15:8" type="uint" />
+ <field name="Frame Delta QIndex Max[2]" dword="5" bits="23:16" type="uint" />
+ <field name="Frame Delta QIndex Max[3]" dword="5" bits="31:24" type="uint" />
+ <field name="Frame Delta QIndex Min[0]" dword="6" bits="7:0" type="uint" />
+ <field name="Frame Delta QIndex Min[1]" dword="6" bits="15:8" type="uint" />
+ <field name="Frame Delta QIndex Min[2]" dword="6" bits="23:16" type="uint" />
+ <field name="Frame Delta QIndex Min[3]" dword="6" bits="31:24" type="uint" />
+ <field name="Per Segment Frame Delta QIndex Max[1]" dword="7" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta QIndex Min[1]" dword="8" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta QIndex Max[2]" dword="9" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta QIndex Min[2]" dword="10" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta QIndex Max[3]" dword="11" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta QIndex Min[3]" dword="12" bits="31:0" type="uint" />
+ <field name="Frame Delta Loop Filter Max[0]" dword="13" bits="7:0" type="uint" />
+ <field name="Frame Delta Loop Filter Max[1]" dword="13" bits="15:8" type="uint" />
+ <field name="Frame Delta Loop Filter Max[2]" dword="13" bits="23:16" type="uint" />
+ <field name="Frame Delta Loop Filter Max[3]" dword="13" bits="31:24" type="uint" />
+ <field name="Frame Delta Loop Filter Min[0]" dword="14" bits="7:0" type="uint" />
+ <field name="Frame Delta Loop Filter Min[1]" dword="14" bits="15:8" type="uint" />
+ <field name="Frame Delta Loop Filter Min[2]" dword="14" bits="23:16" type="uint" />
+ <field name="Frame Delta Loop Filter Min[3]" dword="14" bits="31:24" type="uint" />
+ <field name="Per Segment Frame Delta Loop Filter Max[1]" dword="15" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta Loop Filter Min[1]" dword="16" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta Loop Filter Max[2]" dword="17" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta Loop Filter Min[2]" dword="18" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta Loop Filter Max[3]" dword="19" bits="31:0" type="uint" />
+ <field name="Per Segment Frame Delta Loop Filter Min[3]" dword="20" bits="31:0" type="uint" />
+ <field name="Frame Bitrate Max Delta" dword="21" bits="14:0" type="uint" />
+ <field name="Frame Bitrate Min Delta" dword="21" bits="30:16" type="uint" />
+ <field name="Minimum Frame Size" dword="22" bits="15:0" type="uint" />
+ <field name="Minimum Frame Size Unit" dword="22" bits="17:16" type="uint">
+ <value name="Compatibility Mode" value="0" />
+ <value name="New Mode" value="1" />
+ </field>
+ <field name="Bitstream Format Version" dword="22" bits="22:20" type="uint" />
+ <field name="Show Frame" dword="22" bits="23:23" type="uint" />
+ <field name="Horizontal_Size_Code" dword="23" bits="15:0" type="uint" />
+ <field name="Vertical_Size_Code" dword="23" bits="31:16" type="uint" />
+ <field name="Frame Header Bit Count" dword="24" bits="31:0" type="uint" />
+ <field name="Frame Header Bin Buffer QIndex Update Pointer" dword="25" bits="31:0" type="uint" />
+ <field name="Frame Header Bin Buffer Loop Filter Update Pointer" dword="26" bits="31:0" type="uint" />
+ <field name="Frame Header Bin Buffer Token Update Pointer" dword="27" bits="31:0" type="uint" />
+ <field name="Frame Header Bin Buffer MV Update Pointer" dword="28" bits="31:0" type="uint" />
+ <field name="CV0" dword="29" bits="3:0" type="uint" />
+ <field name="CV1" dword="29" bits="7:4" type="uint" />
+ <field name="CV2" dword="29" bits="11:8" type="uint" />
+ <field name="CV3" dword="29" bits="15:12" type="uint" />
+ <field name="CV4" dword="29" bits="19:16" type="uint" />
+ <field name="CV5" dword="29" bits="23:20" type="uint" />
+ <field name="CV6" dword="29" bits="27:24" type="uint" />
+ <field name="CV7" dword="29" bits="31:28" type="uint" />
+ </instruction>
+ <instruction name="MFX_VP8_PAK_OBJECT" bias="2" length="7" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="5" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="9" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:24" type="uint" default="4" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Indirect PAK-MV Data Length" dword="1" bits="9:0" type="uint" />
+ <field name="Enable Inline MV data" dword="1" bits="29:29" type="bool" />
+ <field name="Indirect PAK-MV Data Start Address Offset" dword="2" bits="28:0" type="offset" />
+ <field name="Inline Data" dword="3" bits="127:0" type="uint" />
+ </instruction>
+ <instruction name="MFX_VP8_PIC_STATE" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="23:21" type="uint" default="0" />
+ <field name="Media Command OpCode" dword="0" bits="26:24" type="uint" default="4" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Width" dword="1" bits="7:0" type="uint" />
+ <field name="Frame Height" dword="1" bits="23:16" type="uint" />
+ <field name="MC Filter Select" dword="2" bits="0:0" type="uint" />
+ <field name="Chroma Full Pixel MC Filter Mode" dword="2" bits="1:1" type="uint" />
+ <field name="DBLK Filter Type" dword="2" bits="4:4" type="uint" />
+ <field name="Key Frame" dword="2" bits="5:5" type="bool" />
+ <field name="Segmentation ID Stream-Out Enable" dword="2" bits="6:6" type="bool" />
+ <field name="Segmentation ID Stream-In Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Segment Enable" dword="2" bits="8:8" type="bool" />
+ <field name="Update MB Segment Map" dword="2" bits="9:9" type="bool" />
+ <field name="MB NoCoeff Skip" dword="2" bits="10:10" type="bool" />
+ <field name="Mode Reference Loop Filter Delta Enable" dword="2" bits="11:11" type="bool" />
+ <field name="Golden Ref Picture MV Sign Bias" dword="2" bits="12:12" type="bool" />
+ <field name="Alternate Ref Pic MV Sign Bias" dword="2" bits="13:13" type="bool" />
+ <field name="Deblock Sharpness Level" dword="2" bits="18:16" type="uint" />
+ <field name="Log2 Num of Partition" dword="2" bits="25:24" type="uint">
+ <value name="1 Token partition" value="0" />
+ <value name="2 Token partition" value="1" />
+ <value name="4 Token partition" value="2" />
+ <value name="8 Token partition" value="3" />
+ </field>
+ <field name="DBLK Filter Level for Segment0" dword="3" bits="5:0" type="uint" />
+ <field name="DBLK Filter Level for Segment1" dword="3" bits="13:8" type="uint" />
+ <field name="DBLK Filter Level for Segment2" dword="3" bits="21:16" type="uint" />
+ <field name="DBLK Filter Level for Segment3" dword="3" bits="29:24" type="uint" />
+ <field name="Segment0 QIndex" dword="4" bits="6:0" type="uint" />
+ <field name="Segment1 QIndex" dword="4" bits="14:8" type="uint" />
+ <field name="Segment2 QIndex" dword="4" bits="22:16" type="uint" />
+ <field name="Segment3 QIndex" dword="4" bits="30:24" type="uint" />
+ <field name="Y2DC QIndex Delta" dword="5" bits="3:0" type="uint" />
+ <field name="Y2AC QIndex Delta Sign" dword="5" bits="4:4" type="uint" />
+ <field name="Y2AC QIndex Delta" dword="5" bits="11:8" type="uint" />
+ <field name="Y2AC QIndex Sign" dword="5" bits="12:12" type="uint" />
+ <field name="UVDC QIndex Delta" dword="5" bits="19:16" type="uint" />
+ <field name="UVDC QIndex Delta Sign" dword="5" bits="20:20" type="uint" />
+ <field name="UVAC QIndex Delta" dword="5" bits="27:24" type="uint" />
+ <field name="UVAC QIndex Delta Sign" dword="5" bits="28:28" type="uint" />
+ <field name="Y1DC QIndex Delta" dword="6" bits="3:0" type="uint" />
+ <field name="Y1DC QIndex Delta Sign" dword="6" bits="4:4" type="uint" />
+ <field name="Clamp QIndex Low" dword="7" bits="6:0" type="uint" />
+ <field name="Clamp QIndex High" dword="7" bits="14:8" type="uint" />
+ <field name="Quantizer Value [1][UVDC]" dword="8" bits="8:0" type="uint" />
+ <field name="Quantizer Value [1][UVAC]" dword="8" bits="24:16" type="uint" />
+ <field name="Quantizer Value [1][Y2DC]" dword="9" bits="8:0" type="uint" />
+ <field name="Quantizer Value [1][Y2AC]" dword="9" bits="24:16" type="uint" />
+ <field name="Quantizer Value [2][Y1DC]" dword="10" bits="8:0" type="uint" />
+ <field name="Quantizer Value [2][Y1AC]" dword="10" bits="24:16" type="uint" />
+ <field name="Quantizer Value [2][UVDC]" dword="11" bits="8:0" type="uint" />
+ <field name="Quantizer Value [2][UVAC]" dword="11" bits="24:16" type="uint" />
+ <field name="Quantizer Value [2][Y2DC]" dword="12" bits="8:0" type="uint" />
+ <field name="Quantizer Value [2][Y2AC]" dword="12" bits="24:16" type="uint" />
+ <field name="Quantizer Value [3][Y1DC]" dword="13" bits="8:0" type="uint" />
+ <field name="Quantizer Value [3][Y1AC]" dword="13" bits="24:16" type="uint" />
+ <field name="Quantizer Value [3][UVDC]" dword="14" bits="8:0" type="uint" />
+ <field name="Quantizer Value [3][UVAC]" dword="14" bits="24:16" type="uint" />
+ <field name="Quantizer Value [3][Y2DC]" dword="15" bits="8:0" type="uint" />
+ <field name="Quantizer Value [3][Y2AC]" dword="15" bits="24:16" type="uint" />
+ <field name="CoeffProbability Stream-In - Address" dword="16" bits="47:6" type="uint" />
+ <field name="CoeffProbability Stream-In - MOCS (Encoder only)" dword="18" bits="6:0" type="uint" nonzero="true" />
+ <field name="CoeffProbability Stream-In - Arbitration Priority Control" dword="18" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="CoeffProbability Stream-In - Memory Compression Enable" dword="18" bits="9:9" type="bool" />
+ <field name="CoeffProbability Stream-In - Memory Compression Mode" dword="18" bits="10:10" type="uint" />
+ <field name="CoeffProbability Stream-In - Tiled Resource Mode" dword="18" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ <field name="MBSegmentIDTreeProbs[0]" dword="19" bits="7:0" type="uint" />
+ <field name="MBSegmentIDTreeProbs[1]" dword="19" bits="15:8" type="uint" />
+ <field name="MBSegmentIDTreeProbs[2]" dword="19" bits="23:16" type="uint" />
+ <field name="InterPredFromGRefRefProb" dword="20" bits="7:0" type="uint" />
+ <field name="InterPredFromLastRefProb" dword="20" bits="15:8" type="uint" />
+ <field name="IntraMBProb" dword="20" bits="23:16" type="uint" />
+ <field name="MBNoCoeffSkipFalseProb" dword="20" bits="31:24" type="uint" />
+ <field name="YModeProb[0]" dword="21" bits="7:0" type="uint" />
+ <field name="YModeProb[1]" dword="21" bits="15:8" type="uint" />
+ <field name="YModeProb[2]" dword="21" bits="23:16" type="uint" />
+ <field name="YModeProb[3]" dword="21" bits="31:24" type="uint" />
+ <field name="UVModeProb[0]" dword="22" bits="7:0" type="uint" />
+ <field name="UVModeProb[1]" dword="22" bits="15:8" type="uint" />
+ <field name="UVModeProb[2]" dword="22" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][0]" dword="23" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][1]" dword="23" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][2]" dword="23" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][3]" dword="23" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[0][4]" dword="24" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][5]" dword="24" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][6]" dword="24" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][7]" dword="24" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[0][8]" dword="25" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][9]" dword="25" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][10]" dword="25" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][11]" dword="25" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[0][12]" dword="26" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][13]" dword="26" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][14]" dword="26" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[0][15]" dword="26" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[0][16]" dword="27" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[0][17]" dword="27" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[0][18]" dword="27" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][0]" dword="28" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][1]" dword="28" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][2]" dword="28" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][3]" dword="28" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[1][4]" dword="29" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][5]" dword="29" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][6]" dword="29" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][7]" dword="29" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[1][8]" dword="30" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][9]" dword="30" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][10]" dword="30" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][11]" dword="30" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[1][12]" dword="31" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][13]" dword="31" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][14]" dword="31" bits="23:16" type="uint" />
+ <field name="MVUpdateProbs[1][15]" dword="31" bits="31:24" type="uint" />
+ <field name="MVUpdateProbs[1][16]" dword="32" bits="7:0" type="uint" />
+ <field name="MVUpdateProbs[1][17]" dword="32" bits="15:8" type="uint" />
+ <field name="MVUpdateProbs[1][18]" dword="32" bits="23:16" type="uint" />
+ <field name="RefLFDelta0" dword="33" bits="6:0" type="int" />
+ <field name="RefLFDelta1" dword="33" bits="14:8" type="int" />
+ <field name="RefLFDelta2" dword="33" bits="22:16" type="int" />
+ <field name="RefLFDelta3" dword="33" bits="30:24" type="int" />
+ <field name="ModeLFDelta0" dword="34" bits="6:0" type="int" />
+ <field name="ModeLFDelta1" dword="34" bits="14:8" type="int" />
+ <field name="ModeLFDelta2" dword="34" bits="22:16" type="int" />
+ <field name="ModeLFDelta3" dword="34" bits="30:24" type="int" />
+ <field name="Segmentation ID Stream - Address" dword="35" bits="47:0" type="uint" />
+ <field name="CoeffProbability Stream-In - MOCS" dword="37" bits="6:0" type="uint" nonzero="true" />
+ <field name="Segmentation ID Stream - Arbitration Priority Control" dword="37" bits="8:7" type="uint">
+ <value name="Highest priority" value="0" />
+ <value name="Second highest priority" value="1" />
+ <value name="Third highest priority" value="2" />
+ <value name="Lowest priority" value="3" />
+ </field>
+ <field name="Segmentation ID Stream - Memory Compression Enable" dword="37" bits="9:9" type="bool" />
+ <field name="Segmentation ID Stream - Memory Compression Mode" dword="37" bits="10:10" type="uint" />
+ <field name="Segmentation ID Stream - Tiled Resource Mode" dword="37" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ </instruction>
+ <instruction name="MI_ATOMIC" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="ATOMIC OPCODE" dword="0" bits="15:8" type="Atomic_OPCODE" />
+ <field name="Return Data Control" dword="0" bits="16:16" type="bool" />
+ <field name="CS STALL" dword="0" bits="17:17" type="bool" />
+ <field name="Inline Data" dword="0" bits="18:18" type="bool" />
+ <field name="Data Size" dword="0" bits="20:19" type="uint" prefix="MI_ATOMIC">
+ <value name="DWORD" value="0" />
+ <value name="QWORD" value="1" />
+ <value name="OCTWORD" value="2" />
+ <value name="RESERVED" value="3" />
+ </field>
+ <field name="Post-Sync Operation" dword="0" bits="21:21" type="bool" />
+ <field name="Memory Type" dword="0" bits="22:22" type="uint">
+ <value name="Per Process Graphics Address" value="0" />
+ <value name="Global Graphics Address" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="47" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Memory Address" dword="1" bits="47:2" type="address" />
+ <field name="Operand1 Data Dword 0" dword="3" bits="31:0" type="uint" />
+ <field name="Operand2 Data Dword 0" dword="4" bits="31:0" type="uint" />
+ <field name="Operand1 Data Dword 1" dword="5" bits="31:0" type="uint" />
+ <field name="Operand2 Data Dword 1" dword="6" bits="31:0" type="uint" />
+ <field name="Operand1 Data Dword 2" dword="7" bits="31:0" type="uint" />
+ <field name="Operand2 Data Dword 2" dword="8" bits="31:0" type="uint" />
+ <field name="Operand1 Data Dword 3" dword="9" bits="31:0" type="uint" />
+ <field name="Operand2 Data Dword 3" dword="10" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="MI_BATCH_BUFFER_START" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Address Space Indicator" dword="0" bits="8:8" type="uint" prefix="ASI">
+ <value name="GGTT" value="0" />
+ <value name="PPGTT" value="1" />
+ </field>
+ <field name="Resource Streamer Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Predication Enable" dword="0" bits="15:15" type="bool" />
+ <field name="Add Offset Enable" dword="0" bits="16:16" type="bool" />
+ <field name="Second Level Batch Buffer" dword="0" bits="22:22" type="uint">
+ <value name="First level batch" value="0" />
+ <value name="Second level batch" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="49" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Batch Buffer Start Address" dword="1" bits="63:2" type="address" />
+ </instruction>
+ <instruction name="MI_CONDITIONAL_BATCH_BUFFER_END" bias="2" length="4">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Compare Mask Mode" dword="0" bits="19:19" type="uint">
+ <value name="Compare Mask Mode Disabled" value="0" />
+ <value name="Compare Mask Mode Enabled" value="1" />
+ </field>
+ <field name="Compare Semaphore" dword="0" bits="21:21" type="uint" default="0" />
+ <field name="Use Global GTT" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="54" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Compare Data Dword" dword="1" bits="31:0" type="uint" />
+ <field name="Compare Address" dword="2" bits="63:3" type="address" />
+ </instruction>
+ <instruction name="MI_DISPLAY_FLIP" bias="2" length="3" engine="render|blitter">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Display Plane Select" dword="0" bits="12:8" type="uint">
+ <value name="Display Plane 1" value="0" />
+ <value name="Display Plane 2" value="1" />
+ <value name="Display Plane 3" value="2" />
+ <value name="Display Plane 4" value="4" />
+ <value name="Display Plane 5" value="5" />
+ <value name="Display Plane 6" value="6" />
+ <value name="Display Plane 7" value="7" />
+ <value name="Display Plane 8" value="8" />
+ <value name="Display Plane 9" value="9" />
+ <value name="Display Plane 10" value="10" />
+ <value name="Display Plane 11" value="11" />
+ <value name="Display Plane 12" value="12" />
+ </field>
+ <field name="Async Flip Indicator" dword="0" bits="22:22" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="20" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Tile Parameter" dword="1" bits="2:0" type="uint" />
+ <field name="Display Buffer Pitch" dword="1" bits="15:6" type="uint" />
+ <field name="Stereoscopic 3D Mode" dword="1" bits="31:31" type="bool" />
+ <field name="Flip Type" dword="2" bits="1:0" type="uint">
+ <value name="Sync Flip" value="0" />
+ <value name="Async Flip" value="1" />
+ <value name="Stereo 3D Flip" value="2" />
+ </field>
+ <field name="Display Buffer Base Address" dword="2" bits="31:12" type="address" />
+ <field name="Left Eye Display Buffer Base Address" dword="3" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="MI_FLUSH_DW" bias="2" length="5" engine="blitter|video">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="3" />
+ <field name="Video Pipeline Cache Invalidate" dword="0" bits="7:7" type="bool" />
+ <field name="Notify Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Flush LLC" dword="0" bits="9:9" type="bool" />
+ <field name="Post-Sync Operation" dword="0" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="TLB Invalidate" dword="0" bits="18:18" type="bool" />
+ <field name="Store Data Index" dword="0" bits="21:21" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="38" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Destination Address Type" dword="1" bits="2:2" type="uint" prefix="DAT">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Address" dword="1" bits="47:3" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="MI_FORCE_WAKEUP" bias="2" length="2">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="29" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Force Media Awake" dword="1" bits="0:0" type="uint" />
+ <field name="Force Render Awake" dword="1" bits="1:1" type="uint" />
+ <field name="Mask Bits" dword="1" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="MI_LOAD_REGISTER_IMM" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Byte Write Disables" dword="0" bits="11:8" type="uint" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="34" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Register Offset" dword="1" bits="22:2" type="offset" />
+ <field name="Data DWord" dword="2" bits="31:0" type="uint" />
+ <group count="0" dword="3" size="64">
+ <field name="Register Offset" dword="0" bits="22:2" type="offset" />
+ <field name="Data DWord" dword="1" bits="31:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="MI_LOAD_SCAN_LINES_INCL" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="5:0" type="uint" default="0" />
+ <field name="Scan Line Event Done Forward" dword="0" bits="18:17" type="uint" />
+ <field name="Display (Plane) Select" dword="0" bits="21:19" type="uint">
+ <value name="Display Plane 1 A" value="0" />
+ <value name="Display Plane 1 B" value="1" />
+ <value name="Display Plane 1 C" value="4" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="18" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="End Scan Line Number" dword="1" bits="12:0" type="uint" />
+ <field name="Start Scan Line Number" dword="1" bits="28:16" type="uint" />
+ </instruction>
+ <instruction name="MI_MATH" bias="2">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="26" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <group count="0" dword="1" size="32">
+ <field name="Instruction" dword="0" bits="31:0" type="MI_MATH_ALU_INSTRUCTION" />
+ </group>
+ </instruction>
+ <instruction name="MI_SEMAPHORE_WAIT" bias="2" length="4">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Compare Operation" dword="0" bits="14:12" type="uint" prefix="COMPARE">
+ <value name="SAD_GREATER_THAN_SDD" value="0" />
+ <value name="SAD_GREATER_THAN_OR_EQUAL_SDD" value="1" />
+ <value name="SAD_LESS_THAN_SDD" value="2" />
+ <value name="SAD_LESS_THAN_OR_EQUAL_SDD" value="3" />
+ <value name="SAD_EQUAL_SDD" value="4" />
+ <value name="SAD_NOT_EQUAL_SDD" value="5" />
+ </field>
+ <field name="Wait Mode" dword="0" bits="15:15" type="uint">
+ <value name="Polling Mode" value="1" />
+ <value name="Signal Mode" value="0" />
+ </field>
+ <field name="Register Poll Mode" dword="0" bits="16:16" type="bool" />
+ <field name="Memory Type" dword="0" bits="22:22" type="uint">
+ <value name="Per Process Graphics Address" value="0" />
+ <value name="Global Graphics Address" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="28" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Semaphore Data Dword" dword="1" bits="31:0" type="uint" />
+ <field name="Semaphore Address" dword="2" bits="63:2" type="address" />
+ </instruction>
+ <instruction name="MI_SET_CONTEXT" bias="2" length="2">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="24" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Restore Inhibit" dword="1" bits="0:0" type="uint" />
+ <field name="Force Restore" dword="1" bits="1:1" type="uint" />
+ <field name="Resource Streamer State Restore Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Resource Streamer State Save Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Core Mode Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Reserved, Must be 1" dword="1" bits="8:8" type="uint" />
+ <field name="Logical Context Address" dword="1" bits="31:12" type="address" />
+ </instruction>
+ <instruction name="MI_WAIT_FOR_EVENT" bias="1" length="1" engine="render|blitter">
+ <field name="Display Plnae 1 A Scan Line Wait Enable" dword="0" bits="0:0" type="bool" />
+ <field name="Display Plane 1 Flip Pending Wait Enable" dword="0" bits="1:1" type="bool" />
+ <field name="Display Plane 4 Flip Pending Wait Enable" dword="0" bits="2:2" type="bool" />
+ <field name="Display Plane 1 A Vertical Blank Wait Enable" dword="0" bits="3:3" type="bool" />
+ <field name="Display Plane 7 Flip Pending Wait Enable" dword="0" bits="6:6" type="bool" />
+ <field name="Display Plane 8 Flip Pending Wait Enable" dword="0" bits="7:7" type="bool" />
+ <field name="Display Plane 1 B Scan Line Wait Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Display Plane 2 Flip Pending Wait Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Display Plane 5 Flip Pending Wait Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Display Plane 1 B Vertical Blank Wait Enable" dword="0" bits="11:11" type="bool" />
+ <field name="Display Plane 1 C Scan Line Wait Enable" dword="0" bits="14:14" type="bool" />
+ <field name="Display Plane 3 Flip Pending Wait Enable" dword="0" bits="15:15" type="bool" />
+ <field name="Display Plane 9 Flip Pending Wait Enable" dword="0" bits="16:16" type="bool" />
+ <field name="Display Plane 10 Flip Pending Wait Enable" dword="0" bits="17:17" type="bool" />
+ <field name="Display Plane 11 Flip Pending Wait Enable" dword="0" bits="18:18" type="bool" />
+ <field name="Display Plane 12 Flip Pending Wait Enable" dword="0" bits="19:19" type="bool" />
+ <field name="Display Plane 6 Flip Pending Wait Enable" dword="0" bits="20:20" type="bool" />
+ <field name="Display Plane 1 C Vertical Blank Wait Enable" dword="0" bits="21:21" type="bool" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
+ <field name="Pipeline Selection" dword="0" bits="1:0" type="uint">
+ <value name="3D" value="0" />
+ <value name="Media" value="1" />
+ <value name="GPGPU" value="2" />
+ </field>
+ <field name="Media Sampler DOP Clock Gate Enable" dword="0" bits="4:4" type="bool" />
+ <field name="Force Media Awake" dword="0" bits="5:5" type="bool" />
+ <field name="Mask Bits" dword="0" bits="15:8" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ </instruction>
+ <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Cache Flush Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Stall At Pixel Scoreboard" dword="1" bits="1:1" type="bool" />
+ <field name="State Cache Invalidation Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Constant Cache Invalidation Enable" dword="1" bits="3:3" type="bool" />
+ <field name="VF Cache Invalidation Enable" dword="1" bits="4:4" type="bool" />
+ <field name="DC Flush Enable" dword="1" bits="5:5" type="bool" />
+ <field name="Pipe Control Flush Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Notify Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Indirect State Pointers Disable" dword="1" bits="9:9" type="bool" />
+ <field name="Texture Cache Invalidation Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Instruction Cache Invalidate Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Render Target Cache Flush Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Depth Stall Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Post Sync Operation" dword="1" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write PS Depth Count" value="2" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="Generic Media State Clear" dword="1" bits="16:16" type="bool" />
+ <field name="TLB Invalidate" dword="1" bits="18:18" type="bool" />
+ <field name="Global Snapshot Count Reset" dword="1" bits="19:19" type="bool" />
+ <field name="Command Streamer Stall Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Store Data Index" dword="1" bits="21:21" type="uint" />
+ <field name="LRI Post Sync Operation" dword="1" bits="23:23" type="uint">
+ <value name="No LRI Operation" value="0" />
+ <value name="MMIO Write Immediate Data" value="1" />
+ </field>
+ <field name="Destination Address Type" dword="1" bits="24:24" type="uint" prefix="DAT">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Flush LLC" dword="1" bits="26:26" type="bool" />
+ <field name="Address" dword="2" bits="47:2" type="address" />
+ <field name="Immediate Data" dword="4" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="SFC_AVS_CHROMA_COEFF_TABLE" bias="2" length="65" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="63" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="6" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="10" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="AVS CHROMA Coefficient Table Body" dword="1" bits="2047:0" type="SFC_AVS_CHROMA_COEFF_TABLE_BODY" />
+ </instruction>
+ <instruction name="SFC_AVS_LUMA_COEFF_TABLE" bias="2" length="129" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="127" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="5" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="10" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="AVS LUMA Coefficient Table Body" dword="1" bits="4223:0" type="SFC_AVS_LUMA_COEFF_TABLE_BODY" />
+ </instruction>
+ <instruction name="SFC_AVS_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="10" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="AVS State Body" dword="1" bits="1535:0" type="SFC_AVS_STATE_BODY" />
+ </instruction>
+ <instruction name="SFC_FRAME_START" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="4" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="10" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Start Body" dword="1" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="SFC_IEF_STATE" bias="2" length="24" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="22" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="10" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SFC IEF State Body" dword="1" bits="735:0" type="SFC_IEF_STATE_BODY" />
+ </instruction>
+ <instruction name="SFC_LOCK" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="10" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SFC Lock Body" dword="1" bits="31:0" type="SFC_LOCK_BODY" />
+ </instruction>
+ <instruction name="SFC_STATE" bias="2" length="32" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="30" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="10" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="SFC Pipe Mode" dword="1" bits="3:0" type="uint" />
+ <field name="SFC Input Chroma Sub-Sampling" dword="1" bits="7:4" type="uint">
+ <value name="4:0:0" value="0" />
+ <value name="4:2:0" value="1" />
+ <value name="4:2:2 Horizontal" value="2" />
+ <value name="4:4:4 Progressive/Interleaved" value="4" />
+ </field>
+ <field name="VD/VE Input Ordering Mode" dword="1" bits="10:8" type="uint" />
+ <field name="Input Frame Resolution Width" dword="2" bits="11:0" type="uint" />
+ <field name="Input Frame Resolution Height" dword="2" bits="27:16" type="uint" />
+ <field name="Output Surface Format Type" dword="3" bits="3:0" type="uint" />
+ <field name="RGBA Channel Swap Enable" dword="3" bits="5:5" type="bool" />
+ <field name="Pre-AVS Chroma Downsampling Enable" dword="3" bits="7:6" type="uint" />
+ <field name="Pre-AVS Chroma Downsampling Co-siting Position Vertical Direction" dword="3" bits="10:8" type="uint" />
+ <field name="Pre-AVS Chroma Downsampling Co-siting Position Horizontal Direction" dword="3" bits="14:12" type="uint" />
+ <field name="IEF Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Skin Tone Tuned IEF_Enable" dword="4" bits="1:1" type="bool" />
+ <field name="IEF4 Smooth Enable" dword="4" bits="2:2" type="bool" />
+ <field name="AVS Filter Mode" dword="4" bits="5:4" type="uint">
+ <value name="5x5 Poly-phase filter + Bilinear" value="0" />
+ <value name="8x8 poly-phase filter + Bilinear" value="1" />
+ <value name="Bilinear filter only" value="2" />
+ </field>
+ <field name="Adaptive Filter for all Channels" dword="4" bits="6:6" type="bool" />
+ <field name="AVS Scaling Enable" dword="4" bits="7:7" type="bool" />
+ <field name="Bypass Y Adaptive Filtering" dword="4" bits="8:8" type="bool" />
+ <field name="Bypass X Adaptive Filtering" dword="4" bits="9:9" type="bool" />
+ <field name="Chroma Upsampling Enable" dword="4" bits="12:12" type="bool" />
+ <field name="Rotation Mode" dword="4" bits="17:16" type="uint">
+ <value name="0" value="0" />
+ <value name="90 CW" value="1" />
+ <value name="180 CW" value="2" />
+ <value name="270 CW" value="3" />
+ </field>
+ <field name="Color Fill Enable" dword="4" bits="18:18" type="bool" />
+ <field name="CSC Enable" dword="4" bits="19:19" type="bool" />
+ <field name="Source Region Width" dword="5" bits="11:0" type="uint" />
+ <field name="Source Region Height" dword="5" bits="27:16" type="uint" />
+ <field name="Source Region Horizontal Offset" dword="6" bits="11:0" type="uint" />
+ <field name="Source Region Vertical Offset" dword="6" bits="27:16" type="uint" />
+ <field name="Output Frame Width" dword="7" bits="11:0" type="uint" />
+ <field name="Output Frame Height" dword="7" bits="27:16" type="uint" />
+ <field name="Scaled Region Size Width" dword="8" bits="11:0" type="uint" />
+ <field name="Scaled Region Size Height" dword="8" bits="27:16" type="uint" />
+ <field name="Scaled Region Horizontal Offset" dword="9" bits="12:0" type="int" />
+ <field name="Scaled Region Vertical Offset" dword="9" bits="28:16" type="int" />
+ <field name="Gray Bar Pixel - U/G" dword="10" bits="9:0" type="uint" />
+ <field name="Gray Bar Pixel - Y/R" dword="10" bits="25:16" type="uint" />
+ <field name="Gray Bar Pixel - A" dword="11" bits="9:0" type="uint" />
+ <field name="Gray Bar Pixel - V/B" dword="11" bits="25:16" type="uint" />
+ <field name="UV Default value for U channel" dword="12" bits="9:0" type="uint" />
+ <field name="UV Default value for V channel" dword="12" bits="25:16" type="uint" />
+ <field name="Alpha Default Value" dword="13" bits="9:0" type="uint" />
+ <field name="Scaling Factor Height" dword="14" bits="20:0" type="u4.17" />
+ <field name="Scaling Factor Width" dword="15" bits="20:0" type="u4.17" />
+ <field name="Output Frame - Address" dword="17" bits="47:12" type="uint" />
+ <field name="Output Frame - MOCS" dword="19" bits="6:0" type="uint" nonzero="true" />
+ <field name="Output Frame - Arbitration Priority Control" dword="19" bits="8:7" type="HEVC_ARBITRATION_PRIORITY" />
+ <field name="Output Frame - Memory Compression Enable" dword="19" bits="9:9" type="bool" />
+ <field name="Output Frame - Memory Compression Mode" dword="19" bits="10:10" type="uint" />
+ <field name="Output Frame - Cache Select" dword="19" bits="12:12" type="bool" />
+ <field name="Output Frame - Tiled Mode" dword="19" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ <field name="AVS Line Buffer - Address" dword="20" bits="47:12" type="uint" />
+ <field name="AVS Line Buffer - MOCS" dword="22" bits="6:0" type="uint" nonzero="true" />
+ <field name="AVS Line Buffer - Arbitration Priority Control" dword="22" bits="8:7" type="HEVC_ARBITRATION_PRIORITY" />
+ <field name="AVS Line Buffer - Memory Compression Enable" dword="22" bits="9:9" type="bool" />
+ <field name="AVS Line Buffer - Memory Compression Mode" dword="22" bits="10:10" type="uint">
+ <value name="Horizontal Compression Mode" value="0" />
+ </field>
+ <field name="AVS Line Buffer - Cache Select" dword="22" bits="12:12" type="uint">
+ <value name="LLC" value="0" />
+ </field>
+ <field name="AVS Line Buffer - Tiled Mode" dword="22" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ <field name="IEF Line Buffer - Address" dword="23" bits="47:12" type="uint" />
+ <field name="IEF Line Buffer - MOCS" dword="25" bits="6:0" type="uint" nonzero="true" />
+ <field name="IEF Line Buffer - Arbitration Priority Control" dword="25" bits="8:7" type="HEVC_ARBITRATION_PRIORITY" />
+ <field name="IEF Line Buffer - Memory Compression Enable" dword="25" bits="9:9" type="bool" />
+ <field name="IEF Line Buffer - Memory Compression Mode" dword="25" bits="10:10" type="uint" />
+ <field name="IEF Line Buffer - Cache Select" dword="25" bits="12:12" type="uint" />
+ <field name="IEF Line Buffer - Tiled Mode" dword="25" bits="14:13" type="uint">
+ <value name="TRMODE_NONE" value="0" />
+ <value name="TRMODE_TILEYF" value="1" />
+ <value name="TRMODE_TILEYS" value="2" />
+ </field>
+ <field name="Output Surface Tile Walk" dword="29" bits="0:0" type="uint" prefix="TW">
+ <value name="XMAJOR" value="0" />
+ <value name="YMAJOR" value="1" />
+ </field>
+ <field name="Output Surface Tiled" dword="29" bits="1:1" type="bool" />
+ <field name="Output Surface Half Pitch for Chroma" dword="29" bits="2:2" type="bool" />
+ <field name="Output Surface Pitch" dword="29" bits="19:3" type="uint" />
+ <field name="Output Surface Interleave Chroma Enable" dword="29" bits="27:27" type="bool" />
+ <field name="Output Surface Format" dword="29" bits="31:28" type="uint" />
+ <field name="Output Surface Y Offset for U" dword="30" bits="13:0" type="uint" />
+ <field name="Output Surface X Offset for U" dword="30" bits="29:16" type="uint" />
+ <field name="Output Surface Y Offset for V" dword="31" bits="13:0" type="uint" />
+ <field name="Output Surface X Offset for V" dword="31" bits="29:16" type="uint" />
+ </instruction>
+ <instruction name="STATE_BASE_ADDRESS" bias="2" length="19" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="17" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="General State Base Address Modify Enable" dword="1" bits="0:0" type="bool" />
+ <field name="General State MOCS" dword="1" bits="10:4" type="uint" nonzero="true" />
+ <field name="General State Base Address" dword="1" bits="63:12" type="address" />
+ <field name="Stateless Data Port Access MOCS" dword="3" bits="22:16" type="uint" nonzero="true" />
+ <field name="Surface State Base Address Modify Enable" dword="4" bits="0:0" type="bool" />
+ <field name="Surface State MOCS" dword="4" bits="10:4" type="uint" nonzero="true" />
+ <field name="Surface State Base Address" dword="4" bits="63:12" type="address" />
+ <field name="Dynamic State Base Address Modify Enable" dword="6" bits="0:0" type="bool" />
+ <field name="Dynamic State MOCS" dword="6" bits="10:4" type="uint" nonzero="true" />
+ <field name="Dynamic State Base Address" dword="6" bits="63:12" type="address" />
+ <field name="Indirect Object Base Address Modify Enable" dword="8" bits="0:0" type="bool" />
+ <field name="Indirect Object MOCS" dword="8" bits="10:4" type="uint" nonzero="true" />
+ <field name="Indirect Object Base Address" dword="8" bits="63:12" type="address" />
+ <field name="Instruction Base Address Modify Enable" dword="10" bits="0:0" type="bool" />
+ <field name="Instruction MOCS" dword="10" bits="10:4" type="uint" nonzero="true" />
+ <field name="Instruction Base Address" dword="10" bits="63:12" type="address" />
+ <field name="General State Buffer Size Modify Enable" dword="12" bits="0:0" type="bool" />
+ <field name="General State Buffer Size" dword="12" bits="31:12" type="uint" />
+ <field name="Dynamic State Buffer Size Modify Enable" dword="13" bits="0:0" type="bool" />
+ <field name="Dynamic State Buffer Size" dword="13" bits="31:12" type="uint" />
+ <field name="Indirect Object Buffer Size Modify Enable" dword="14" bits="0:0" type="bool" />
+ <field name="Indirect Object Buffer Size" dword="14" bits="31:12" type="uint" />
+ <field name="Instruction Buffer size Modify Enable" dword="15" bits="0:0" type="bool" />
+ <field name="Instruction Buffer Size" dword="15" bits="31:12" type="uint" />
+ <field name="Bindless Surface State Base Address Modify Enable" dword="16" bits="0:0" type="bool" />
+ <field name="Bindless Surface State MOCS" dword="16" bits="10:4" type="uint" nonzero="true" />
+ <field name="Bindless Surface State Base Address" dword="16" bits="63:12" type="address" />
+ <field name="Bindless Surface State Size" dword="18" bits="31:12" type="uint" />
+ </instruction>
+ <instruction name="VDENC_CONST_QPT_STATE" bias="2" length="61" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="59" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="6" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="42" dword="1" size="8">
+ <field name="QP Lambda Array Index" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="27" dword="12" size="16">
+ <field name="Skip Threshold Array Index" dword="0" bits="15:0" type="uint" />
+ </group>
+ <group count="27" dword="26" size="16">
+ <field name="SIC Forward Transform Coeff Threshold Matrix0 Array Index" dword="0" bits="15:0" type="uint" />
+ </group>
+ <group count="27" dword="40" size="8">
+ <field name="SIC Forward Transform Coeff Threshold Matrix1/3/5 Array Index" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="27" dword="47" size="8">
+ <field name="SIC Forward Transform Coeff Threshold Matrix2 Array Index" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="27" dword="54" size="8">
+ <field name="SIC Forward Transform Coeff Threshold Matrix4/6 Array Index" dword="0" bits="7:0" type="uint" />
+ </group>
+ </instruction>
+ <instruction name="VDENC_DS_REF_SURFACE_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="3" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="8X Surface State" dword="2" bits="127:0" type="VDENC_SURFACE_STATE_FIELDS" />
+ </instruction>
+ <instruction name="VDENC_IMG_STATE" bias="2" length="35" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="33" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="5" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Bidirectional Mix Disable" dword="1" bits="2:2" type="bool" />
+ <field name="VDEnc Extended PAK_OBJ_CMD Enable" dword="1" bits="6:6" type="bool" />
+ <field name="Transform 8x8" dword="1" bits="7:7" type="bool" />
+ <field name="VDEnc L1 Cache Priority" dword="1" bits="9:8" type="uint" />
+ <field name="Lambda Value for Trellis" dword="1" bits="31:16" type="uint" />
+ <field name="Bidirectional Weight" dword="2" bits="21:16" type="uint" />
+ <field name="Unidirectional Mix Disable" dword="2" bits="28:28" type="bool" />
+ <field name="Picture Width" dword="3" bits="31:16" type="uint" />
+ <field name="Sub-Pel Mode" dword="4" bits="13:12" type="uint" />
+ <field name="Forward Transform Skip Check Enable" dword="4" bits="17:17" type="bool" />
+ <field name="Bme Disable For Fbr Message" dword="4" bits="18:18" type="bool" />
+ <field name="Block-Based Skip Enable" dword="4" bits="19:19" type="bool" />
+ <field name="Inter SAD Measure Adjustment" dword="4" bits="21:20" type="uint" prefix="ISMA">
+ <value name="None" value="0" />
+ <value name="Haar Transform Adjusted" value="2" />
+ </field>
+ <field name="Intra SAD Measure Adjustment" dword="4" bits="23:22" type="uint" prefix="ISMA">
+ <value name="None" value="0" />
+ <value name="Haar Transform Adjusted" value="2" />
+ </field>
+ <field name="Sub-MB Sub-Partition Mask" dword="4" bits="30:24" type="uint" />
+ <field name="Block-Based Skip Type" dword="4" bits="31:31" type="uint" />
+ <field name="Picture Height" dword="5" bits="15:0" type="uint" />
+ <field name="CRE Prefetch Enable" dword="5" bits="16:16" type="bool" />
+ <field name="HME Ref1 Disable" dword="5" bits="17:17" type="bool" />
+ <field name="MB Slice Threshold Value" dword="5" bits="21:18" type="uint" />
+ <field name="Constrained Intra Prediction" dword="5" bits="26:26" type="bool" />
+ <field name="Picture Type" dword="5" bits="30:29" type="uint" prefix="PI">
+ <value name="I" value="0" />
+ <value name="P" value="1" />
+ </field>
+ <field name="Slice MB Height" dword="6" bits="15:0" type="uint" />
+ <field name="HME1 Y Offset" dword="7" bits="31:24" type="int" />
+ <field name="Luma Intra Partition Mask" dword="8" bits="4:0" type="uint" />
+ <field name="Non Skip Zero MV Cost Added" dword="8" bits="5:5" type="uint" />
+ <field name="Non Skip MB Mode Cost Added" dword="8" bits="6:6" type="uint" />
+ <field name="MV Cost Scaling Factor" dword="8" bits="17:16" type="uint">
+ <value name="Qpel" value="0" />
+ <value name="Hpel" value="1" />
+ <value name="Pel" value="2" />
+ <value name="2pel" value="3" />
+ </field>
+ <field name="BiLinear Filter Enable" dword="8" bits="18:18" type="bool" />
+ <field name="RefID Cost Mode Select" dword="8" bits="22:22" type="uint" />
+ <field name="Mode 0 Cost" dword="9" bits="7:0" type="uint" />
+ <field name="Mode 1 Cost" dword="9" bits="15:8" type="uint" />
+ <field name="Mode 2 Cost" dword="9" bits="23:16" type="uint" />
+ <field name="Mode 3 Cost" dword="9" bits="31:24" type="uint" />
+ <field name="Mode 4 Cost" dword="10" bits="7:0" type="uint" />
+ <field name="Mode 5 Cost" dword="10" bits="15:8" type="uint" />
+ <field name="Mode 6 Cost" dword="10" bits="23:16" type="uint" />
+ <field name="Mode 7 Cost" dword="10" bits="31:24" type="uint" />
+ <field name="Mode 8 Cost" dword="11" bits="7:0" type="uint" />
+ <field name="Mode 9 Cost" dword="11" bits="15:8" type="uint" />
+ <field name="RefID Cost" dword="11" bits="23:16" type="uint" />
+ <field name="Chroma Intra Mode Cost" dword="11" bits="31:24" type="uint" />
+ <field name="MV Cost" dword="12" bits="63:0" type="IMAGE_STATE_COST" />
+ <field name="QpPrimeY" dword="14" bits="7:0" type="int" />
+ <field name="TargetSizeInWord" dword="14" bits="31:24" type="uint" />
+ <field name="AVC Intra 4x4 Mode Mask" dword="17" bits="8:0" type="uint" />
+ <field name="AVC Intra 8x8 Mode Mask" dword="17" bits="24:16" type="uint" />
+ <field name="AVC Intra 16x16 Mode Mask" dword="18" bits="3:0" type="uint" />
+ <field name="AVC Intra Chroma Mode Mask" dword="18" bits="7:4" type="uint" />
+ <field name="Intra Compute Type" dword="18" bits="9:8" type="uint" />
+ <field name="Penalty for Intra 16x16 Non-DC Prediction" dword="20" bits="7:0" type="uint" />
+ <field name="Penalty for Intra 8x8 Non-DC Prediction" dword="20" bits="15:8" type="uint" />
+ <field name="Penalty for Intra 4x4 Non-DC Prediction" dword="20" bits="23:16" type="uint" />
+ <field name="Intra Refresh MB Position" dword="21" bits="7:0" type="uint" />
+ <field name="Intra Refresh MB Size" dword="21" bits="15:8" type="uint" />
+ <field name="Intra Refresh Enable (Rolling-I Enable)" dword="21" bits="16:16" type="bool" />
+ <field name="Intra Refresh Mode" dword="21" bits="17:17" type="uint">
+ <value name="Row Based" value="0" />
+ <value name="Column Based" value="1" />
+ </field>
+ <field name="QP Adjustment for Rolling-I" dword="21" bits="31:24" type="int" />
+ <field name="PanicModeMBThreshold" dword="22" bits="15:0" type="uint" />
+ <field name="SmallMbSizeInWord" dword="22" bits="23:16" type="uint" />
+ <field name="LargeMbSizeInWord" dword="22" bits="31:24" type="uint" />
+ <field name="L0 Number of References" dword="23" bits="7:0" type="int" />
+ <field name="L1 Number of References" dword="23" bits="23:16" type="int" />
+ <field name="HME Ref Windows Combining Threshold" dword="26" bits="15:8" type="uint" />
+ <field name="Max Horizontal MV Range" dword="27" bits="15:0" type="uint" />
+ <field name="Max Vertical MV Range" dword="27" bits="31:16" type="uint" />
+ <field name="HME MV Cost" dword="28" bits="63:0" type="IMAGE_STATE_COST" />
+ <field name="ROI QP Adjustment for Zone0" dword="30" bits="3:0" type="int" />
+ <field name="ROI QP Adjustment for Zone1" dword="30" bits="7:4" type="int" />
+ <field name="ROI QP Adjustment for Zone2" dword="30" bits="11:8" type="int" />
+ <field name="ROI QP Adjustment for Zone3" dword="30" bits="15:12" type="int" />
+ <field name="QP Adjustment for Shape Best Intra 4x4 Winner" dword="30" bits="19:16" type="int" />
+ <field name="QP Adjustment for Shape Best Intra 8x8 Winner" dword="30" bits="23:20" type="int" />
+ <field name="QP Adjustment for Shape Best Intra 16x16 Winner" dword="30" bits="27:24" type="int" />
+ <field name="Best Distortion QP Adjustment for Zone0" dword="31" bits="3:0" type="int" />
+ <field name="Best Distortion QP Adjustment for Zone1" dword="31" bits="7:4" type="int" />
+ <field name="Best Distortion QP Adjustment for Zone2" dword="31" bits="11:8" type="int" />
+ <field name="Best Distortion QP Adjustment for Zone3" dword="31" bits="15:12" type="int" />
+ <field name="Sad/Haar Threshold 0" dword="31" bits="31:16" type="uint" />
+ <field name="Sad/Haar Threshold 1" dword="32" bits="15:0" type="uint" />
+ <field name="Sad/Haar Threshold 2" dword="32" bits="31:16" type="uint" />
+ <field name="Max QP" dword="33" bits="7:0" type="uint" />
+ <field name="Min QP" dword="33" bits="15:8" type="uint" />
+ <field name="Max Delta QP" dword="33" bits="27:24" type="uint" />
+ <field name="ROI Enable" dword="34" bits="0:0" type="bool" />
+ <field name="Fwd/Predictor0 MV Enable" dword="34" bits="1:1" type="bool" />
+ <field name="Bwd/Predictor1 MV Enable" dword="34" bits="2:2" type="bool" />
+ <field name="MB Level QP Enable" dword="34" bits="3:3" type="bool" />
+ <field name="TargetSizeinWordsMB/MaxSizeinWordsMB Enable" dword="34" bits="4:4" type="bool" />
+ <field name="PPMV Disable" dword="34" bits="8:8" type="bool" />
+ <field name="Coefficient Clamp Enable" dword="34" bits="9:9" type="bool" />
+ <field name="Long Term Reference Frame Bwd Ref0 Indicator" dword="34" bits="10:10" type="bool" />
+ <field name="Long Term Reference Frame Fwd Ref2 Indicator" dword="34" bits="11:11" type="bool" />
+ <field name="Long Term Reference Frame Fwd Ref1 Indicator" dword="34" bits="12:12" type="bool" />
+ <field name="Long Term Reference Frame Fwd Ref0 Indicator" dword="34" bits="13:13" type="bool" />
+ <field name="Midpoint Sad/Haar" dword="34" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="VDENC_PIPE_BUF_ADDR_STATE" bias="2" length="38" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="36" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="4" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="DS FWD REF0" dword="1" bits="95:0" type="VDENC_PICTURE" />
+ <field name="DS FWD REF1" dword="4" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Original Uncompressed Picture" dword="10" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Stream-In Data Picture" dword="13" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Row Store Scratch Buffer" dword="16" bits="95:0" type="VDENC_PICTURE" />
+ <field name="Colocated MV Read Buffer" dword="19" bits="95:0" type="VDENC_PICTURE" />
+ <field name="FWD REF0" dword="22" bits="95:0" type="VDENC_PICTURE" />
+ <field name="FWD REF1" dword="25" bits="95:0" type="VDENC_PICTURE" />
+ <field name="FWD REF2" dword="28" bits="95:0" type="VDENC_PICTURE" />
+ <field name="BWD REF0" dword="31" bits="95:0" type="VDENC_PICTURE" />
+ <field name="VDEnc Statistics Stream-Out" dword="34" bits="95:0" type="VDENC_PICTURE" />
+ </instruction>
+ <instruction name="VDENC_PIPE_MODE_SELECT" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Standard Select" dword="1" bits="3:0" type="uint" prefix="SS">
+ <value name="AVC" value="2" />
+ </field>
+ <field name="Frame Statistics Stream-Out Enable" dword="1" bits="5:5" type="bool" />
+ <field name="TLB Prefetch Enable" dword="1" bits="7:7" type="bool" />
+ <field name="PAK Threshold Check Enable" dword="1" bits="8:8" type="bool" />
+ <field name="VDEnc Stream-In Enable" dword="1" bits="9:9" type="bool" />
+ <field name="PAK Chroma Sub-Sampling Type" dword="1" bits="16:15" type="uint">
+ <value name="4:2:0" value="1" />
+ <value name="4:4:4" value="3" />
+ </field>
+ <field name="Output Range Control After Color Space Conversion" dword="1" bits="17:17" type="bool" />
+ <field name="Disable Speed Mode Fetch Optimization" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="VDENC_REF_SURFACE_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="2" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface State" dword="2" bits="127:0" type="VDENC_SURFACE_STATE_FIELDS" />
+ </instruction>
+ <instruction name="VDENC_SRC_SURFACE_STATE" bias="2" length="6" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="4" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="1" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface State" dword="2" bits="127:0" type="VDENC_SURFACE_STATE_FIELDS" />
+ </instruction>
+ <instruction name="VDENC_WALKER_STATE" bias="2" length="4" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="2" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="7" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="MB/LCU Start Y Position" dword="1" bits="8:0" type="uint" />
+ <field name="MB/LCU Start X Position" dword="1" bits="24:16" type="uint" />
+ <field name="First Super Slice" dword="1" bits="28:28" type="bool" />
+ <field name="Next Slice MB Start Y Position" dword="2" bits="9:0" type="uint" />
+ <field name="Next Slice MB/LCU Start X Position" dword="2" bits="25:16" type="uint" />
+ <field name="Log2 Weight Denominator Luma" dword="3" bits="2:0" type="uint" />
+ </instruction>
+ <instruction name="VDENC_WEIGHTSOFFSETS_STATE" bias="2" length="3" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="1" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="8" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command OpCode" dword="0" bits="26:23" type="uint" default="1" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Weights Forward Reference 0" dword="1" bits="7:0" type="int" />
+ <field name="Offset Forward Reference 0" dword="1" bits="15:8" type="int" />
+ <field name="Weights Forward Reference 1" dword="1" bits="23:16" type="int" />
+ <field name="Offset Forward Reference 1" dword="1" bits="31:24" type="int" />
+ <field name="Weights Forward Reference 2" dword="2" bits="7:0" type="int" />
+ <field name="Offset Forward Reference 2" dword="2" bits="15:8" type="int" />
+ <field name="HEVC/VP9 Weights Backward Reference 0" dword="2" bits="23:16" type="int" />
+ <field name="HEVC/VP9 Offset Backward Reference 0" dword="2" bits="31:24" type="int" />
+ </instruction>
+ <instruction name="VD_PIPELINE_FLUSH" bias="2" length="2" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="0" />
+ <field name="SubOpcode B" dword="0" bits="20:16" type="uint" default="0" />
+ <field name="SubOpcode A" dword="0" bits="22:21" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="15" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="HEVC Pipeline Done" dword="1" bits="0:0" type="bool" />
+ <field name="VD-ENC Pipeline Done" dword="1" bits="1:1" type="bool" />
+ <field name="MFX Pipeline Done" dword="1" bits="3:3" type="bool" />
+ <field name="VD Command/Message Parser Done" dword="1" bits="4:4" type="bool" />
+ <field name="HEVC Pipeline Command Flush" dword="1" bits="16:16" type="bool" />
+ <field name="VD-ENC Pipeline Command Flush" dword="1" bits="17:17" type="bool" />
+ <field name="MFX Pipeline Command Flush" dword="1" bits="19:19" type="bool" />
+ </instruction>
+ <register name="CACHE_MODE_0" length="1" num="0x7000">
+ <field name="Null tile fix disable" dword="0" bits="0:0" type="bool" />
+ <field name="Disable clock gating in the pixel backend" dword="0" bits="1:1" type="bool" />
+ <field name="Hierarchical Z RAW Stall Optimization Disable" dword="0" bits="2:2" type="bool" />
+ <field name="RCC Eviction Policy" dword="0" bits="4:4" type="bool" />
+ <field name="STC PMA Optimization Enable" dword="0" bits="5:5" type="bool" />
+ <field name="Sampler L2 Request Arbitration" dword="0" bits="7:6" type="uint">
+ <value name="Round Robin" value="0" />
+ <value name="Fetch are Highest Priority" value="1" />
+ <value name="Constants are Highest Priority" value="2" />
+ </field>
+ <field name="Sampler L2 TLB Prefetch Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Sampler Set Remapping for 3D Disable" dword="0" bits="11:11" type="bool" />
+ <field name="MSAA Compression Plane Number Threshold for eLLC" dword="0" bits="14:12" type="uint" />
+ <field name="Sampler L2 Disable" dword="0" bits="15:15" type="bool" />
+ <field name="Null tile fix disable Mask" dword="0" bits="16:16" type="bool" />
+ <field name="Disable clock gating in the pixel backend Mask" dword="0" bits="17:17" type="bool" />
+ <field name="Hierarchical Z RAW Stall Optimization Disable Mask" dword="0" bits="18:18" type="bool" />
+ <field name="RCC Eviction Policy Mask" dword="0" bits="20:20" type="bool" />
+ <field name="STC PMA Optimization Enable Mask" dword="0" bits="21:21" type="bool" />
+ <field name="Sampler L2 Request Arbitration Mask" dword="0" bits="23:22" type="uint" />
+ <field name="Sampler L2 TLB Prefetch Enable Mask" dword="0" bits="25:25" type="bool" />
+ <field name="Sampler Set Remapping for 3D Disable Mask" dword="0" bits="27:27" type="bool" />
+ <field name="MSAA Compression Plane Number Threshold for eLLC Mask" dword="0" bits="30:28" type="uint" />
+ <field name="Sampler L2 Disable Mask" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="CACHE_MODE_1" length="1" num="0x7004">
+ <field name="Partial Resolve Disable In VC" dword="0" bits="1:1" type="bool" />
+ <field name="RCZ Read after expansion control fix 2" dword="0" bits="2:2" type="bool" />
+ <field name="Depth Read Hit Write-Only Optimization Disable" dword="0" bits="3:3" type="bool" />
+ <field name="Float Blend Optimization Enable" dword="0" bits="4:4" type="bool" />
+ <field name="MCS Cache Disable" dword="0" bits="5:5" type="bool" />
+ <field name="4X4 RCPFE-STC Optimization Disable" dword="0" bits="6:6" type="bool" />
+ <field name="Sampler Cache Set XOR selection" dword="0" bits="8:7" type="uint" />
+ <field name="MSC RAW Hazard Avoidance Bit" dword="0" bits="9:9" type="bool" />
+ <field name="NP PMA Fix Enable" dword="0" bits="11:11" type="uint" />
+ <field name="HIZ Eviction Policy" dword="0" bits="12:12" type="uint" />
+ <field name="NP Early Z Fails Disable" dword="0" bits="13:13" type="uint" />
+ <field name="Blend Optimization Fix Disable" dword="0" bits="14:14" type="bool" />
+ <field name="Color Compression Disable" dword="0" bits="15:15" type="bool" />
+ <field name="Partial Resolve Disable In VC Mask" dword="0" bits="17:17" type="bool" />
+ <field name="RCZ Read after expansion control fix 2 Mask" dword="0" bits="18:18" type="bool" />
+ <field name="Depth Read Hit Write-Only Optimization Disable Mask" dword="0" bits="19:19" type="bool" />
+ <field name="Float Blend Optimization Enable Mask" dword="0" bits="20:20" type="bool" />
+ <field name="MCS Cache Disable Mask" dword="0" bits="21:21" type="bool" />
+ <field name="4X4 RCPFE-STC Optimization Disable Mask" dword="0" bits="22:22" type="bool" />
+ <field name="Sampler Cache Set XOR selection Mask" dword="0" bits="24:23" type="uint" />
+ <field name="MSC RAW Hazard Avoidance Bit Mask" dword="0" bits="25:25" type="bool" />
+ <field name="NP PMA Fix Enable Mask" dword="0" bits="27:27" type="bool" />
+ <field name="HIZ Eviction Policy Mask" dword="0" bits="28:28" type="bool" />
+ <field name="NP Early Z Fails Disable Mask" dword="0" bits="29:29" type="bool" />
+ <field name="Blend Optimization Fix Disable Mask" dword="0" bits="30:30" type="bool" />
+ <field name="Color Compression Disable Mask" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="COMMON_SLICE_CHICKEN2" length="1" num="0x7014">
+ <field name="Disable Gather at Set Shader Common Slice" dword="0" bits="12:12" type="bool" />
+ <field name="Disable Gather at Set Shader Common Slice Mask" dword="0" bits="28:28" type="bool" />
+ </register>
+ <register name="CS_CHICKEN1" length="1" num="0x2580">
+ <field name="Replay Mode" dword="0" bits="0:0" type="uint">
+ <value name="Mid-cmdbuffer Preemption" value="0" />
+ <value name="Object Level Preemption" value="1" />
+ </field>
+ <field name="Media And GPGPU Pre-emption Control" dword="0" bits="2:1" type="uint">
+ <value name="Mid-thread Pre-emption" value="0" />
+ <value name="Thread Group Pre-emption" value="1" />
+ <value name="Command Level Pre-emption" value="2" />
+ </field>
+ <field name="Replay Mode Mask" dword="0" bits="16:16" type="bool" />
+ <field name="Media And GPGPU Pre-emption Control Mask" dword="0" bits="18:17" type="uint" />
+ </register>
+ <register name="CS_DEBUG_MODE2" length="1" num="0x20d8">
+ <field name="3D Rendering Instruction Disable" dword="0" bits="0:0" type="bool" />
+ <field name="Media Instruction Disable" dword="0" bits="1:1" type="bool" />
+ <field name="CONSTANT_BUFFER Address Offset Disable" dword="0" bits="4:4" type="bool" />
+ <field name="Disable Gather at Set Shader" dword="0" bits="7:7" type="bool" />
+ <field name="3D Rendering Instruction Disable Mask" dword="0" bits="16:16" type="bool" />
+ <field name="Media Instruction Disable Mask" dword="0" bits="17:17" type="bool" />
+ <field name="CONSTANT_BUFFER Address Offset Disable Mask" dword="0" bits="20:20" type="bool" />
+ <field name="Disable Gather at Set Shader Mask" dword="0" bits="23:23" type="bool" />
+ </register>
+ <register name="GT_MODE" length="1" num="0x7008">
+ <field name="Subslice Hashing" dword="0" bits="9:8" type="uint">
+ <value name="8x8" value="0" />
+ <value name="16x4" value="1" />
+ <value name="8x4" value="2" />
+ <value name="16x16" value="3" />
+ </field>
+ <field name="Slice Hashing" dword="0" bits="12:11" type="uint">
+ <value name="NORMAL" value="0" />
+ <value name="DISABLED" value="1" />
+ <value name="32x16" value="2" />
+ <value name="32x32" value="3" />
+ </field>
+ <field name="Subslice Hashing Mask" dword="0" bits="25:24" type="int" />
+ <field name="Slice Hashing Mask" dword="0" bits="28:27" type="int" />
+ </register>
+ <register name="RPSTAT0" length="1" num="0xa01c">
+ <field name="Previous GT Frequency" dword="0" bits="8:0" type="uint" />
+ <field name="Current GT Frequency" dword="0" bits="31:23" type="uint" />
+ </register>
+ <register name="SC_INSTDONE" length="1" num="0x7100">
+ <field name="SVL Done" dword="0" bits="0:0" type="bool" />
+ <field name="WMFE Done" dword="0" bits="1:1" type="bool" />
+ <field name="WMBE Done" dword="0" bits="2:2" type="bool" />
+ <field name="HIZ Done" dword="0" bits="3:3" type="bool" />
+ <field name="STC Done" dword="0" bits="4:4" type="bool" />
+ <field name="IZ Done" dword="0" bits="5:5" type="bool" />
+ <field name="SBE Done" dword="0" bits="6:6" type="bool" />
+ <field name="RCZ Done" dword="0" bits="8:8" type="bool" />
+ <field name="RCC Done" dword="0" bits="9:9" type="bool" />
+ <field name="RCPBE Done" dword="0" bits="10:10" type="bool" />
+ <field name="RCPFE Done" dword="0" bits="11:11" type="bool" />
+ <field name="DAPB Done" dword="0" bits="12:12" type="bool" />
+ <field name="DAPRBE Done" dword="0" bits="13:13" type="bool" />
+ <field name="SARB Done" dword="0" bits="15:15" type="bool" />
+ <field name="DC0 Done" dword="0" bits="16:16" type="bool" />
+ <field name="DC1 Done" dword="0" bits="17:17" type="bool" />
+ <field name="DC2 Done" dword="0" bits="18:18" type="bool" />
+ <field name="DC3 Done" dword="0" bits="19:19" type="bool" />
+ <field name="GW0 Done" dword="0" bits="20:20" type="bool" />
+ <field name="GW1 Done" dword="0" bits="21:21" type="bool" />
+ <field name="GW2 Done" dword="0" bits="22:22" type="bool" />
+ <field name="GW3 Done" dword="0" bits="23:23" type="bool" />
+ <field name="TDC Done" dword="0" bits="24:24" type="bool" />
+ </register>
+ <register name="SLICE_COMMON_ECO_CHICKEN1" length="1" num="0x731c">
+ <field name="GLK Barrier Mode" dword="0" bits="7:7" type="uint">
+ <value name="GLK_BARRIER_MODE_GPGPU" value="0" />
+ <value name="GLK_BARRIER_MODE_3D_HULL" value="1" />
+ </field>
+ <field name="GLK Barrier Mode Mask" dword="0" bits="23:23" type="bool" />
+ </register>
+</genxml>
--git a/lib/genxml/gen_decode_header.py b/lib/genxml/gen_decode_header.py
new file mode 100644
index 000000000..170d2f60f
--- /dev/null
+++ b/lib/genxml/gen_decode_header.py
@@ -0,0 +1,487 @@
+#encoding=utf-8
+#
+# Copyright (C) 2025 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+#
+
+"""Generate batch-buffer decode/annotate headers from genxml.
+
+For each instruction, emits a _decode() function that prints annotated
+dwords with field names and values. Enum fields show symbolic names
+alongside numeric values.
+
+Usage:
+ python gen_decode_header.py [--baseline BASELINE.xml] [--engines ...] INPUT.xml
+"""
+
+import argparse
+import intel_genxml
+import sys
+from util import safe_name
+
+license = """/*
+ * Copyright (C) 2025 Intel Corporation
+ * SPDX-License-Identifier: MIT
+ *
+ * Batch buffer decode functions for %s.
+ *
+ * This file has been generated, do not hand edit.
+ */
+"""
+
+
+def field_mask(bits):
+ """Return (start_bit, end_bit, mask) for a field."""
+ end_bit, start_bit = map(int, bits.split(':'))
+ width = end_bit - start_bit + 1
+ mask = (1 << width) - 1
+ return start_bit, end_bit, mask
+
+
+def compute_opcode_key(instruction):
+ """Compute opcode key and mask from default field values in DW0.
+
+ Returns (key, mask) where key has the default values shifted into
+ position and mask has 1s for every bit covered by a field with a
+ default. Using the full mask for dispatch avoids collisions between
+ instructions that share the same top 16 bits but differ in lower
+ opcode fields (e.g. 3DPRIMITIVE vs 3DPRIMITIVE_EXTENDED).
+ """
+ key = 0
+ mask = 0
+ for field in instruction:
+ if field.tag != 'field':
+ continue
+ if int(field.attrib.get('dword', '-1')) != 0:
+ continue
+ default = field.attrib.get('default')
+ if default is None:
+ continue
+ start_bit, end_bit, field_mask_val = field_mask(field.attrib['bits'])
+ key |= (int(default, 0) & field_mask_val) << start_bit
+ mask |= field_mask_val << start_bit
+ return key, mask
+
+
+def get_length_bias(instruction):
+ return int(instruction.attrib.get('bias', '2'))
+
+
+def get_length(instruction):
+ return instruction.attrib.get('length')
+
+
+def collect_enum_values(field_elem, enum_defs):
+ """Collect value->name mapping from inline <value> children or
+ from a referenced standalone <enum>."""
+ values = {}
+
+ # Inline values (children of the <field>)
+ for v in field_elem:
+ if v.tag == 'value':
+ vname = safe_name(v.attrib['name'])
+ vval = int(v.attrib['value'], 0)
+ values[vval] = vname
+
+ # If the field type references a standalone enum and we didn't
+ # find inline values, look it up
+ if not values:
+ ftype = field_elem.attrib.get('type', '')
+ if ftype in enum_defs:
+ for v in enum_defs[ftype]:
+ if v.tag == 'value':
+ vname = safe_name(v.attrib['name'])
+ vval = int(v.attrib['value'], 0)
+ values[vval] = vname
+
+ return values
+
+
+class DecodeGenerator:
+ def __init__(self, gen, platform, struct_defs, enum_defs):
+ self.gen = gen
+ self.platform = platform
+ self.struct_defs = struct_defs # name -> XML element
+ self.enum_defs = enum_defs # name -> XML element
+ self.instructions = []
+
+ def gen_prefix(self, name):
+ if name[0] == '_':
+ return 'GFX%s%s' % (self.gen, name)
+ return 'GFX%s_%s' % (self.gen, name)
+
+ def is_enum_type(self, ftype):
+ """Check if a field type is a standalone enum or has inline values."""
+ return ftype in self.enum_defs
+
+ def is_struct_type(self, ftype):
+ return ftype in self.struct_defs
+
+ def is_builtin_type(self, ftype):
+ builtins = ('address', 'bool', 'float', 'uint', 'int',
+ 'offset', 'mbo', 'mbz')
+ if ftype in builtins:
+ return True
+ # ufixed/sfixed patterns like u4.8, s3.13
+ if len(ftype) > 1 and ftype[0] in ('u', 's') and '.' in ftype:
+ return True
+ return False
+
+ def collect_fields(self, instruction):
+ """Collect fields grouped by dword index."""
+ by_dw = {}
+ self._collect_fields_recursive(instruction, by_dw, prefix="", dw_offset=0)
+ return by_dw
+
+ def _collect_fields_recursive(self, parent, by_dw, prefix, dw_offset):
+ for child in parent:
+ if child.tag == 'field':
+ dword = int(child.attrib['dword']) + dw_offset
+ name = safe_name(child.attrib['name'])
+ start_bit, end_bit, mask = field_mask(child.attrib['bits'])
+ ftype = child.attrib.get('type', 'uint')
+
+ if ftype in ('mbo', 'mbz'):
+ continue
+
+ # Expand struct-type fields
+ if not self.is_builtin_type(ftype) and \
+ not self.is_enum_type(ftype) and \
+ self.is_struct_type(ftype):
+ struct_xml = self.struct_defs[ftype]
+ self._collect_fields_recursive(
+ struct_xml, by_dw, prefix + name + ".",
+ dw_offset + dword)
+ continue
+
+ values = collect_enum_values(child, self.enum_defs)
+
+ if dword not in by_dw:
+ by_dw[dword] = []
+ by_dw[dword].append((prefix + name, start_bit, end_bit, ftype, values))
+
+ elif child.tag == 'group':
+ group_dw = int(child.attrib.get('dword', '0'))
+ count = int(child.attrib.get('count', '1'))
+ size_bits = int(child.attrib.get('size', '32'))
+ size_dw = size_bits // 32
+
+ for i in range(count):
+ idx_prefix = prefix
+ if count > 1:
+ idx_prefix = "%s[%d]." % (prefix.rstrip('.'), i)
+ self._collect_fields_recursive(
+ child, by_dw, idx_prefix,
+ dw_offset + group_dw + i * size_dw)
+
+ def add_instruction(self, instruction):
+ name = safe_name(instruction.attrib['name'])
+ prefixed = self.gen_prefix(name)
+ opcode_key, opcode_mask = compute_opcode_key(instruction)
+ length = get_length(instruction)
+ bias = get_length_bias(instruction)
+ fields_by_dw = self.collect_fields(instruction)
+ self.instructions.append((prefixed, opcode_key, opcode_mask, length, bias, fields_by_dw))
+
+ def emit_header(self):
+ guard = 'GFX%s_%s_DECODE_H' % (self.gen, self.platform.upper())
+ print(license % self.platform)
+ print('#ifndef %s' % guard)
+ print('#define %s' % guard)
+ print('')
+ print('#include <stdio.h>')
+ print('#include <stdint.h>')
+ print('')
+
+ def emit_footer(self):
+ guard = 'GFX%s_%s_DECODE_H' % (self.gen, self.platform.upper())
+ print('#endif /* %s */' % guard)
+
+ def emit_decode_function(self, prefixed, opcode_key, opcode_mask, length, bias, fields_by_dw):
+ print('static inline unsigned')
+ print('%s_decode(FILE *fp, uint32_t base, const uint32_t *dw, unsigned remaining)' % prefixed)
+ print('{')
+
+ if length is not None:
+ print(' unsigned len = %s;' % length)
+ else:
+ print(' unsigned len = (dw[0] & 0xff) + %d;' % bias)
+
+ print(' if (len > remaining)')
+ print(' len = remaining;')
+ print(' fprintf(fp, "[0x%%04x] 0x%%08x %s (len=%%u)\\n", base, dw[0], len);' % prefixed)
+
+ if not fields_by_dw:
+ print(' for (unsigned i = 1; i < len; i++)')
+ print(' fprintf(fp, "[0x%04x] 0x%08x\\n", base + i * 4, dw[i]);')
+ print(' return len;')
+ print('}')
+ print('')
+ return
+
+ max_dw = max(fields_by_dw.keys()) if fields_by_dw else 0
+
+ # Decode DW0 fields (subopcode, length, flags) if present
+ if 0 in fields_by_dw:
+ # Filter out identity fields already shown in the header line
+ dw0_fields = [(n, s, e, t, v) for n, s, e, t, v in fields_by_dw[0]
+ if n not in ('DWordLength', 'CommandType',
+ 'CommandSubType', '_3DCommandOpcode',
+ '_3DCommandSubOpcode', 'MICommandOpcode',
+ 'CommandOpcode', 'InstructionType')]
+ if dw0_fields:
+ self._emit_dword_decode(0, dw0_fields)
+
+ for dw_idx in range(1, max_dw + 1):
+ print(' if (%d < len) {' % dw_idx)
+ if dw_idx not in fields_by_dw:
+ print(' fprintf(fp, "[0x%%04x] 0x%%08x\\n", base + %d, dw[%d]);' %
+ (dw_idx * 4, dw_idx))
+ else:
+ fields = fields_by_dw[dw_idx]
+ self._emit_dword_decode(dw_idx, fields)
+ print(' }')
+
+ if length is not None:
+ total = int(length)
+ else:
+ total = None
+
+ if total is not None and total > max_dw + 1:
+ print(' for (unsigned i = %d; i < %d; i++)' % (max_dw + 1, total))
+ print(' fprintf(fp, "[0x%04x] 0x%08x\\n", base + i * 4, dw[i]);')
+ elif total is None:
+ print(' for (unsigned i = %d; i < len; i++)' % (max_dw + 1,))
+ print(' fprintf(fp, "[0x%04x] 0x%08x\\n", base + i * 4, dw[i]);')
+
+ print(' return len;')
+ print('}')
+ print('')
+
+ def _emit_enum_decode(self, var_expr, values, sep, name):
+ """Emit a switch that prints 'NAME (num)' for known values,
+ or just 'num' for unknown ones. Always shows the raw number."""
+ print(' { uint32_t _v = %s;' % var_expr)
+ print(' fprintf(fp, "%s.%s = ");' % (sep, name))
+ print(' switch (_v) {')
+ for val, vname in sorted(values.items()):
+ print(' case %d: fprintf(fp, "%s (%%u)", _v); break;' % (val, vname))
+ print(' default: fprintf(fp, "%u", _v); break;')
+ print(' }')
+ print(' }')
+
+ def _emit_dword_decode(self, dw_idx, fields):
+ """Emit decode for a single dword's fields."""
+ fields = sorted(fields, key=lambda f: f[1])
+
+ interesting = [(name, start, end, ftype, values)
+ for name, start, end, ftype, values in fields
+ if ftype not in ('mbo', 'mbz')]
+
+ if not interesting:
+ print(' fprintf(fp, "[0x%%04x] 0x%%08x\\n", base + %d, dw[%d]);' %
+ (dw_idx * 4, dw_idx))
+ return
+
+ print(' fprintf(fp, "[0x%%04x] 0x%%08x ", base + %d, dw[%d]);' %
+ (dw_idx * 4, dw_idx))
+
+ for i, (name, start, end, ftype, values) in enumerate(interesting):
+ width = end - start + 1
+ mask = (1 << width) - 1
+ sep = ', ' if i > 0 else ''
+ extract = '(dw[%d] >> %d) & 0x%x' % (dw_idx, start, mask)
+
+ if ftype == 'bool':
+ print(' fprintf(fp, "%s.%s = %%s", %s ? "true" : "false");' %
+ (sep, name, extract))
+ elif ftype == 'address':
+ # Mask off the low reserved bits using the actual field
+ # start position from the XML, not a hardcoded 12.
+ if start > 0:
+ addr_mask = (1 << start) - 1
+ print(' fprintf(fp, "%s.%s = 0x%%lx", '
+ '(unsigned long)(((uint64_t)dw[%d] | ((uint64_t)dw[%d] << 32)) & ~0x%xUL));' %
+ (sep, name, dw_idx, dw_idx + 1, addr_mask))
+ else:
+ print(' fprintf(fp, "%s.%s = 0x%%lx", '
+ '(unsigned long)((uint64_t)dw[%d] | ((uint64_t)dw[%d] << 32)));' %
+ (sep, name, dw_idx, dw_idx + 1))
+ elif ftype == 'float':
+ print(' { union { uint32_t u; float f; } _fv = { .u = dw[%d] };' % dw_idx)
+ print(' fprintf(fp, "%s.%s = %%f", _fv.f); }' % (sep, name))
+ elif values:
+ # Enum or field with named values - show symbolic name + raw number
+ self._emit_enum_decode(extract, values, sep, name)
+ elif width > 32:
+ print(' fprintf(fp, "%s.%s = 0x%%lx", '
+ '(unsigned long)((uint64_t)(dw[%d] >> %d) | ((uint64_t)dw[%d] << %d)));' %
+ (sep, name, dw_idx, start, dw_idx + 1, 32 - start))
+ else:
+ print(' fprintf(fp, "%s.%s = %%u", %s);' %
+ (sep, name, extract))
+
+ print(' fprintf(fp, "\\n");')
+
+ def emit_dispatch(self):
+ """Emit command dispatch function.
+
+ Uses the full opcode key and mask rather than just the top 16 bits
+ so that instructions differing only in lower opcode fields
+ (e.g. 3DPRIMITIVE vs 3DPRIMITIVE_EXTENDED) are dispatched correctly.
+ Instructions with more specific masks (more default bits) are checked
+ first so that a more general match does not shadow a specific one.
+ """
+ prefix = 'gfx%s' % self.gen
+
+ print('static inline unsigned')
+ print('%s_decode_command(FILE *fp, uint32_t offset, const uint32_t *dw, unsigned remaining)' % prefix)
+ print('{')
+
+ # Collect unique (key, mask) -> prefixed mappings.
+ # Sort by popcount of mask descending so more specific matches
+ # are tried first (e.g. 3DPRIMITIVE_EXTENDED before 3DPRIMITIVE).
+ entries = []
+ seen = set()
+ for prefixed, opcode_key, opcode_mask, length, bias, fields_by_dw in self.instructions:
+ if opcode_key == 0 or (opcode_key, opcode_mask) in seen:
+ continue
+ seen.add((opcode_key, opcode_mask))
+ entries.append((opcode_key, opcode_mask, prefixed))
+
+ entries.sort(key=lambda e: -bin(e[1]).count('1'))
+
+ first = True
+ for key, mask, prefixed in entries:
+ keyword = 'if' if first else '} else if'
+ print(' %s ((dw[0] & 0x%08xu) == 0x%08xu) {' % (keyword, mask, key))
+ print(' return %s_decode(fp, offset, dw, remaining);' % prefixed)
+ first = False
+
+ if not first:
+ print(' } else {')
+ print(' fprintf(fp, "[0x%04x] 0x%08x UNKNOWN\\n", offset, dw[0]);')
+ print(' return 1;')
+ if not first:
+ print(' }')
+ print('}')
+ print('')
+
+ def emit_batch_decode(self):
+ """Emit the batch buffer walker."""
+ prefix = 'gfx%s' % self.gen
+
+ print('static inline void')
+ print('%s_decode_batch(FILE *fp, const uint32_t *batch, unsigned batch_dwords)' % prefix)
+ print('{')
+ print(' unsigned offset = 0;')
+ print('')
+ print(' while (offset < batch_dwords * 4) {')
+ print(' const uint32_t *dw = &batch[offset / 4];')
+ print(' uint32_t cmd = dw[0];')
+ print(' unsigned len;')
+ print('')
+ print(' /* MI_BATCH_BUFFER_END */')
+ print(' if (cmd == 0x05000000) {')
+ print(' fprintf(fp, "[0x%04x] 0x%08x MI_BATCH_BUFFER_END\\n", offset, cmd);')
+ print(' break;')
+ print(' }')
+ print('')
+ print(' /* MI_NOOP: opcode is all zeros, single dword */')
+ print(' if (cmd == 0) {')
+ print(' fprintf(fp, "[0x%04x] 0x%08x MI_NOOP\\n", offset, cmd);')
+ print(' offset += 4;')
+ print(' continue;')
+ print(' }')
+ print('')
+ print(' len = %s_decode_command(fp, offset, dw, batch_dwords - offset / 4);' % prefix)
+ print(' offset += len * 4;')
+ print(' }')
+ print('}')
+
+ def generate(self):
+ self.emit_header()
+ for inst in self.instructions:
+ self.emit_decode_function(*inst)
+ self.emit_dispatch()
+ self.emit_batch_decode()
+ self.emit_footer()
+
+
+def parse_args():
+ p = argparse.ArgumentParser(description=__doc__)
+ p.add_argument('xml_source', metavar='XML_SOURCE')
+ p.add_argument('--engines', type=str, default='render',
+ help="Comma-separated engine list")
+ p.add_argument('--baseline', type=str, action='append', default=[],
+ help="Previous gen XML files (oldest first); skip identical instructions")
+ return p.parse_args()
+
+
+def main():
+ pargs = parse_args()
+ engines = set(pargs.engines.split(','))
+
+ genxml = intel_genxml.GenXml(pargs.xml_source)
+ genxml.merge_imported()
+ genxml.filter_engines(engines)
+
+ root = genxml.et.getroot()
+ platform = root.attrib['name']
+ gen = root.attrib['gen'].replace('.', '')
+
+ # Collect struct and enum definitions
+ struct_defs = {}
+ enum_defs = {}
+ for item in root:
+ if item.tag == 'struct':
+ struct_defs[item.attrib['name']] = item
+ elif item.tag == 'enum':
+ enum_defs[item.attrib['name']] = item
+
+ # Optional baseline filtering
+ baseline_fps = {}
+ if pargs.baseline:
+ from gen_pack_header import _build_baselines, _item_fingerprint
+ baseline_fps, _, _ = _build_baselines(pargs.baseline, engines)
+
+ decoder = DecodeGenerator(gen, platform, struct_defs, enum_defs)
+
+ for item in root:
+ if item.tag != 'instruction':
+ continue
+ item_name = item.attrib.get('name')
+ if not item_name:
+ continue
+
+ if baseline_fps:
+ from gen_pack_header import _item_fingerprint
+ fp = baseline_fps.get(item_name)
+ if fp is not None and _item_fingerprint(item) == fp:
+ continue
+
+ decoder.add_instruction(item)
+
+ decoder.generate()
+
+
+if __name__ == '__main__':
+ main()
--git a/lib/genxml/gen_pack_header.py b/lib/genxml/gen_pack_header.py
new file mode 100644
index 000000000..64890394e
--- /dev/null
+++ b/lib/genxml/gen_pack_header.py
@@ -0,0 +1,799 @@
+#encoding=utf-8
+# SPDX-License-Identifier: MIT
+
+import argparse
+import ast
+import intel_genxml
+import re
+import sys
+import copy
+import textwrap
+from util import *
+
+license = """/*
+ * Copyright (C) 2016 Intel Corporation
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+ * IN THE SOFTWARE.
+ */
+"""
+
+pack_header = """%(license)s
+
+/* Instructions, enums and structures for %(platform)s.
+ *
+ * This file has been generated, do not hand edit.
+ */
+
+#ifndef %(guard)s
+#define %(guard)s
+
+#include <stdio.h>
+#include "genxml/igt_genxml_defs.h"
+
+"""
+
+def num_from_str(num_str):
+ if num_str.lower().startswith('0x'):
+ return int(num_str, base=16)
+
+ assert not num_str.startswith('0'), 'octals numbers not allowed'
+ return int(num_str)
+
+def bool_from_str(bool_str):
+ options = { "true": True, "false": False }
+ return options[bool_str];
+
+class Field(object):
+ ufixed_pattern = re.compile(r"u(\d+)\.(\d+)")
+ sfixed_pattern = re.compile(r"s(\d+)\.(\d+)")
+
+ def __init__(self, parser, attrs):
+ self.parser = parser
+ if "name" in attrs:
+ self.name = safe_name(attrs["name"])
+
+ dword = int(attrs["dword"])
+ end_bit, start_bit = map(int, attrs["bits"].split(":"))
+
+ self.start = dword * 32 + start_bit
+ self.end = dword * 32 + end_bit
+
+ self.type = attrs["type"]
+ self.nonzero = bool_from_str(attrs.get("nonzero", "false"))
+ self.prefix = attrs["prefix"] if "prefix" in attrs else None
+
+ assert self.start <= self.end, \
+ 'field {} has end ({}) < start ({})'.format(self.name, self.end,
+ self.start)
+ if self.type == 'bool':
+ assert self.end == self.start, \
+ 'bool field ({}) is too wide'.format(self.name)
+
+ if "default" in attrs:
+ # Base 0 recognizes 0x, 0o, 0b prefixes in addition to decimal ints.
+ self.default = int(attrs["default"], base=0)
+ else:
+ self.default = None
+
+ ufixed_match = Field.ufixed_pattern.match(self.type)
+ if ufixed_match:
+ self.type = 'ufixed'
+ self.fractional_size = int(ufixed_match.group(2))
+
+ sfixed_match = Field.sfixed_pattern.match(self.type)
+ if sfixed_match:
+ self.type = 'sfixed'
+ self.fractional_size = int(sfixed_match.group(2))
+
+ def is_builtin_type(self):
+ builtins = [ 'address', 'bool', 'float', 'ufixed',
+ 'offset', 'sfixed', 'offset', 'int', 'uint',
+ 'mbo', 'mbz' ]
+ return self.type in builtins
+
+ def is_struct_type(self):
+ return self.type in self.parser.structs
+
+ def is_enum_type(self):
+ return self.type in self.parser.enums
+
+ def emit_template_struct(self, dim):
+ if self.type == 'address':
+ type = '__gen_address_type'
+ elif self.type == 'bool':
+ type = 'bool'
+ elif self.type == 'float':
+ type = 'float'
+ elif self.type == 'ufixed':
+ type = 'float'
+ elif self.type == 'sfixed':
+ type = 'float'
+ elif self.type == 'uint' and self.end - self.start > 32:
+ type = 'uint64_t'
+ elif self.type == 'offset':
+ type = 'uint64_t'
+ elif self.type == 'int':
+ type = 'int32_t'
+ elif self.type == 'uint':
+ type = 'uint32_t'
+ elif self.is_struct_type():
+ type = 'struct ' + self.parser.gen_prefix_for_type(self.type)
+ elif self.is_enum_type():
+ type = 'enum ' + self.parser.gen_prefix(safe_name(self.type))
+ elif self.type == 'mbo' or self.type == 'mbz':
+ return
+ else:
+ print("#error unhandled type: %s" % self.type)
+ return
+
+ print(" %-36s %s%s;" % (type, self.name, dim))
+
+ def emit_value_defines(self):
+ for value in self.values:
+ defname = self.parser.gen_value_name(
+ value.name,
+ prefix=self.prefix,
+ strip_prefixed_leading_underscore=True)
+ print("#ifndef %s" % defname)
+ print("#define %-40s %d" % (defname, value.value))
+ print("#endif")
+
+class Group(object):
+ def __init__(self, parser, parent, start, count, size):
+ self.parser = parser
+ self.parent = parent
+ self.start = start
+ self.count = count
+ self.size = size
+ self.fields = []
+
+ def emit_template_struct(self, dim):
+ if self.count == 0:
+ print(" /* variable length fields follow */")
+ else:
+ if self.count > 1:
+ dim = "%s[%d]" % (dim, self.count)
+
+ for field in self.fields:
+ field.emit_template_struct(dim)
+
+ def emit_value_defines(self):
+ for field in self.fields:
+ if isinstance(field, Group):
+ field.emit_value_defines()
+ else:
+ field.emit_value_defines()
+
+ class DWord:
+ def __init__(self):
+ self.size = 32
+ self.fields = []
+ self.address = None
+
+ def collect_dwords(self, dwords, start, dim):
+ for field in self.fields:
+ if isinstance(field, Group):
+ if field.count == 1:
+ field.collect_dwords(dwords, start + field.start, dim)
+ else:
+ for i in range(field.count):
+ field.collect_dwords(dwords,
+ start + field.start + i * field.size,
+ "%s[%d]" % (dim, i))
+ continue
+
+ index = (start + field.start) // 32
+ if not index in dwords:
+ dwords[index] = self.DWord()
+
+ clone = copy.copy(field)
+ clone.start = clone.start + start
+ clone.end = clone.end + start
+ clone.dim = dim
+ dwords[index].fields.append(clone)
+
+ if field.type == "address":
+ # assert dwords[index].address == None
+ dwords[index].address = clone
+
+ # Coalesce all the dwords covered by this field. The two cases we
+ # handle are where multiple fields are in a 64 bit word (typically
+ # and address and a few bits) or where a single struct field
+ # completely covers multiple dwords.
+ while index < (start + field.end) // 32:
+ if index + 1 in dwords and not dwords[index] == dwords[index + 1]:
+ dwords[index].fields.extend(dwords[index + 1].fields)
+ dwords[index].size = 64
+ dwords[index + 1] = dwords[index]
+ index = index + 1
+
+ def collect_dwords_and_length(self, repack=False):
+ dwords = {}
+ self.collect_dwords(dwords, 0, "")
+
+ # Determine number of dwords in this group. If we have a size, use
+ # that, since that'll account for MBZ dwords at the end of a group
+ # (like dword 8 on BDW+ 3DSTATE_HS). Otherwise, use the largest dword
+ # index we've seen plus one.
+ if self.size > 0:
+ length = self.size // 32
+ elif dwords:
+ length = max(dwords.keys()) + 1
+ else:
+ length = 0
+
+ return (dwords, length)
+
+ def emit_pack_function(self, dwords, length, repack=False):
+ for index in range(length):
+ # Handle MBZ dwords
+ if not index in dwords:
+ print("")
+ print(" dw[%d] = 0;" % index)
+ continue
+
+ # For 64 bit dwords, we aliased the two dword entries in the dword
+ # dict it occupies. Now that we're emitting the pack function,
+ # skip the duplicate entries.
+ dw = dwords[index]
+ if index > 0 and index - 1 in dwords and dw == dwords[index - 1]:
+ continue
+
+ # Special case: only one field and it's a struct at the beginning
+ # of the dword. In this case we pack directly into the
+ # destination. This is the only way we handle embedded structs
+ # larger than 32 bits.
+ if len(dw.fields) == 1:
+ field = dw.fields[0]
+ name = field.name + field.dim
+ if field.is_struct_type() and field.start % 32 == 0:
+ print("")
+ if repack:
+ print(" %s_repack(data, &dw[%d], &origin[%d], &values->%s);" %
+ (self.parser.gen_prefix_for_type(field.type), index, index, name))
+ else:
+ print(" %s_pack(data, &dw[%d], &values->%s);" %
+ (self.parser.gen_prefix_for_type(field.type), index, name))
+ continue
+
+ # Open a block scope for C90 compliance (declarations must
+ # precede code within each block).
+ print("")
+ print(" {")
+
+ # Pack any fields of struct type first so we have integer values
+ # to the dword for those fields.
+ # Emit all declarations first, then all pack calls (C90).
+ field_index = 0
+ struct_fields = []
+ for field in dw.fields:
+ if isinstance(field, Field) and field.is_struct_type():
+ name = field.name + field.dim
+ struct_fields.append((field, name, field_index))
+ field_index = field_index + 1
+
+ if struct_fields:
+ for field, name, fi in struct_fields:
+ print(" uint32_t v%d_%d;" % (index, fi))
+ for field, name, fi in struct_fields:
+ if repack:
+ print(" %s_repack(data, &v%d_%d, &origin[%d], &values->%s);" %
+ (self.parser.gen_prefix_for_type(field.type), index, fi, index, name))
+ else:
+ print(" %s_pack(data, &v%d_%d, &values->%s);" %
+ (self.parser.gen_prefix_for_type(field.type), index, fi, name))
+
+ dword_start = index * 32
+ if dw.address == None:
+ address_count = 0
+ else:
+ address_count = 1
+
+ # Assert in dont_use values
+ for field in dw.fields:
+ for value in field.values:
+ if value.dont_use:
+ print(" assert(values->%s != %s);" %
+ (field.name,
+ self.parser.gen_value_name(value.name,
+ prefix=field.prefix)))
+
+ if dw.size == 32 and dw.address == None:
+ v = None
+ print(" dw[%d] =" % index)
+ elif len(dw.fields) > address_count or repack:
+ v = "v%d" % index
+ print(" const uint%d_t %s =" % (dw.size, v))
+ else:
+ v = "0"
+
+ field_index = 0
+ non_address_fields = []
+
+ if repack:
+ non_address_fields.append("origin[%d]" % index)
+ if dw.size > 32:
+ non_address_fields.append("((uint64_t)origin[%d] << 32)" % (index + 1))
+
+ for field in dw.fields:
+ if field.type != "mbo" and field.type != "mbz" and field.type != "repack":
+ name = field.name + field.dim
+
+ nz = "_nonzero" if field.nonzero else ""
+
+ if field.type == "repack":
+ non_address_fields.append("origin[%d]" % index)
+ elif field.type == "mbo":
+ non_address_fields.append("util_bitpack_ones(%d, %d)" % \
+ (field.start - dword_start, field.end - dword_start))
+ elif field.type == "mbz":
+ assert not field.nonzero
+ elif field.type == "address":
+ pass
+ elif field.type == "uint":
+ non_address_fields.append("util_bitpack_uint%s(values->%s, %d, %d)" % \
+ (nz, name, field.start - dword_start, field.end - dword_start))
+ elif field.is_enum_type():
+ non_address_fields.append("util_bitpack_uint%s(values->%s, %d, %d)" % \
+ (nz, name, field.start - dword_start, field.end - dword_start))
+ elif field.type == "int":
+ non_address_fields.append("util_bitpack_sint%s(values->%s, %d, %d)" % \
+ (nz, name, field.start - dword_start, field.end - dword_start))
+ elif field.type == "bool":
+ non_address_fields.append("util_bitpack_uint%s(values->%s, %d, %d)" % \
+ (nz, name, field.start - dword_start, field.end - dword_start))
+ elif field.type == "float":
+ non_address_fields.append("util_bitpack_float%s(values->%s)" % (nz, name))
+ elif field.type == "offset":
+ non_address_fields.append("__gen_offset%s(values->%s, %d, %d)" % \
+ (nz, name, field.start - dword_start, field.end - dword_start))
+ elif field.type == 'ufixed':
+ non_address_fields.append("util_bitpack_ufixed%s(values->%s, %d, %d, %d)" % \
+ (nz, name, field.start - dword_start, field.end - dword_start, field.fractional_size))
+ elif field.type == 'sfixed':
+ non_address_fields.append("util_bitpack_sfixed%s(values->%s, %d, %d, %d)" % \
+ (nz, name, field.start - dword_start, field.end - dword_start, field.fractional_size))
+ elif field.is_struct_type():
+ non_address_fields.append("util_bitpack_uint(v%d_%d, %d, %d)" % \
+ (index, field_index, field.start - dword_start, field.end - dword_start))
+ field_index = field_index + 1
+ else:
+ non_address_fields.append("/* unhandled field %s, type %s */\n" % \
+ (name, field.type))
+
+ if non_address_fields:
+ print(" |\n".join(" " + f for f in non_address_fields) + ";")
+
+ if dw.size == 32:
+ if dw.address:
+ print(" dw[%d] = __gen_address(data, &dw[%d], values->%s, %s, %d, %d);" %
+ (index, index, dw.address.name + field.dim, v,
+ dw.address.start - dword_start, dw.address.end - dword_start))
+ print(" }")
+ continue
+
+ if dw.address:
+ v_address = "v%d_address" % index
+ print(" const uint64_t %s =\n __gen_address(data, &dw[%d], values->%s, %s, %d, %d);" %
+ (v_address, index, dw.address.name + field.dim, v,
+ dw.address.start - dword_start, dw.address.end - dword_start))
+ if len(dw.fields) > address_count:
+ print(" dw[%d] = %s;" % (index, v_address))
+ print(" dw[%d] = (%s >> 32) | (%s >> 32);" % (index + 1, v_address, v))
+ print(" }")
+ continue
+ else:
+ v = v_address
+ print(" dw[%d] = %s;" % (index, v))
+ print(" dw[%d] = %s >> 32;" % (index + 1, v))
+ print(" }")
+
+class Value(object):
+ def __init__(self, attrs):
+ self.name = safe_name(attrs["name"])
+ self.value = ast.literal_eval(attrs["value"])
+ self.dont_use = int(attrs["dont_use"]) != 0 if "dont_use" in attrs else False
+
+class Parser(object):
+ def __init__(self, repack):
+ self.instruction = None
+ self.structs = {}
+ # Set of enum names we've seen.
+ self.enums = set()
+ self.registers = {}
+ self.repack = repack
+ # Maps struct/register type names to the origin gen label for types
+ # that were omitted (no definition emitted for this gen).
+ self.skipped_type_origins = {}
+
+ def gen_prefix(self, name):
+ if name[0] == "_":
+ return 'GFX%s%s' % (self.gen, name)
+ return 'GFX%s_%s' % (self.gen, name)
+
+ def gen_prefix_for_type(self, type_name):
+ """Like gen_prefix but resolves skipped (omitted) types to their
+ origin gen so that struct/pack references still compile."""
+ origin = self.skipped_type_origins.get(type_name)
+ if origin:
+ safe = safe_name(type_name)
+ if safe[0] == '_':
+ return 'GFX%s%s' % (origin, safe)
+ return 'GFX%s_%s' % (origin, safe)
+ return self.gen_prefix(safe_name(type_name))
+
+ def gen_value_name(self, value_name, prefix=None,
+ strip_prefixed_leading_underscore=False):
+ name = value_name
+ if prefix:
+ if strip_prefixed_leading_underscore and name[0] == '_':
+ name = name[1:]
+ name = prefix + "_" + name
+
+ return self.gen_prefix(name.upper())
+
+ def gen_guard(self):
+ return self.gen_prefix("{0}_PACK_H".format(self.platform))
+
+ def _should_skip_item(self, item):
+ """Check if this item is bit-identical to any previous gen
+ and should be skipped (applies to instructions, structs, and
+ registers)."""
+ if not self.baseline_fingerprints:
+ return False
+ item_name = item.attrib.get('name')
+ if not item_name:
+ return False
+ baseline_fp = self.baseline_fingerprints.get(item_name)
+ if baseline_fp is None:
+ return False # New item, must emit
+ return _item_fingerprint(item) == baseline_fp
+
+ def process_item(self, item):
+ name = item.tag
+ assert name != "genxml"
+ attrs = item.attrib
+
+ # Skip items that are bit-identical to any previous gen.
+ # Emit a comment pointing to the oldest gen that defined this
+ # layout so that a developer can grep and find it in one hop.
+ if name in ("instruction", "struct", "register") and self._should_skip_item(item):
+ safe = safe_name(attrs["name"])
+ origin = self.origin_gens.get(attrs["name"], self.baseline_gen)
+ if safe[0] == "_":
+ origin_name = 'GFX%s%s' % (origin, safe)
+ else:
+ origin_name = 'GFX%s_%s' % (origin, safe)
+ print("/* %s omitted: identical to %s */" %
+ (self.gen_prefix(safe), origin_name))
+ print('')
+ # Register skipped structs/registers so later items can
+ # still reference them as field types, resolved to origin gen.
+ if name == "struct":
+ self.structs[attrs["name"]] = 1
+ self.skipped_type_origins[attrs["name"]] = origin
+ elif name == "register":
+ self.registers[attrs["name"]] = 1
+ self.skipped_type_origins[attrs["name"]] = origin
+ return
+
+ if name in ("instruction", "struct", "register"):
+ if name == "instruction":
+ self.instruction = safe_name(attrs["name"])
+ self.length_bias = int(attrs["bias"])
+ elif name == "struct":
+ self.struct = safe_name(attrs["name"])
+ self.structs[attrs["name"]] = 1
+ elif name == "register":
+ self.register = safe_name(attrs["name"])
+ self.reg_num = num_from_str(attrs["num"])
+ self.registers[attrs["name"]] = 1
+ if "length" in attrs:
+ self.length = int(attrs["length"])
+ size = self.length * 32
+ else:
+ self.length = None
+ size = 0
+ self.group = Group(self, None, 0, 1, size)
+
+ elif name == "group":
+ dword = int(attrs["dword"])
+ offset_bits = int(attrs.get("offset_bits", 0))
+ start = dword * 32 + offset_bits
+
+
+ group = Group(self, self.group,
+ start, int(attrs["count"]), int(attrs["size"]))
+ self.group.fields.append(group)
+ self.group = group
+ elif name == "field":
+ self.group.fields.append(Field(self, attrs))
+ self.values = []
+ elif name == "enum":
+ self.values = []
+ self.enum = safe_name(attrs["name"])
+ self.enums.add(attrs["name"])
+ if "prefix" in attrs:
+ self.prefix = safe_name(attrs["prefix"])
+ else:
+ self.prefix = None
+ elif name == "value":
+ self.values.append(Value(attrs))
+ elif name in ("import", "exclude"):
+ pass
+ else:
+ assert False
+
+ for child_item in item:
+ self.process_item(child_item)
+
+ if name == "instruction":
+ self.emit_instruction()
+ self.instruction = None
+ self.group = None
+ elif name == "struct":
+ self.emit_struct()
+ self.struct = None
+ self.group = None
+ elif name == "register":
+ self.emit_register()
+ self.register = None
+ self.reg_num = None
+ self.group = None
+ elif name == "group":
+ self.group = self.group.parent
+ elif name == "field":
+ self.group.fields[-1].values = self.values
+ elif name == "enum":
+ self.emit_enum()
+ self.enum = None
+ elif name in ("import", "exclude", "value"):
+ pass
+ else:
+ assert False
+
+ def emit_template_struct(self, name, group):
+ print("struct %s {" % self.gen_prefix(name))
+ group.emit_template_struct("")
+ print("};\n")
+
+
+ def emit_pack_function(self, name, group, repack=False):
+ name = self.gen_prefix(name)
+ if repack:
+ print(textwrap.dedent("""\
+ static inline __attribute__((always_inline)) void
+ %s_repack(__attribute__((unused)) __gen_user_data *data,
+ %s__attribute__((unused)) void * restrict dst,
+ %s__attribute__((unused)) const uint32_t * origin,
+ %s__attribute__((unused)) const struct %s * restrict values)
+ {""") % (name, ' ' * len(name), ' ' * len(name), ' ' * len(name), name))
+ else:
+ print(textwrap.dedent("""\
+ static inline __attribute__((always_inline)) void
+ %s_pack(__attribute__((unused)) __gen_user_data *data,
+ %s__attribute__((unused)) void * restrict dst,
+ %s__attribute__((unused)) const struct %s * restrict values)
+ {""") % (name, ' ' * len(name), ' ' * len(name), name))
+
+ (dwords, length) = group.collect_dwords_and_length(repack)
+ if length:
+ # Cast dst to make header C++ friendly
+ type_name = "uint32_t * restrict"
+ print(" %s dw = (%s) dst;" % (type_name, type_name))
+
+ group.emit_pack_function(dwords, length, repack)
+
+ print("}\n")
+
+ def emit_instruction(self):
+ name = self.instruction
+
+ if not self.length is None:
+ print('#define %-33s %6d' %
+ (self.gen_prefix(name + "_length"), self.length))
+ print('#define %-33s %6d' %
+ (self.gen_prefix(name + "_length_bias"), self.length_bias))
+
+ default_fields = []
+ for field in self.group.fields:
+ if not isinstance(field, Field):
+ continue
+ if field.default is None:
+ continue
+
+ if field.is_builtin_type():
+ default_fields.append(" .%-35s = %6d" % (field.name, field.default))
+ else:
+ # Default values should not apply to structures
+ assert field.is_enum_type()
+ default_fields.append(" .%-35s = (enum %s) %6d" % (field.name, self.gen_prefix(safe_name(field.type)), field.default))
+
+ if default_fields:
+ print('#define %-40s\\' % (self.gen_prefix(name + '_header')))
+ print(", \\\n".join(default_fields))
+ print('')
+
+ self.emit_template_struct(self.instruction, self.group)
+ self.emit_pack_function(self.instruction, self.group)
+ if self.repack:
+ self.emit_pack_function(self.instruction, self.group, repack=True)
+ self.group.emit_value_defines()
+
+ def emit_register(self):
+ name = self.register
+ if not self.reg_num is None:
+ print('#define %-33s 0x%04x' %
+ (self.gen_prefix(name + "_num"), self.reg_num))
+
+ if not self.length is None:
+ print('#define %-33s %6d' %
+ (self.gen_prefix(name + "_length"), self.length))
+
+ self.emit_template_struct(self.register, self.group)
+ self.emit_pack_function(self.register, self.group)
+ self.group.emit_value_defines()
+
+ def emit_struct(self):
+ name = self.struct
+ if not self.length is None:
+ print('#define %-33s %6d' %
+ (self.gen_prefix(name + "_length"), self.length))
+
+ self.emit_template_struct(self.struct, self.group)
+ self.emit_pack_function(self.struct, self.group)
+ if self.repack:
+ self.emit_pack_function(self.struct, self.group, repack=True)
+ self.group.emit_value_defines()
+
+ def emit_enum(self):
+ enum_name = self.gen_prefix(self.enum)
+ print('enum %s {' % enum_name)
+ for value in self.values:
+ name = self.gen_value_name(value.name, prefix=self.prefix)
+ print(' %-36s = %6d,' % (name.upper(), value.value))
+ print('};')
+ print('')
+
+ def emit_genxml(self, genxml):
+ root = genxml.et.getroot()
+ self.platform = root.attrib["name"]
+ self.gen = root.attrib["gen"].replace('.', '')
+ print(pack_header % {'license': license, 'platform': self.platform, 'guard': self.gen_guard()})
+ for item in root:
+ self.process_item(item)
+ print('#endif /* %s */' % self.gen_guard())
+
+def _element_fingerprint(elem, skip_attrs=frozenset()):
+ """Canonical string representation of an XML element for structural
+ comparison. Captures tag, attributes (sorted, minus skip_attrs),
+ and all children recursively."""
+ parts = [elem.tag]
+ for k, v in sorted(elem.attrib.items()):
+ if k not in skip_attrs:
+ parts.append('%s=%s' % (k, v))
+ for child in elem:
+ parts.append(_element_fingerprint(child))
+ return '(%s)' % '|'.join(parts)
+
+def _item_fingerprint(item):
+ """Structural fingerprint for an XML element (instruction, struct,
+ or register). Skips identity attributes ('name', 'engine', 'num')
+ so that two items are considered identical when their bit-layout
+ matches, regardless of naming or register offset."""
+ return _element_fingerprint(item, skip_attrs={'name', 'engine', 'num'})
+
+def _build_baseline(xml_source, engines):
+ """Load a single baseline gen's XML file and build a dict of
+ item name -> fingerprint. Kept for use by gen_decode_header."""
+ genxml = intel_genxml.GenXml(xml_source)
+ genxml.merge_imported()
+ genxml.filter_engines(engines)
+ root = genxml.et.getroot()
+ baseline = {}
+ baseline_gen = root.attrib["gen"].replace('.', '')
+ for item in root:
+ if item.tag in ('instruction', 'struct', 'register'):
+ item_name = item.attrib.get('name')
+ if item_name:
+ baseline[item_name] = _item_fingerprint(item)
+ return baseline, baseline_gen
+
+def _build_baselines(xml_sources, engines):
+ """Load a sequence of baseline gen XML files (oldest first) and build:
+ - fingerprints: item_name -> fingerprint (from most recent occurrence)
+ - baseline_gen: gen label of the most recent baseline
+ - origin_gens: item_name -> gen label of the oldest gen with the
+ current fingerprint for that item
+ An item's origin resets when its fingerprint changes."""
+ fingerprints = {}
+ origin_gens = {}
+ baseline_gen = None
+ for xml_source in xml_sources:
+ genxml = intel_genxml.GenXml(xml_source)
+ genxml.merge_imported()
+ genxml.filter_engines(engines)
+ root = genxml.et.getroot()
+ gen_label = root.attrib["gen"].replace('.', '')
+ baseline_gen = gen_label
+ for item in root:
+ if item.tag in ('instruction', 'struct', 'register'):
+ item_name = item.attrib.get('name')
+ if item_name:
+ fp = _item_fingerprint(item)
+ if item_name not in fingerprints or fingerprints[item_name] != fp:
+ # New item or fingerprint changed: this gen is the origin
+ fingerprints[item_name] = fp
+ origin_gens[item_name] = gen_label
+ # else: same fingerprint, keep existing (older) origin
+ return fingerprints, baseline_gen, origin_gens
+
+def parse_args():
+ p = argparse.ArgumentParser()
+ p.add_argument('xml_source', metavar='XML_SOURCE',
+ help="Input xml file")
+ p.add_argument('--engines', nargs='?', type=str, default='render',
+ help="Comma-separated list of engines whose instructions should be parsed (default: %(default)s)")
+ p.add_argument('--include-symbols', nargs='?', type=str, action='store',
+ help="List of instruction/structures to generate")
+ p.add_argument('--repack', action='store_true', help="Emit repacking code")
+ p.add_argument('--baseline', type=str, action='append', default=[],
+ help="Previous gen XML files (oldest first); skip items identical to any baseline")
+
+ pargs = p.parse_args()
+
+ if pargs.engines is None:
+ print("No engines specified")
+ sys.exit(1)
+
+ return pargs
+
+def main():
+ pargs = parse_args()
+
+ engines = set(pargs.engines.split(','))
+ valid_engines = [ 'render', 'blitter', 'video', 'compute' ]
+ if engines - set(valid_engines):
+ print("Invalid engine specified, valid engines are:\n")
+ for e in valid_engines:
+ print("\t%s" % e)
+ sys.exit(1)
+
+ baseline_fingerprints = {}
+ baseline_gen = None
+ origin_gens = {}
+ if pargs.baseline:
+ baseline_fingerprints, baseline_gen, origin_gens = _build_baselines(
+ pargs.baseline, engines)
+
+ genxml = intel_genxml.GenXml(pargs.xml_source)
+
+ genxml.merge_imported()
+ genxml.filter_engines(engines)
+ if pargs.include_symbols:
+ genxml.filter_symbols(pargs.include_symbols.split(','))
+ p = Parser(pargs.repack)
+ p.baseline_fingerprints = baseline_fingerprints
+ p.baseline_gen = baseline_gen
+ p.origin_gens = origin_gens
+ p.emit_genxml(genxml)
+
+if __name__ == '__main__':
+ main()
diff --git a/lib/genxml/igt_genxml.h b/lib/genxml/igt_genxml.h
new file mode 100644
index 000000000..7b8c59338
--- /dev/null
+++ b/lib/genxml/igt_genxml.h
@@ -0,0 +1,112 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ *
+ * Emit / pack macros for using genxml-generated pack headers with
+ * IGT's intel_bb batch-buffer infrastructure.
+ *
+ * Relocations are handled automatically: when an address field in a
+ * genxml struct is assigned a struct igt_address with a non-zero
+ * handle, __gen_combine_address (in igt_genxml_defs.h) registers the
+ * relocation during packing.
+ */
+
+#ifndef IGT_GENXML_H
+#define IGT_GENXML_H
+
+#include <stdint.h>
+#include "igt_core.h"
+#include "intel_batchbuffer.h"
+#include "intel_bufops.h"
+#include "igt_genxml_defs.h"
+
+/*
+ * igt_genxml_emit - emit a fixed-length GPU command into the batch.
+ *
+ * Usage:
+ * igt_genxml_emit(ibb, GFX9_3DSTATE_CLIP, clip) {
+ * clip.MaximumVPIndex = 0;
+ * ...
+ * }
+ *
+ * The struct is zero-initialised with the default header fields, packed
+ * into the batch at the current pointer, and the pointer is advanced by
+ * cmd##_length dwords.
+ */
+#define igt_genxml_emit(ibb, cmd, name) \
+ for (struct cmd name = { cmd##_header }, \
+ *_dst = (struct cmd *)intel_bb_ptr(ibb); \
+ __builtin_expect(_dst != NULL, 1); \
+ ({ \
+ cmd##_pack((ibb), (void *)_dst, &name); \
+ intel_bb_ptr_add((ibb), cmd##_length * 4); \
+ _dst = NULL; \
+ }))
+
+/*
+ * igt_genxml_pack_state - pack a state object at an arbitrary location.
+ *
+ * Usage:
+ * void *ptr = intel_bb_ptr_align(ibb, 64);
+ * igt_genxml_pack_state(ibb, GFX9_RENDER_SURFACE_STATE, ptr, rss) {
+ * rss.SurfaceType = GFX9_SURFTYPE_2D;
+ * rss.SurfaceBaseAddress = igt_address_of(buf, 0, rd, wd);
+ * ...
+ * }
+ * intel_bb_ptr_add(ibb, GFX9_RENDER_SURFACE_STATE_length * 4);
+ *
+ * Address fields with a non-zero handle get their relocations
+ * registered automatically during packing.
+ */
+#define igt_genxml_pack_state(ibb, cmd, dst_ptr, name) \
+ for (struct cmd name = { 0 }, \
+ *_done = (struct cmd *)1; \
+ __builtin_expect(_done != NULL, 1); \
+ ({ \
+ cmd##_pack((ibb), (void *)(dst_ptr), &name); \
+ _done = NULL; \
+ }))
+
+/*
+ * igt_address_of - construct an igt_address for a buffer object.
+ *
+ * @buf: intel_buf owning the BO
+ * @bo_offset: offset within the BO (e.g. surface[0].offset, cc.offset)
+ * @read_domains: GEM read domains
+ * @write_domain: GEM write domain
+ */
+static inline struct igt_address
+igt_address_of(const struct intel_buf *buf, uint64_t bo_offset,
+ uint32_t read_domains, uint32_t write_domain)
+{
+ return (struct igt_address){
+ .offset = buf->addr.offset + bo_offset,
+ .handle = buf->handle,
+ .read_domains = read_domains,
+ .write_domain = write_domain,
+ .presumed_offset = buf->addr.offset,
+ };
+}
+
+/*
+ * igt_address_of_batch - construct an igt_address pointing into the
+ * batch buffer itself (e.g. for STATE_BASE_ADDRESS).
+ *
+ * @ibb: batch buffer
+ * @read_domains: GEM read domains
+ * @write_domain: GEM write domain
+ */
+static inline struct igt_address
+igt_address_of_batch(struct intel_bb *ibb,
+ uint32_t read_domains, uint32_t write_domain)
+{
+ return (struct igt_address){
+ .offset = ibb->batch_offset,
+ .handle = ibb->handle,
+ .read_domains = read_domains,
+ .write_domain = write_domain,
+ .presumed_offset = ibb->batch_offset,
+ };
+}
+
+#endif /* IGT_GENXML_H */
diff --git a/lib/genxml/igt_genxml_decode.h b/lib/genxml/igt_genxml_decode.h
new file mode 100644
index 000000000..316c4b250
--- /dev/null
+++ b/lib/genxml/igt_genxml_decode.h
@@ -0,0 +1,60 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2025 Intel Corporation
+ *
+ * Batch buffer annotated decode using genxml-generated decode headers.
+ *
+ * Usage:
+ * igt_genxml_decode_batch(fp, gen, batch_ptr, batch_dwords);
+ *
+ * This dispatches to the appropriate per-gen decode function based on
+ * the gen number. Each gen's decode header provides command identification
+ * and field-level annotation.
+ */
+
+#ifndef IGT_GENXML_DECODE_H
+#define IGT_GENXML_DECODE_H
+
+#include <stdio.h>
+#include <stdint.h>
+#include "intel_chipset.h"
+
+#include "gen90_decode.h"
+#include "gen110_decode.h"
+#include "gen120_decode.h"
+#include "gen125_decode.h"
+#include "xe2_decode.h"
+#include "xe3_decode.h"
+#include "xe3p_decode.h"
+
+/*
+ * igt_genxml_decode_batch - walk and annotate a batch buffer.
+ *
+ * @fp: output file
+ * @devid: PCI device ID (used to select the right gen decoder)
+ * @batch: pointer to batch buffer dwords
+ * @batch_dwords: number of dwords in the batch
+ */
+static inline void
+igt_genxml_decode_batch(FILE *fp, uint32_t devid,
+ const uint32_t *batch, unsigned batch_dwords)
+{
+ unsigned gen = intel_gen(devid);
+
+ if (gen >= 35)
+ gfx35_decode_batch(fp, batch, batch_dwords);
+ else if (gen >= 30)
+ gfx30_decode_batch(fp, batch, batch_dwords);
+ else if (gen >= 20)
+ gfx20_decode_batch(fp, batch, batch_dwords);
+ else if (HAS_4TILE(devid) || gen > 12)
+ gfx125_decode_batch(fp, batch, batch_dwords);
+ else if (gen >= 12)
+ gfx12_decode_batch(fp, batch, batch_dwords);
+ else if (gen >= 11)
+ gfx11_decode_batch(fp, batch, batch_dwords);
+ else
+ gfx9_decode_batch(fp, batch, batch_dwords);
+}
+
+#endif /* IGT_GENXML_DECODE_H */
diff --git a/lib/genxml/igt_genxml_defs.h b/lib/genxml/igt_genxml_defs.h
new file mode 100644
index 000000000..00b855460
--- /dev/null
+++ b/lib/genxml/igt_genxml_defs.h
@@ -0,0 +1,335 @@
+/* SPDX-License-Identifier: MIT */
+/*
+ * Copyright © 2016 Intel Corporation
+ * Copyright © 2025 Intel Corporation
+ *
+ * Self-contained header providing all definitions that genxml-generated
+ * pack headers need. Replaces Mesa's util/bitpack_helpers.h and
+ * genX_helpers.h so that IGT can use genxml without pulling in Mesa's
+ * build system.
+ */
+
+#ifndef IGT_GENXML_DEFS_H
+#define IGT_GENXML_DEFS_H
+
+#include <assert.h>
+#include <math.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <string.h>
+
+/* ── compiler helpers ─────────────────────────────────────────────── */
+
+#ifndef ALWAYS_INLINE
+#define ALWAYS_INLINE inline __attribute__((always_inline))
+#endif
+
+#ifndef ASSERTED
+#ifdef NDEBUG
+#define ASSERTED __attribute__((unused))
+#else
+#define ASSERTED
+#endif
+#endif
+
+#ifndef UNUSED
+#define UNUSED __attribute__((unused))
+#endif
+
+#ifndef CLAMP
+#define CLAMP(x, lo, hi) ((x) < (lo) ? (lo) : ((x) > (hi) ? (hi) : (x)))
+#endif
+
+/* ── bit-field helpers ────────────────────────────────────────────── */
+
+#ifndef BITFIELD64_BIT
+#define BITFIELD64_BIT(b) (1ull << (b))
+#endif
+
+#ifndef BITFIELD64_MASK
+#define BITFIELD64_MASK(b) \
+ ((b) == 64 ? (~0ull) : BITFIELD64_BIT(b) - 1)
+#endif
+
+/* ── int-range helpers (Mesa u_math.h equivalents) ────────────────── */
+
+static inline ALWAYS_INLINE int64_t
+u_intN_min(unsigned bits)
+{
+ return -(INT64_C(1) << (bits - 1));
+}
+
+static inline ALWAYS_INLINE int64_t
+u_intN_max(unsigned bits)
+{
+ return (INT64_C(1) << (bits - 1)) - 1;
+}
+
+static inline ALWAYS_INLINE uint64_t
+u_uintN_max(unsigned bits)
+{
+ return (bits == 64) ? UINT64_MAX : (UINT64_C(1) << bits) - 1;
+}
+
+/* ── validation hook (no-op outside Valgrind) ─────────────────────── */
+
+#ifndef util_bitpack_validate_value
+#define util_bitpack_validate_value(x)
+#endif
+
+/* ── bitpack functions ────────────────────────────────────────────── */
+
+ALWAYS_INLINE static uint64_t
+util_bitpack_ones(uint32_t start, uint32_t end)
+{
+ return (UINT64_MAX >> (64 - (end - start + 1))) << start;
+}
+
+ALWAYS_INLINE static uint64_t
+util_bitpack_uint(uint64_t v, uint32_t start, UNUSED uint32_t end)
+{
+#ifndef NDEBUG
+ const int bits = end - start + 1;
+ if (bits < 64) {
+ const uint64_t max = u_uintN_max(bits);
+ assert(v <= max);
+ }
+#endif
+ util_bitpack_validate_value(v);
+ return v << start;
+}
+
+ALWAYS_INLINE static uint64_t
+util_bitpack_uint_nonzero(uint64_t v, uint32_t start, uint32_t end)
+{
+ assert(v != 0ull);
+ return util_bitpack_uint(v, start, end);
+}
+
+ALWAYS_INLINE static uint64_t
+util_bitpack_sint(int64_t v, uint32_t start, uint32_t end)
+{
+ const int bits = end - start + 1;
+ const uint64_t mask = BITFIELD64_MASK(bits);
+ util_bitpack_validate_value(v);
+#ifndef NDEBUG
+ if (bits < 64) {
+ const int64_t min = u_intN_min(bits);
+ const int64_t max = u_intN_max(bits);
+ assert(min <= v && v <= max);
+ }
+#endif
+ return (v & mask) << start;
+}
+
+ALWAYS_INLINE static uint64_t
+util_bitpack_sint_nonzero(int64_t v, uint32_t start, uint32_t end)
+{
+ assert(v != 0ll);
+ return util_bitpack_sint(v, start, end);
+}
+
+ALWAYS_INLINE static uint32_t
+util_bitpack_float(float v)
+{
+ union { float f; uint32_t dw; } x;
+ util_bitpack_validate_value(v);
+ x.f = v;
+ return x.dw;
+}
+
+ALWAYS_INLINE static uint32_t
+util_bitpack_float_nonzero(float v)
+{
+ assert(v != 0.0f);
+ return util_bitpack_float(v);
+}
+
+ALWAYS_INLINE static uint64_t
+util_bitpack_sfixed(float v, uint32_t start, uint32_t end,
+ uint32_t fract_bits)
+{
+ const float factor = (1 << fract_bits);
+ const int64_t int_val = llroundf(v * factor);
+ const uint64_t mask = UINT64_MAX >> (64 - (end - start + 1));
+ util_bitpack_validate_value(v);
+#ifndef NDEBUG
+ {
+ const int total_bits = end - start + 1;
+ const float min = u_intN_min(total_bits) / factor;
+ const float max = u_intN_max(total_bits) / factor;
+ assert(min <= v && v <= max);
+ }
+#endif
+ return (int_val & mask) << start;
+}
+
+ALWAYS_INLINE static uint64_t
+util_bitpack_sfixed_clamp(float v, uint32_t start, uint32_t end,
+ uint32_t fract_bits)
+{
+ const float factor = (1 << fract_bits);
+ const int total_bits = end - start + 1;
+ const float min = u_intN_min(total_bits) / factor;
+ const float max = u_intN_max(total_bits) / factor;
+ const int64_t int_val = llroundf(CLAMP(v, min, max) * factor);
+ const uint64_t mask = UINT64_MAX >> (64 - (end - start + 1));
+ util_bitpack_validate_value(v);
+ return (int_val & mask) << start;
+}
+
+ALWAYS_INLINE static uint64_t
+util_bitpack_sfixed_nonzero(float v, uint32_t start, uint32_t end,
+ uint32_t fract_bits)
+{
+ assert(v != 0.0f);
+ return util_bitpack_sfixed(v, start, end, fract_bits);
+}
+
+ALWAYS_INLINE static uint64_t
+util_bitpack_ufixed(float v, uint32_t start, ASSERTED uint32_t end,
+ uint32_t fract_bits)
+{
+ const float factor = (1 << fract_bits);
+ const uint64_t uint_val = llroundf(v * factor);
+ util_bitpack_validate_value(v);
+#ifndef NDEBUG
+ {
+ const int total_bits = end - start + 1;
+ const float min = 0.0f;
+ const float max = u_uintN_max(total_bits) / factor;
+ assert(min <= v && v <= max);
+ }
+#endif
+ return uint_val << start;
+}
+
+ALWAYS_INLINE static uint64_t
+util_bitpack_ufixed_clamp(float v, uint32_t start, ASSERTED uint32_t end,
+ uint32_t fract_bits)
+{
+ const float factor = (1 << fract_bits);
+ const int total_bits = end - start + 1;
+ const float min = 0.0f;
+ const float max = u_uintN_max(total_bits) / factor;
+ const uint64_t uint_val = llroundf(CLAMP(v, min, max) * factor);
+ util_bitpack_validate_value(v);
+ return uint_val << start;
+}
+
+ALWAYS_INLINE static uint64_t
+util_bitpack_ufixed_nonzero(float v, uint32_t start, uint32_t end,
+ uint32_t fract_bits)
+{
+ assert(v != 0.0f);
+ return util_bitpack_ufixed(v, start, end, fract_bits);
+}
+
+/* ── address type and combine function ────────────────────────────── */
+
+struct igt_address {
+ uint64_t offset; /* full GPU address to pack into dwords */
+ uint32_t handle; /* GEM handle; 0 = no reloc needed */
+ uint32_t read_domains;
+ uint32_t write_domain;
+ uint64_t presumed_offset; /* BO base address (for computing bo_delta) */
+};
+
+struct intel_bb;
+
+/*
+ * Declared here so __gen_combine_address can call it.
+ * Also declared in intel_batchbuffer.h; suppress the warning
+ * when both headers are included.
+ */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wredundant-decls"
+uint64_t intel_bb_offset_reloc_with_delta(struct intel_bb *ibb,
+ uint32_t handle,
+ uint32_t read_domains,
+ uint32_t write_domain,
+ uint32_t delta,
+ uint32_t offset,
+ uint64_t presumed_offset);
+#pragma GCC diagnostic pop
+
+#define __gen_address_type struct igt_address
+#define __gen_user_data struct intel_bb
+
+/*
+ * __gen_combine_address - called by genxml pack functions for every
+ * address field. If the address carries a GEM handle, automatically
+ * register a relocation with intel_bb.
+ *
+ * @ibb: batch buffer (passed as __gen_user_data*)
+ * @location: pointer to the dword(s) being written in the batch
+ * @addr: address descriptor (offset + optional reloc metadata)
+ * @delta: flag bits that genxml packed below the address field
+ */
+static inline ALWAYS_INLINE uint64_t
+__gen_combine_address(struct intel_bb *ibb,
+ void *location,
+ struct igt_address addr, uint32_t delta)
+{
+ if (addr.handle) {
+ uint32_t batch_offset =
+ (uint8_t *)location - (uint8_t *)ibb->batch;
+ uint32_t bo_delta =
+ (uint32_t)(addr.offset - addr.presumed_offset);
+
+ intel_bb_offset_reloc_with_delta(ibb, addr.handle,
+ addr.read_domains,
+ addr.write_domain,
+ bo_delta + delta,
+ batch_offset,
+ addr.presumed_offset);
+ }
+
+ return addr.offset + delta;
+}
+
+/* ── validation hook (no-op) ──────────────────────────────────────── */
+
+#ifndef __gen_validate_value
+#define __gen_validate_value(x)
+#endif
+
+/* ── offset helper ────────────────────────────────────────────────── */
+
+static inline ALWAYS_INLINE uint64_t
+__gen_offset(uint64_t v, ASSERTED uint32_t start, ASSERTED uint32_t end)
+{
+#ifndef NDEBUG
+ uint64_t mask = (~0ull >> (64 - (end - start + 1))) << start;
+ assert((v & ~mask) == 0);
+#endif
+ __gen_validate_value(v);
+ return v;
+}
+
+static inline ALWAYS_INLINE uint64_t
+__gen_offset_nonzero(uint64_t v, uint32_t start, uint32_t end)
+{
+ assert(v != 0ull);
+ return __gen_offset(v, start, end);
+}
+
+/* ── address helper ───────────────────────────────────────────────── */
+
+static inline ALWAYS_INLINE uint64_t
+__gen_address(__gen_user_data *data, void *location,
+ __gen_address_type address, uint32_t delta,
+ __attribute__((unused)) uint32_t start, uint32_t end)
+{
+ uint64_t addr_u64 = __gen_combine_address(data, location, address, delta);
+ if (end == 31) {
+ return addr_u64;
+ } else if (end < 63) {
+ const unsigned shift = 63 - end;
+ return (addr_u64 << shift) >> shift;
+ } else {
+ return addr_u64;
+ }
+}
+
+#endif /* IGT_GENXML_DEFS_H */
diff --git a/lib/genxml/intel_genxml.py b/lib/genxml/intel_genxml.py
new file mode 100644
index 000000000..a20e8e0ae
--- /dev/null
+++ b/lib/genxml/intel_genxml.py
@@ -0,0 +1,553 @@
+#!/usr/bin/env python3
+# Copyright © 2019, 2022 Intel Corporation
+# SPDX-License-Identifier: MIT
+
+from __future__ import annotations
+from collections import OrderedDict
+import copy
+import io
+import pathlib
+import os.path
+import re
+import xml.etree.ElementTree as et
+import typing
+
+if typing.TYPE_CHECKING:
+ class Args(typing.Protocol):
+
+ files: typing.List[pathlib.Path]
+ validate: bool
+ quiet: bool
+
+
+def get_filename(element: et.Element) -> str:
+ return element.attrib['filename']
+
+def get_name(element: et.Element) -> str:
+ return element.attrib['name']
+
+def get_value(element: et.Element) -> int:
+ return int(element.attrib['value'], 0)
+
+def get_start(element: et.Element) -> int:
+ attrs = element.attrib
+
+ if 'start' in attrs:
+ return int(attrs['start'], 0)
+
+ dword = int(attrs['dword'])
+ offset = 0
+
+ if 'bits' in attrs:
+ offset = int(attrs['bits'].split(':')[1])
+ elif 'offset_bits' in attrs:
+ offset = int(attrs['offset_bits'])
+
+ return dword * 32 + offset
+
+
+BASE_TYPES = {
+ 'address',
+ 'offset',
+ 'int',
+ 'uint',
+ 'bool',
+ 'float',
+ 'mbz',
+ 'mbo',
+}
+
+FIXED_PATTERN = re.compile(r"(s|u)(\d+)\.(\d+)")
+
+def is_base_type(name: str) -> bool:
+ return name in BASE_TYPES or FIXED_PATTERN.match(name) is not None
+
+def add_struct_refs(items: typing.OrderedDict[str, bool], node: et.Element) -> None:
+ if node.tag == 'field':
+ if 'type' in node.attrib and not is_base_type(node.attrib['type']):
+ t = node.attrib['type']
+ items[t] = True
+ return
+ if node.tag not in {'struct', 'group'}:
+ return
+ for c in node:
+ add_struct_refs(items, c)
+
+
+class Struct(object):
+ def __init__(self, xml: et.Element):
+ self.xml = xml
+ self.name = xml.attrib['name']
+ self.deps: typing.OrderedDict[str, Struct] = OrderedDict()
+
+ def find_deps(self, struct_dict, enum_dict) -> None:
+ deps: typing.OrderedDict[str, bool] = OrderedDict()
+ add_struct_refs(deps, self.xml)
+ for d in deps.keys():
+ if d in struct_dict:
+ self.deps[d] = struct_dict[d]
+
+ def add_xml(self, items: typing.OrderedDict[str, et.Element]) -> None:
+ for d in self.deps.values():
+ d.add_xml(items)
+ items[self.name] = self.xml
+
+
+# ordering of the various tag attributes
+GENXML_DESC = {
+ 'genxml' : [ 'name', 'gen', ],
+ 'import' : [ 'name', ],
+ 'exclude' : [ 'name', ],
+ 'enum' : [ 'name', 'value', 'prefix', ],
+ 'struct' : [ 'name', 'length', ],
+ 'field' : [ 'name', 'dword', 'bits', 'start', 'end', 'type', 'default', 'prefix', 'nonzero' ],
+ 'instruction' : [ 'name', 'bias', 'length', 'engine', ],
+ 'value' : [ 'name', 'value', 'dont_use', ],
+ 'group' : [ 'count', 'dword', 'offset_bits', 'start', 'size', ],
+ 'register' : [ 'name', 'length', 'num', ],
+}
+
+
+def node_validator(old: et.Element, new: et.Element) -> bool:
+ """Compare to ElementTree Element nodes.
+
+ There is no builtin equality method, so calling `et.Element == et.Element` is
+ equivalent to calling `et.Element is et.Element`. We instead want to compare
+ that the contents are the same, including the order of children and attributes
+ """
+ return (
+ # Check that the attributes are the same
+ old.tag == new.tag and
+ old.text == new.text and
+ (old.tail or "").strip() == (new.tail or "").strip() and
+ list(old.attrib.items()) == list(new.attrib.items()) and
+ len(old) == len(new) and
+
+ # check that there are no unexpected attributes
+ set(new.attrib).issubset(GENXML_DESC[new.tag]) and
+
+ # check that the attributes are sorted
+ list(new.attrib) == list(old.attrib) and
+ all(node_validator(f, s) for f, s in zip(old, new))
+ )
+
+
+def process_attribs(elem: et.Element) -> None:
+ valid = GENXML_DESC[elem.tag]
+ # sort and prune attributes
+ elem.attrib = OrderedDict(sorted(((k, v) for k, v in elem.attrib.items() if k in valid),
+ key=lambda x: valid.index(x[0])))
+ for e in elem:
+ process_attribs(e)
+
+
+def sort_xml(xml: et.ElementTree) -> None:
+ genxml = xml.getroot()
+
+ imports = xml.findall('import')
+
+ enums = sorted(xml.findall('enum'), key=get_name)
+ enum_dict: typing.Dict[str, et.Element] = {}
+ for e in enums:
+ e[:] = sorted(e, key=get_value)
+ enum_dict[e.attrib['name']] = e
+
+ # Structs are a bit annoying because they can refer to each other. We sort
+ # them alphabetically and then build a graph of dependencies. Finally we go
+ # through the alphabetically sorted list and print out dependencies first.
+ structs = sorted(xml.findall('./struct'), key=get_name)
+ wrapped_struct_dict: typing.Dict[str, Struct] = {}
+ for s in structs:
+ s[:] = sorted(s, key=get_start)
+ ws = Struct(s)
+ wrapped_struct_dict[ws.name] = ws
+
+ for ws in wrapped_struct_dict.values():
+ ws.find_deps(wrapped_struct_dict, enum_dict)
+
+ sorted_structs: typing.OrderedDict[str, et.Element] = OrderedDict()
+ for s in structs:
+ _s = wrapped_struct_dict[s.attrib['name']]
+ _s.add_xml(sorted_structs)
+
+ instructions = sorted(xml.findall('./instruction'), key=get_name)
+ for i in instructions:
+ i[:] = sorted(i, key=get_start)
+
+ registers = sorted(xml.findall('./register'), key=get_name)
+ for r in registers:
+ r[:] = sorted(r, key=get_start)
+
+ new_elems = (imports + enums + list(sorted_structs.values()) +
+ instructions + registers)
+ for n in new_elems:
+ process_attribs(n)
+ genxml[:] = new_elems
+
+
+# `default_imports` documents which files should be imported for our
+# genxml files. This is only useful if a genxml file does not already
+# include imports.
+#
+# Basically, this allows the genxml_import.py tool used with the
+# --import switch to know which files should be added as an import.
+# (genxml_import.py uses GenXml.add_xml_imports, which relies on
+# `default_imports`.)
+default_imports = OrderedDict([
+ ('gen40.xml', ()),
+ ('gen45.xml', ('gen40.xml',)),
+ ('gen50.xml', ('gen45.xml',)),
+ ('gen60.xml', ('gen50.xml',)),
+ ('gen70.xml', ('gen60.xml',)),
+ ('gen75.xml', ('gen70.xml',)),
+ ('gen80.xml', ('gen75.xml',)),
+ ('gen90.xml', ('gen80.xml',)),
+ ('gen110.xml', ('gen90.xml',)),
+ ('gen120.xml', ('gen110.xml',)),
+ ('gen125.xml', ('gen120.xml',)),
+ ('gen125_rt.xml', ()),
+ ('xe2.xml', ('gen125.xml',)),
+ ('xe2_rt.xml', ('gen125_rt.xml',)),
+ ('xe3.xml', ('xe2.xml',)),
+ ('xe3_rt.xml', ('xe2_rt.xml',)),
+ ('xe3p.xml', ('xe3.xml',)),
+ ('xe3p_rt.xml', ('xe3_rt.xml',)),
+ ])
+known_genxml_files = list(default_imports.keys())
+
+
+def genxml_path_to_key(path):
+ try:
+ return known_genxml_files.index(path.name)
+ except ValueError:
+ return len(known_genxml_files)
+
+
+def sort_genxml_files(files):
+ files.sort(key=genxml_path_to_key)
+
+
+class GenXml(object):
+ def __init__(self, filename, import_xml=False, files=None):
+ if files is not None:
+ self.files = files
+ else:
+ self.files = set()
+ self.filename = pathlib.Path(filename)
+
+ # Assert that the file hasn't already been loaded which would
+ # indicate a loop in genxml imports, and lead to infinite
+ # recursion.
+ assert self.filename not in self.files
+
+ self.files.add(self.filename)
+ self.et = et.parse(self.filename)
+ if import_xml:
+ self.merge_imported()
+
+ def process_imported(self, merge=False, drop_dupes=False):
+ """Processes imported genxml files.
+
+ This helper function scans imported genxml files and has two
+ mutually exclusive operating modes.
+
+ If `merge` is True, then items will be merged into the
+ `self.et` data structure.
+
+ If `drop_dupes` is True, then any item that is a duplicate to
+ an item imported will be droped from the `self.et` data
+ structure. This is used by `self.optimize_xml_import` to
+ shrink the size of the genxml file by reducing duplications.
+
+ """
+ assert merge != drop_dupes
+ orig_elements = set(self.et.getroot())
+ name_and_obj = lambda i: (get_name(i), i)
+ filter_ty = lambda s: filter(lambda i: i.tag == s, orig_elements)
+ filter_ty_item = lambda s: dict(map(name_and_obj, filter_ty(s)))
+
+ # orig_by_tag stores items defined directly in the genxml
+ # file. If a genxml item is defined in the genxml directly,
+ # then any imported items of the same name are ignored.
+ orig_by_tag = {
+ 'enum': filter_ty_item('enum'),
+ 'struct': filter_ty_item('struct'),
+ 'instruction': filter_ty_item('instruction'),
+ 'register': filter_ty_item('register'),
+ }
+
+ for item in orig_elements:
+ if item.tag == 'import':
+ assert 'name' in item.attrib
+ filename = os.path.split(item.attrib['name'])
+ exceptions = set()
+ for e in item:
+ assert e.tag == 'exclude'
+ exceptions.add(e.attrib['name'])
+ # We should be careful to restrict loaded files to
+ # those under the source or build trees. For now, only
+ # allow siblings of the current xml file.
+ assert filename[0] == '', 'Directories not allowed with import'
+ filename = os.path.join(os.path.dirname(self.filename),
+ filename[1])
+ assert os.path.exists(filename), f'{self.filename} {filename}'
+
+ # Here we load the imported genxml file. We set
+ # `import_xml` to true so that any imports in the
+ # imported genxml will be merged during the loading
+ # process.
+ #
+ # The `files` parameter is a set of files that have
+ # been loaded, and it is used to prevent any cycles
+ # (infinite recursion) while loading imported genxml
+ # files.
+ genxml = GenXml(filename, import_xml=True, files=self.files)
+ imported_elements = set(genxml.et.getroot())
+
+ # `to_add` is a set of items that were imported an
+ # should be merged into the `self.et` data structure.
+ # This is only used when the `merge` parameter is
+ # True.
+ to_add = set()
+ # `to_remove` is a set of items that can safely be
+ # imported since the item is equivalent. This is only
+ # used when the `drop_duped` parameter is True.
+ to_remove = set()
+ for i in imported_elements:
+ if i.tag not in orig_by_tag:
+ continue
+ if i.attrib['name'] in exceptions:
+ continue
+ if i.attrib['name'] in orig_by_tag[i.tag]:
+ if merge:
+ # An item with this same name was defined
+ # in the genxml directly. There we should
+ # ignore (not merge) the imported item.
+ continue
+ else:
+ if drop_dupes:
+ # Since this item is not the imported
+ # genxml, we can't consider dropping it.
+ continue
+ if merge:
+ to_add.add(i)
+ else:
+ assert drop_dupes
+ orig_element = orig_by_tag[i.tag][i.attrib['name']]
+ if not node_validator(i, orig_element):
+ continue
+ to_remove.add(orig_element)
+
+ if len(to_add) > 0:
+ # Now that we have scanned through all the items
+ # in the imported genxml file, if any items were
+ # found which should be merged, we add them into
+ # our `self.et` data structure. After this it will
+ # be as if the items had been directly present in
+ # the genxml file.
+ assert len(to_remove) == 0
+ self.et.getroot().extend(list(to_add))
+ sort_xml(self.et)
+ elif len(to_remove) > 0:
+ self.et.getroot()[:] = list(orig_elements - to_remove)
+ sort_xml(self.et)
+
+ def merge_imported(self):
+ """Merge imported items from genxml imports.
+
+ Genxml <import> tags specify that elements should be brought
+ in from another genxml source file. After this function is
+ called, these elements will become part of the `self.et` data
+ structure as if the elements had been directly included in the
+ genxml directly.
+
+ Items from imported genxml files will be completely ignore if
+ an item with the same name is already defined in the genxml
+ file.
+
+ """
+ self.process_imported(merge=True)
+
+ def flatten_imported(self):
+ """Flattens the genxml to not include any imports
+
+ Essentially this helper will put the `self.et` into a state
+ that includes all imported items directly, and does not
+ contain any <import> tags. This is used by the
+ genxml_import.py with the --flatten switch to "undo" any
+ genxml imports.
+
+ """
+ self.merge_imported()
+ root = self.et.getroot()
+ imports = root.findall('import')
+ for i in imports:
+ root.remove(i)
+
+ def add_xml_imports(self):
+ """Adds imports to the genxml file.
+
+ Using the `default_imports` structure, we add imports to the
+ genxml file.
+
+ """
+ # `imports` is a set of filenames currently imported by the
+ # genxml.
+ imports = self.et.findall('import')
+ imports = set(map(lambda el: el.attrib['name'], imports))
+ new_elements = []
+ self_flattened = copy.deepcopy(self)
+ self_flattened.flatten_imported()
+ old_names = { el.attrib['name'] for el in self_flattened.et.getroot() }
+ for import_xml in default_imports.get(self.filename.name, tuple()):
+ if import_xml in imports:
+ # This genxml is already imported, so we don't need to
+ # add it as an import.
+ continue
+ el = et.Element('import', {'name': import_xml})
+ import_path = self.filename.with_name(import_xml)
+ imported_genxml = GenXml(import_path, import_xml=True)
+ imported_names = { el.attrib['name']
+ for el in imported_genxml.et.getroot()
+ if el.tag != 'import' }
+ # Importing this genxml could add some new items. When
+ # adding a genxml import, we don't want to add new items,
+ # unless they were already in the current genxml. So, we
+ # put them into a list of items to exclude when importing
+ # the genxml.
+ exclude_names = imported_names - old_names
+ for n in sorted(exclude_names):
+ el.append(et.Element('exclude', {'name': n}))
+ new_elements.append(el)
+ if len(new_elements) > 0:
+ self.et.getroot().extend(new_elements)
+ sort_xml(self.et)
+
+ def optimize_xml_import(self):
+ """Optimizes the genxml by dropping items that can be imported
+
+ Scans genxml <import> tags, and loads the imported file. If
+ any item in the imported file is a duplicate to an item in the
+ genxml file, then it will be droped from the `self.et` data
+ structure.
+
+ """
+ self.process_imported(drop_dupes=True)
+
+ def filter_engines(self, engines):
+ changed = False
+ items = []
+ for item in self.et.getroot():
+ # When an instruction doesn't have the engine specified,
+ # it is considered to be for all engines. Otherwise, we
+ # check to see if it's tagged for the engines requested.
+ if item.tag == 'instruction' and 'engine' in item.attrib:
+ i_engines = set(item.attrib["engine"].split('|'))
+ if not (i_engines & engines):
+ # Drop this instruction because it doesn't support
+ # the requested engine types.
+ changed = True
+ continue
+ items.append(item)
+ if changed:
+ self.et.getroot()[:] = items
+
+ def filter_symbols(self, symbol_list):
+ symbols_allowed = {}
+ for sym in symbol_list:
+ symbols_allowed[sym] = sym
+
+ changed = False
+ items = []
+ for item in self.et.getroot():
+ if item.tag in ('instruction', 'struct', 'register') and \
+ item.attrib['name'] not in symbols_allowed:
+ # Drop the item from the tree
+ changed = True
+ continue
+ items.append(item)
+ if changed:
+ self.et.getroot()[:] = items
+
+ def sort(self):
+ sort_xml(self.et)
+
+ def sorted_copy(self):
+ clone = copy.deepcopy(self)
+ clone.sort()
+ return clone
+
+ def is_equivalent_xml(self, other):
+ if len(self.et.getroot()) != len(other.et.getroot()):
+ return False
+ return all(node_validator(old, new)
+ for old, new in zip(self.et.getroot(), other.et.getroot()))
+
+ def normalize_to_old_bits_format(self):
+ def convert_elem(elem):
+ attrs = elem.attrib
+ if elem.tag == 'field' and 'dword' in attrs and 'bits' in attrs:
+ dword = int(attrs['dword'])
+ end_bit, start_bit = map(int, attrs['bits'].split(':'))
+
+ attrs['start'] = str(dword * 32 + start_bit)
+ attrs['end'] = str(dword * 32 + end_bit)
+
+ attrs.pop('dword', None)
+ attrs.pop('bits', None)
+
+ elif elem.tag == 'group' and 'dword' in attrs:
+ dword = int(attrs['dword'])
+ offset_bits = int(attrs.get('offset_bits', 0))
+
+ attrs['start'] = str(dword * 32 + offset_bits)
+
+ attrs.pop('dword', None)
+ attrs.pop('offset_bits', None)
+
+ for child in elem:
+ convert_elem(child)
+ convert_elem(self.et.getroot())
+
+ def normalize_to_new_bits_format(self):
+ def convert_elem(elem):
+ attrs = elem.attrib
+ if elem.tag == 'field' and 'start' in attrs and 'end' in attrs:
+ dword, start = divmod(int(attrs['start']), 32)
+ end = int(attrs['end']) - (dword * 32)
+
+ attrs['dword'] = str(dword)
+ attrs['bits'] = f"{end}:{start}"
+
+ attrs.pop('start', None)
+ attrs.pop('end', None)
+
+ elif elem.tag == 'group' and 'start' in attrs:
+ dword, offset_bits = divmod(int(attrs['start']), 32)
+
+ attrs['dword'] = str(dword)
+ if offset_bits:
+ attrs['offset_bits'] = str(offset_bits)
+
+ attrs.pop('start', None)
+
+ for child in elem:
+ convert_elem(child)
+ convert_elem(self.et.getroot())
+
+ def write_file(self):
+ try:
+ old_genxml = GenXml(self.filename)
+ if self.is_equivalent_xml(old_genxml):
+ return
+ except Exception:
+ pass
+
+ b_io = io.BytesIO()
+ et.indent(self.et, space=' ')
+ self.et.write(b_io, encoding="utf-8", xml_declaration=True)
+ b_io.write(b'\n')
+
+ tmp = self.filename.with_suffix(f'{self.filename.suffix}.tmp')
+ tmp.write_bytes(b_io.getvalue())
+ tmp.replace(self.filename)
diff --git a/lib/genxml/util.py b/lib/genxml/util.py
new file mode 100644
index 000000000..81906b724
--- /dev/null
+++ b/lib/genxml/util.py
@@ -0,0 +1,39 @@
+#encoding=utf-8
+# SPDX-License-Identifier: MIT
+#
+# Copyright © 2020 Intel Corporation
+#
+# Permission is hereby granted, free of charge, to any person obtaining a
+# copy of this software and associated documentation files (the "Software"),
+# to deal in the Software without restriction, including without limitation
+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
+# and/or sell copies of the Software, and to permit persons to whom the
+# Software is furnished to do so, subject to the following conditions:
+#
+# The above copyright notice and this permission notice (including the next
+# paragraph) shall be included in all copies or substantial portions of the
+# Software.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+# IN THE SOFTWARE.
+#
+
+# A few utility functions reused across genxml scripts
+
+import re
+
+alphanum_nono = re.compile(r'[ /\[\]()\-:.,=>#&*\'"+\\]+')
+def to_alphanum(name):
+ global alphanum_nono
+ return alphanum_nono.sub('', name)
+
+def safe_name(name):
+ name = to_alphanum(name)
+ if not name[0].isalpha():
+ name = '_' + name
+ return name
diff --git a/lib/genxml/xe2.xml b/lib/genxml/xe2.xml
new file mode 100644
index 000000000..6fe36a5b6
--- /dev/null
+++ b/lib/genxml/xe2.xml
@@ -0,0 +1,1969 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="XE2" gen="20">
+ <import name="gen125.xml">
+ <exclude name="3DSTATE_CLEAR_PARAMS" />
+ <exclude name="CLEAR_COLOR" />
+ <exclude name="L3ALLOC" />
+ </import>
+ <enum name="PREF_SLM_ALLOCATION_SIZE">
+ <value name="SLM_ENCODES_0K" value="0" />
+ <value name="SLM_ENCODES_16K" value="1" />
+ <value name="SLM_ENCODES_32K" value="2" />
+ <value name="SLM_ENCODES_64K" value="3" />
+ <value name="SLM_ENCODES_96K" value="4" />
+ <value name="SLM_ENCODES_128K" value="5" />
+ <value name="SLM_ENCODES_160K" value="6" />
+ <value name="SLM_ENCODES_192K" value="7" />
+ <value name="SLM_ENCODES_224K" value="8" />
+ <value name="SLM_ENCODES_256K" value="9" />
+ <value name="SLM_ENCODES_384K" value="10" />
+ </enum>
+ <enum name="RESOURCE_BARRIER_STAGE" prefix="RESOURCE_BARRIER_STAGE">
+ <value name="None" value="0" />
+ <value name="TOP" value="1" />
+ <value name="Color" value="2" />
+ <value name="Gpgpu" value="4" />
+ <value name="Color and Compute" value="6" />
+ <value name="Geom" value="16" />
+ <value name="Geometry and Compute" value="20" />
+ <value name="Raster" value="32" />
+ <value name="Depth" value="64" />
+ <value name="Pixel" value="128" />
+ </enum>
+ <enum name="RESOURCE_BARRIER_TYPE" prefix="RESOURCE_BARRIER_TYPE">
+ <value name="Immediate" value="0" />
+ <value name="Signal" value="1" />
+ <value name="Wait" value="2" />
+ <value name="UAV" value="3" />
+ </enum>
+ <enum name="UNIFIED_COMPRESSION_FORMAT">
+ <value name="CMF_R8" value="0" />
+ <value name="CMF_R8_G8" value="1" />
+ <value name="CMF_R8_G8_B8_A8" value="2" />
+ <value name="CMF_R10_G10_B10_A2" value="3" />
+ <value name="CMF_R11_G11_B10" value="4" />
+ <value name="CMF_R16" value="5" />
+ <value name="CMF_R16_G16" value="6" />
+ <value name="CMF_R16_G16_B16_A16" value="7" />
+ <value name="CMF_R32" value="8" />
+ <value name="CMF_R32_G32" value="9" />
+ <value name="CMF_R32_G32_B32_A32" value="10" />
+ <value name="CMF_Y16_U16_Y16_V16" value="11" />
+ <value name="CMF_ML8" value="15" />
+ </enum>
+ <struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="2" bits="18:18" type="bool" />
+ <field name="Denorm Mode" dword="2" bits="19:19" type="uint">
+ <value name="Ftz" value="0" />
+ <value name="SetByKernel" value="1" />
+ </field>
+ <field name="Thread Preemption" dword="2" bits="20:20" type="bool" default="1" />
+ <field name="Sampler Count" dword="3" bits="4:2" type="uint">
+ <value name="No samplers used" value="0" />
+ <value name="Between 1 and 4 samplers used" value="1" />
+ <value name="Between 5 and 8 samplers used" value="2" />
+ <value name="Between 9 and 12 samplers used" value="3" />
+ <value name="Between 13 and 16 samplers used" value="4" />
+ </field>
+ <field name="Sampler State Pointer" dword="3" bits="31:5" type="offset" />
+ <field name="Binding Table Entry Count" dword="4" bits="4:0" type="uint" />
+ <field name="Binding Table Pointer" dword="4" bits="20:5" type="offset" />
+ <field name="Number of Threads in GPGPU Thread Group" dword="5" bits="9:0" type="uint" />
+ <field name="Thread group forward progress guarantee" dword="5" bits="13:13" type="bool" />
+ <field name="Shared Local Memory Size" dword="5" bits="20:16" type="uint">
+ <value name="Encodes 0K" value="0" />
+ <value name="Encodes 1K" value="1" />
+ <value name="Encodes 2K" value="2" />
+ <value name="Encodes 4K" value="3" />
+ <value name="Encodes 8K" value="4" />
+ <value name="Encodes 16K" value="5" />
+ <value name="Encodes 32K" value="6" />
+ <value name="Encodes 64K" value="7" />
+ <value name="Encodes 96K" value="10" />
+ <value name="Encodes 128K" value="11" />
+ <value name="Encodes 192K" value="12" />
+ <value name="Encodes 256K" value="13" />
+ <value name="Encodes 384K" value="14" />
+ </field>
+ <field name="Rounding Mode" dword="5" bits="23:22" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Thread Group Dispatch Size" dword="5" bits="27:26" type="uint">
+ <value name="TG size 8" value="0" />
+ <value name="TG size 4" value="1" />
+ <value name="TG size 2" value="2" />
+ <value name="TG size 1" value="3" />
+ </field>
+ <field name="Number Of Barriers" dword="5" bits="30:28" type="uint" prefix="BARRIER_SIZE">
+ <value name="NONE" value="0" />
+ <value name="B1" value="1" />
+ <value name="B2" value="2" />
+ <value name="B4" value="3" />
+ <value name="B8" value="4" />
+ <value name="B16" value="5" />
+ <value name="B24" value="6" />
+ <value name="B32" value="7" />
+ </field>
+ <field name="BTD Mode" dword="5" bits="31:31" type="uint" />
+ <field name="Preferred SLM Allocation Size" dword="7" bits="3:0" type="PREF_SLM_ALLOCATION_SIZE" />
+ </struct>
+ <struct name="POSTSYNC_DATA" length="5">
+ <field name="Operation" dword="0" bits="1:0" type="uint" default="0">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="HDC Pipeline Flush" dword="0" bits="2:2" type="bool" />
+ <field name="MOCS" dword="0" bits="10:4" type="uint" nonzero="true" />
+ <field name="System Memory Fence Request" dword="0" bits="11:11" type="bool" />
+ <field name="Dataport Subslice Cache Flush" dword="0" bits="12:12" type="bool" />
+ <field name="Destination Address" dword="1" bits="63:0" type="address" />
+ <field name="Immediate Data" dword="3" bits="63:0" type="uint" />
+ </struct>
+ <struct name="COMPUTE_WALKER_BODY" length="39">
+ <field name="Indirect Data Length" dword="1" bits="16:0" type="uint" />
+ <field name="L3 prefetch disable" dword="1" bits="17:17" type="bool" />
+ <field name="Partition Dispatch Parameter" dword="1" bits="29:18" type="uint" />
+ <field name="Partition Type" dword="1" bits="31:30" type="uint">
+ <value name="PartitionX" value="1" />
+ <value name="PartitionY" value="2" />
+ <value name="PartitionZ" value="3" />
+ </field>
+ <field name="Indirect Data Start Address" dword="2" bits="31:6" type="offset" />
+ <field name="Compute Dispatch All walker Enable" dword="3" bits="0:0" type="uint">
+ <value name="Disabled" value="0" />
+ <value name="Enabled" value="1" />
+ </field>
+ <field name="Dispatch Walk Order" dword="3" bits="6:5" type="uint">
+ <value name="Linear Walk" value="0" />
+ <value name="Y order walk" value="1" />
+ </field>
+ <field name="Message SIMD" dword="3" bits="18:17" type="uint">
+ <value name="SIMT16" value="1" />
+ <value name="SIMT32" value="2" />
+ </field>
+ <field name="Tile Layout" dword="3" bits="21:19" type="uint">
+ <value name="Linear" value="0" />
+ <value name="TileY 32bpe" value="1" />
+ <value name="TileY 64bpe" value="2" />
+ <value name="TileY 128bpe" value="3" />
+ </field>
+ <field name="Walk Order" dword="3" bits="24:22" type="uint">
+ <value name="Walk 012" value="0" />
+ <value name="Walk 021" value="1" />
+ <value name="Walk 102" value="2" />
+ <value name="Walk 120" value="3" />
+ <value name="Walk 201" value="4" />
+ <value name="Walk 210" value="5" />
+ </field>
+ <field name="Emit Inline Parameter" dword="3" bits="25:25" type="bool" />
+ <field name="Emit Local" dword="3" bits="28:26" type="uint">
+ <value name="Emit None" value="0" />
+ <value name="Emit X" value="1" />
+ <value name="Emit XY" value="3" />
+ <value name="Emit XYZ" value="7" />
+ </field>
+ <field name="Generate Local ID" dword="3" bits="29:29" type="bool" />
+ <field name="SIMD Size" dword="3" bits="31:30" type="uint">
+ <value name="SIMT16" value="1" />
+ <value name="SIMT32" value="2" />
+ </field>
+ <field name="Execution Mask" dword="4" bits="31:0" type="uint" />
+ <field name="Local X Maximum" dword="5" bits="9:0" type="uint" />
+ <field name="Local Y Maximum" dword="5" bits="19:10" type="uint" />
+ <field name="Local Z Maximum" dword="5" bits="29:20" type="uint" />
+ <field name="Thread Group ID X Dimension" dword="6" bits="31:0" type="uint" />
+ <field name="Thread Group ID Y Dimension" dword="7" bits="31:0" type="uint" />
+ <field name="Thread Group ID Z Dimension" dword="8" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting X" dword="9" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting Y" dword="10" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting Z" dword="11" bits="31:0" type="uint" />
+ <field name="Partition ID" dword="12" bits="31:0" type="uint" />
+ <field name="Partition Size" dword="13" bits="31:0" type="uint" />
+ <field name="Preempt X" dword="14" bits="31:0" type="uint" />
+ <field name="Preempt Y" dword="15" bits="31:0" type="uint" />
+ <field name="Preempt Z" dword="16" bits="31:0" type="uint" />
+ <field name="Walker ID" dword="17" bits="3:0" type="uint" />
+ <field name="Over dispatch TG count" dword="17" bits="23:8" type="uint" />
+ <field name="Interface Descriptor" dword="18" bits="255:0" type="INTERFACE_DESCRIPTOR_DATA" />
+ <field name="Post Sync" dword="26" bits="159:0" type="POSTSYNC_DATA" />
+ <group count="8" dword="31" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </struct>
+ <struct name="RENDER_SURFACE_STATE" length="16">
+ <field name="Cube Face Enable - Positive Z" dword="0" bits="0:0" type="bool" />
+ <field name="Cube Face Enable - Negative Z" dword="0" bits="1:1" type="bool" />
+ <field name="Cube Face Enable - Positive Y" dword="0" bits="2:2" type="bool" />
+ <field name="Cube Face Enable - Negative Y" dword="0" bits="3:3" type="bool" />
+ <field name="Cube Face Enable - Positive X" dword="0" bits="4:4" type="bool" />
+ <field name="Cube Face Enable - Negative X" dword="0" bits="5:5" type="bool" />
+ <field name="Media Boundary Pixel Mode" dword="0" bits="7:6" type="uint">
+ <value name="NORMAL_MODE" value="0" />
+ <value name="PROGRESSIVE_FRAME" value="2" />
+ <value name="INTERLACED_FRAME" value="3" />
+ </field>
+ <field name="Render Cache Read Write Mode" dword="0" bits="8:8" type="uint">
+ <value name="Write-Only Cache" value="0" />
+ <value name="Read-Write Cache" value="1" />
+ </field>
+ <field name="Enable Sampler Route to LSC" dword="0" bits="9:9" type="bool" />
+ <field name="Vertical Line Stride Offset" dword="0" bits="10:10" type="uint" />
+ <field name="Vertical Line Stride" dword="0" bits="11:11" type="uint" />
+ <field name="Tile Mode" dword="0" bits="13:12" type="uint">
+ <value name="LINEAR" value="0" />
+ <value name="TILE64" value="1" />
+ <value name="XMAJOR" value="2" />
+ <value name="TILE4" value="3" />
+ </field>
+ <field name="Surface Horizontal Alignment" dword="0" bits="15:14" type="uint">
+ <value name="HALIGN_16" value="0" />
+ <value name="HALIGN_32" value="1" />
+ <value name="HALIGN_64" value="2" />
+ <value name="HALIGN_128" value="3" />
+ </field>
+ <field name="Surface Vertical Alignment" dword="0" bits="17:16" type="uint">
+ <value name="VALIGN_4" value="1" />
+ <value name="VALIGN_8" value="2" />
+ <value name="VALIGN_16" value="3" />
+ </field>
+ <field name="Surface Format" dword="0" bits="26:18" type="uint" />
+ <field name="Surface Array" dword="0" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="0" bits="31:29" type="STATE_SURFACE_TYPE" />
+ <field name="Surface QPitch" dword="1" bits="14:0" type="uint" />
+ <field name="Sample Tap Discard Disable" dword="1" bits="15:15" type="bool" />
+ <field name="Corner Texel Mode" dword="1" bits="18:18" type="bool" />
+ <field name="Base Mip Level" dword="1" bits="23:19" type="uint" />
+ <field name="MOCS" dword="1" bits="30:24" type="uint" nonzero="true" />
+ <field name="Width" dword="2" bits="13:0" type="uint" />
+ <field name="Height" dword="2" bits="29:16" type="uint" />
+ <field name="Depth Stencil Resource" dword="2" bits="31:31" type="bool" />
+ <field name="Surface Pitch" dword="3" bits="17:0" type="uint" />
+ <field name="Depth" dword="3" bits="31:21" type="uint" />
+ <field name="Multisample Position Palette Index" dword="4" bits="2:0" type="uint" />
+ <field name="Number of Multisamples" dword="4" bits="5:3" type="uint">
+ <value name="MULTISAMPLECOUNT_1" value="0" />
+ <value name="MULTISAMPLECOUNT_2" value="1" />
+ <value name="MULTISAMPLECOUNT_4" value="2" />
+ <value name="MULTISAMPLECOUNT_8" value="3" />
+ <value name="MULTISAMPLECOUNT_16" value="4" />
+ </field>
+ <field name="Multisampled Surface Storage Format" dword="4" bits="6:6" type="uint">
+ <value name="MSFMT_MSS" value="0" />
+ <value name="MSFMT_DEPTH_STENCIL" value="1" />
+ </field>
+ <field name="Render Target View Extent" dword="4" bits="17:7" type="uint" />
+ <field name="Minimum Array Element" dword="4" bits="28:18" type="uint" />
+ <field name="Render Target And Sample Unorm Rotation" dword="4" bits="30:29" type="uint">
+ <value name="0DEG" value="0" />
+ <value name="90DEG" value="1" />
+ <value name="180DEG" value="2" />
+ <value name="270DEG" value="3" />
+ </field>
+ <field name="MIP Count / LOD" dword="5" bits="3:0" type="uint" />
+ <field name="Surface Min LOD" dword="5" bits="7:4" type="uint" />
+ <field name="Mip Tail Start LOD" dword="5" bits="11:8" type="uint" />
+ <field name="L1 Cache Control" dword="5" bits="18:16" type="L1_CACHE_CONTROL" />
+ <field name="EWA Disable For Cube" dword="5" bits="20:20" type="bool" />
+ <field name="Y Offset" dword="5" bits="23:21" type="uint" />
+ <field name="X Offset" dword="5" bits="31:25" type="uint" />
+ <field name="Auxiliary Surface Mode" dword="6" bits="2:0" type="uint">
+ <value name="AUX_NONE" value="0" />
+ <value name="AUX_APPEND" value="1" />
+ <value name="AUX_MCS" value="2" />
+ </field>
+ <field name="Y Offset for U or UV Plane" dword="6" bits="13:0" type="uint" />
+ <field name="Auxiliary Surface Pitch" dword="6" bits="12:3" type="uint" />
+ <field name="YUV Interpolation Enable" dword="6" bits="15:15" type="bool" />
+ <field name="X Offset for U or UV Plane" dword="6" bits="29:16" type="uint" />
+ <field name="Auxiliary Surface QPitch" dword="6" bits="30:16" type="uint" />
+ <field name="Resource Min LOD" dword="7" bits="11:0" type="u4.8" />
+ <field name="Shader Channel Select Alpha" dword="7" bits="18:16" type="Shader Channel Select" />
+ <field name="Shader Channel Select Blue" dword="7" bits="21:19" type="Shader Channel Select" />
+ <field name="Shader Channel Select Green" dword="7" bits="24:22" type="Shader Channel Select" />
+ <field name="Shader Channel Select Red" dword="7" bits="27:25" type="Shader Channel Select" />
+ <field name="Surface Base Address" dword="8" bits="63:0" type="address" />
+ <field name="Mip Region Width In Log2" dword="10" bits="3:0" type="uint" />
+ <field name="Append Counter Address" dword="10" bits="63:2" type="address" />
+ <field name="Mip Region Height In Log2" dword="10" bits="7:4" type="uint" />
+ <field name="Procedural Texture" dword="10" bits="11:11" type="bool" />
+ <field name="Auxiliary Surface Base Address" dword="10" bits="63:12" type="address" />
+ <field name="Y Offset for V Plane" dword="11" bits="13:0" type="uint" />
+ <field name="X Offset for V Plane" dword="11" bits="29:16" type="uint" />
+ <field name="Compression Format" dword="12" bits="3:0" type="UNIFIED_COMPRESSION_FORMAT" />
+ <field name="Mip Region Depth In Log2" dword="12" bits="7:4" type="uint" />
+ <field name="Disallowlowqualityfiltering" dword="13" bits="31:31" type="bool" />
+ </struct>
+ <struct name="RESOURCE_BARRIER_BODY" length="4">
+ <field name="Wait Stage" dword="0" bits="11:0" type="RESOURCE_BARRIER_STAGE" />
+ <field name="Signal Stage" dword="0" bits="23:12" type="RESOURCE_BARRIER_STAGE" />
+ <field name="Barrier Type" dword="0" bits="31:30" type="RESOURCE_BARRIER_TYPE" />
+ <field name="L1 Dataport Cache Invalidate" dword="1" bits="21:21" type="bool" />
+ <field name="Depth Cache" dword="1" bits="22:22" type="bool" />
+ <field name="Color Cache" dword="1" bits="23:23" type="bool" />
+ <field name="L1 Dataport UAV Flush" dword="1" bits="24:24" type="bool" />
+ <field name="Texture (RO)" dword="1" bits="25:25" type="bool" />
+ <field name="State (RO)" dword="1" bits="26:26" type="bool" />
+ <field name="VF (RO)" dword="1" bits="27:27" type="bool" />
+ <field name="AMFS" dword="1" bits="28:28" type="bool" />
+ <field name="Constant Cache" dword="1" bits="29:29" type="bool" />
+ <field name="Barrier ID Address" dword="2" bits="63:3" type="address" />
+ </struct>
+ <instruction name="3DSTATE_3D_MODE" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="30" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Cross Slice Hashing Mode" dword="1" bits="1:0" type="uint">
+ <value name="Normal Mode" value="0" />
+ <value name="Disable" value="1" />
+ <value name="hashing 32x32" value="3" />
+ </field>
+ <field name="3D Scoreboard Hashing Mode" dword="1" bits="4:4" type="bool" />
+ <field name="Subslice Hashing Table Enable" dword="1" bits="5:5" type="bool" />
+ <field name="Slice Hashing Table Enable" dword="1" bits="6:6" type="bool" />
+ <field name="DX10 OGL Border Mode for YCRCB" dword="1" bits="10:10" type="bool" />
+ <field name="Enable OOO reads in RCPB" dword="1" bits="11:11" type="bool" />
+ <field name="Cross Slice Hashing Mode Mask" dword="1" bits="17:16" type="int" />
+ <field name="3D Scoreboard Hashing Mode Mask" dword="1" bits="20:20" type="bool" />
+ <field name="Subslice Hashing Table Enable Mask" dword="1" bits="21:21" type="bool" />
+ <field name="Slice Hashing Table Enable Mask" dword="1" bits="22:22" type="bool" />
+ <field name="DX10 OGL Border Mode for YCRCB Mask" dword="1" bits="26:26" type="bool" />
+ <field name="Enable OOO reads in RCPB Mask" dword="1" bits="27:27" type="bool" />
+ <field name="AMFS MOCS" dword="2" bits="6:0" type="uint" />
+ <field name="State Cache redirect to CS section enable" dword="2" bits="9:9" type="bool" />
+ <field name="AMFS MOCS Mask" dword="2" bits="22:16" type="uint" />
+ <field name="State Cache redirect to CS section enable Mask" dword="2" bits="25:25" type="bool" />
+ <field name="RCC RHWO Optimization Disable" dword="3" bits="15:15" type="bool" />
+ <field name="RCC RHWO Optimization Disable Mask" dword="3" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_BTD" bias="2" length="6" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Dispatch Timeout Counter" dword="1" bits="2:0" type="uint">
+ <value name="64 clocks" value="0" />
+ <value name="128 clocks" value="1" />
+ <value name="192 clocks" value="2" />
+ <value name="256 clocks" value="3" />
+ <value name="512 clocks" value="4" />
+ <value name="1024 clocks" value="5" />
+ <value name="2048 clocks" value="6" />
+ <value name="4096 clocks" value="7" />
+ </field>
+ <field name="Controls the maximum number of outstanding Ray Queries per SS" dword="1" bits="8:7" type="uint" prefix="RAYS_QUERIES_OUTSTANDING">
+ <value name="128" value="0" />
+ <value name="256" value="1" />
+ <value name="512" value="2" />
+ <value name="1024" value="3" />
+ </field>
+ <field name="BTD Mid thread preemption" dword="1" bits="31:31" type="bool" default="1" />
+ <field name="Per DSS Memory Backed Buffer Size" dword="2" bits="2:0" type="uint" default="6">
+ <value name="2KB" value="0" />
+ <value name="4KB" value="1" />
+ <value name="8KB" value="2" />
+ <value name="16KB" value="3" />
+ <value name="32KB" value="4" />
+ <value name="64KB" value="5" />
+ <value name="128KB" value="6" />
+ </field>
+ <field name="Memory Backed Buffer Base Pointer" dword="2" bits="63:10" type="address" />
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_CLIP" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="18" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="1" bits="7:0" type="uint" />
+ <field name="Statistics Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Force Clip Mode" dword="1" bits="16:16" type="bool" />
+ <field name="Force User Clip Distance Clip Test Enable Bitmask" dword="1" bits="17:17" type="bool" />
+ <field name="Early Cull Enable" dword="1" bits="18:18" type="bool" />
+ <field name="Vertex Sub Pixel Precision Select" dword="1" bits="19:19" type="uint">
+ <value name="8 Bit" value="0" />
+ <value name="4 Bit" value="1" />
+ </field>
+ <field name="Force User Clip Distance Cull Test Enable Bitmask" dword="1" bits="20:20" type="bool" />
+ <field name="Triangle Fan Provoking Vertex Select" dword="2" bits="1:0" type="uint" />
+ <field name="Line Strip/List Provoking Vertex Select" dword="2" bits="3:2" type="uint" />
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="2" bits="5:4" type="uint" />
+ <field name="Triangle Strip Odd Provoking Vertex Select" dword="2" bits="7:6" type="uint" />
+ <field name="Non-Perspective Barycentric Enable" dword="2" bits="8:8" type="bool" />
+ <field name="Perspective Divide Disable" dword="2" bits="9:9" type="bool" />
+ <field name="Clip Mode" dword="2" bits="15:13" type="uint">
+ <value name="CLIPMODE_NORMAL" value="0" />
+ <value name="CLIPMODE_REJECT_ALL" value="3" />
+ <value name="CLIPMODE_ACCEPT_ALL" value="4" />
+ </field>
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="2" bits="23:16" type="uint" />
+ <field name="Guardband Clip Test Enable" dword="2" bits="26:26" type="bool" />
+ <field name="Viewport XY Clip Test Enable" dword="2" bits="28:28" type="bool" />
+ <field name="API Mode" dword="2" bits="30:30" type="uint">
+ <value name="APIMODE_OGL" value="0" />
+ <value name="APIMODE_D3D" value="1" />
+ </field>
+ <field name="Clip Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Maximum VP Index" dword="3" bits="3:0" type="uint" />
+ <field name="Force Zero RTA Index Enable" dword="3" bits="5:5" type="bool" />
+ <field name="Maximum Point Width" dword="3" bits="16:6" type="u8.3" />
+ <field name="Minimum Point Width" dword="3" bits="27:17" type="u8.3" />
+ </instruction>
+ <instruction name="3DSTATE_CPSIZE_CONTROL_BUFFER" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="131" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint" />
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="Width" dword="4" bits="14:1" type="uint" />
+ <field name="Height" dword="4" bits="30:17" type="uint" />
+ <field name="MOCS" dword="5" bits="6:0" type="uint" />
+ <field name="Minimum Array Element" dword="5" bits="18:8" type="uint" />
+ <field name="Depth" dword="5" bits="30:20" type="uint" />
+ <field name="Compression Format" dword="6" bits="3:0" type="UNIFIED_COMPRESSION_FORMAT" />
+ <field name="Mip Tail Start LOD" dword="6" bits="29:26" type="uint" />
+ <field name="Tiled Mode" dword="6" bits="31:30" type="uint">
+ <value name="TILE64" value="1" />
+ <value name="TILE4" value="3" />
+ </field>
+ <field name="Surface QPitch" dword="7" bits="14:0" type="uint" />
+ <field name="Surf LOD" dword="7" bits="19:16" type="uint" />
+ <field name="Render Target View Extent" dword="7" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="17:0" type="uint" />
+ <field name="Hierarchical Depth Buffer Enable" dword="1" bits="22:22" type="bool" />
+ <field name="Corner Texel Mode" dword="1" bits="23:23" type="bool" />
+ <field name="Surface Format" dword="1" bits="26:24" type="uint">
+ <value name="D32_FLOAT" value="1" />
+ <value name="D24_UNORM_X8_UINT" value="3" />
+ <value name="D16_UNORM" value="5" />
+ </field>
+ <field name="Null Page Coherency Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Depth Write Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="Width" dword="4" bits="14:1" type="uint" />
+ <field name="Height" dword="4" bits="30:17" type="uint" />
+ <field name="MOCS" dword="5" bits="6:0" type="uint" nonzero="true" />
+ <field name="Minimum Array Element" dword="5" bits="18:8" type="uint" />
+ <field name="Depth" dword="5" bits="30:20" type="uint" />
+ <field name="Render Compression Format" dword="6" bits="3:0" type="UNIFIED_COMPRESSION_FORMAT" />
+ <field name="Mip Tail Start LOD" dword="6" bits="29:26" type="uint" />
+ <field name="Tiled Mode" dword="6" bits="31:30" type="uint">
+ <value name="TILE64" value="1" />
+ <value name="TILE4" value="3" />
+ </field>
+ <field name="Surface QPitch" dword="7" bits="14:0" type="uint" />
+ <field name="LOD" dword="7" bits="19:16" type="uint" />
+ <field name="Render Target View Extent" dword="7" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_DRAWING_RECTANGLE_FAST" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="Core Mode Select" dword="0" bits="15:14" type="uint">
+ <value name="Legacy" value="0" />
+ <value name="Core 0 Enabled" value="1" />
+ <value name="Core 1 Enabled" value="2" />
+ </field>
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Clipped Drawing Rectangle X Min" dword="1" bits="15:0" type="uint" />
+ <field name="Clipped Drawing Rectangle Y Min" dword="1" bits="31:16" type="uint" />
+ <field name="Clipped Drawing Rectangle X Max" dword="2" bits="15:0" type="uint" />
+ <field name="Clipped Drawing Rectangle Y Max" dword="2" bits="31:16" type="uint" />
+ <field name="Drawing Rectangle Origin X" dword="3" bits="15:0" type="int" />
+ <field name="Drawing Rectangle Origin Y" dword="3" bits="31:16" type="int" />
+ </instruction>
+ <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="17" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Expected Vertex Count" dword="3" bits="5:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="Normal" value="0" />
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="uint">
+ <value name="Dmask" value="0" />
+ </field>
+ <field name="Single Program Flow" dword="3" bits="31:31" type="bool" />
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Include Vertex Handles" dword="6" bits="10:10" type="bool" />
+ <field name="Vertex URB Entry Read Length" dword="6" bits="16:11" type="uint" />
+ <field name="Output Topology" dword="6" bits="22:17" type="3D_Prim_Topo_Type" />
+ <field name="Output Vertex Size" dword="6" bits="28:23" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data [5:4]" dword="6" bits="30:29" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Discard Adjacency" dword="7" bits="1:1" type="bool" />
+ <field name="Reorder Mode" dword="7" bits="2:2" type="uint">
+ <value name="LEADING" value="0" />
+ <value name="TRAILING" value="1" />
+ </field>
+ <field name="Hint" dword="7" bits="3:3" type="bool" />
+ <field name="Include Primitive ID" dword="7" bits="4:4" type="bool" />
+ <field name="Invocations Increment Value" dword="7" bits="9:5" type="uint" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Default Stream Id" dword="7" bits="14:13" type="uint" />
+ <field name="Instance Control" dword="7" bits="19:15" type="uint" />
+ <field name="Control Data Header Size" dword="7" bits="23:20" type="uint" />
+ <field name="Maximum Number of Threads" dword="8" bits="8:0" type="uint" />
+ <field name="Static Output Vertex Count" dword="8" bits="26:16" type="uint" />
+ <field name="Static Output" dword="8" bits="30:30" type="bool" />
+ <field name="Control Data Format" dword="8" bits="31:31" type="uint">
+ <value name="CUT" value="0" />
+ <value name="SID" value="1" />
+ </field>
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="9" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="9" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="9" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="9" bits="26:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_HS" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="27" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Patch Count Threshold" dword="1" bits="3:0" type="uint" />
+ <field name="Software Exception Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal" value="0" />
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="1" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Instance Count" dword="2" bits="4:0" type="uint" />
+ <field name="Maximum Number of Threads" dword="2" bits="16:8" type="uint" />
+ <field name="Statistics Enable" dword="2" bits="29:29" type="bool" />
+ <field name="Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Kernel Start Pointer" dword="3" bits="63:6" type="offset" />
+ <field name="Scratch Space Buffer" dword="5" bits="31:10" type="uint" />
+ <field name="Include Primitive ID" dword="7" bits="0:0" type="bool" />
+ <field name="Vertex URB Entry Read Offset" dword="7" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="7" bits="16:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="7" bits="23:19" type="uint" />
+ <field name="Include Vertex Handles" dword="7" bits="24:24" type="bool" />
+ <field name="Accesses UAV" dword="7" bits="25:25" type="bool" />
+ <field name="Vector Mask Enable" dword="7" bits="26:26" type="uint">
+ <value name="Dmask" value="0" />
+ </field>
+ <field name="Single Program Flow" dword="7" bits="27:27" type="bool" />
+ <field name="Dispatch GRF Start Register For URB Data [5]" dword="7" bits="28:28" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_MESH_CONTROL" bias="2" length="3" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="119" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Maximum Number of ThreadGroups" dword="1" bits="8:0" type="uint" />
+ <field name="VP and RTA Index Autostrip Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Thread Dispatch Priority" dword="1" bits="28:28" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Fused EU Dispatch" dword="1" bits="29:29" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="30:30" type="bool" />
+ <field name="MeshShader Enable" dword="1" bits="31:31" type="uint" />
+ <field name="Scratch Space Buffer" dword="2" bits="31:10" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="10" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="32" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel 0 Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Kernel[0] : SIMD Width" dword="1" bits="1:1" type="uint" prefix="PS">
+ <value name="SIMD16" value="0" />
+ <value name="SIMD32" value="1" />
+ </field>
+ <field name="Kernel Start Pointer 0" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Rounding Mode" dword="3" bits="15:14" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="Normal" value="0" />
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Single Precision Denormal Mode" dword="3" bits="26:26" type="uint">
+ <value name="Flushed to Zero" value="0" />
+ <value name="Retained" value="1" />
+ </field>
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="uint">
+ <value name="Dmask" value="0" />
+ <value name="Vmask" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="3" bits="31:31" type="uint">
+ <value name="Multiple" value="0" />
+ <value name="Single" value="1" />
+ </field>
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ <field name="Position XY Offset Select" dword="6" bits="4:3" type="uint">
+ <value name="POSOFFSET_NONE" value="0" />
+ <value name="POSOFFSET_CENTROID" value="2" />
+ <value name="POSOFFSET_SAMPLE" value="3" />
+ </field>
+ <field name="Render Target Resolve Type" dword="6" bits="7:6" type="uint">
+ <value name="RESOLVE_DISABLED" value="0" />
+ </field>
+ <field name="Render Target Fast Clear Enable" dword="6" bits="8:8" type="bool" />
+ <field name="Overlapping Subspans Enable" dword="6" bits="9:9" type="bool" />
+ <field name="3D Scoreboard Address Size select" dword="6" bits="10:10" type="uint">
+ <value name="2x2" value="0" />
+ <value name="4x2" value="1" />
+ </field>
+ <field name="Clear/Resolve BTI for Render Target" dword="6" bits="19:12" type="uint" />
+ <field name="Pixel Scoreboard Disable" dword="6" bits="21:21" type="bool" />
+ <field name="Maximum Number of Threads Per PSD" dword="6" bits="31:23" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 1" dword="7" bits="15:8" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="7" bits="23:16" type="uint" />
+ <field name="Kernel[0] : Poly Packing Policy" dword="7" bits="26:24" type="uint">
+ <value name="POLY_PACK4_DYNAMIC" value="0" />
+ <value name="POLY_PACK8_DYNAMIC" value="1" />
+ <value name="POLY_PACK16_DYNAMIC" value="2" />
+ <value name="POLY_PACK16_FIXED" value="3" />
+ <value name="POLY_PACK8_FIXED" value="4" />
+ </field>
+ <field name="Kernel[0] : Maximum Polys per Thread" dword="7" bits="29:27" type="uint" />
+ <field name="Kernel 1 Selection Priority" dword="7" bits="31:31" type="uint">
+ <value name="PRI_SIMD" value="0" />
+ <value name="PRI_POLY" value="1" />
+ </field>
+ <field name="Kernel 1 Enable" dword="8" bits="0:0" type="bool" />
+ <field name="Kernel[1] : SIMD Width" dword="8" bits="1:1" type="uint" prefix="PS">
+ <value name="SIMD16" value="0" />
+ <value name="SIMD32" value="1" />
+ </field>
+ <field name="Kernel Start Pointer 1" dword="8" bits="63:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="79" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Input Coverage Mask State" dword="1" bits="1:0" type="uint" prefix="ICMS">
+ <value name="NONE" value="0" />
+ <value name="NORMAL" value="1" />
+ <value name="INNER_CONSERVATIVE" value="2" />
+ <value name="DEPTH_COVERAGE" value="3" />
+ </field>
+ <field name="Pixel Shader Has UAV" dword="1" bits="2:2" type="bool" />
+ <field name="Pixel Shader Is Per Coarse Pixel" dword="1" bits="4:4" type="bool" />
+ <field name="Pixel Shader Computes Stencil" dword="1" bits="5:5" type="bool" />
+ <field name="Pixel Shader Is Per Sample" dword="1" bits="6:6" type="bool" />
+ <field name="Pixel Shader Disables Alpha To Coverage" dword="1" bits="7:7" type="bool" />
+ <field name="Simple PS Hint" dword="1" bits="9:9" type="bool" />
+ <field name="Pixel Shader Requires Centroid Offsets" dword="1" bits="16:16" type="bool" />
+ <field name="Enable PS Dependency On CPsize Change" dword="1" bits="17:17" type="bool" />
+ <field name="Pixel Shader Requires Subpixel Sample Offsets" dword="1" bits="18:18" type="bool" />
+ <field name="Pixel Shader Requires Non-Perspective Bary Plane Coefficients" dword="1" bits="19:19" type="bool" />
+ <field name="Pixel Shader Requires Perspective Bary Plane Coefficients" dword="1" bits="20:20" type="bool" />
+ <field name="Pixel Shader Requires Source Depth and/or W Plane Coefficients" dword="1" bits="21:21" type="bool" />
+ <field name="Pixel Shader Requires Requested Coarse Pixel Shading Size" dword="1" bits="22:22" type="bool" />
+ <field name="Pixel Shader Uses Source W" dword="1" bits="23:23" type="bool" />
+ <field name="Pixel Shader Uses Source Depth" dword="1" bits="24:24" type="bool" />
+ <field name="Force Computed Depth" dword="1" bits="25:25" type="bool" />
+ <field name="Pixel Shader Computed Depth Mode" dword="1" bits="27:26" type="uint">
+ <value name="PSCDEPTH_OFF" value="0" />
+ <value name="PSCDEPTH_ON" value="1" />
+ <value name="PSCDEPTH_ON_GE" value="2" />
+ <value name="PSCDEPTH_ON_LE" value="3" />
+ </field>
+ <field name="Pixel Shader Kills Pixel" dword="1" bits="28:28" type="bool" />
+ <field name="oMask Present to Render Target" dword="1" bits="29:29" type="bool" />
+ <field name="Pixel Shader Does not write to RT" dword="1" bits="30:30" type="mbz" />
+ <field name="Pixel Shader Valid" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_RASTER" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="80" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Viewport Z Near Clip Test Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Scissor Rectangle Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Antialiasing Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Back Face Fill Mode" dword="1" bits="4:3" type="uint" prefix="FILL_MODE">
+ <value name="SOLID" value="0" />
+ <value name="WIREFRAME" value="1" />
+ <value name="POINT" value="2" />
+ </field>
+ <field name="Front Face Fill Mode" dword="1" bits="6:5" type="uint" prefix="FILL_MODE">
+ <value name="SOLID" value="0" />
+ <value name="WIREFRAME" value="1" />
+ <value name="POINT" value="2" />
+ </field>
+ <field name="Global Depth Offset Enable Point" dword="1" bits="7:7" type="bool" />
+ <field name="Global Depth Offset Enable Wireframe" dword="1" bits="8:8" type="bool" />
+ <field name="Global Depth Offset Enable Solid" dword="1" bits="9:9" type="bool" />
+ <field name="DX Multisample Rasterization Mode" dword="1" bits="11:10" type="uint">
+ <value name="MSRASTMODE_ OFF_PIXEL" value="0" />
+ <value name="MSRASTMODE_ OFF_PATTERN" value="1" />
+ <value name="MSRASTMODE_ ON_PIXEL" value="2" />
+ <value name="MSRASTMODE_ ON_PATTERN" value="3" />
+ </field>
+ <field name="DX Multisample Rasterization Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Smooth Point Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Force Multisampling" dword="1" bits="14:14" type="uint" />
+ <field name="Cull Mode" dword="1" bits="17:16" type="uint" prefix="CULLMODE">
+ <value name="BOTH" value="0" />
+ <value name="NONE" value="1" />
+ <value name="FRONT" value="2" />
+ <value name="BACK" value="3" />
+ </field>
+ <field name="Forced Sample Count" dword="1" bits="20:18" type="uint" prefix="FSC">
+ <value name="NUMRASTSAMPLES_0" value="0" />
+ <value name="NUMRASTSAMPLES_1" value="1" />
+ <value name="NUMRASTSAMPLES_2" value="2" />
+ <value name="NUMRASTSAMPLES_4" value="3" />
+ <value name="NUMRASTSAMPLES_8" value="4" />
+ <value name="NUMRASTSAMPLES_16" value="5" />
+ </field>
+ <field name="Front Winding" dword="1" bits="21:21" type="uint">
+ <value name="Clockwise" value="0" />
+ <value name="Counter Clockwise" value="1" />
+ </field>
+ <field name="API Mode" dword="1" bits="23:22" type="uint">
+ <value name="DX9/OGL" value="0" />
+ <value name="DX10.0" value="1" />
+ <value name="DX10.1+" value="2" />
+ </field>
+ <field name="Conservative Rasterization Enable" dword="1" bits="24:24" type="bool" />
+ <field name="Viewport Z Far Clip Test Enable" dword="1" bits="26:26" type="bool" />
+ <field name="Legacy Bary Assignment Disable=" dword="1" bits="27:27" type="bool" />
+ <field name="Global Depth Offset Constant" dword="2" bits="31:0" type="float" />
+ <field name="Global Depth Offset Scale" dword="3" bits="31:0" type="float" />
+ <field name="Global Depth Offset Clamp" dword="4" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_SBE" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="31" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Primitive ID Override Attribute Select" dword="1" bits="4:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="1" bits="10:5" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="1" bits="15:11" type="uint" />
+ <field name="Primitive ID Override Component X" dword="1" bits="16:16" type="bool" />
+ <field name="Primitive ID Override Component Y" dword="1" bits="17:17" type="bool" />
+ <field name="Primitive ID Override Component Z" dword="1" bits="18:18" type="bool" />
+ <field name="Primitive ID Override Component W" dword="1" bits="19:19" type="bool" />
+ <field name="Point Sprite Texture Coordinate Origin" dword="1" bits="20:20" type="uint">
+ <value name="UPPERLEFT" value="0" />
+ <value name="LOWERLEFT" value="1" />
+ </field>
+ <field name="Attribute Swizzle Enable" dword="1" bits="21:21" type="bool" />
+ <field name="Number of SF Output Attributes" dword="1" bits="27:22" type="uint" />
+ <field name="Force Vertex URB Entry Read Offset" dword="1" bits="28:28" type="bool" />
+ <field name="Force Vertex URB Entry Read Length" dword="1" bits="29:29" type="bool" />
+ <field name="Vertex Attributes Bypass" dword="1" bits="31:31" type="bool" />
+ <field name="Point Sprite Texture Coordinate Enable" dword="2" bits="31:0" type="uint" />
+ <field name="Constant Interpolation Enable" dword="3" bits="31:0" type="uint" />
+ <group count="32" dword="4" size="2">
+ <field name="Attribute Active Component Format" dword="0" bits="1:0" type="uint" prefix="ACTIVE_COMPONENT">
+ <value name="DISABLED" value="0" />
+ <value name="XY" value="1" />
+ <value name="XYZ" value="2" />
+ <value name="XYZW" value="3" />
+ </field>
+ </group>
+ </instruction>
+ <instruction name="3DSTATE_SF" bias="2" length="4" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="2" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="19" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Viewport Transform Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Statistics Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Legacy Global Depth Bias Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Line Width" dword="1" bits="29:12" type="u11.7" />
+ <field name="Line End Cap Antialiasing Region Width" dword="2" bits="17:16" type="uint">
+ <value name="0.5 pixels" value="0" />
+ <value name="1.0 pixels" value="1" />
+ <value name="2.0 pixels" value="2" />
+ <value name="4.0 pixels" value="3" />
+ </field>
+ <field name="Deref Block Size" dword="2" bits="30:29" type="uint">
+ <value name="Block Deref Size 32" value="0" />
+ <value name="Per Poly Deref Mode" value="1" />
+ <value name="Block Deref Size 8" value="2" />
+ <value name="Mesh Shader EODB" value="3" />
+ </field>
+ <field name="Point Width" dword="3" bits="10:0" type="u8.3" />
+ <field name="Point Width Source" dword="3" bits="11:11" type="uint">
+ <value name="Vertex" value="0" />
+ <value name="State" value="1" />
+ </field>
+ <field name="Vertex Sub Pixel Precision Select" dword="3" bits="12:12" type="uint">
+ <value name="8 Bit" value="0" />
+ <value name="4 Bit" value="1" />
+ </field>
+ <field name="Smooth Point Enable" dword="3" bits="13:13" type="bool" />
+ <field name="AA Line Distance Mode" dword="3" bits="14:14" type="uint">
+ <value name="AALINEDISTANCE_TRUE" value="1" />
+ </field>
+ <field name="Triangle Strip Odd Provoking Vertex Select" dword="3" bits="24:23" type="uint" />
+ <field name="Triangle Fan Provoking Vertex Select" dword="3" bits="26:25" type="uint" />
+ <field name="Line Strip/List Provoking Vertex Select" dword="3" bits="28:27" type="uint" />
+ <field name="Triangle Strip/List Provoking Vertex Select" dword="3" bits="30:29" type="uint" />
+ <field name="Last Pixel Enable" dword="3" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Surface Pitch" dword="1" bits="16:0" type="uint" />
+ <field name="Corner Texel Mode" dword="1" bits="23:23" type="bool" />
+ <field name="Null Page Coherency Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Stencil Write Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Surface Type" dword="1" bits="31:29" type="uint">
+ <value name="SURFTYPE_2D" value="1" />
+ <value name="SURFTYPE_CUBE" value="3" />
+ <value name="SURFTYPE_NULL" value="7" />
+ </field>
+ <field name="Surface Base Address" dword="2" bits="63:0" type="address" />
+ <field name="Width" dword="4" bits="14:1" type="uint" />
+ <field name="Height" dword="4" bits="30:17" type="uint" />
+ <field name="MOCS" dword="5" bits="6:0" type="uint" nonzero="true" />
+ <field name="Minimum Array Element" dword="5" bits="18:8" type="uint" />
+ <field name="Depth" dword="5" bits="30:20" type="uint" />
+ <field name="Compression Format" dword="6" bits="3:0" type="UNIFIED_COMPRESSION_FORMAT" />
+ <field name="Mip Tail Start LOD" dword="6" bits="29:26" type="uint" />
+ <field name="Tiled Mode" dword="6" bits="31:30" type="uint">
+ <value name="TILE64" value="1" />
+ <value name="TILE4" value="3" />
+ </field>
+ <field name="Surface QPitch" dword="7" bits="14:0" type="uint" />
+ <field name="Surf LOD" dword="7" bits="19:16" type="uint" />
+ <field name="Render Target View Extent" dword="7" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_TE" bias="2" length="5" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="28" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="TE Enable" dword="1" bits="0:0" type="bool" />
+ <field name="TE Mode" dword="1" bits="2:1" type="uint">
+ <value name="HW_TESS" value="0" />
+ <value name="FORCE_MIN" value="3" />
+ </field>
+ <field name="TE Domain" dword="1" bits="5:4" type="uint">
+ <value name="QUAD" value="0" />
+ <value name="TRI" value="1" />
+ <value name="ISOLINE" value="2" />
+ </field>
+ <field name="Output Topology" dword="1" bits="9:8" type="uint" prefix="OUTPUT">
+ <value name="POINT" value="0" />
+ <value name="LINE" value="1" />
+ <value name="TRI_CW" value="2" />
+ <value name="TRI_CCW" value="3" />
+ </field>
+ <field name="Number Of Regions Per Patch" dword="1" bits="11:10" type="uint" />
+ <field name="Partitioning" dword="1" bits="13:12" type="uint">
+ <value name="INTEGER" value="0" />
+ <value name="ODD_FRACTIONAL" value="1" />
+ <value name="EVEN_FRACTIONAL" value="2" />
+ <value name="POW2" value="3" />
+ </field>
+ <field name="Tessellation Distribution Mode" dword="1" bits="15:14" type="uint">
+ <value name="TEDMODE_OFF" value="0" />
+ <value name="TEDMODE_RR_STRICT" value="1" />
+ <value name="TEDMODE_RR_FREE" value="2" />
+ </field>
+ <field name="Tessellation Distribution Level" dword="1" bits="18:17" type="uint">
+ <value name="TEDLEVEL_PATCH" value="0" />
+ <value name="TEDLEVEL_REGION" value="1" />
+ </field>
+ <field name="Tessellation Scale Factor Enable" dword="1" bits="19:19" type="bool" />
+ <field name="Tessellation Factor Format" dword="1" bits="20:20" type="uint">
+ <value name="FLOAT32" value="0" />
+ <value name="FLOAT16" value="1" />
+ </field>
+ <field name="Patch Header Layout" dword="1" bits="23:22" type="uint">
+ <value name="LEGACY" value="0" />
+ <value name="REVERSED" value="2" />
+ <value name="REVERSED_TRI_INSIDE_SEPARATE" value="3" />
+ </field>
+ <field name="Small Patch Threshold" dword="1" bits="25:24" type="uint" prefix="SPT">
+ <value name="8_TRIANGLES" value="0" />
+ <value name="16_TRIANGLES" value="1" />
+ <value name="32_TRIANGLES" value="2" />
+ <value name="64_TRIANGLES" value="3" />
+ </field>
+ <field name="Target Block Size" dword="1" bits="29:26" type="uint">
+ <value name="64_TRIANGLES" value="0" />
+ <value name="96_TRIANGLES" value="1" />
+ <value name="128_TRIANGLES" value="2" />
+ <value name="192_TRIANGLES" value="3" />
+ <value name="256_TRIANGLES" value="4" />
+ <value name="384_TRIANGLES" value="5" />
+ <value name="512_TRIANGLES" value="6" />
+ <value name="768_TRIANGLES" value="7" />
+ <value name="1K_TRIANGLES" value="8" />
+ <value name="1.5K_TRIANGLES" value="9" />
+ <value name="2K_TRIANGLES" value="10" />
+ <value name="3K_TRIANGLES" value="11" />
+ <value name="4K_TRIANGLES" value="12" />
+ <value name="6K_TRIANGLES" value="13" />
+ <value name="8K_TRIANGLES" value="14" />
+ <value name="12K_TRIANGLES" value="15" />
+ </field>
+ <field name="Local BOP Accumulator Threshold" dword="1" bits="31:30" type="uint">
+ <value name="MULTIPLIER_0" value="0" />
+ <value name="MULTIPLIER_1" value="1" />
+ <value name="MULTIPLIER_2" value="2" />
+ <value name="MULTIPLIER_4" value="3" />
+ </field>
+ <field name="Maximum Tessellation Factor Odd" dword="2" bits="31:0" type="float" />
+ <field name="Maximum Tessellation Factor Not Odd" dword="3" bits="31:0" type="float" />
+ <field name="Tessellation Scale Factor" dword="4" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="16" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="Normal" value="0" />
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="uint">
+ <value name="Dmask" value="0" />
+ </field>
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="6" bits="16:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="24:20" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Vertex Cache Disable" dword="7" bits="1:1" type="bool" />
+ <field name="SIMD8 Single Instance Dispatch Enable" dword="7" bits="9:9" type="bool" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="7" bits="31:22" type="uint" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="8" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="8" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="8" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="8" bits="26:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="6" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="82" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Buffer Partial Resolve Enable" dword="1" bits="9:9" type="bool" />
+ <field name="Number of Multisamples" dword="1" bits="15:13" type="uint" prefix="SAMPLES">
+ <value name="1" value="0" />
+ <value name="2" value="1" />
+ <value name="4" value="2" />
+ <value name="8" value="3" />
+ <value name="16" value="4" />
+ </field>
+ <field name="Stencil Clear Value" dword="1" bits="23:16" type="uint" />
+ <field name="Stencil Buffer Resolve Enable" dword="1" bits="24:24" type="bool" />
+ <field name="Full Surface Depth and Stencil Clear" dword="1" bits="25:25" type="bool" />
+ <field name="Pixel Position Offset Enable" dword="1" bits="26:26" type="bool" />
+ <field name="Hierarchical Depth Buffer Resolve Enable" dword="1" bits="27:27" type="bool" />
+ <field name="Depth Buffer Resolve Enable" dword="1" bits="28:28" type="bool" />
+ <field name="Scissor Rectangle Enable" dword="1" bits="29:29" type="bool" />
+ <field name="Depth Buffer Clear Enable" dword="1" bits="30:30" type="bool" />
+ <field name="Stencil Buffer Clear Enable" dword="1" bits="31:31" type="bool" />
+ <field name="Clear Rectangle X Min" dword="2" bits="15:0" type="uint" />
+ <field name="Clear Rectangle Y Min" dword="2" bits="31:16" type="uint" />
+ <field name="Clear Rectangle X Max" dword="3" bits="15:0" type="uint" />
+ <field name="Clear Rectangle Y Max" dword="3" bits="31:16" type="uint" />
+ <field name="Sample Mask" dword="4" bits="15:0" type="uint" />
+ <field name="Depth Clear Value" dword="5" bits="31:0" type="float" />
+ </instruction>
+ <instruction name="AVP_FILM_GRAIN_STATE" bias="2" length="45" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="43" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="52" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Grain Random Seed" dword="1" bits="15:0" type="uint" />
+ <field name="MC Identity Flag" dword="1" bits="16:16" type="bool" />
+ <field name="Clip To Restricted Range Flag" dword="1" bits="17:17" type="bool" />
+ <field name="Number of Luma Points" dword="1" bits="23:20" type="uint" />
+ <field name="Number of Chroma Cb Points" dword="1" bits="27:24" type="uint" />
+ <field name="Number of Chroma Cr Points" dword="1" bits="31:28" type="uint" />
+ <field name="Grain Scaling Minus8" dword="2" bits="1:0" type="uint" />
+ <field name="AR Coeff Lag" dword="2" bits="3:2" type="uint" />
+ <field name="AR Coeff Shift Minus6" dword="2" bits="5:4" type="uint" />
+ <field name="Grain Scale Shift" dword="2" bits="7:6" type="uint" />
+ <field name="Grain Noise Overlap Flag" dword="2" bits="8:8" type="bool" />
+ <field name="Chroma Scaling From Luma Flag" dword="2" bits="31:31" type="bool" />
+ <group count="14" dword="3" size="8">
+ <field name="Point Luma Value" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="14" dword="7" size="8">
+ <field name="Point Luma Scaling" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="10" dword="11" size="8">
+ <field name="Point CB Value" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="10" dword="14" size="8">
+ <field name="Point CB Scaling" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="10" dword="17" size="8">
+ <field name="Point CR Value" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="10" dword="20" size="8">
+ <field name="Point CR Scaling" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="24" dword="23" size="8">
+ <field name="AR Coeff Luma Plus128" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="25" dword="29" size="8">
+ <field name="AR Coeff Chroma CB Plus128" dword="0" bits="7:0" type="uint" />
+ </group>
+ <group count="25" dword="36" size="8">
+ <field name="AR Coeff Chroma CR Plus128" dword="0" bits="7:0" type="uint" />
+ </group>
+ <field name="CB Mult" dword="43" bits="7:0" type="uint" />
+ <field name="CB Luma Mult" dword="43" bits="15:8" type="uint" />
+ <field name="CB Offset" dword="43" bits="24:16" type="uint" />
+ <field name="CR Mult" dword="44" bits="7:0" type="uint" />
+ <field name="CR Luma Mult" dword="44" bits="15:8" type="uint" />
+ <field name="CR Offset" dword="44" bits="24:16" type="uint" />
+ </instruction>
+ <instruction name="AVP_PIC_STATE" bias="2" length="76" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="74" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="48" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Width" dword="1" bits="13:0" type="uint" />
+ <field name="Frame Height" dword="1" bits="29:16" type="uint" />
+ <field name="Sequence Chroma SubSampling Format" dword="2" bits="1:0" type="uint" prefix="SS">
+ <value name="Monochrome" value="0" />
+ <value name="420" value="1" />
+ <value name="422" value="2" />
+ <value name="444" value="3" />
+ </field>
+ <field name="Sequence Pixel Bit-Depth Idc" dword="2" bits="4:3" type="uint" prefix="SeqPix">
+ <value name="8-bit" value="0" />
+ <value name="10-bit" value="1" />
+ <value name="12-bit" value="2" />
+ </field>
+ <field name="Sequence Superblock Size Used" dword="2" bits="8:7" type="uint">
+ <value name="64x64" value="0" />
+ <value name="128x128" value="1" />
+ </field>
+ <field name="Sequence Enable Order Hint Flag" dword="2" bits="9:9" type="bool" />
+ <field name="Sequence Order Hint Bits Minus 1" dword="2" bits="12:10" type="uint" />
+ <field name="Sequence Enable Filter Intra Flag" dword="2" bits="16:16" type="bool" />
+ <field name="Sequence Enable Intra Edge Filter Flag" dword="2" bits="17:17" type="bool" />
+ <field name="Sequence Enable Dual Filter Flag" dword="2" bits="18:18" type="bool" />
+ <field name="Sequence Enable Inter Intra Compound Flag" dword="2" bits="19:19" type="bool" />
+ <field name="Sequence Enable Masked Compound Flag" dword="2" bits="20:20" type="bool" />
+ <field name="Sequence Enable Joint Compound Flag" dword="2" bits="21:21" type="bool" />
+ <field name="Allow Screen Content Tools Flag" dword="3" bits="0:0" type="bool" />
+ <field name="Force Integer MV Flag" dword="3" bits="1:1" type="bool" />
+ <field name="Allow Warped Motion Flag" dword="3" bits="2:2" type="bool" />
+ <field name="Use CDEF Filter Flag" dword="3" bits="4:4" type="bool" />
+ <field name="Use Super-Res Flag" dword="3" bits="5:5" type="bool" />
+ <field name="Frame Level Loop Restoration Filter Enable" dword="3" bits="6:6" type="bool" />
+ <field name="Apply Film Grain Flag" dword="3" bits="7:7" type="bool" />
+ <field name="Large Scale Tile Enable Flag" dword="3" bits="8:8" type="bool" />
+ <field name="Post CDEF Filtered Recon Pixels Writeout En" dword="3" bits="14:14" type="bool" />
+ <field name="Frame Type" dword="3" bits="17:16" type="uint" />
+ <field name="Intra Only Flag" dword="3" bits="19:19" type="bool" />
+ <field name="Error Resilient Mode Flag" dword="3" bits="22:22" type="bool" />
+ <field name="Allow IntraBC Flag" dword="3" bits="23:23" type="bool" />
+ <field name="Primary Reference Frame Idx" dword="3" bits="30:28" type="uint" />
+ <field name="Segmentation Enable Flag" dword="4" bits="0:0" type="bool" />
+ <field name="Segmentation Update Map Flag" dword="4" bits="1:1" type="bool" />
+ <field name="Segmentation Temporal Update Flag" dword="4" bits="2:2" type="bool" />
+ <field name="Pre Skip Segment ID Flag" dword="4" bits="3:3" type="bool" />
+ <field name="Last Active Segment Segment ID" dword="4" bits="6:4" type="uint" />
+ <field name="Delta Q Present Flag" dword="4" bits="7:7" type="bool" />
+ <field name="Delta Q Res" dword="4" bits="9:8" type="uint" />
+ <field name="Frame Coded Lossless Mode" dword="4" bits="10:10" type="bool" />
+ <field name="Segment Map is Zero Flag" dword="4" bits="11:11" type="bool" />
+ <field name="Segment ID Buffer Stream In Enable Flag" dword="4" bits="12:12" type="bool" />
+ <field name="Segment ID Buffer Stream Out Enable Flag" dword="4" bits="13:13" type="bool" />
+ <field name="Base Qindex" dword="4" bits="23:16" type="uint" />
+ <field name="Y dc delta Q" dword="4" bits="30:24" type="int" />
+ <field name="U dc delta Q" dword="5" bits="6:0" type="int" />
+ <field name="U ac delta Q" dword="5" bits="14:8" type="int" />
+ <field name="V dc delta Q" dword="5" bits="22:16" type="int" />
+ <field name="V ac delta Q" dword="5" bits="30:24" type="int" />
+ <field name="Allow High Precision MV" dword="6" bits="0:0" type="bool" />
+ <field name="Frame Level Reference Mode Select" dword="6" bits="1:1" type="bool" />
+ <field name="Mcomp Filter Type" dword="6" bits="4:2" type="uint">
+ <value name="Eight Tap" value="0" />
+ <value name="Eight Tap Smooth" value="1" />
+ <value name="Eight Tap Sharp" value="2" />
+ <value name="Bilinear" value="3" />
+ <value name="Switchable" value="4" />
+ </field>
+ <field name="Motion Mode Switchable Flag" dword="6" bits="6:6" type="bool" />
+ <field name="Use Reference Frame MV Set Flag" dword="6" bits="7:7" type="bool" />
+ <field name="Reference Frame Sign Bias" dword="6" bits="15:8" type="uint" />
+ <field name="Current Frame Order Hint" dword="6" bits="23:16" type="uint" />
+ <field name="Reduced Tx Set Used" dword="7" bits="0:0" type="bool" />
+ <field name="Frame Transform Mode" dword="7" bits="2:1" type="uint" />
+ <field name="Skip Mode Present Flag" dword="7" bits="4:4" type="bool" />
+ <field name="Skip Mode Frame 0" dword="7" bits="7:5" type="uint" />
+ <field name="Skip Mode Frame 1" dword="7" bits="11:9" type="uint" />
+ <field name="Reference Frame Side" dword="7" bits="31:24" type="uint" />
+ <field name="Global Motion Type 1" dword="8" bits="4:3" type="uint" />
+ <field name="Global Motion Type 2" dword="8" bits="7:6" type="uint" />
+ <field name="Global Motion Type 3" dword="8" bits="10:9" type="uint" />
+ <field name="Global Motion Type 4" dword="8" bits="13:12" type="uint" />
+ <field name="Global Motion Type 5" dword="8" bits="16:15" type="uint" />
+ <field name="Global Motion Type 6" dword="8" bits="19:18" type="uint" />
+ <field name="Global Motion Type 7" dword="8" bits="22:21" type="uint" />
+ <field name="Frame Level Global Motion Invalid Flags" dword="8" bits="31:24" type="uint" />
+ <group count="42" dword="9" size="16">
+ <field name="Warp Parameters" dword="0" bits="15:0" type="uint" />
+ </group>
+ <field name="Reference Frame Idx 0" dword="30" bits="2:0" type="uint" />
+ <field name="Reference Frame Idx 1" dword="30" bits="6:4" type="uint" />
+ <field name="Reference Frame Idx 2" dword="30" bits="10:8" type="uint" />
+ <field name="Reference Frame Idx 3" dword="30" bits="14:12" type="uint" />
+ <field name="Reference Frame Idx 4" dword="30" bits="18:16" type="uint" />
+ <field name="Reference Frame Idx 5" dword="30" bits="22:20" type="uint" />
+ <field name="Reference Frame Idx 6" dword="30" bits="26:24" type="uint" />
+ <field name="Reference Frame Idx 7" dword="30" bits="30:28" type="uint" />
+ <field name="Intra Frame Width in Pixel Minus 1" dword="31" bits="15:0" type="uint" />
+ <field name="Intra Frame Height in Pixel Minus 1" dword="31" bits="31:16" type="uint" />
+ <field name="Last Frame Width in Pixel Minus 1" dword="32" bits="15:0" type="uint" />
+ <field name="Last Frame Height in Pixel Minus 1" dword="32" bits="31:16" type="uint" />
+ <field name="Last2 Frame Width in Pixel Minus 1" dword="33" bits="15:0" type="uint" />
+ <field name="Last2 Frame Height in Pixel Minus 1" dword="33" bits="31:16" type="uint" />
+ <field name="Last3 Frame Width in Pixel Minus 1" dword="34" bits="15:0" type="uint" />
+ <field name="Last3 Frame Height in Pixel Minus 1" dword="34" bits="31:16" type="uint" />
+ <field name="Golden Frame Width in Pixel Minus 1" dword="35" bits="15:0" type="uint" />
+ <field name="Golden Frame Height in Pixel Minus 1" dword="35" bits="31:16" type="uint" />
+ <field name="BWDREF Frame Width in Pixel Minus 1" dword="36" bits="15:0" type="uint" />
+ <field name="BWDREF Frame Height in Pixel Minus 1" dword="36" bits="31:16" type="uint" />
+ <field name="ALTREF2 Frame Width in Pixel Minus 1" dword="37" bits="15:0" type="uint" />
+ <field name="ALTREF2 Frame Height in Pixel Minus 1" dword="37" bits="31:16" type="uint" />
+ <field name="ALTREF Frame Width in Pixel Minus 1" dword="38" bits="15:0" type="uint" />
+ <field name="ALTREF Frame Height in Pixel Minus 1" dword="38" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Intra" dword="39" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Intra" dword="39" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Last" dword="40" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Last" dword="40" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Last2" dword="41" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Last2" dword="41" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Last3" dword="42" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Last3" dword="42" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For Golden" dword="43" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For Golden" dword="43" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For BWDREF" dword="44" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For BWDREF" dword="44" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For ALTREF2" dword="45" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For ALTREF2" dword="45" bits="31:16" type="uint" />
+ <field name="Vertical Scale Factor For ALTREF" dword="46" bits="15:0" type="uint" />
+ <field name="Horizontal Scale Factor For ALTREF" dword="46" bits="31:16" type="uint" />
+ <group count="8" dword="47" size="8">
+ <field name="Reference Frame Order Hint" dword="0" bits="7:0" type="uint" />
+ </group>
+ <field name="NonFirstPassFlag" dword="51" bits="16:16" type="bool" />
+ <field name="VdencPakOnlyPass" dword="51" bits="17:17" type="bool" />
+ <field name="FrameSzOverStatusEn - FrameBitRateMaxReportMask" dword="51" bits="25:25" type="bool" />
+ <field name="FrameSzUnderStatusEn - FrameBitRateMinReportMask" dword="51" bits="26:26" type="bool" />
+ <field name="FrameBitRateMax" dword="52" bits="13:0" type="uint" />
+ <field name="FrameBitrateMaxUnit" dword="52" bits="31:31" type="FRAME_BITRATE_UNITS" />
+ <field name="FrameBitRateMin" dword="53" bits="13:0" type="uint" />
+ <field name="FrameBitrateMinUnit" dword="53" bits="31:31" type="FRAME_BITRATE_UNITS" />
+ <field name="FrameDeltaQindexMax" dword="54" bits="63:0" type="uint" />
+ <field name="FrameDeltaQindexMin" dword="56" bits="31:0" type="uint" />
+ <field name="FrameDeltaLFMax" dword="57" bits="63:0" type="uint" />
+ <field name="FrameDeltaLFMin" dword="59" bits="31:0" type="uint" />
+ <field name="FrameDeltaQindexLFMaxRange" dword="60" bits="63:0" type="uint" />
+ <field name="FrameDeltaQindexLFMinRange" dword="62" bits="31:0" type="uint" />
+ <field name="MinFrameSize" dword="63" bits="15:0" type="uint" />
+ <field name="MinFrameSizeUnits" dword="63" bits="31:30" type="uint">
+ <value name="4K Byte Units" value="0" />
+ <value name="16K Byte Units" value="1" />
+ <value name="Compatibility Mode" value="2" />
+ <value name="6 Byte Units" value="3" />
+ </field>
+ <field name="VDAQM enable" dword="64" bits="0:0" type="bool" />
+ <field name="Class0 SSE Threshold0" dword="65" bits="15:0" type="uint" />
+ <field name="Class0 SSE Threshold1" dword="65" bits="31:16" type="uint" />
+ <group count="8" dword="66" size="8">
+ <field name="SSE Thresholds For Class" dword="0" bits="7:0" type="uint" />
+ </group>
+ <field name="rdmult" dword="74" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="AVP_PIPE_BUF_ADDR_STATE" bias="2" length="215" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="213" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="2" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <group count="8" dword="1" size="64">
+ <field name="Reference Picture - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Reference Picture - Attributes" dword="17" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Decoded Output Frame Buffer Address" dword="18" bits="63:0" type="address" />
+ <field name="Decoded Output Frame Buffer Address - Attributes" dword="20" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Film Grain Injected Output Frame Buffer Address" dword="21" bits="63:0" type="address" />
+ <field name="Film Grain Injected Output Frame Buffer Address - Attributes" dword="23" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="IntraBC Decoded Output Frame Buffer Address" dword="24" bits="63:0" type="address" />
+ <field name="IntraBC Decoded Output Frame Buffer Address - Attributes" dword="26" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDF Tables Initialization Buffer Address" dword="27" bits="63:0" type="address" />
+ <field name="CDF Tables Initialization Buffer Address - Attributes" dword="29" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDF Tables Backward Adaptation Buffer Address" dword="30" bits="63:0" type="address" />
+ <field name="CDF Tables Backward Adaptation Buffer Address - Attributes" dword="32" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="AV1 Segment ID Read Buffer Address" dword="33" bits="63:0" type="address" />
+ <field name="AV1 Segment ID Read Buffer Address - Attributes" dword="35" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="AV1 Segment ID Write Buffer Address" dword="36" bits="63:0" type="address" />
+ <field name="AV1 Segment ID Write Buffer Address - Attributes" dword="38" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <group count="8" dword="39" size="64">
+ <field name="Collocated MV Temporal Buffer - Address" dword="0" bits="63:0" type="address" />
+ </group>
+ <field name="Collocated MV Temporal Buffer - Attributes" dword="55" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Current Frame MV Write Buffer Address" dword="56" bits="63:0" type="address" />
+ <field name="Current Frame MV Write Buffer Address - Attributes" dword="58" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Film Grain Sample Template Address" dword="59" bits="63:0" type="address" />
+ <field name="Film Grain Sample Template Address - Attributes" dword="61" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Bitstream Line Rowstore Buffer Address" dword="62" bits="63:0" type="address" />
+ <field name="Bitstream Line Rowstore Buffer Address - Attributes" dword="64" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Bitstream Tile Line Rowstore Buffer Address" dword="65" bits="63:0" type="address" />
+ <field name="Bitstream Tile Line Rowstore Buffer Address - Attributes" dword="67" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Intra Prediction Line Rowstore Buffer Address" dword="68" bits="63:0" type="address" />
+ <field name="Intra Prediction Line Rowstore Buffer Address - Attributes" dword="70" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Intra Prediction Tile Line Rowstore Buffer Address" dword="71" bits="63:0" type="address" />
+ <field name="Intra Prediction Tile Line Rowstore Buffer Address - Attributes" dword="73" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Spatial Motion Vector Line Buffer Address" dword="74" bits="63:0" type="address" />
+ <field name="Spatial Motion Vector Line Buffer Address - Attributes" dword="76" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Spatial Motion Vector Tile Line Buffer Address" dword="77" bits="63:0" type="address" />
+ <field name="Spatial Motion Vector Tile Line Buffer Address - Attributes" dword="79" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Meta Tile Column Buffer Address" dword="80" bits="63:0" type="address" />
+ <field name="Loop Restoration Meta Tile Column Buffer Address - Attributes" dword="82" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Line Y Buffer Address" dword="83" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Line Y Buffer Address - Attributes" dword="85" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Line U Buffer Address" dword="86" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Line U Buffer Address - Attributes" dword="88" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Line V Buffer Address" dword="89" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Line V Buffer Address - Attributes" dword="91" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Line Y Buffer Address" dword="92" bits="63:0" type="address" />
+ <field name="Deblocker Filter Line Y Buffer Address - Attributes" dword="94" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Line U Buffer Address" dword="95" bits="63:0" type="address" />
+ <field name="Deblocker Filter Line U Buffer Address - Attributes" dword="97" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Line V Buffer Address" dword="98" bits="63:0" type="address" />
+ <field name="Deblocker Filter Line V Buffer Address - Attributes" dword="100" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Line Y Buffer Address" dword="101" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Line Y Buffer Address - Attributes" dword="103" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Line U Buffer Address" dword="104" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Line U Buffer Address - Attributes" dword="106" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Line V Buffer Address" dword="107" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Line V Buffer Address - Attributes" dword="109" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Column Y Buffer Address" dword="110" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Column Y Buffer Address - Attributes" dword="112" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Column U Buffer Address" dword="113" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Column U Buffer Address - Attributes" dword="115" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Deblocker Filter Tile Column V Buffer Address" dword="116" bits="63:0" type="address" />
+ <field name="Deblocker Filter Tile Column V Buffer Address - Attributes" dword="118" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Line Buffer Address" dword="119" bits="63:0" type="address" />
+ <field name="CDEF Filter Line Buffer Address - Attributes" dword="121" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Tile Line Buffer Address" dword="128" bits="63:0" type="address" />
+ <field name="CDEF Filter Tile Line Buffer Address - Attributes" dword="130" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Tile Column Buffer Address" dword="137" bits="63:0" type="address" />
+ <field name="CDEF Filter Tile Column Buffer Address - Attributes" dword="139" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Meta Tile Line Buffer Address" dword="140" bits="63:0" type="address" />
+ <field name="CDEF Filter Meta Tile Line Buffer Address - Attributes" dword="142" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Meta Tile Column Buffer Address" dword="143" bits="63:0" type="address" />
+ <field name="CDEF Filter Meta Tile Column Buffer Address - Attributes" dword="145" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CDEF Filter Top Left Corner Buffer Address" dword="146" bits="63:0" type="address" />
+ <field name="CDEF Filter Top Left Corner Buffer Address - Attributes" dword="148" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Super Res Tile Column Y Buffer Address" dword="149" bits="63:0" type="address" />
+ <field name="Super Res Tile Column Y Buffer Address - Attributes" dword="151" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Super Res Tile Column U Buffer Address" dword="152" bits="63:0" type="address" />
+ <field name="Super Res Tile Column U Buffer Address - Attributes" dword="154" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Super Res Tile Column V Buffer Address" dword="155" bits="63:0" type="address" />
+ <field name="Super Res Tile Column V Buffer Address - Attributes" dword="157" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Column Y Buffer Address" dword="158" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Column Y Buffer Address - Attributes" dword="160" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Column U Buffer Address" dword="161" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Column U Buffer Address - Attributes" dword="163" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Column V Buffer Address" dword="164" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Column V Buffer Address - Attributes" dword="166" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Loop Restoration Filter Tile Column Alignment Read Write Buffer Address" dword="170" bits="63:0" type="address" />
+ <field name="Loop Restoration Filter Tile Column Alignment Read Write Buffer Address - Attributes" dword="172" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Film Grain Tile Column Data Read Write Buffer Address" dword="173" bits="63:0" type="address" />
+ <field name="Film Grain Tile Column Data Read Write Buffer Address - Attributes" dword="175" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Decoded Frame Status Error Buffer Address" dword="176" bits="63:0" type="address" />
+ <field name="Decoded Frame Status Error Buffer Address - Attributes" dword="178" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Decoded Block Data Streamout Buffer Address" dword="179" bits="63:0" type="address" />
+ <field name="Decoded Block Data Streamout Buffer Address - Attributes" dword="181" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Original Uncompressed Picture Source Buffer Address" dword="188" bits="63:0" type="address" />
+ <field name="Original Uncompressed Picture Source Buffer Address - Attributes" dword="190" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Downscaled Uncompressed Picture Source Buffer Address" dword="191" bits="63:0" type="address" />
+ <field name="Downscaled Uncompressed Picture Source Buffer Address - Attributes" dword="193" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Tile Size Streamout Buffer Address" dword="194" bits="63:0" type="address" />
+ <field name="Tile Size Streamout Buffer Address - Attributes" dword="196" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="Tile Statistics Streamout Buffer Address" dword="197" bits="63:0" type="address" />
+ <field name="Tile Statistics Streamout Buffer Address - Attributes" dword="199" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="CU Streamout Buffer Address" dword="200" bits="63:0" type="address" />
+ <field name="CU Streamout Buffer Address - Attributes" dword="202" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SSE Line Read/Write Buffer Address" dword="203" bits="63:0" type="address" />
+ <field name="SSE Line Read/Write Buffer Address - Attributes" dword="205" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="SSE Tile Line Read/Write Buffer Address" dword="206" bits="63:0" type="address" />
+ <field name="SSE Tile Line Read/Write Buffer Address - Attributes" dword="208" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ <field name="PostCDEF Pixels Buffer Address" dword="209" bits="63:0" type="address" />
+ <field name="PostCDEF Pixels Buffer Address - Attributes" dword="211" bits="31:0" type="MEMORYADDRESSATTRIBUTES" />
+ </instruction>
+ <instruction name="AVP_PIPE_MODE_SELECT" bias="2" length="7" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="5" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="0" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Codec Select" dword="1" bits="0:0" type="bool">
+ <value name="Decode" value="0" />
+ <value name="Encode" value="1" />
+ </field>
+ <field name="Pic Status/Error Report Enable" dword="1" bits="3:3" type="bool" />
+ <field name="Frame Reconstruction Disable" dword="1" bits="4:4" type="bool" />
+ <field name="Codec Standard Select" dword="1" bits="7:5" type="uint" default="2" />
+ <field name="VDENC Mode" dword="1" bits="10:10" type="bool" />
+ <field name="Tile Statistics Streamout Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Multi Engine Mode" dword="1" bits="14:13" type="uint">
+ <value name="Single Engine Mode" value="0" />
+ <value name="Left Engine Mode" value="1" />
+ <value name="Right Engine Mode" value="2" />
+ <value name="Middle Engine Mode" value="3" />
+ </field>
+ <field name="Pipe Working Mode" dword="1" bits="16:15" type="uint">
+ <value name="Legacy Single Pipe" value="0" />
+ <value name="Encode Mode" value="2" />
+ <value name="Decode Scalable Mode" value="3" />
+ </field>
+ <field name="Tile Based Engine" dword="1" bits="17:17" type="bool" />
+ <field name="Motion Comp Memory Tracker Counter Enable" dword="1" bits="23:23" type="bool" />
+ <field name="Pic Status/Error Report ID" dword="3" bits="31:0" type="uint" />
+ <field name="AlcChickenbitRestrictSingleTileGroupInAFrame" dword="4" bits="4:4" type="bool" />
+ <field name="Phase Indicator" dword="5" bits="1:0" type="uint">
+ <value name="First Phase" value="0" />
+ <value name="Middle Phase" value="1" />
+ <value name="Last Phase" value="2" />
+ </field>
+ <field name="Downscaled Source Pixel Prefetch Length" dword="6" bits="4:2" type="uint" />
+ <field name="Downscaled Source Pixel Prefetch Enable" dword="6" bits="5:5" type="bool" />
+ <field name="Original Source Pixel Prefetch Length" dword="6" bits="9:7" type="uint" />
+ <field name="Original Source Pixel Prefetch Enable" dword="6" bits="10:10" type="bool" />
+ </instruction>
+ <instruction name="AVP_TILE_CODING" bias="2" length="7" engine="video">
+ <field name="DWord Length" dword="0" bits="11:0" type="uint" default="5" />
+ <field name="SubOpcode" dword="0" bits="22:16" type="uint" default="21" />
+ <field name="Media Command Opcode" dword="0" bits="26:23" type="uint" default="3" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Frame Tile ID" dword="1" bits="11:0" type="uint" />
+ <field name="TG Tile Num" dword="1" bits="23:12" type="uint" />
+ <field name="Tile Group ID" dword="1" bits="31:24" type="uint" />
+ <field name="Tile Column Position in SB Unit" dword="2" bits="9:0" type="uint" />
+ <field name="Tile Row Position in SB Unit" dword="2" bits="25:16" type="uint" />
+ <field name="Tile Width in SB Minus 1" dword="3" bits="5:0" type="uint" />
+ <field name="Tile Height in SB Minus 1" dword="3" bits="25:16" type="uint" />
+ <field name="First Phase on Scalability Mode" dword="4" bits="0:0" type="bool" />
+ <field name="Last Phase on Scalability Mode" dword="4" bits="1:1" type="bool" />
+ <field name="AVP CRC Enable" dword="4" bits="2:2" type="bool" />
+ <field name="First Tile in a Frame" dword="4" bits="23:23" type="bool" />
+ <field name="Is Last Tile of Column Flag" dword="4" bits="25:25" type="bool" />
+ <field name="Is Last Tile of Row Flag" dword="4" bits="26:26" type="bool" />
+ <field name="Is Start Tile of Tile Group Flag" dword="4" bits="27:27" type="bool" />
+ <field name="Is End Tile of Tile Group Flag" dword="4" bits="28:28" type="bool" />
+ <field name="Is Last Tile of Frame Flag" dword="4" bits="29:29" type="bool" />
+ <field name="Disable CDF Update Flag" dword="4" bits="30:30" type="bool" />
+ <field name="Disable Frame Context Update Flag" dword="4" bits="31:31" type="bool" />
+ <field name="Number of Active BE Pipes" dword="5" bits="7:0" type="uint" />
+ <field name="Num of Tile Columns in Frame Minus 1" dword="5" bits="21:12" type="uint" />
+ <field name="Num of Tile Rows in Frame Minus 1" dword="5" bits="31:22" type="uint" />
+ <field name="Output Decoded Tile Column Position in SB Unit" dword="6" bits="9:0" type="uint" />
+ <field name="Output Decoded Tile Row Position in SB Unit" dword="6" bits="25:16" type="uint" />
+ </instruction>
+ <instruction name="CFE_STATE" bias="2" length="6" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="CFE SubOpcode Variant" dword="0" bits="17:16" type="uint" default="0" />
+ <field name="CFE SubOpcode" dword="0" bits="23:18" type="uint" default="0" />
+ <field name="Compute Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Scratch Space Buffer" dword="1" bits="31:10" type="uint" />
+ <field name="Stack ID Control" dword="3" bits="1:0" type="uint">
+ <value name="StackIDs 2048" value="0" />
+ <value name="StackIDs 1024" value="1" />
+ <value name="StackIDs 512" value="2" />
+ <value name="StackIDs 256" value="3" />
+ </field>
+ <field name="Compute Dispatch All walker Enable" dword="3" bits="12:12" type="bool" />
+ <field name="Single Slice Dispatch CCS Mode" dword="3" bits="13:13" type="bool" />
+ <field name="Over Dispatch Control" dword="3" bits="15:14" type="uint">
+ <value name="Over Dispatch None" value="0" />
+ <value name="Over Dispatch Low" value="1" />
+ <value name="Over Dispatch Normal" value="2" />
+ <value name="Over Dispatch High" value="3" />
+ </field>
+ <field name="Maximum Number of Threads" dword="3" bits="31:16" type="uint" />
+ </instruction>
+ <instruction name="COMPUTE_WALKER" bias="2" length="40" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="38" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="Workload Partition Enable" dword="0" bits="9:9" type="bool" />
+ <field name="Indirect Parameter Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Systolic Mode Enable" dword="0" bits="14:14" type="bool" />
+ <field name="CFE SubOpcode Variant" dword="0" bits="17:15" type="uint" default="0" />
+ <field name="CFE SubOpcode" dword="0" bits="23:18" type="uint" default="2" />
+ <field name="Compute Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Pipeline" dword="0" bits="28:27" type="uint" default="2" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="body" dword="1" bits="1248:0" type="COMPUTE_WALKER_BODY" />
+ </instruction>
+ <instruction name="EXECUTE_INDIRECT_DISPATCH" bias="2" length="45" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="43" />
+ <field name="Predicate Enable" dword="0" bits="8:8" type="bool" />
+ <field name="MOCS" dword="0" bits="15:12" type="uint" nonzero="true" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="1" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="4" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Max Count" dword="1" bits="31:0" type="uint" />
+ <field name="Count Buffer Indirect Enable" dword="2" bits="0:0" type="bool" />
+ <field name="Count Buffer Address" dword="2" bits="63:2" type="address" />
+ <field name="Argument Buffer Start Address" dword="4" bits="63:2" type="address" />
+ <field name="body" dword="6" bits="1247:0" type="COMPUTE_WALKER_BODY" />
+ </instruction>
+ <instruction name="MI_MEM_FENCE" bias="1" length="1">
+ <field name="Fence Type" dword="0" bits="1:0" type="uint" prefix="FENCE_TYPE">
+ <value name="RELEASE" value="0" />
+ <value name="ACQUIRE" value="1" />
+ <value name="MI_WRITE" value="3" />
+ </field>
+ <field name="MI Command Sub Opcode" dword="0" bits="22:17" type="uint" default="0" />
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="9" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ </instruction>
+ <instruction name="MI_SEMAPHORE_WAIT" bias="2" length="5">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="Compare Operation" dword="0" bits="14:12" type="uint" prefix="COMPARE">
+ <value name="SAD_GREATER_THAN_SDD" value="0" />
+ <value name="SAD_GREATER_THAN_OR_EQUAL_SDD" value="1" />
+ <value name="SAD_LESS_THAN_SDD" value="2" />
+ <value name="SAD_LESS_THAN_OR_EQUAL_SDD" value="3" />
+ <value name="SAD_EQUAL_SDD" value="4" />
+ <value name="SAD_NOT_EQUAL_SDD" value="5" />
+ </field>
+ <field name="Wait Mode" dword="0" bits="15:15" type="uint">
+ <value name="Polling Mode" value="1" />
+ <value name="Signal Mode" value="0" />
+ </field>
+ <field name="Register Poll Mode" dword="0" bits="16:16" type="bool" />
+ <field name="Indirect Semaphore Data Dword" dword="0" bits="17:17" type="bool" />
+ <field name="Workload Partition ID Offset Enable" dword="0" bits="18:18" type="bool" />
+ <field name="Memory Type" dword="0" bits="22:22" type="uint">
+ <value name="Per Process Graphics Address" value="0" />
+ <value name="Global Graphics Address" value="1" />
+ </field>
+ <field name="MI Command Opcode" dword="0" bits="28:23" type="uint" default="28" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="0" />
+ <field name="Semaphore Data Dword" dword="1" bits="31:0" type="uint" />
+ <field name="Semaphore Address" dword="2" bits="63:2" type="address" />
+ <field name="Wait Token Number" dword="4" bits="9:2" type="uint" />
+ </instruction>
+ <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
+ <field name="Pipeline Selection" dword="0" bits="1:0" type="uint">
+ <value name="3D" value="0" />
+ <value name="Media" value="1" />
+ <value name="GPGPU" value="2" />
+ </field>
+ <field name="Mask Bits" dword="0" bits="15:8" type="uint" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="4" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="1" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ </instruction>
+ <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="HDC Pipeline Flush Enable" dword="0" bits="9:9" type="bool" />
+ <field name="L3 Read Only Cache Invalidation Enable" dword="0" bits="10:10" type="bool" />
+ <field name="Untyped Data Port Cache Flush Enable" dword="0" bits="11:11" type="bool" />
+ <field name="CCS Flush Enable" dword="0" bits="13:13" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="0" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="2" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Depth Cache Flush Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Stall At Pixel Scoreboard" dword="1" bits="1:1" type="bool" />
+ <field name="State Cache Invalidation Enable" dword="1" bits="2:2" type="bool" />
+ <field name="Constant Cache Invalidation Enable" dword="1" bits="3:3" type="bool" />
+ <field name="VF Cache Invalidation Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Force Device Coherency" dword="1" bits="5:5" type="bool" />
+ <field name="Pipe Control Flush Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Notify Enable" dword="1" bits="8:8" type="bool" />
+ <field name="Indirect State Pointers Disable" dword="1" bits="9:9" type="bool" />
+ <field name="Texture Cache Invalidation Enable" dword="1" bits="10:10" type="bool" />
+ <field name="Instruction Cache Invalidate Enable" dword="1" bits="11:11" type="bool" />
+ <field name="Render Target Cache Flush Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Depth Stall Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Post Sync Operation" dword="1" bits="15:14" type="uint">
+ <value name="No Write" value="0" />
+ <value name="Write Immediate Data" value="1" />
+ <value name="Write PS Depth Count" value="2" />
+ <value name="Write Timestamp" value="3" />
+ </field>
+ <field name="PSS Stall Sync Enable" dword="1" bits="17:17" type="bool" />
+ <field name="TLB Invalidate" dword="1" bits="18:18" type="bool" />
+ <field name="Depth Stall Sync Enable" dword="1" bits="19:19" type="bool" />
+ <field name="Command Streamer Stall Enable" dword="1" bits="20:20" type="bool" />
+ <field name="Store Data Index" dword="1" bits="21:21" type="uint" />
+ <field name="Protected Memory Enable" dword="1" bits="22:22" type="bool" />
+ <field name="LRI Post Sync Operation" dword="1" bits="23:23" type="uint">
+ <value name="No LRI Operation" value="0" />
+ <value name="MMIO Write Immediate Data" value="1" />
+ </field>
+ <field name="Destination Address Type" dword="1" bits="24:24" type="uint" prefix="DAT">
+ <value name="PPGTT" value="0" />
+ <value name="GGTT" value="1" />
+ </field>
+ <field name="Flush LLC" dword="1" bits="26:26" type="bool" />
+ <field name="Protected Memory Disable" dword="1" bits="27:27" type="bool" />
+ <field name="Command Cache Invalidate Enable" dword="1" bits="29:29" type="bool" />
+ <field name="Address" dword="2" bits="47:2" type="address" />
+ <field name="Immediate Data" dword="4" bits="63:0" type="uint" />
+ </instruction>
+ <instruction name="RESOURCE_BARRIER" bias="2" length="5" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="3" />
+ <field name="Predicate Enable" dword="0" bits="24:24" type="bool" />
+ <field name="Opcode" dword="0" bits="28:26" type="uint" default="3">
+ <value name="RESOURCE_BARRIER" value="3" />
+ </field>
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="5" />
+ <field name="Resource Barrier Body" dword="1" bits="127:0" type="RESOURCE_BARRIER_BODY" />
+ </instruction>
+ <instruction name="STATE_BYTE_STRIDE" bias="2" length="2" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="0" />
+ <field name="Byte Stride Enable" dword="0" bits="8:8" type="bool" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Byte Stride" dword="1" bits="31:2" type="uint" />
+ </instruction>
+ <instruction name="STATE_COMPUTE_MODE" bias="2" length="3" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Z Pass Async Compute Thread Limit" dword="1" bits="2:0" type="uint" prefix="ZPACTL">
+ <value name="Max 60" value="0" />
+ <value name="Max 64" value="1" />
+ <value name="Max 56" value="2" />
+ <value name="Max 48" value="3" />
+ <value name="Max 40" value="4" />
+ <value name="Max 32" value="5" />
+ </field>
+ <field name="Z Async Throttle settings" dword="1" bits="4:3" type="uint" prefix="ZATS">
+ <value name="Defer to Async Compute Thread Limit" value="0" />
+ <value name="Max 32" value="1" />
+ <value name="Max 40" value="2" />
+ <value name="Max 48" value="3" />
+ </field>
+ <field name="Async Compute Thread Limit" dword="1" bits="9:7" type="uint" prefix="ACTL">
+ <value name="Disabled" value="0" />
+ <value name="Max 2" value="1" />
+ <value name="Max 8" value="2" />
+ <value name="Max 16" value="3" />
+ <value name="Max 24" value="4" />
+ <value name="Max 32" value="5" />
+ <value name="Max 40" value="6" />
+ <value name="Max 48" value="7" />
+ </field>
+ <field name="EU Thread Scheduling Mode Override" dword="1" bits="14:13" type="uint" />
+ <field name="Large GRF Mode" dword="1" bits="15:15" type="bool" />
+ <field name="Z Pass Async Compute Thread Limit Mask" dword="1" bits="18:16" type="uint" />
+ <field name="Mask1" dword="1" bits="31:16" type="uint" />
+ <field name="Z Async Throttle settings Mask" dword="1" bits="20:19" type="uint" />
+ <field name="Async Compute Thread Limit Mask" dword="1" bits="25:23" type="uint" />
+ <field name="EU Thread Scheduling Mode Override Mask" dword="1" bits="30:29" type="uint" />
+ <field name="Large GRF Mode Mask" dword="1" bits="31:31" type="bool" />
+ <field name="Midthread Preemption Delay Timer" dword="2" bits="2:0" type="uint">
+ <value name="MTP_TIMER_VAL_0" value="0" />
+ <value name="MTP_TIMER_VAL_50" value="1" />
+ <value name="MTP_TIMER_VAL_100" value="2" />
+ <value name="MTP_TIMER_VAL_150" value="3" />
+ </field>
+ <field name="Midthread Preemption Overdispatch Thread group count" dword="2" bits="4:3" type="uint">
+ <value name="OD_TG_M2" value="0" />
+ <value name="OD_TG_M4" value="1" />
+ <value name="OD_TG_M8" value="2" />
+ <value name="OD_TG_M16" value="3" />
+ </field>
+ <field name="Midthread Preemption Overdispatch Test mode" dword="2" bits="5:5" type="uint">
+ <value name="Regular" value="0" />
+ <value name="Test mode" value="1" />
+ </field>
+ <field name="UAV Coherency Mode" dword="2" bits="6:6" type="uint">
+ <value name="Drain DataPort Mode" value="0" />
+ <value name="Flush Dataport L1" value="1" />
+ </field>
+ <field name="Memory allocation for Scratch and Midthread Preemption buffers" dword="2" bits="11:11" type="uint">
+ <value name="Full" value="0" />
+ <value name="Min" value="1" />
+ </field>
+ <field name="Midthread Preemption Delay Timer Mask" dword="2" bits="18:16" type="uint" />
+ <field name="Mask2" dword="2" bits="31:16" type="uint" />
+ <field name="Midthread Preemption Overdispatch Thread group count Mask" dword="2" bits="20:19" type="uint" />
+ <field name="Midthread Preemption Overdispatch Test mode Mask" dword="2" bits="21:21" type="uint" />
+ <field name="UAV Coherency Mode Mask" dword="2" bits="22:22" type="uint" />
+ <field name="Memory allocation for Scratch and Midthread Preemption buffers Mask" dword="2" bits="27:27" type="uint" />
+ </instruction>
+ <instruction name="STATE_SYSTEM_MEM_FENCE_ADDRESS" bias="2" length="3">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="Context Restore Invalid" dword="0" bits="15:15" type="bool" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="9" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="System Memory Fence Address" dword="1" bits="63:12" type="address" />
+ </instruction>
+ <instruction name="XY_BLOCK_COPY_BLT" bias="2" length="22" engine="blitter">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="20" />
+ <field name="Special Mode of Operation" dword="0" bits="13:12" type="uint">
+ <value name="NONE" value="0" />
+ <value name="FULL_RESOLVE" value="1" />
+ <value name="PARTIAL_RESOLVE" value="2" />
+ </field>
+ <field name="Color Depth" dword="0" bits="21:19" type="uint" prefix="XY_BPP">
+ <value name="8_BIT" value="0" />
+ <value name="16_BIT" value="1" />
+ <value name="32_BIT" value="2" />
+ <value name="64_BIT" value="3" />
+ <value name="96_BIT" value="4" />
+ <value name="128_BIT" value="5" />
+ </field>
+ <field name="Opcode" dword="0" bits="28:22" type="uint" default="0x41" />
+ <field name="Client" dword="0" bits="31:29" type="uint" default="2" />
+ <field name="Destination Pitch" dword="1" bits="17:0" type="uint" />
+ <field name="Destination Encrypt En" dword="1" bits="21:21" type="uint" />
+ <field name="Destination MOCS index" dword="1" bits="27:24" type="uint" nonzero="true" />
+ <field name="Destination Tiling" dword="1" bits="31:30" type="uint" prefix="XY_TILE">
+ <value name="LINEAR" value="0" />
+ <value name="X" value="1" />
+ <value name="4" value="2" />
+ <value name="64" value="3" />
+ </field>
+ <field name="Destination X1" dword="2" bits="15:0" type="int" />
+ <field name="Destination Y1" dword="2" bits="31:16" type="int" />
+ <field name="Destination X2" dword="3" bits="15:0" type="int" />
+ <field name="Destination Y2" dword="3" bits="31:16" type="int" />
+ <field name="Destination Base Address" dword="4" bits="63:0" type="address" />
+ <field name="Destination X Offset" dword="6" bits="13:0" type="uint" />
+ <field name="Destination Y Offset" dword="6" bits="29:16" type="uint" />
+ <field name="Destination Target Memory" dword="6" bits="31:31" type="uint" prefix="XY_MEM">
+ <value name="LOCAL" value="0" />
+ <value name="SYSTEM" value="1" />
+ </field>
+ <field name="Source X1" dword="7" bits="15:0" type="int" />
+ <field name="Source Y1" dword="7" bits="31:16" type="int" />
+ <field name="Source Pitch" dword="8" bits="17:0" type="uint" />
+ <field name="Source Encrypt En" dword="8" bits="21:21" type="bool" />
+ <field name="Source MOCS index" dword="8" bits="27:24" type="uint" />
+ <field name="Source Tiling" dword="8" bits="31:30" type="uint" prefix="XY_TILE">
+ <value name="LINEAR" value="0" />
+ <value name="X" value="1" />
+ <value name="4" value="2" />
+ <value name="64" value="3" />
+ </field>
+ <field name="Source Base Address" dword="9" bits="63:0" type="address" />
+ <field name="Source X Offset" dword="11" bits="13:0" type="uint" />
+ <field name="Source Y Offset" dword="11" bits="29:16" type="uint" />
+ <field name="Source Target Memory" dword="11" bits="31:31" type="uint" prefix="XY_MEM">
+ <value name="LOCAL" value="0" />
+ <value name="SYSTEM" value="1" />
+ </field>
+ <field name="Source Compression Format" dword="12" bits="4:0" type="uint" />
+ <field name="Source Clear Value Enable" dword="12" bits="5:5" type="bool" />
+ <field name="Source Clear Address" dword="12" bits="47:6" type="address" />
+ <field name="Destination Compression Format" dword="14" bits="4:0" type="uint" />
+ <field name="Destination Clear Value Enable" dword="14" bits="5:5" type="bool" />
+ <field name="Destination Clear Address" dword="14" bits="47:6" type="address" />
+ <field name="Destination Surface Height" dword="16" bits="13:0" type="uint" />
+ <field name="Destination Surface Width" dword="16" bits="27:14" type="uint" />
+ <field name="Destination Surface Type" dword="16" bits="31:29" type="uint" prefix="XY_SURFTYPE">
+ <value name="1D" value="0" />
+ <value name="2D" value="1" />
+ <value name="3D" value="2" />
+ <value name="CUBE" value="3" />
+ </field>
+ <field name="Destination LOD" dword="17" bits="3:0" type="uint" />
+ <field name="Destination Surface QPitch" dword="17" bits="18:4" type="uint" />
+ <field name="Destination Surface Depth" dword="17" bits="31:21" type="uint" />
+ <field name="Destination Horizontal Align" dword="18" bits="1:0" type="uint">
+ <value name="HALIGN_16" value="0" />
+ <value name="HALIGN_32" value="1" />
+ <value name="HALIGN_64" value="2" />
+ <value name="HALIGN_128" value="3" />
+ </field>
+ <field name="Destination Vertical Align" dword="18" bits="4:3" type="uint">
+ <value name="VALIGN_4" value="1" />
+ <value name="VALIGN_8" value="2" />
+ <value name="VALIGN_16" value="3" />
+ </field>
+ <field name="Destination Mip Tail Start LOD" dword="18" bits="11:8" type="uint" />
+ <field name="Destination Array Index" dword="18" bits="31:21" type="uint" />
+ <field name="Source Surface Height" dword="19" bits="13:0" type="uint" />
+ <field name="Source Surface Width" dword="19" bits="27:14" type="uint" />
+ <field name="Source Surface Type" dword="19" bits="31:29" type="uint" prefix="XY_SURFTYPE">
+ <value name="1D" value="0" />
+ <value name="2D" value="1" />
+ <value name="3D" value="2" />
+ <value name="CUBE" value="3" />
+ </field>
+ <field name="Source LOD" dword="20" bits="3:0" type="uint" />
+ <field name="Source Surface QPitch" dword="20" bits="18:4" type="uint" />
+ <field name="Source Surface Depth" dword="20" bits="31:21" type="uint" />
+ <field name="Source Horizontal Align" dword="21" bits="1:0" type="uint">
+ <value name="HALIGN_16" value="0" />
+ <value name="HALIGN_32" value="1" />
+ <value name="HALIGN_64" value="2" />
+ <value name="HALIGN_128" value="3" />
+ </field>
+ <field name="Source Vertical Align" dword="21" bits="4:3" type="uint">
+ <value name="VALIGN_4" value="1" />
+ <value name="VALIGN_8" value="2" />
+ <value name="VALIGN_16" value="3" />
+ </field>
+ <field name="Source Mip Tail Start LOD" dword="21" bits="11:8" type="uint" />
+ <field name="Source Array Index" dword="21" bits="31:21" type="uint" />
+ </instruction>
+ <instruction name="XY_FAST_COLOR_BLT" bias="2" length="16" engine="blitter">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="14" />
+ <field name="Number of Multisamples" dword="0" bits="11:9" type="uint">
+ <value name="MULTISAMPLECOUNT_1" value="0" />
+ <value name="MULTISAMPLECOUNT_2" value="1" />
+ <value name="MULTISAMPLECOUNT_4" value="2" />
+ <value name="MULTISAMPLECOUNT_8" value="3" />
+ <value name="MULTISAMPLECOUNT_16" value="4" />
+ </field>
+ <field name="Special Mode of Operation" dword="0" bits="13:12" type="uint">
+ <value name="NONE" value="0" />
+ <value name="USE_AUX_SPECIAL_OPERATIONS_MODE" value="1" />
+ </field>
+ <field name="Color Depth" dword="0" bits="21:19" type="uint" prefix="XY_BPP">
+ <value name="8_BIT" value="0" />
+ <value name="16_BIT" value="1" />
+ <value name="32_BIT" value="2" />
+ <value name="64_BIT" value="3" />
+ <value name="96_BIT" value="4" />
+ <value name="128_BIT" value="5" />
+ </field>
+ <field name="Instruction Target(Opcode)" dword="0" bits="28:22" type="uint" default="68">
+ <value name="XY_FAST_COLOR_BLT" value="68" />
+ </field>
+ <field name="Client" dword="0" bits="31:29" type="uint" default="2">
+ <value name="2D Processor" value="2" />
+ </field>
+ <field name="Destination Pitch" dword="1" bits="17:0" type="uint" />
+ <field name="Destination Encrypt En" dword="1" bits="21:21" type="bool" />
+ <field name="Destination MOCS index" dword="1" bits="27:24" type="uint" />
+ <field name="Destination Tiling" dword="1" bits="31:30" type="uint" prefix="XY_TILE">
+ <value name="LINEAR" value="0" />
+ <value name="X" value="1" />
+ <value name="4" value="2" />
+ <value name="64" value="3" />
+ </field>
+ <field name="Destination X1" dword="2" bits="15:0" type="int" />
+ <field name="Destination Y1" dword="2" bits="31:16" type="int" />
+ <field name="Destination X2" dword="3" bits="15:0" type="int" />
+ <field name="Destination Y2" dword="3" bits="31:16" type="int" />
+ <field name="Destination Base Address" dword="4" bits="63:0" type="address" />
+ <field name="Destination X Offset" dword="6" bits="13:0" type="uint" />
+ <field name="Destination Y Offset" dword="6" bits="29:16" type="uint" />
+ <field name="Destination Target Memory" dword="6" bits="31:31" type="uint">
+ <value name="LOCAL_MEM" value="0" />
+ <value name="SYSTEM_MEM" value="1" />
+ </field>
+ <group count="4" dword="7" size="32">
+ <field name="Fill Color" dword="0" bits="31:0" type="uint" />
+ </group>
+ <field name="Destination Compression Format" dword="11" bits="3:0" type="uint" />
+ <field name="Surface Format" dword="12" bits="8:0" type="uint" />
+ <field name="AUX_SPECIAL_OPERATIONS_MODE" dword="12" bits="31:29" type="uint">
+ <value name="FAST_CLEAR_HW_FORMAT_CONVERSION" value="0" />
+ <value name="FAST_CLEAR_BYPASS_HW_FORMAT_CONVERSION" value="1" />
+ <value name="FORCE_UNCOMPRESS" value="2" />
+ </field>
+ <field name="Destination Surface Height" dword="13" bits="13:0" type="uint" />
+ <field name="Destination Surface Width" dword="13" bits="27:14" type="uint" />
+ <field name="Destination Surface Type" dword="13" bits="31:29" type="uint" prefix="XY_SURFTYPE">
+ <value name="1D" value="0" />
+ <value name="2D" value="1" />
+ <value name="3D" value="2" />
+ <value name="CUBE" value="3" />
+ </field>
+ <field name="Destination LOD" dword="14" bits="3:0" type="uint" />
+ <field name="Destination Surface QPitch" dword="14" bits="18:4" type="uint" />
+ <field name="Destination Surface Depth" dword="14" bits="31:21" type="uint" />
+ <field name="Destination Horizontal Align" dword="15" bits="1:0" type="uint">
+ <value name="HALIGN_16" value="0" />
+ <value name="HALIGN_32" value="1" />
+ <value name="HALIGN_64" value="2" />
+ <value name="HALIGN_128" value="3" />
+ </field>
+ <field name="Destination Vertical Align" dword="15" bits="4:3" type="uint">
+ <value name="VALIGN_4" value="1" />
+ <value name="VALIGN_8" value="2" />
+ <value name="VALIGN_16" value="3" />
+ </field>
+ <field name="Destination Mip Tail Start LOD" dword="15" bits="11:8" type="uint" />
+ <field name="Destination Depth/Stencil Resource" dword="15" bits="18:18" type="bool" />
+ <field name="Destination Array Index" dword="15" bits="31:21" type="uint" />
+ </instruction>
+ <register name="BLT_TRTT_VA_RANGE" length="1" num="0x4484">
+ <field name="TR-VA Base" dword="0" bits="12:0" type="uint" />
+ </register>
+ <register name="CACHE_MODE_0" length="1" num="0x7000">
+ <field name="Hierarchical Z RAW Stall Optimization Disable" dword="0" bits="2:2" type="bool" />
+ <field name="Hierarchical Z Disable" dword="0" bits="3:3" type="bool" />
+ <field name="Late Z Alloc Disable" dword="0" bits="4:4" type="bool" />
+ <field name="Msaa Fast Clear Enabled" dword="0" bits="5:5" type="bool" />
+ <field name="Depth Related Cache Pipelined Flush Disable" dword="0" bits="8:8" type="bool" />
+ <field name="Sampler L2 TLB Prefetch Enable" dword="0" bits="9:9" type="bool" />
+ <field name="RCZ PMA Not-Promoted Allocation stall optimization Disable due to change in depth parameters" dword="0" bits="10:10" type="uint" />
+ <field name="Disable Repacking for Compression" dword="0" bits="15:15" type="bool" />
+ <field name="Hierarchical Z RAW Stall Optimization Disable Mask" dword="0" bits="18:18" type="bool" />
+ <field name="Hierarchical Z Disable Mask" dword="0" bits="19:19" type="bool" />
+ <field name="Late Z Alloc Disable Mask" dword="0" bits="20:20" type="bool" />
+ <field name="Msaa Fast Clear Enabled Mask" dword="0" bits="21:21" type="bool" />
+ <field name="Depth Related Cache Pipelined Flush Disable Mask" dword="0" bits="24:24" type="bool" />
+ <field name="Sampler L2 TLB Prefetch Enable Mask" dword="0" bits="25:25" type="bool" />
+ <field name="RCZ PMA Not-Promoted Allocation stall optimization Disable due to change in depth parameters Mask" dword="0" bits="26:26" type="bool" />
+ <field name="Disable Repacking for Compression Mask" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="COMP_CTX0_TRTT_VA_RANGE" length="1" num="0x4584">
+ <field name="TR-VA Base" dword="0" bits="12:0" type="uint" />
+ </register>
+ <register name="CS_CHICKEN1" length="1" num="0x2580">
+ <field name="Media And GPGPU Pre-emption Control" dword="0" bits="2:1" type="uint">
+ <value name="Mid-thread Pre-emption" value="0" />
+ <value name="Thread Group Pre-emption" value="1" />
+ <value name="Command Level Pre-emption" value="2" />
+ </field>
+ <field name="Disable Preemption and High Priority Pausing due to 3DPRIMITIVE Command" dword="0" bits="10:10" type="bool" />
+ <field name="Media And GPGPU Pre-emption Control Mask" dword="0" bits="18:17" type="uint" />
+ <field name="Disable Preemption and High Priority Pausing due to 3DPRIMITIVE Command Mask" dword="0" bits="26:26" type="bool" />
+ </register>
+ <register name="FF_MODE" length="1" num="0x6210">
+ <field name="Mesh Shader Autostrip Disable" dword="0" bits="15:15" type="bool" />
+ <field name="Mesh Shader Partial Autostrip Disable" dword="0" bits="16:16" type="bool" />
+ <field name="TE Autostrip Disable" dword="0" bits="31:31" type="bool" />
+ </register>
+ <register name="GFX_TRTT_VA_RANGE" length="1" num="0x4404">
+ <field name="TR-VA Base" dword="0" bits="12:0" type="uint" />
+ </register>
+ <register name="VFL_SCRATCH_PAD" length="1" num="0x62a8">
+ <field name="Autostrip Disable" dword="0" bits="6:6" type="uint" />
+ <field name="Partial Autostrip Disable" dword="0" bits="9:9" type="uint" />
+ <field name="Autostrip Disable Mask" dword="0" bits="22:22" type="bool" />
+ <field name="Partial Autostrip Disable Mask" dword="0" bits="25:25" type="bool" />
+ </register>
+</genxml>
diff --git a/lib/genxml/xe3.xml b/lib/genxml/xe3.xml
new file mode 100644
index 000000000..9b2edcbbc
--- /dev/null
+++ b/lib/genxml/xe3.xml
@@ -0,0 +1,816 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="XE3" gen="30">
+ <import name="xe2.xml">
+ <exclude name="CPS_STATE" />
+ <exclude name="3DSTATE_CPS_POINTERS" />
+ </import>
+ <enum name="STATE_CPS_COMBINER_OPCODE" prefix="CPS_COMB_OP">
+ <value name="PASSTHROUGH" value="0" />
+ <value name="OVERRIDE" value="1" />
+ <value name="HIGH_QUALITY" value="2" />
+ <value name="LOW_QUALITY" value="3" />
+ <value name="RELATIVE" value="4" />
+ </enum>
+ <enum name="STATE_CPS_SIZE">
+ <value name="CPSIZE_1" value="0" />
+ <value name="CPSIZE_2" value="1" />
+ <value name="CPSIZE_4" value="2" />
+ </enum>
+ <struct name="BLEND_STATE_ENTRY" length="2">
+ <field name="Write Disable Blue" dword="0" bits="0:0" type="bool" />
+ <field name="Write Disable Green" dword="0" bits="1:1" type="bool" />
+ <field name="Write Disable Red" dword="0" bits="2:2" type="bool" />
+ <field name="Write Disable Alpha" dword="0" bits="3:3" type="bool" />
+ <field name="Alpha Blend Function" dword="0" bits="7:5" type="3D_Color_Buffer_Blend_Function" />
+ <field name="Destination Alpha Blend Factor" dword="0" bits="12:8" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Source Alpha Blend Factor" dword="0" bits="17:13" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Color Blend Function" dword="0" bits="20:18" type="3D_Color_Buffer_Blend_Function" />
+ <field name="Destination Blend Factor" dword="0" bits="25:21" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Source Blend Factor" dword="0" bits="30:26" type="3D_Color_Buffer_Blend_Factor" />
+ <field name="Color Buffer Blend Enable" dword="0" bits="31:31" type="bool" />
+ <field name="Post-Blend Color Clamp Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Pre-Blend Color Clamp Enable" dword="1" bits="1:1" type="bool" />
+ <field name="Color Clamp Range" dword="1" bits="3:2" type="uint">
+ <value name="COLORCLAMP_UNORM" value="0" />
+ <value name="COLORCLAMP_SNORM" value="1" />
+ <value name="COLORCLAMP_RTFORMAT" value="2" />
+ </field>
+ <field name="Pre-Blend Source Only Clamp Enable" dword="1" bits="4:4" type="bool" />
+ <field name="Simple Float Blend Enable" dword="1" bits="5:5" type="bool" />
+ <field name="Logic Op Function" dword="1" bits="30:27" type="3D_Logic_Op_Function" />
+ <field name="Logic Op Enable" dword="1" bits="31:31" type="bool" />
+ </struct>
+ <struct name="INTERFACE_DESCRIPTOR_DATA" length="8">
+ <field name="Kernel Start Pointer" dword="0" bits="31:6" type="offset" />
+ <field name="Software Exception Enable" dword="2" bits="7:7" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="2" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="2" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="2" bits="18:18" type="bool" />
+ <field name="Denorm Mode" dword="2" bits="19:19" type="uint">
+ <value name="Ftz" value="0" />
+ <value name="SetByKernel" value="1" />
+ </field>
+ <field name="Thread Preemption" dword="2" bits="20:20" type="bool" default="1" />
+ <field name="Registers Per Thread" dword="2" bits="30:26" type="uint" />
+ <field name="Sampler Count" dword="3" bits="4:2" type="uint">
+ <value name="No samplers used" value="0" />
+ <value name="Between 1 and 4 samplers used" value="1" />
+ <value name="Between 5 and 8 samplers used" value="2" />
+ <value name="Between 9 and 12 samplers used" value="3" />
+ <value name="Between 13 and 16 samplers used" value="4" />
+ </field>
+ <field name="Sampler State Pointer" dword="3" bits="31:5" type="offset" />
+ <field name="Binding Table Entry Count" dword="4" bits="4:0" type="uint" />
+ <field name="Binding Table Pointer" dword="4" bits="20:5" type="offset" />
+ <field name="Number of Threads in GPGPU Thread Group" dword="5" bits="9:0" type="uint" />
+ <field name="Thread group forward progress guarantee" dword="5" bits="13:13" type="bool" />
+ <field name="Shared Local Memory Size" dword="5" bits="20:16" type="uint">
+ <value name="Encodes 0K" value="0" />
+ <value name="Encodes 1K" value="1" />
+ <value name="Encodes 2K" value="2" />
+ <value name="Encodes 4K" value="3" />
+ <value name="Encodes 8K" value="4" />
+ <value name="Encodes 16K" value="5" />
+ <value name="Encodes 32K" value="6" />
+ <value name="Encodes 64K" value="7" />
+ <value name="Encodes 96K" value="10" />
+ <value name="Encodes 128K" value="11" />
+ <value name="Encodes 192K" value="12" />
+ <value name="Encodes 256K" value="13" />
+ <value name="Encodes 384K" value="14" />
+ </field>
+ <field name="Rounding Mode" dword="5" bits="23:22" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Thread Group Dispatch Size" dword="5" bits="27:26" type="uint">
+ <value name="TG size 8" value="0" />
+ <value name="TG size 4" value="1" />
+ <value name="TG size 2" value="2" />
+ <value name="TG size 1" value="3" />
+ </field>
+ <field name="Number Of Barriers" dword="5" bits="30:28" type="uint" prefix="BARRIER_SIZE">
+ <value name="NONE" value="0" />
+ <value name="B1" value="1" />
+ <value name="B2" value="2" />
+ <value name="B4" value="3" />
+ <value name="B8" value="4" />
+ <value name="B16" value="5" />
+ <value name="B24" value="6" />
+ <value name="B32" value="7" />
+ </field>
+ <field name="BTD Mode" dword="5" bits="31:31" type="uint" />
+ <field name="Preferred SLM Allocation Size" dword="7" bits="3:0" type="PREF_SLM_ALLOCATION_SIZE" />
+ </struct>
+ <struct name="COMPUTE_WALKER_BODY" length="39">
+ <field name="Indirect Data Length" dword="1" bits="16:0" type="uint" />
+ <field name="L3 prefetch disable" dword="1" bits="17:17" type="bool" />
+ <field name="Partition Dispatch Parameter" dword="1" bits="29:18" type="uint" />
+ <field name="Partition Type" dword="1" bits="31:30" type="uint">
+ <value name="PartitionX" value="1" />
+ <value name="PartitionY" value="2" />
+ <value name="PartitionZ" value="3" />
+ </field>
+ <field name="Indirect Data Start Address" dword="2" bits="31:6" type="offset" />
+ <field name="Compute Dispatch All walker Enable" dword="3" bits="0:0" type="uint">
+ <value name="Disabled" value="0" />
+ <value name="Enabled" value="1" />
+ </field>
+ <field name="Thread Group Batch Size" dword="3" bits="4:3" type="uint">
+ <value name="TG_BATCH_1" value="0" />
+ <value name="TG_BATCH_2" value="1" />
+ <value name="TG_BATCH_4" value="2" />
+ <value name="TG_BATCH_8" value="3" />
+ </field>
+ <field name="Dispatch Walk Order" dword="3" bits="6:5" type="uint">
+ <value name="Linear Walk" value="0" />
+ <value name="Y order walk" value="1" />
+ <value name="Morton Walk" value="2" />
+ </field>
+ <field name="Message SIMD" dword="3" bits="18:17" type="uint">
+ <value name="SIMT16" value="1" />
+ <value name="SIMT32" value="2" />
+ </field>
+ <field name="Tile Layout" dword="3" bits="21:19" type="uint">
+ <value name="Linear" value="0" />
+ <value name="TileY 32bpe" value="1" />
+ <value name="TileY 64bpe" value="2" />
+ <value name="TileY 128bpe" value="3" />
+ </field>
+ <field name="Walk Order" dword="3" bits="24:22" type="uint">
+ <value name="Walk 012" value="0" />
+ <value name="Walk 021" value="1" />
+ <value name="Walk 102" value="2" />
+ <value name="Walk 120" value="3" />
+ <value name="Walk 201" value="4" />
+ <value name="Walk 210" value="5" />
+ </field>
+ <field name="Emit Inline Parameter" dword="3" bits="25:25" type="bool" />
+ <field name="Emit Local" dword="3" bits="28:26" type="uint">
+ <value name="Emit None" value="0" />
+ <value name="Emit X" value="1" />
+ <value name="Emit XY" value="3" />
+ <value name="Emit XYZ" value="7" />
+ </field>
+ <field name="Generate Local ID" dword="3" bits="29:29" type="bool" />
+ <field name="SIMD Size" dword="3" bits="31:30" type="uint">
+ <value name="SIMT16" value="1" />
+ <value name="SIMT32" value="2" />
+ </field>
+ <field name="Execution Mask" dword="4" bits="31:0" type="uint" />
+ <field name="Local X Maximum" dword="5" bits="9:0" type="uint" />
+ <field name="Local Y Maximum" dword="5" bits="19:10" type="uint" />
+ <field name="Local Z Maximum" dword="5" bits="29:20" type="uint" />
+ <field name="Thread Group ID X Dimension" dword="6" bits="31:0" type="uint" />
+ <field name="Thread Group ID Y Dimension" dword="7" bits="31:0" type="uint" />
+ <field name="Thread Group ID Z Dimension" dword="8" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting X" dword="9" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting Y" dword="10" bits="31:0" type="uint" />
+ <field name="Thread Group ID Starting Z" dword="11" bits="31:0" type="uint" />
+ <field name="Partition ID" dword="12" bits="31:0" type="uint" />
+ <field name="Partition Size" dword="13" bits="31:0" type="uint" />
+ <field name="Preempt X" dword="14" bits="31:0" type="uint" />
+ <field name="Preempt Y" dword="15" bits="31:0" type="uint" />
+ <field name="Preempt Z" dword="16" bits="31:0" type="uint" />
+ <field name="Walker ID" dword="17" bits="3:0" type="uint" />
+ <field name="Over dispatch TG count" dword="17" bits="23:8" type="uint" />
+ <field name="Interface Descriptor" dword="18" bits="255:0" type="INTERFACE_DESCRIPTOR_DATA" />
+ <field name="Post Sync" dword="26" bits="159:0" type="POSTSYNC_DATA" />
+ <group count="8" dword="31" size="32">
+ <field name="Inline Data" dword="0" bits="31:0" type="uint" />
+ </group>
+ </struct>
+ <struct name="SAMPLER_STATE" length="4">
+ <field name="Anisotropic Algorithm" dword="0" bits="0:0" type="uint">
+ <value name="LEGACY" value="0" />
+ <value name="EWA Approximation" value="1" />
+ </field>
+ <field name="Texture LOD Bias" dword="0" bits="13:1" type="s4.8" />
+ <field name="Min Mode Filter" dword="0" bits="16:14" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="ANISOTROPIC_FAST" value="3" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mag Mode Filter" dword="0" bits="19:17" type="uint" prefix="MAPFILTER">
+ <value name="NEAREST" value="0" />
+ <value name="LINEAR" value="1" />
+ <value name="ANISOTROPIC" value="2" />
+ <value name="ANISOTROPIC_FAST" value="3" />
+ <value name="MONO" value="6" />
+ </field>
+ <field name="Mip Mode Filter" dword="0" bits="21:20" type="uint" prefix="MIPFILTER">
+ <value name="NONE" value="0" />
+ <value name="NEAREST" value="1" />
+ <value name="LINEAR" value="3" />
+ </field>
+ <field name="Coarse LOD Quality Mode" dword="0" bits="26:22" type="uint" />
+ <field name="LOD PreClamp Mode" dword="0" bits="28:27" type="uint" prefix="CLAMP_MODE">
+ <value name="NONE" value="0" />
+ <value name="OGL" value="2" />
+ </field>
+ <field name="Texture Border Color Mode" dword="0" bits="29:29" type="uint">
+ <value name="DX10/OGL" value="0" />
+ <value name="DX9" value="1" />
+ </field>
+ <field name="CPS LOD Compensation Enable" dword="0" bits="30:30" type="bool" />
+ <field name="Sampler Disable" dword="0" bits="31:31" type="bool" />
+ <field name="Cube Surface Control Mode" dword="1" bits="0:0" type="uint">
+ <value name="PROGRAMMED" value="0" />
+ <value name="OVERRIDE" value="1" />
+ </field>
+ <field name="Shadow Function" dword="1" bits="3:1" type="uint" prefix="PREFILTEROP">
+ <value name="ALWAYS" value="0" />
+ <value name="NEVER" value="1" />
+ <value name="LESS" value="2" />
+ <value name="EQUAL" value="3" />
+ <value name="LEQUAL" value="4" />
+ <value name="GREATER" value="5" />
+ <value name="NOTEQUAL" value="6" />
+ <value name="GEQUAL" value="7" />
+ </field>
+ <field name="ChromaKey Mode" dword="1" bits="4:4" type="uint">
+ <value name="KEYFILTER_KILL_ON_ANY_MATCH" value="0" />
+ <value name="KEYFILTER_REPLACE_BLACK" value="1" />
+ </field>
+ <field name="ChromaKey Index" dword="1" bits="6:5" type="uint" />
+ <field name="ChromaKey Enable" dword="1" bits="7:7" type="bool" />
+ <field name="Max LOD" dword="1" bits="19:8" type="u4.8" />
+ <field name="Min LOD" dword="1" bits="31:20" type="u4.8" />
+ <field name="LOD Clamp Magnification Mode" dword="2" bits="0:0" type="uint">
+ <value name="MIPNONE" value="0" />
+ <value name="MIPFILTER" value="1" />
+ </field>
+ <field name="SRGB DECODE" dword="2" bits="1:1" type="uint">
+ <value name="DECODE_EXT" value="0" />
+ <value name="SKIP_DECODE_EXT" value="1" />
+ </field>
+ <field name="Return Filter Weight for Null Texels" dword="2" bits="2:2" type="uint" />
+ <field name="Return Filter Weight for Border Texels" dword="2" bits="3:3" type="uint" />
+ <field name="Force gather4 Behavior" dword="2" bits="5:5" type="bool" />
+ <field name="Border Color Pointer" dword="2" bits="31:6" type="offset" />
+ <field name="TCZ Address Control Mode" dword="3" bits="2:0" type="Texture Coordinate Mode" />
+ <field name="TCY Address Control Mode" dword="3" bits="5:3" type="Texture Coordinate Mode" />
+ <field name="TCX Address Control Mode" dword="3" bits="8:6" type="Texture Coordinate Mode" />
+ <field name="Reduction Type Enable" dword="3" bits="9:9" type="bool" />
+ <field name="Non-normalized Coordinate Enable" dword="3" bits="10:10" type="bool" />
+ <field name="Trilinear Filter Quality" dword="3" bits="12:11" type="uint">
+ <value name="FULL" value="0" />
+ <value name="HIGH" value="1" />
+ <value name="MED" value="2" />
+ <value name="LOW" value="3" />
+ </field>
+ <field name="R Address Min Filter Rounding Enable" dword="3" bits="13:13" type="bool" />
+ <field name="R Address Mag Filter Rounding Enable" dword="3" bits="14:14" type="bool" />
+ <field name="V Address Min Filter Rounding Enable" dword="3" bits="15:15" type="bool" />
+ <field name="V Address Mag Filter Rounding Enable" dword="3" bits="16:16" type="bool" />
+ <field name="U Address Min Filter Rounding Enable" dword="3" bits="17:17" type="bool" />
+ <field name="U Address Mag Filter Rounding Enable" dword="3" bits="18:18" type="bool" />
+ <field name="Maximum Anisotropy" dword="3" bits="21:19" type="uint">
+ <value name="RATIO 2:1" value="0" />
+ <value name="RATIO 4:1" value="1" />
+ <value name="RATIO 6:1" value="2" />
+ <value name="RATIO 8:1" value="3" />
+ <value name="RATIO 10:1" value="4" />
+ <value name="RATIO 12:1" value="5" />
+ <value name="RATIO 14:1" value="6" />
+ <value name="RATIO 16:1" value="7" />
+ </field>
+ <field name="Reduction Type" dword="3" bits="23:22" type="uint">
+ <value name="STD_FILTER" value="0" />
+ <value name="COMPARISON" value="1" />
+ <value name="MINIMUM" value="2" />
+ <value name="MAXIMUM" value="3" />
+ </field>
+ <field name="Allow Low Quality LOD Calculation" dword="3" bits="24:24" type="bool" />
+ <field name="Low Quality Filter" dword="3" bits="26:26" type="bool" />
+ </struct>
+ <instruction name="3DSTATE_BTD" bias="2" length="6" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="4" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="6" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Dispatch Timeout Counter" dword="1" bits="2:0" type="uint">
+ <value name="64 clocks" value="0" />
+ <value name="128 clocks" value="1" />
+ <value name="192 clocks" value="2" />
+ <value name="256 clocks" value="3" />
+ <value name="512 clocks" value="4" />
+ <value name="1024 clocks" value="5" />
+ <value name="2048 clocks" value="6" />
+ <value name="4096 clocks" value="7" />
+ </field>
+ <field name="Controls the maximum number of outstanding Ray Queries per SS" dword="1" bits="8:7" type="uint" prefix="RAYS_QUERIES_OUTSTANDING">
+ <value name="128" value="0" />
+ <value name="256" value="1" />
+ <value name="512" value="2" />
+ <value name="1024" value="3" />
+ </field>
+ <field name="RT Mem Structures 64b Mode Enable" dword="1" bits="30:30" type="bool" />
+ <field name="BTD Mid thread preemption" dword="1" bits="31:31" type="bool" />
+ <field name="Per DSS Memory Backed Buffer Size" dword="2" bits="2:0" type="uint" default="6">
+ <value name="2KB" value="0" />
+ <value name="4KB" value="1" />
+ <value name="8KB" value="2" />
+ <value name="16KB" value="3" />
+ <value name="32KB" value="4" />
+ <value name="64KB" value="5" />
+ <value name="128KB" value="6" />
+ </field>
+ <field name="Memory Backed Buffer Base Pointer" dword="2" bits="63:10" type="address" />
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_COARSE_PIXEL" bias="2" length="2" engine="render">
+ <field name="DWord Length" dword="0" bits="15:0" type="uint" default="0" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="137" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="CPSizeX" dword="1" bits="1:0" type="STATE_CPS_SIZE" />
+ <field name="CPSizeY" dword="1" bits="3:2" type="STATE_CPS_SIZE" />
+ <field name="CPSizeCombiner1Opcode" dword="1" bits="6:4" type="STATE_CPS_COMBINER_OPCODE" />
+ <field name="CPSizeCombiner0Opcode" dword="1" bits="9:7" type="STATE_CPS_COMBINER_OPCODE" />
+ <field name="Disable CPS Pointers" dword="1" bits="31:31" type="bool" />
+ </instruction>
+ <instruction name="3DSTATE_DS" bias="2" length="11" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="9" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="29" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Registers Per Thread" dword="3" bits="5:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="14:14" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="bool" />
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ <field name="Patch URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Patch URB Entry Read Length" dword="6" bits="17:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="24:20" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Cache Disable" dword="7" bits="1:1" type="bool" />
+ <field name="Compute W Coordinate Enable" dword="7" bits="2:2" type="bool" />
+ <field name="Dispatch Mode" dword="7" bits="4:3" type="uint" prefix="DISPATCH_MODE">
+ <value name="SIMD8_SINGLE_PATCH" value="1" />
+ <value name="SIMD8_SINGLE_OR_DUAL_PATCH" value="2" />
+ </field>
+ <field name="Primitive ID Not Required" dword="7" bits="9:9" type="bool" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="7" bits="30:21" type="uint" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="8" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="8" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="8" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="8" bits="26:21" type="uint" />
+ <field name="QUAD_PATCH Kernel Start Pointer" dword="9" bits="63:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="8" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="17" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Expected Vertex Count" dword="3" bits="5:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="Normal" value="0" />
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="uint">
+ <value name="Dmask" value="0" />
+ </field>
+ <field name="Single Program Flow" dword="3" bits="31:31" type="bool" />
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="3:0" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Include Vertex Handles" dword="6" bits="10:10" type="bool" />
+ <field name="Vertex URB Entry Read Length" dword="6" bits="16:11" type="uint" />
+ <field name="Output Topology" dword="6" bits="22:17" type="3D_Prim_Topo_Type" />
+ <field name="Output Vertex Size" dword="6" bits="28:23" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data [5:4]" dword="6" bits="30:29" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Discard Adjacency" dword="7" bits="1:1" type="bool" />
+ <field name="Reorder Mode" dword="7" bits="2:2" type="uint">
+ <value name="LEADING" value="0" />
+ <value name="TRAILING" value="1" />
+ </field>
+ <field name="Hint" dword="7" bits="3:3" type="bool" />
+ <field name="Include Primitive ID" dword="7" bits="4:4" type="bool" />
+ <field name="Invocations Increment Value" dword="7" bits="9:5" type="uint" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Default Stream Id" dword="7" bits="14:13" type="uint" />
+ <field name="Instance Control" dword="7" bits="19:15" type="uint" />
+ <field name="Control Data Header Size" dword="7" bits="23:20" type="uint" />
+ <field name="Registers Per Thread" dword="7" bits="31:26" type="uint" />
+ <field name="Maximum Number of Threads" dword="8" bits="8:0" type="uint" />
+ <field name="Static Output Vertex Count" dword="8" bits="26:16" type="uint" />
+ <field name="Static Output" dword="8" bits="30:30" type="bool" />
+ <field name="Control Data Format" dword="8" bits="31:31" type="uint">
+ <value name="CUT" value="0" />
+ <value name="SID" value="1" />
+ </field>
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="9" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="9" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="9" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="9" bits="26:21" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_HS" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="27" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Patch Count Threshold" dword="1" bits="3:0" type="uint" />
+ <field name="Registers Per Thread" dword="1" bits="9:4" type="uint" />
+ <field name="Software Exception Enable" dword="1" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="1" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="1" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="1" bits="17:17" type="uint">
+ <value name="Normal" value="0" />
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="1" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="1" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Instance Count" dword="2" bits="4:0" type="uint" />
+ <field name="Maximum Number of Threads" dword="2" bits="16:8" type="uint" />
+ <field name="Statistics Enable" dword="2" bits="29:29" type="bool" />
+ <field name="Enable" dword="2" bits="31:31" type="bool" />
+ <field name="Kernel Start Pointer" dword="3" bits="63:6" type="offset" />
+ <field name="Scratch Space Buffer" dword="5" bits="31:10" type="uint" />
+ <field name="Include Primitive ID" dword="7" bits="0:0" type="bool" />
+ <field name="Vertex URB Entry Read Offset" dword="7" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="7" bits="16:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="7" bits="23:19" type="uint" />
+ <field name="Include Vertex Handles" dword="7" bits="24:24" type="bool" />
+ <field name="Accesses UAV" dword="7" bits="25:25" type="bool" />
+ <field name="Vector Mask Enable" dword="7" bits="26:26" type="uint">
+ <value name="Dmask" value="0" />
+ </field>
+ <field name="Single Program Flow" dword="7" bits="27:27" type="bool" />
+ <field name="Dispatch GRF Start Register For URB Data [5]" dword="7" bits="28:28" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_MESH_SHADER" bias="2" length="8" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="6" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="122" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Local X Maximum" dword="3" bits="9:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="10:10" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="3" bits="18:18" type="uint" />
+ <field name="Denorm Mode" dword="3" bits="19:19" type="uint">
+ <value name="Ftz" value="0" />
+ <value name="SetByKernel" value="1" />
+ </field>
+ <field name="Registers Per Thread" dword="3" bits="25:20" type="uint" />
+ <field name="Number of Threads in GPGPU Thread Group" dword="4" bits="9:0" type="uint" />
+ <field name="Shared Local Memory Size" dword="4" bits="20:16" type="uint" />
+ <field name="Rounding Mode" dword="4" bits="23:22" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Preferred SLM Allocation Size" dword="4" bits="27:24" type="PREF_SLM_ALLOCATION_SIZE" />
+ <field name="Number of Barriers" dword="4" bits="30:28" type="uint" />
+ <field name="Indirect Data Length" dword="5" bits="16:0" type="uint" />
+ <field name="L3 Prefetch Disable" dword="5" bits="17:17" type="bool" />
+ <field name="Emit Local ID X" dword="5" bits="18:18" type="bool" />
+ <field name="Emit Inline Parameter" dword="5" bits="19:19" type="bool" />
+ <field name="Systolic Mode Enable" dword="5" bits="20:20" type="bool" />
+ <field name="Accesses UAV" dword="5" bits="21:21" type="bool" />
+ <field name="XP0 Required" dword="5" bits="22:22" type="uint" />
+ <field name="Message SIMD" dword="5" bits="29:28" type="uint">
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="SIMD Size" dword="5" bits="31:30" type="uint">
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="Execution Mask" dword="6" bits="31:0" type="uint" />
+ <field name="Maximum Primitive Count" dword="7" bits="9:0" type="uint" />
+ <field name="Per-Primitive Data Pitch" dword="7" bits="16:12" type="uint" />
+ <field name="Per-Vertex Data Pitch" dword="7" bits="24:20" type="uint" />
+ <field name="Index Format" dword="7" bits="27:25" type="uint" prefix="INDEX">
+ <value name="U888X" value="0" />
+ <value name="U101010X" value="1" />
+ <value name="U8" value="4" />
+ <value name="U16" value="5" />
+ <value name="U32" value="3" />
+ </field>
+ <field name="Output Topology" dword="7" bits="29:28" type="uint" prefix="OUTPUT">
+ <value name="POINT" value="0" />
+ <value name="LINE" value="1" />
+ <value name="TRI" value="2" />
+ </field>
+ <field name="Per-Primitive Data Present" dword="7" bits="31:31" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="10" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="32" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel 0 Enable" dword="1" bits="0:0" type="bool" />
+ <field name="Kernel[0] : SIMD Width" dword="1" bits="1:1" type="uint" prefix="PS">
+ <value name="SIMD16" value="0" />
+ <value name="SIMD32" value="1" />
+ </field>
+ <field name="Kernel Start Pointer 0" dword="1" bits="63:6" type="offset" />
+ <field name="Registers Per Thread" dword="3" bits="5:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Rounding Mode" dword="3" bits="15:14" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="Normal" value="0" />
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Single Precision Denormal Mode" dword="3" bits="26:26" type="uint">
+ <value name="Flushed to Zero" value="0" />
+ <value name="Retained" value="1" />
+ </field>
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="uint">
+ <value name="Dmask" value="0" />
+ <value name="Vmask" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="3" bits="31:31" type="uint">
+ <value name="Multiple" value="0" />
+ <value name="Single" value="1" />
+ </field>
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ <field name="Position XY Offset Select" dword="6" bits="4:3" type="uint">
+ <value name="POSOFFSET_NONE" value="0" />
+ <value name="POSOFFSET_CENTROID" value="2" />
+ <value name="POSOFFSET_SAMPLE" value="3" />
+ </field>
+ <field name="Render Target Resolve Type" dword="6" bits="7:6" type="uint">
+ <value name="RESOLVE_DISABLED" value="0" />
+ </field>
+ <field name="Render Target Fast Clear Enable" dword="6" bits="8:8" type="bool" />
+ <field name="Overlapping Subspans Enable" dword="6" bits="9:9" type="bool" />
+ <field name="3D Scoreboard Address Size select" dword="6" bits="10:10" type="uint">
+ <value name="2x2" value="0" />
+ <value name="4x2" value="1" />
+ </field>
+ <field name="Clear/Resolve BTI for Render Target" dword="6" bits="19:12" type="uint" />
+ <field name="Pixel Scoreboard Disable" dword="6" bits="21:21" type="bool" />
+ <field name="Maximum Number of Threads Per PSD" dword="6" bits="31:23" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 1" dword="7" bits="15:8" type="uint" />
+ <field name="Dispatch GRF Start Register For Constant/Setup Data 0" dword="7" bits="23:16" type="uint" />
+ <field name="Kernel[0] : Poly Packing Policy" dword="7" bits="26:24" type="uint">
+ <value name="POLY_PACK4_DYNAMIC" value="0" />
+ <value name="POLY_PACK8_DYNAMIC" value="1" />
+ <value name="POLY_PACK16_DYNAMIC" value="2" />
+ <value name="POLY_PACK16_FIXED" value="3" />
+ <value name="POLY_PACK8_FIXED" value="4" />
+ </field>
+ <field name="Kernel[0] : Maximum Polys per Thread" dword="7" bits="29:27" type="uint" />
+ <field name="Kernel 1 Selection Priority" dword="7" bits="31:31" type="uint">
+ <value name="PRI_SIMD" value="0" />
+ <value name="PRI_POLY" value="1" />
+ </field>
+ <field name="Kernel 1 Enable" dword="8" bits="0:0" type="bool" />
+ <field name="Kernel[1] : SIMD Width" dword="8" bits="1:1" type="uint" prefix="PS">
+ <value name="SIMD16" value="0" />
+ <value name="SIMD32" value="1" />
+ </field>
+ <field name="Kernel Start Pointer 1" dword="8" bits="63:6" type="offset" />
+ </instruction>
+ <instruction name="3DSTATE_TASK_SHADER" bias="2" length="7" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="5" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="125" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Local X Maximum" dword="3" bits="9:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="10:10" type="bool" />
+ <field name="Mask Stack Exception Enable" dword="3" bits="11:11" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Single Program Flow" dword="3" bits="18:18" type="uint" />
+ <field name="Denorm Mode" dword="3" bits="19:19" type="uint">
+ <value name="Ftz" value="0" />
+ <value name="SetByKernel" value="1" />
+ </field>
+ <field name="Registers Per Thread" dword="3" bits="25:20" type="uint" />
+ <field name="Number of Threads in GPGPU Thread Group" dword="4" bits="9:0" type="uint" />
+ <field name="Shared Local Memory Size" dword="4" bits="20:16" type="uint" />
+ <field name="Barrier Enable" dword="4" bits="21:21" type="bool" />
+ <field name="Rounding Mode" dword="4" bits="23:22" type="uint">
+ <value name="RTNE" value="0" />
+ <value name="RU" value="1" />
+ <value name="RD" value="2" />
+ <value name="RTZ" value="3" />
+ </field>
+ <field name="Preferred SLM Allocation Size" dword="4" bits="27:24" type="uint" />
+ <field name="Number of Barriers" dword="4" bits="30:28" type="uint" />
+ <field name="Indirect Data Length" dword="5" bits="16:0" type="uint" />
+ <field name="L3 Prefetch Disable" dword="5" bits="17:17" type="bool" />
+ <field name="Emit Local ID X" dword="5" bits="18:18" type="bool" />
+ <field name="Emit Inline Parameter" dword="5" bits="19:19" type="bool" />
+ <field name="Systolic Mode Enable" dword="5" bits="20:20" type="bool" />
+ <field name="Accesses UAV" dword="5" bits="21:21" type="bool" />
+ <field name="XP0 Required" dword="5" bits="22:22" type="uint" />
+ <field name="Message SIMD" dword="5" bits="29:28" type="uint">
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="SIMD Size" dword="5" bits="31:30" type="uint">
+ <value name="SIMD16" value="1" />
+ <value name="SIMD32" value="2" />
+ </field>
+ <field name="Execution Mask" dword="6" bits="31:0" type="uint" />
+ </instruction>
+ <instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="7" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="16" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="0" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="3" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Kernel Start Pointer" dword="1" bits="63:6" type="offset" />
+ <field name="Registers Per Thread" dword="3" bits="5:0" type="uint" />
+ <field name="Software Exception Enable" dword="3" bits="7:7" type="bool" />
+ <field name="Accesses UAV" dword="3" bits="12:12" type="bool" />
+ <field name="Illegal Opcode Exception Enable" dword="3" bits="13:13" type="bool" />
+ <field name="Floating Point Mode" dword="3" bits="16:16" type="uint">
+ <value name="IEEE-754" value="0" />
+ <value name="Alternate" value="1" />
+ </field>
+ <field name="Thread Dispatch Priority" dword="3" bits="17:17" type="uint">
+ <value name="Normal" value="0" />
+ <value name="High" value="1" />
+ </field>
+ <field name="Binding Table Entry Count" dword="3" bits="25:18" type="uint" />
+ <field name="Sampler Count" dword="3" bits="29:27" type="uint">
+ <value name="No Samplers" value="0" />
+ <value name="1-4 Samplers" value="1" />
+ <value name="5-8 Samplers" value="2" />
+ <value name="9-12 Samplers" value="3" />
+ <value name="13-16 Samplers" value="4" />
+ </field>
+ <field name="Vector Mask Enable" dword="3" bits="30:30" type="uint">
+ <value name="Dmask" value="0" />
+ </field>
+ <field name="Scratch Space Buffer" dword="4" bits="31:10" type="uint" />
+ <field name="Vertex URB Entry Read Offset" dword="6" bits="9:4" type="uint" />
+ <field name="Vertex URB Entry Read Length" dword="6" bits="16:11" type="uint" />
+ <field name="Dispatch GRF Start Register For URB Data" dword="6" bits="24:20" type="uint" />
+ <field name="Enable" dword="7" bits="0:0" type="bool" />
+ <field name="Vertex Cache Disable" dword="7" bits="1:1" type="bool" />
+ <field name="Single Instance Dispatch Enable" dword="7" bits="9:9" type="bool" />
+ <field name="Statistics Enable" dword="7" bits="10:10" type="bool" />
+ <field name="Maximum Number of Threads" dword="7" bits="31:22" type="uint" />
+ <field name="User Clip Distance Cull Test Enable Bitmask" dword="8" bits="7:0" type="uint" />
+ <field name="User Clip Distance Clip Test Enable Bitmask" dword="8" bits="15:8" type="uint" />
+ <field name="Vertex URB Entry Output Length" dword="8" bits="20:16" type="uint" />
+ <field name="Vertex URB Entry Output Read Offset" dword="8" bits="26:21" type="uint" />
+ </instruction>
+ <instruction name="STATE_COMPUTE_MODE" bias="2" length="3" engine="render|compute">
+ <field name="DWord Length" dword="0" bits="7:0" type="uint" default="1" />
+ <field name="3D Command Sub Opcode" dword="0" bits="23:16" type="uint" default="5" />
+ <field name="3D Command Opcode" dword="0" bits="26:24" type="uint" default="1" />
+ <field name="Command SubType" dword="0" bits="28:27" type="uint" default="0" />
+ <field name="Command Type" dword="0" bits="31:29" type="uint" default="3" />
+ <field name="Z Pass Async Compute Thread Limit" dword="1" bits="2:0" type="uint" prefix="ZPACTL">
+ <value name="Max 60" value="0" />
+ <value name="Max 64" value="1" />
+ <value name="Max 56" value="2" />
+ <value name="Max 48" value="3" />
+ <value name="Max 40" value="4" />
+ <value name="Max 32" value="5" />
+ </field>
+ <field name="Z Async Throttle settings" dword="1" bits="4:3" type="uint" prefix="ZATS">
+ <value name="Defer to Async Compute Thread Limit" value="0" />
+ <value name="Max 32" value="1" />
+ <value name="Max 40" value="2" />
+ <value name="Max 48" value="3" />
+ </field>
+ <field name="Async Compute Thread Limit" dword="1" bits="9:7" type="uint" prefix="ACTL">
+ <value name="Disabled" value="0" />
+ <value name="Max 2" value="1" />
+ <value name="Max 8" value="2" />
+ <value name="Max 16" value="3" />
+ <value name="Max 24" value="4" />
+ <value name="Max 32" value="5" />
+ <value name="Max 40" value="6" />
+ <value name="Max 48" value="7" />
+ </field>
+ <field name="Enable Variable Register Size Allocation" dword="1" bits="10:10" type="bool" />
+ <field name="EU Thread Scheduling Mode Override" dword="1" bits="14:13" type="uint" />
+ <field name="Large GRF Mode" dword="1" bits="15:15" type="bool" />
+ <field name="Z Pass Async Compute Thread Limit Mask" dword="1" bits="18:16" type="uint" />
+ <field name="Mask1" dword="1" bits="31:16" type="uint" />
+ <field name="Z Async Throttle settings Mask" dword="1" bits="20:19" type="uint" />
+ <field name="Async Compute Thread Limit Mask" dword="1" bits="25:23" type="uint" />
+ <field name="Enable Variable Register Size Allocation Mask" dword="1" bits="26:26" type="uint" />
+ <field name="EU Thread Scheduling Mode Override Mask" dword="1" bits="30:29" type="uint" />
+ <field name="Large GRF Mode Mask" dword="1" bits="31:31" type="bool" />
+ <field name="Midthread Preemption Delay Timer" dword="2" bits="2:0" type="uint">
+ <value name="MTP_TIMER_VAL_0" value="0" />
+ <value name="MTP_TIMER_VAL_50" value="1" />
+ <value name="MTP_TIMER_VAL_100" value="2" />
+ <value name="MTP_TIMER_VAL_150" value="3" />
+ </field>
+ <field name="Midthread Preemption Overdispatch Thread group count" dword="2" bits="4:3" type="uint">
+ <value name="OD_TG_M2" value="0" />
+ <value name="OD_TG_M4" value="1" />
+ <value name="OD_TG_M8" value="2" />
+ <value name="OD_TG_M16" value="3" />
+ </field>
+ <field name="Midthread Preemption Overdispatch Test mode" dword="2" bits="5:5" type="uint">
+ <value name="Regular" value="0" />
+ <value name="Test mode" value="1" />
+ </field>
+ <field name="UAV Coherency Mode" dword="2" bits="6:6" type="uint">
+ <value name="Drain DataPort Mode" value="0" />
+ <value name="Flush Dataport L1" value="1" />
+ </field>
+ <field name="Midthread Preemption Delay Timer Mask" dword="2" bits="18:16" type="uint" />
+ <field name="Mask2" dword="2" bits="31:16" type="uint" />
+ <field name="Midthread Preemption Overdispatch Thread group count Mask" dword="2" bits="20:19" type="uint" />
+ <field name="Midthread Preemption Overdispatch Test mode Mask" dword="2" bits="21:21" type="uint" />
+ <field name="UAV Coherency Mode Mask" dword="2" bits="22:22" type="uint" />
+ <field name="Memory allocation for Scratch and Midthread Preemption buffers Mask" dword="2" bits="27:27" type="uint" />
+ </instruction>
+ <register name="CHICKEN_RASTER_2" length="1" num="0x6208">
+ <field name="Disable Any MCTR response fix" dword="0" bits="5:5" type="bool" />
+ <field name="Disable Any MCTR response fix Mask" dword="0" bits="21:21" type="bool" />
+ </register>
+</genxml>
diff --git a/lib/genxml/xe3p.xml b/lib/genxml/xe3p.xml
new file mode 100644
index 000000000..cfd51bb30
--- /dev/null
+++ b/lib/genxml/xe3p.xml
@@ -0,0 +1,4 @@
+<?xml version='1.0' encoding='utf-8'?>
+<genxml name="XE3P" gen="35">
+ <import name="xe3.xml" />
+</genxml>
diff --git a/lib/meson.build b/lib/meson.build
index 5c4829345..021bca3b0 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -290,13 +290,76 @@ foreach f: iga64_assembly_sources
)
endforeach
+# genxml pack-header generation
+genxml_gen_deps = files(
+ 'genxml/gen_pack_header.py',
+ 'genxml/gen_decode_header.py',
+ 'genxml/intel_genxml.py',
+ 'genxml/util.py',
+ 'genxml/gen40.xml',
+ 'genxml/gen45.xml',
+ 'genxml/gen50.xml',
+ 'genxml/gen60.xml',
+ 'genxml/gen70.xml',
+ 'genxml/gen75.xml',
+ 'genxml/gen80.xml',
+ 'genxml/gen90.xml',
+ 'genxml/gen110.xml',
+ 'genxml/gen120.xml',
+ 'genxml/gen125.xml',
+ 'genxml/xe2.xml',
+ 'genxml/xe3.xml',
+ 'genxml/xe3p.xml',
+)
+
+# Ordered list of all gens, oldest first. Each gen's baselines are all
+# the gens that precede it. Items unchanged since their introduction are
+# omitted from the generated header; the comment points directly to the
+# oldest gen that defined that layout so that a developer can find the
+# real struct in one grep.
+genxml_gens = ['gen90', 'gen110', 'gen120', 'gen125', 'xe2', 'xe3', 'xe3p']
+
+genxml_pack_headers = []
+genxml_decode_headers = []
+genxml_prev_gens = []
+foreach gen : genxml_gens
+ cmd = [python3, '@INPUT@', '--engines=render,blitter,compute']
+ decode_cmd = [python3, '@INPUT@', '--engines=render,blitter,compute']
+ foreach baseline : genxml_prev_gens
+ cmd += ['--baseline',
+ meson.current_source_dir() / 'genxml' / baseline + '.xml']
+ decode_cmd += ['--baseline',
+ meson.current_source_dir() / 'genxml' / baseline + '.xml']
+ endforeach
+ genxml_prev_gens += gen
+ genxml_pack_headers += custom_target(gen + '_pack.h',
+ input : ['genxml/gen_pack_header.py', 'genxml/' + gen + '.xml'],
+ output : gen + '_pack.h',
+ command : cmd,
+ capture : true,
+ depend_files : genxml_gen_deps,
+ )
+ genxml_decode_headers += custom_target(gen + '_decode.h',
+ input : ['genxml/gen_decode_header.py', 'genxml/' + gen + '.xml'],
+ output : gen + '_decode.h',
+ command : decode_cmd,
+ capture : true,
+ depend_files : genxml_gen_deps,
+ )
+endforeach
+
+genxml_dep = declare_dependency(
+ sources : genxml_pack_headers + genxml_decode_headers,
+ include_directories : include_directories('.'),
+)
+
lib_intermediates = []
foreach f: lib_sources
name = f.underscorify()
lib = static_library('igt-' + name,
[ f, lib_version ],
include_directories: inc,
- dependencies : lib_deps,
+ dependencies : lib_deps + [genxml_dep],
c_args : [
'-DIGT_DATADIR="@0@"'.format(join_paths(prefix, datadir)),
'-DIGT_SRCDIR="@0@"'.format(srcdir),
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread* [PATCH 2/3] lib/rendercopy: Convert rendercopy_gen9 to use genxml pack headers
2026-04-07 13:26 [PATCH 0/3] lib/genxml: Introduce Mesa genxml infrastructure to IGT Jan Maslak
2026-04-07 13:26 ` [PATCH 1/3] lib/genxml: Import genxml definitions and generators from Mesa Jan Maslak
@ 2026-04-07 13:26 ` Jan Maslak
2026-04-07 15:00 ` Ville Syrjälä
2026-04-07 13:26 ` [PATCH 3/3] lib: Add genxml annotated batch buffer decode Jan Maslak
` (4 subsequent siblings)
6 siblings, 1 reply; 14+ messages in thread
From: Jan Maslak @ 2026-04-07 13:26 UTC (permalink / raw)
To: igt-dev; +Cc: zbigniew.kempczynski, Jan Maslak
Replace hand-written struct assignments and intel_bb_out() calls in
rendercopy_gen9.c with igt_genxml_emit and igt_genxml_pack_state calls
backed by the genxml pack headers. Command emission is now driven directly
from the hardware XML definitions rather than manually maintained structs.
Signed-off-by: Jan Maslak <jan.maslak@intel.com>
---
lib/rendercopy_gen9.c | 1117 ++++++++++++++++++++---------------------
1 file changed, 551 insertions(+), 566 deletions(-)
diff --git a/lib/rendercopy_gen9.c b/lib/rendercopy_gen9.c
index d44988010..eecb20a32 100644
--- a/lib/rendercopy_gen9.c
+++ b/lib/rendercopy_gen9.c
@@ -21,11 +21,17 @@
#include "intel_io.h"
#include "intel_mocs.h"
#include "rendercopy.h"
-#include "gen9_render.h"
+#include "surfaceformat.h"
#include "xe2_render.h"
#include "intel_reg.h"
#include "igt_aux.h"
#include "intel_chipset.h"
+#include "genxml/igt_genxml.h"
+#include "gen90_pack.h"
+#include "gen110_pack.h"
+#include "gen120_pack.h"
+#include "gen125_pack.h"
+#include "xe2_pack.h"
#define VERTEX_SIZE (3*4)
@@ -187,13 +193,60 @@ static uint32_t dg2_compression_format(const struct intel_buf *buf)
}
}
-/* Mostly copy+paste from gen6, except height, width, pitch moved */
+/*
+ * IGT_RSS_COMMON - set RENDER_SURFACE_STATE fields shared across all gens.
+ * Works via C preprocessor structural typing: all gen-specific structs
+ * have identical field names for these members.
+ */
+#define IGT_RSS_COMMON(ss, buf, mocs_val, rd, wd) \
+ do { \
+ ss.SurfaceType = GFX9_SURFTYPE_2D; \
+ ss.SurfaceFormat = gen4_surface_format((buf)->bpp, \
+ (buf)->depth); \
+ ss.SurfaceVerticalAlignment = GFX9_VALIGN_4; \
+ ss.MOCS = (mocs_val); \
+ ss.Width = intel_buf_width(buf) - 1; \
+ ss.Height = intel_buf_height(buf) - 1; \
+ ss.SurfacePitch = (buf)->surface[0].stride - 1; \
+ ss.ShaderChannelSelectRed = (int)GFX9_SCS_RED; \
+ ss.ShaderChannelSelectGreen = (int)GFX9_SCS_GREEN; \
+ ss.ShaderChannelSelectBlue = (int)GFX9_SCS_BLUE; \
+ ss.ShaderChannelSelectAlpha = (int)GFX9_SCS_ALPHA; \
+ ss.SurfaceBaseAddress = \
+ igt_address_of((buf), (buf)->surface[0].offset, \
+ (rd), (wd)); \
+ } while (0)
+
+/*
+ * IGT_RSS_TILING - set TileMode from buf->tiling. The numeric encoding is
+ * identical across gen9/gen12/gen12.5/xe2, but the enum names differ per gen.
+ * We use xe2 (GFX20) names as they best reflect the modern tile semantics;
+ * (int) casts suppress -Wenum-conversion when used with older-gen structs.
+ */
+#define IGT_RSS_TILING(ss, buf) \
+ do { \
+ switch ((buf)->tiling) { \
+ case I915_TILING_NONE: \
+ ss.TileMode = (int)GFX20_LINEAR; \
+ break; \
+ case I915_TILING_X: \
+ ss.TileMode = (int)GFX20_XMAJOR; \
+ break; \
+ case I915_TILING_64: \
+ ss.TileMode = (int)GFX20_TILE64; \
+ ss.MipTailStartLOD = 0xf; \
+ break; \
+ default: \
+ ss.TileMode = (int)GFX20_TILE4; \
+ } \
+ } while (0)
+
static uint32_t
-gen9_bind_buf(struct intel_bb *ibb, const struct intel_buf *buf, int is_dst,
- bool fast_clear) {
- struct gen9_surface_state *ss;
+gen9_bind_buf(struct intel_bb *ibb, const struct intel_buf *buf, int is_dst) {
uint32_t write_domain, read_domain;
- uint64_t address;
+ unsigned int gen = intel_gen(ibb->devid);
+ uint32_t mocs;
+ void *ss_ptr;
igt_assert_lte(buf->surface[0].stride, 256*1024);
igt_assert_lte(intel_buf_width(buf), 16384);
@@ -206,120 +259,106 @@ gen9_bind_buf(struct intel_bb *ibb, const struct intel_buf *buf, int is_dst,
read_domain = I915_GEM_DOMAIN_SAMPLER;
}
- ss = intel_bb_ptr_align(ibb, 64);
-
- ss->ss0.surface_type = SURFACE_2D;
- ss->ss0.surface_format = gen4_surface_format(buf->bpp, buf->depth);
- ss->ss0.vertical_alignment = 1; /* align 4 */
- ss->ss0.horizontal_alignment = 1; /* align 4 or HALIGN_32 on display ver >= 13*/
+ /* MOCS encoding: genxml has a single 7-bit MOCS field (bits 30:24).
+ * The old struct had mocs_index:6 at bits 30:25 and pxp:1 at bit 24.
+ * Reproduce the same bit layout. */
+ mocs = (buf->mocs_index << 1) | (intel_buf_pxp(buf) ? 1 : 0);
- ss->ss1.mocs_index = buf->mocs_index;
+ ss_ptr = intel_bb_ptr_align(ibb, 64);
- if (HAS_4TILE(ibb->devid)) {
- ss->ss5.mip_tail_start_lod = 0;
- } else {
- ss->ss0.render_cache_read_write = 1;
- ss->ss5.mip_tail_start_lod = 1; /* needed with trmode */
- }
-
- switch (buf->tiling) {
- case I915_TILING_NONE:
- ss->ss0.tiled_mode = 0;
- break;
- case I915_TILING_X:
- ss->ss0.tiled_mode = 2;
- break;
- case I915_TILING_64:
- ss->ss0.tiled_mode = 1;
- ss->ss5.mip_tail_start_lod = 0xf;
- break;
- default:
- ss->ss0.tiled_mode = 3;
- if (buf->tiling == I915_TILING_Yf)
- ss->ss5.trmode = 1;
- else if (buf->tiling == I915_TILING_Ys)
- ss->ss5.trmode = 2;
- break;
- }
+ if (gen >= 20) {
+ /* ── Xe2 (LNL+) ── */
+ igt_genxml_pack_state(ibb, GFX20_RENDER_SURFACE_STATE, ss_ptr, ss) {
+ IGT_RSS_COMMON(ss, buf, mocs, read_domain, write_domain);
+ IGT_RSS_TILING(ss, buf);
+ ss.SurfaceHorizontalAlignment = GFX20_HALIGN_32;
- if (intel_buf_pxp(buf))
- ss->ss1.pxp = 1;
-
- address = intel_bb_offset_reloc_with_delta(ibb, buf->handle,
- read_domain, write_domain,
- buf->surface[0].offset,
- intel_bb_offset(ibb) + 4 * 8,
- buf->addr.offset);
- ss->ss8.base_addr = (address + buf->surface[0].offset);
- ss->ss9.base_addr_hi = (address + buf->surface[0].offset) >> 32;
-
- ss->ss2.height = intel_buf_height(buf) - 1;
- ss->ss2.width = intel_buf_width(buf) - 1;
- ss->ss3.pitch = buf->surface[0].stride - 1;
-
- ss->ss7.skl.shader_chanel_select_r = 4;
- ss->ss7.skl.shader_chanel_select_g = 5;
- ss->ss7.skl.shader_chanel_select_b = 6;
- ss->ss7.skl.shader_chanel_select_a = 7;
-
- if (buf->compression == I915_COMPRESSION_MEDIA)
- ss->ss7.tgl.media_compression = 1;
- else if (buf->compression == I915_COMPRESSION_RENDER) {
- if (intel_gen(ibb->devid) >= 20)
- ss->ss6.aux_mode = 0x0; /* AUX_NONE, unified compression */
- else
- ss->ss6.aux_mode = 0x5; /* AUX_CCS_E */
-
- if (intel_gen(ibb->devid) < 12 && buf->ccs[0].stride) {
- ss->ss6.aux_pitch = (buf->ccs[0].stride / 128) - 1;
-
- address = intel_bb_offset_reloc_with_delta(ibb, buf->handle,
- read_domain, write_domain,
- (buf->cc.offset ? (1 << 10) : 0)
- | buf->ccs[0].offset,
- intel_bb_offset(ibb) + 4 * 10,
- buf->addr.offset);
- ss->ss10.aux_base_addr = (address + buf->ccs[0].offset) >> 12;
- ss->ss11.aux_base_addr_hi = (address + buf->ccs[0].offset) >> 32;
+ if (buf->compression == I915_COMPRESSION_RENDER) {
+ ss.AuxiliarySurfaceMode = GFX20_AUX_NONE;
+ ss.CompressionFormat = lnl_compression_format(buf);
+ }
}
- if (buf->cc.offset) {
- igt_assert(buf->compression == I915_COMPRESSION_RENDER);
-
- ss->ss10.clearvalue_addr_enable = 1;
-
- address = intel_bb_offset_reloc_with_delta(ibb, buf->handle,
- read_domain, write_domain,
- buf->cc.offset,
- intel_bb_offset(ibb) + 4 * 12,
- buf->addr.offset);
-
- /*
- * If this assert doesn't hold below clear address will be
- * written wrong.
- */
-
- igt_assert(__builtin_ctzl(address + buf->cc.offset) >= 6 &&
- (__builtin_clzl(address + buf->cc.offset) >= 16));
-
- ss->ss12.dg2.clear_address = (address + buf->cc.offset) >> 6;
- ss->ss13.clear_address_hi = (address + buf->cc.offset) >> 32;
+ } else if (HAS_4TILE(ibb->devid)) {
+ /* ── Gen12.5 / DG2 ── */
+ igt_genxml_pack_state(ibb, GFX125_RENDER_SURFACE_STATE, ss_ptr, ss) {
+ IGT_RSS_COMMON(ss, buf, mocs, read_domain, write_domain);
+ IGT_RSS_TILING(ss, buf);
+ ss.SurfaceHorizontalAlignment = GFX125_HALIGN_32;
+
+ if (buf->compression == I915_COMPRESSION_MEDIA) {
+ ss.MemoryCompressionEnable = true;
+ ss.MemoryCompressionMode = GFX125_MEDIACOMPRESSION;
+ } else if (buf->compression == I915_COMPRESSION_RENDER) {
+ ss.AuxiliarySurfaceMode = GFX125_AUX_CCS_E;
+ ss.CompressionFormat = dg2_compression_format(buf);
+
+ if (buf->cc.offset) {
+ ss.ClearValueAddressEnable = true;
+ ss.ClearValueAddress =
+ igt_address_of(buf, buf->cc.offset,
+ read_domain, write_domain);
+ }
+ }
}
- if (HAS_4TILE(ibb->devid)) {
- ss->ss7.dg2.memory_compression_type = 0;
- ss->ss7.dg2.memory_compression_enable = 0;
- ss->ss7.dg2.disable_support_for_multi_gpu_partial_writes = 1;
- ss->ss7.dg2.disable_support_for_multi_gpu_atomics = 1;
+ } else if (gen >= 12) {
+ /* ── Gen12 / TGL ── */
+ igt_genxml_pack_state(ibb, GFX12_RENDER_SURFACE_STATE, ss_ptr, ss) {
+ IGT_RSS_COMMON(ss, buf, mocs, read_domain, write_domain);
+ IGT_RSS_TILING(ss, buf);
+ ss.SurfaceHorizontalAlignment = GFX12_HALIGN_4;
+ ss.RenderCacheReadWriteMode = GFX12_READWRITECACHE;
+ ss.MipTailStartLOD = 1;
+
+ if (buf->compression == I915_COMPRESSION_MEDIA) {
+ ss.MemoryCompressionEnable = true;
+ ss.MemoryCompressionMode = GFX12_HORIZONTAL;
+ } else if (buf->compression == I915_COMPRESSION_RENDER) {
+ ss.AuxiliarySurfaceMode = GFX12_AUX_CCS_E;
+
+ if (buf->cc.offset) {
+ ss.ClearValueAddressEnable = true;
+ ss.ClearValueAddress =
+ igt_address_of(buf, buf->cc.offset,
+ read_domain, write_domain);
+ }
+ }
+ }
- if (intel_gen(ibb->devid) >= 20)
- ss->ss12.lnl.compression_format = lnl_compression_format(buf);
- else
- ss->ss12.dg2.compression_format = dg2_compression_format(buf);
+ } else {
+ /* ── Gen9 / Gen11 ── */
+ igt_genxml_pack_state(ibb, GFX9_RENDER_SURFACE_STATE, ss_ptr, ss) {
+ IGT_RSS_COMMON(ss, buf, mocs, read_domain, write_domain);
+ IGT_RSS_TILING(ss, buf);
+ ss.SurfaceHorizontalAlignment = GFX9_HALIGN_4;
+ ss.RenderCacheReadWriteMode = GFX9_READWRITECACHE;
+ ss.MipTailStartLOD = 1;
+
+ if (buf->tiling == I915_TILING_Yf)
+ ss.TiledResourceMode = GFX9_TILEYF;
+ else if (buf->tiling == I915_TILING_Ys)
+ ss.TiledResourceMode = GFX9_TILEYS;
+
+ if (buf->compression == I915_COMPRESSION_MEDIA) {
+ ss.MemoryCompressionEnable = true;
+ ss.MemoryCompressionMode = GFX9_HORIZONTAL;
+ } else if (buf->compression == I915_COMPRESSION_RENDER) {
+ ss.AuxiliarySurfaceMode = GFX9_AUX_CCS_E;
+
+ if (buf->ccs[0].stride) {
+ ss.AuxiliarySurfacePitch =
+ (buf->ccs[0].stride / 128) - 1;
+ ss.AuxiliarySurfaceBaseAddress =
+ igt_address_of(buf, buf->ccs[0].offset,
+ read_domain, write_domain);
+ }
+ }
}
}
- return intel_bb_ptr_add_return_prev_offset(ibb, sizeof(*ss));
+ return intel_bb_ptr_add_return_prev_offset(ibb,
+ GFX9_RENDER_SURFACE_STATE_length * 4);
}
static uint32_t
@@ -328,15 +367,14 @@ gen8_bind_surfaces(struct intel_bb *ibb,
const struct intel_buf *dst)
{
uint32_t *binding_table, binding_table_offset;
- bool fast_clear = !src;
binding_table = intel_bb_ptr_align(ibb, 32);
binding_table_offset = intel_bb_ptr_add_return_prev_offset(ibb, 32);
- binding_table[0] = gen9_bind_buf(ibb, dst, 1, fast_clear);
+ binding_table[0] = gen9_bind_buf(ibb, dst, 1);
if (src != NULL)
- binding_table[1] = gen9_bind_buf(ibb, src, 0, false);
+ binding_table[1] = gen9_bind_buf(ibb, src, 0);
return binding_table_offset;
}
@@ -344,21 +382,18 @@ gen8_bind_surfaces(struct intel_bb *ibb,
/* Mostly copy+paste from gen6, except wrap modes moved */
static uint32_t
gen8_create_sampler(struct intel_bb *ibb) {
- struct gen8_sampler_state *ss;
-
- ss = intel_bb_ptr_align(ibb, 64);
-
- ss->ss0.min_filter = GEN4_MAPFILTER_NEAREST;
- ss->ss0.mag_filter = GEN4_MAPFILTER_NEAREST;
- ss->ss3.r_wrap_mode = GEN4_TEXCOORDMODE_CLAMP;
- ss->ss3.s_wrap_mode = GEN4_TEXCOORDMODE_CLAMP;
- ss->ss3.t_wrap_mode = GEN4_TEXCOORDMODE_CLAMP;
-
- /* I've experimented with non-normalized coordinates and using the LD
- * sampler fetch, but couldn't make it work. */
- ss->ss3.non_normalized_coord = 0;
+ void *ptr = intel_bb_ptr_align(ibb, 64);
+
+ igt_genxml_pack_state(ibb, GFX9_SAMPLER_STATE, ptr, ss) {
+ ss.MinModeFilter = GFX9_MAPFILTER_NEAREST;
+ ss.MagModeFilter = GFX9_MAPFILTER_NEAREST;
+ ss.TCZAddressControlMode = GFX9_TCM_CLAMP;
+ ss.TCYAddressControlMode = GFX9_TCM_CLAMP;
+ ss.TCXAddressControlMode = GFX9_TCM_CLAMP;
+ }
- return intel_bb_ptr_add_return_prev_offset(ibb, sizeof(*ss));
+ return intel_bb_ptr_add_return_prev_offset(ibb,
+ GFX9_SAMPLER_STATE_length * 4);
}
static uint32_t
@@ -531,50 +566,62 @@ gen7_fill_vertex_buffer_data(struct intel_bb *ibb,
*/
static void
gen6_emit_vertex_elements(struct intel_bb *ibb) {
+ void *ve_ptr;
+
/*
* The VUE layout
* dword 0-3: pad (0, 0, 0. 0)
* dword 4-7: position (x, y, 0, 1.0),
* dword 8-11: texture coordinate 0 (u0, v0, 0, 1.0)
*/
- intel_bb_out(ibb, GEN4_3DSTATE_VERTEX_ELEMENTS | (3 * 2 + 1 - 2));
+ {
+ struct GFX9_3DSTATE_VERTEX_ELEMENTS ves = { GFX9_3DSTATE_VERTEX_ELEMENTS_header };
+ ves.DWordLength = 3 * GFX9_VERTEX_ELEMENT_STATE_length - 1;
+ GFX9_3DSTATE_VERTEX_ELEMENTS_pack(ibb, intel_bb_ptr(ibb), &ves);
+ intel_bb_ptr_add(ibb, 4);
+ }
- /* Element state 0. These are 4 dwords of 0 required for the VUE format.
- * We don't really know or care what they do.
- */
- intel_bb_out(ibb, 0 << GEN6_VE0_VERTEX_BUFFER_INDEX_SHIFT | GEN6_VE0_VALID |
- SURFACEFORMAT_R32G32B32A32_FLOAT << VE0_FORMAT_SHIFT |
- 0 << VE0_OFFSET_SHIFT); /* we specify 0, but it's really does not exist */
- intel_bb_out(ibb, GEN4_VFCOMPONENT_STORE_0 << VE1_VFCOMPONENT_0_SHIFT |
- GEN4_VFCOMPONENT_STORE_0 << VE1_VFCOMPONENT_1_SHIFT |
- GEN4_VFCOMPONENT_STORE_0 << VE1_VFCOMPONENT_2_SHIFT |
- GEN4_VFCOMPONENT_STORE_0 << VE1_VFCOMPONENT_3_SHIFT);
-
- /* Element state 1 - Our "destination" vertices. These are passed down
- * through the pipeline, and eventually make it to the pixel shader as
- * the offsets in the destination surface. It's packed as the 16
- * signed/scaled because of gen6 rendercopy. I see no particular reason
- * for doing this though.
- */
- intel_bb_out(ibb, 0 << GEN6_VE0_VERTEX_BUFFER_INDEX_SHIFT | GEN6_VE0_VALID |
- SURFACEFORMAT_R16G16_SSCALED << VE0_FORMAT_SHIFT |
- 0 << VE0_OFFSET_SHIFT); /* offsets vb in bytes */
- intel_bb_out(ibb, GEN4_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_0_SHIFT |
- GEN4_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_1_SHIFT |
- GEN4_VFCOMPONENT_STORE_0 << VE1_VFCOMPONENT_2_SHIFT |
- GEN4_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_3_SHIFT);
-
- /* Element state 2. Last but not least we store the U,V components as
- * normalized floats. These will be used in the pixel shader to sample
- * from the source buffer.
- */
- intel_bb_out(ibb, 0 << GEN6_VE0_VERTEX_BUFFER_INDEX_SHIFT | GEN6_VE0_VALID |
- SURFACEFORMAT_R32G32_FLOAT << VE0_FORMAT_SHIFT |
- 4 << VE0_OFFSET_SHIFT); /* offset vb in bytes */
- intel_bb_out(ibb, GEN4_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_0_SHIFT |
- GEN4_VFCOMPONENT_STORE_SRC << VE1_VFCOMPONENT_1_SHIFT |
- GEN4_VFCOMPONENT_STORE_0 << VE1_VFCOMPONENT_2_SHIFT |
- GEN4_VFCOMPONENT_STORE_1_FLT << VE1_VFCOMPONENT_3_SHIFT);
+ /* Element state 0. These are 4 dwords of 0 required for the VUE format. */
+ ve_ptr = intel_bb_ptr(ibb);
+ igt_genxml_pack_state(ibb, GFX9_VERTEX_ELEMENT_STATE, ve_ptr, ve0) {
+ ve0.VertexBufferIndex = 0;
+ ve0.Valid = true;
+ ve0.SourceElementFormat = SURFACEFORMAT_R32G32B32A32_FLOAT;
+ ve0.SourceElementOffset = 0;
+ ve0.Component0Control = GFX9_VFCOMP_STORE_0;
+ ve0.Component1Control = GFX9_VFCOMP_STORE_0;
+ ve0.Component2Control = GFX9_VFCOMP_STORE_0;
+ ve0.Component3Control = GFX9_VFCOMP_STORE_0;
+ }
+ intel_bb_ptr_add(ibb, GFX9_VERTEX_ELEMENT_STATE_length * 4);
+
+ /* Element state 1 - destination vertices (16-bit signed/scaled). */
+ ve_ptr = intel_bb_ptr(ibb);
+ igt_genxml_pack_state(ibb, GFX9_VERTEX_ELEMENT_STATE, ve_ptr, ve1) {
+ ve1.VertexBufferIndex = 0;
+ ve1.Valid = true;
+ ve1.SourceElementFormat = SURFACEFORMAT_R16G16_SSCALED;
+ ve1.SourceElementOffset = 0;
+ ve1.Component0Control = GFX9_VFCOMP_STORE_SRC;
+ ve1.Component1Control = GFX9_VFCOMP_STORE_SRC;
+ ve1.Component2Control = GFX9_VFCOMP_STORE_0;
+ ve1.Component3Control = GFX9_VFCOMP_STORE_1_FP;
+ }
+ intel_bb_ptr_add(ibb, GFX9_VERTEX_ELEMENT_STATE_length * 4);
+
+ /* Element state 2 - texture coordinates (normalized floats). */
+ ve_ptr = intel_bb_ptr(ibb);
+ igt_genxml_pack_state(ibb, GFX9_VERTEX_ELEMENT_STATE, ve_ptr, ve2) {
+ ve2.VertexBufferIndex = 0;
+ ve2.Valid = true;
+ ve2.SourceElementFormat = SURFACEFORMAT_R32G32_FLOAT;
+ ve2.SourceElementOffset = 4;
+ ve2.Component0Control = GFX9_VFCOMP_STORE_SRC;
+ ve2.Component1Control = GFX9_VFCOMP_STORE_SRC;
+ ve2.Component2Control = GFX9_VFCOMP_STORE_0;
+ ve2.Component3Control = GFX9_VFCOMP_STORE_1_FP;
+ }
+ intel_bb_ptr_add(ibb, GFX9_VERTEX_ELEMENT_STATE_length * 4);
}
/*
@@ -585,161 +632,185 @@ gen6_emit_vertex_elements(struct intel_bb *ibb) {
*/
static void gen7_emit_vertex_buffer(struct intel_bb *ibb, uint32_t offset)
{
- intel_bb_out(ibb, GEN4_3DSTATE_VERTEX_BUFFERS | (1 + (4 * 1) - 2));
- intel_bb_out(ibb, 0 << GEN6_VB0_BUFFER_INDEX_SHIFT | /* VB 0th index */
- GEN8_VB0_BUFFER_ADDR_MOD_EN | /* Address Modify Enable */
- VERTEX_SIZE << VB0_BUFFER_PITCH_SHIFT);
- intel_bb_emit_reloc(ibb, ibb->handle,
- I915_GEM_DOMAIN_VERTEX, 0,
- offset, ibb->batch_offset);
- intel_bb_out(ibb, 3 * VERTEX_SIZE);
+ void *vb_ptr;
+
+ /* Variable-length: 1 header dword + VERTEX_BUFFER_STATE element */
+ {
+ struct GFX9_3DSTATE_VERTEX_BUFFERS vbs = { GFX9_3DSTATE_VERTEX_BUFFERS_header };
+ /* Default DWordLength=3 is correct for 1 element (1 + 4 - 2 = 3) */
+ GFX9_3DSTATE_VERTEX_BUFFERS_pack(ibb, intel_bb_ptr(ibb), &vbs);
+ intel_bb_ptr_add(ibb, 4);
+ }
+
+ vb_ptr = intel_bb_ptr(ibb);
+ igt_genxml_pack_state(ibb, GFX9_VERTEX_BUFFER_STATE, vb_ptr, vb) {
+ vb.VertexBufferIndex = 0;
+ vb.AddressModifyEnable = true;
+ vb.MOCS = intel_get_wb_mocs_index(ibb->fd);
+ vb.BufferPitch = VERTEX_SIZE;
+ vb.BufferStartingAddress = (struct igt_address){
+ .offset = ibb->batch_offset + offset,
+ .handle = ibb->handle,
+ .read_domains = I915_GEM_DOMAIN_VERTEX,
+ .write_domain = 0,
+ .presumed_offset = ibb->batch_offset,
+ };
+ vb.BufferSize = 3 * VERTEX_SIZE;
+ }
+ intel_bb_ptr_add(ibb, GFX9_VERTEX_BUFFER_STATE_length * 4);
}
static uint32_t
gen6_create_cc_state(struct intel_bb *ibb)
{
- struct gen6_color_calc_state *cc_state;
+ void *ptr = intel_bb_ptr_align(ibb, 64);
- cc_state = intel_bb_ptr_align(ibb, 64);
+ igt_genxml_pack_state(ibb, GFX9_COLOR_CALC_STATE, ptr, cc_state) { }
- return intel_bb_ptr_add_return_prev_offset(ibb, sizeof(*cc_state));
+ return intel_bb_ptr_add_return_prev_offset(ibb,
+ GFX9_COLOR_CALC_STATE_length * 4);
}
static uint32_t
gen8_create_blend_state(struct intel_bb *ibb)
{
- struct gen8_blend_state *blend;
- int i;
-
- blend = intel_bb_ptr_align(ibb, 64);
-
- for (i = 0; i < 16; i++) {
- blend->bs[i].dest_blend_factor = GEN6_BLENDFACTOR_ZERO;
- blend->bs[i].source_blend_factor = GEN6_BLENDFACTOR_ONE;
- blend->bs[i].color_blend_func = GEN6_BLENDFUNCTION_ADD;
- blend->bs[i].pre_blend_color_clamp = 1;
- blend->bs[i].color_buffer_blend = 0;
+ void *ptr = intel_bb_ptr_align(ibb, 64);
+
+ /* Blend state header (1 dword) - all defaults (zeros) */
+ igt_genxml_pack_state(ibb, GFX9_BLEND_STATE, ptr, bs) { }
+ ptr += GFX9_BLEND_STATE_length * 4;
+
+ /* 16 per-RT blend state entries */
+ for (int i = 0; i < 16; i++) {
+ igt_genxml_pack_state(ibb, GFX9_BLEND_STATE_ENTRY, ptr, entry) {
+ entry.DestinationBlendFactor = GFX9_BLENDFACTOR_ZERO;
+ entry.SourceBlendFactor = GFX9_BLENDFACTOR_ONE;
+ entry.ColorBlendFunction = GFX9_BLENDFUNCTION_ADD;
+ entry.PreBlendColorClampEnable = true;
+ }
+ ptr += GFX9_BLEND_STATE_ENTRY_length * 4;
}
- return intel_bb_ptr_add_return_prev_offset(ibb, sizeof(*blend));
+ return intel_bb_ptr_add_return_prev_offset(ibb,
+ (GFX9_BLEND_STATE_length + 16 * GFX9_BLEND_STATE_ENTRY_length) * 4);
}
static uint32_t
gen6_create_cc_viewport(struct intel_bb *ibb)
{
- struct gen4_cc_viewport *vp;
-
- vp = intel_bb_ptr_align(ibb, 32);
+ void *ptr = intel_bb_ptr_align(ibb, 32);
- /* XXX I don't understand this */
- vp->min_depth = -1.e35;
- vp->max_depth = 1.e35;
+ igt_genxml_pack_state(ibb, GFX9_CC_VIEWPORT, ptr, vp) {
+ vp.MinimumDepth = -1.e35;
+ vp.MaximumDepth = 1.e35;
+ }
- return intel_bb_ptr_add_return_prev_offset(ibb, sizeof(*vp));
+ return intel_bb_ptr_add_return_prev_offset(ibb,
+ GFX9_CC_VIEWPORT_length * 4);
}
static uint32_t
gen7_create_sf_clip_viewport(struct intel_bb *ibb) {
- /* XXX these are likely not needed */
- struct gen7_sf_clip_viewport *scv_state;
-
- scv_state = intel_bb_ptr_align(ibb, 64);
+ void *ptr = intel_bb_ptr_align(ibb, 64);
- scv_state->guardband.xmin = 0;
- scv_state->guardband.xmax = 1.0f;
- scv_state->guardband.ymin = 0;
- scv_state->guardband.ymax = 1.0f;
+ igt_genxml_pack_state(ibb, GFX9_SF_CLIP_VIEWPORT, ptr, scv) {
+ scv.XMinClipGuardband = 0;
+ scv.XMaxClipGuardband = 1.0f;
+ scv.YMinClipGuardband = 0;
+ scv.YMaxClipGuardband = 1.0f;
+ }
- return intel_bb_ptr_add_return_prev_offset(ibb, sizeof(*scv_state));
+ return intel_bb_ptr_add_return_prev_offset(ibb,
+ GFX9_SF_CLIP_VIEWPORT_length * 4);
}
static uint32_t
gen6_create_scissor_rect(struct intel_bb *ibb)
{
- struct gen6_scissor_rect *scissor;
+ void *ptr = intel_bb_ptr_align(ibb, 64);
- scissor = intel_bb_ptr_align(ibb, 64);
+ igt_genxml_pack_state(ibb, GFX9_SCISSOR_RECT, ptr, sr) { }
- return intel_bb_ptr_add_return_prev_offset(ibb, sizeof(*scissor));
+ return intel_bb_ptr_add_return_prev_offset(ibb,
+ GFX9_SCISSOR_RECT_length * 4);
}
static void
gen8_emit_sip(struct intel_bb *ibb) {
- intel_bb_out(ibb, GEN4_STATE_SIP | (3 - 2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
+ igt_genxml_emit(ibb, GFX9_STATE_SIP, sip) {
+ /* SystemInstructionPointer left as zero */
+ }
}
static void
gen7_emit_push_constants(struct intel_bb *ibb) {
- intel_bb_out(ibb, GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_VS);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, GEN8_3DSTATE_PUSH_CONSTANT_ALLOC_HS);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, GEN8_3DSTATE_PUSH_CONSTANT_ALLOC_DS);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, GEN8_3DSTATE_PUSH_CONSTANT_ALLOC_GS);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, GEN7_3DSTATE_PUSH_CONSTANT_ALLOC_PS);
- intel_bb_out(ibb, 0);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_PUSH_CONSTANT_ALLOC_VS, vs) { }
+ igt_genxml_emit(ibb, GFX9_3DSTATE_PUSH_CONSTANT_ALLOC_HS, hs) { }
+ igt_genxml_emit(ibb, GFX9_3DSTATE_PUSH_CONSTANT_ALLOC_DS, ds) { }
+ igt_genxml_emit(ibb, GFX9_3DSTATE_PUSH_CONSTANT_ALLOC_GS, gs) { }
+ igt_genxml_emit(ibb, GFX9_3DSTATE_PUSH_CONSTANT_ALLOC_PS, ps) { }
}
+/*
+ * IGT_SBA_COMMON - shared STATE_BASE_ADDRESS fields across gen9/gen11/gen125.
+ * All three variants have identical field names for the fields we set.
+ */
+#define IGT_SBA_COMMON(sba, mocs_val, surf, dyn, inst) \
+ do { \
+ sba.GeneralStateBaseAddressModifyEnable = true; \
+ sba.GeneralStateMOCS = (mocs_val); \
+ sba.StatelessDataPortAccessMOCS = (mocs_val); \
+ sba.SurfaceStateBaseAddressModifyEnable = true; \
+ sba.SurfaceStateMOCS = (mocs_val); \
+ sba.SurfaceStateBaseAddress = (surf); \
+ sba.DynamicStateBaseAddressModifyEnable = true; \
+ sba.DynamicStateMOCS = (mocs_val); \
+ sba.DynamicStateBaseAddress = (dyn); \
+ sba.IndirectObjectMOCS = (mocs_val); \
+ sba.InstructionBaseAddressModifyEnable = true; \
+ sba.InstructionMOCS = (mocs_val); \
+ sba.InstructionBaseAddress = (inst); \
+ sba.GeneralStateBufferSizeModifyEnable = true; \
+ sba.GeneralStateBufferSize = 0xfffff; \
+ sba.DynamicStateBufferSizeModifyEnable = true; \
+ sba.DynamicStateBufferSize = 1; \
+ sba.IndirectObjectBufferSizeModifyEnable = true; \
+ sba.IndirectObjectBufferSize = 0xfffff; \
+ sba.InstructionBuffersizeModifyEnable = true; \
+ sba.InstructionBufferSize = 1; \
+ sba.BindlessSurfaceStateMOCS = (mocs_val); \
+ } while (0)
+
static void
gen9_emit_state_base_address(struct intel_bb *ibb) {
+ uint8_t mocs = intel_get_wb_mocs_index(ibb->fd);
- /* WaBindlessSurfaceStateModifyEnable:skl,bxt */
- /* The length has to be one less if we dont modify
- bindless state */
- if (intel_gen(intel_get_drm_devid(ibb->fd)) >= 20)
- intel_bb_out(ibb, GEN4_STATE_BASE_ADDRESS | 20);
- else
- intel_bb_out(ibb, GEN4_STATE_BASE_ADDRESS | (19 - 1 - 2));
-
- /* general */
- intel_bb_out(ibb, 0 | BASE_ADDRESS_MODIFY);
- intel_bb_out(ibb, 0);
-
- /* stateless data port */
- intel_bb_out(ibb, 0 | BASE_ADDRESS_MODIFY);
-
- /* surface */
- intel_bb_emit_reloc(ibb, ibb->handle,
- I915_GEM_DOMAIN_SAMPLER, 0,
- BASE_ADDRESS_MODIFY, ibb->batch_offset);
-
- /* dynamic */
- intel_bb_emit_reloc(ibb, ibb->handle,
- I915_GEM_DOMAIN_RENDER | I915_GEM_DOMAIN_INSTRUCTION, 0,
- BASE_ADDRESS_MODIFY, ibb->batch_offset);
-
- /* indirect */
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- /* instruction */
- intel_bb_emit_reloc(ibb, ibb->handle,
- I915_GEM_DOMAIN_INSTRUCTION, 0,
- BASE_ADDRESS_MODIFY, ibb->batch_offset);
-
- /* general state buffer size */
- intel_bb_out(ibb, 0xfffff000 | 1);
- /* dynamic state buffer size */
- intel_bb_out(ibb, 1 << 12 | 1);
- /* indirect object buffer size */
- intel_bb_out(ibb, 0xfffff000 | 1);
- /* intruction buffer size */
- intel_bb_out(ibb, 1 << 12 | 1);
-
- /* Bindless surface state base address */
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
+ struct igt_address surf_base =
+ igt_address_of_batch(ibb, I915_GEM_DOMAIN_SAMPLER, 0);
+ struct igt_address dyn_base =
+ igt_address_of_batch(ibb,
+ I915_GEM_DOMAIN_RENDER | I915_GEM_DOMAIN_INSTRUCTION, 0);
+ struct igt_address inst_base =
+ igt_address_of_batch(ibb, I915_GEM_DOMAIN_INSTRUCTION, 0);
- if (intel_gen(intel_get_drm_devid(ibb->fd)) >= 20) {
- /* Bindless sampler */
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
+ if (HAS_4TILE(ibb->devid) || intel_gen(ibb->devid) > 12) {
+ igt_genxml_emit(ibb, GFX125_STATE_BASE_ADDRESS, sba) {
+ IGT_SBA_COMMON(sba, mocs, surf_base, dyn_base, inst_base);
+ /* WBP (0) and UC (1) are marked dont_use in the XML for this field. */
+ sba.L1CacheControl = GFX125_L1CC_WB;
+ sba.BindlessSamplerStateBaseAddressModifyEnable = true;
+ sba.BindlessSamplerStateMOCS = mocs;
+ }
+ } else if (intel_gen(ibb->devid) >= 11) {
+ igt_genxml_emit(ibb, GFX11_STATE_BASE_ADDRESS, sba) {
+ IGT_SBA_COMMON(sba, mocs, surf_base, dyn_base, inst_base);
+ sba.BindlessSamplerStateBaseAddressModifyEnable = true;
+ sba.BindlessSamplerStateMOCS = mocs;
+ }
+ } else {
+ igt_genxml_emit(ibb, GFX9_STATE_BASE_ADDRESS, sba) {
+ IGT_SBA_COMMON(sba, mocs, surf_base, dyn_base, inst_base);
+ }
}
}
@@ -750,184 +821,119 @@ gen7_emit_urb(struct intel_bb *ibb) {
const int vs_size = 2;
const int vs_start = 4;
- intel_bb_out(ibb, GEN7_3DSTATE_URB_VS);
- intel_bb_out(ibb, vs_entries | ((vs_size - 1) << 16) | (vs_start << 25));
- intel_bb_out(ibb, GEN7_3DSTATE_URB_GS);
- intel_bb_out(ibb, vs_start << 25);
- intel_bb_out(ibb, GEN7_3DSTATE_URB_HS);
- intel_bb_out(ibb, vs_start << 25);
- intel_bb_out(ibb, GEN7_3DSTATE_URB_DS);
- intel_bb_out(ibb, vs_start << 25);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_URB_VS, urb) {
+ urb.VSNumberofURBEntries = vs_entries;
+ urb.VSURBEntryAllocationSize = vs_size - 1;
+ urb.VSURBStartingAddress = vs_start;
+ }
+ igt_genxml_emit(ibb, GFX9_3DSTATE_URB_GS, urb) {
+ urb.GSURBStartingAddress = vs_start;
+ }
+ igt_genxml_emit(ibb, GFX9_3DSTATE_URB_HS, urb) {
+ urb.HSURBStartingAddress = vs_start;
+ }
+ igt_genxml_emit(ibb, GFX9_3DSTATE_URB_DS, urb) {
+ urb.DSURBStartingAddress = vs_start;
+ }
}
static void
gen8_emit_cc(struct intel_bb *ibb) {
- intel_bb_out(ibb, GEN7_3DSTATE_BLEND_STATE_POINTERS);
- intel_bb_out(ibb, cc.blend_state | 1);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_BLEND_STATE_POINTERS, bsp) {
+ bsp.BlendStatePointer = cc.blend_state;
+ bsp.BlendStatePointerValid = true;
+ }
- intel_bb_out(ibb, GEN6_3DSTATE_CC_STATE_POINTERS);
- intel_bb_out(ibb, cc.cc_state | 1);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_CC_STATE_POINTERS, ccp) {
+ ccp.ColorCalcStatePointer = cc.cc_state;
+ ccp.ColorCalcStatePointerValid = true;
+ }
}
static void
gen8_emit_multisample(struct intel_bb *ibb) {
- intel_bb_out(ibb, GEN8_3DSTATE_MULTISAMPLE | 0);
- intel_bb_out(ibb, 0);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_MULTISAMPLE, ms) { }
- intel_bb_out(ibb, GEN6_3DSTATE_SAMPLE_MASK);
- intel_bb_out(ibb, 1);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_SAMPLE_MASK, sm) {
+ sm.SampleMask = 1;
+ }
}
static void
gen8_emit_vs(struct intel_bb *ibb) {
- intel_bb_out(ibb, GEN6_3DSTATE_CONSTANT_VS | (11-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN7_3DSTATE_BINDING_TABLE_POINTERS_VS);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN7_3DSTATE_SAMPLER_STATE_POINTERS_VS);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN6_3DSTATE_VS | (9-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_CONSTANT_VS, cvs) {
+ cvs.MOCS = intel_get_wb_mocs_index(ibb->fd);
+ }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_BINDING_TABLE_POINTERS_VS, bt) { }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_SAMPLER_STATE_POINTERS_VS, sp) { }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_VS, vs) { }
}
static void
gen8_emit_hs(struct intel_bb *ibb) {
- intel_bb_out(ibb, GEN7_3DSTATE_CONSTANT_HS | (11-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN7_3DSTATE_HS | (9-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN7_3DSTATE_BINDING_TABLE_POINTERS_HS);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN8_3DSTATE_SAMPLER_STATE_POINTERS_HS);
- intel_bb_out(ibb, 0);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_CONSTANT_HS, chs) {
+ chs.MOCS = intel_get_wb_mocs_index(ibb->fd);
+ }
+
+ if (intel_gen(ibb->devid) >= 20)
+ igt_genxml_emit(ibb, GFX20_3DSTATE_HS, hs) { }
+ else
+ igt_genxml_emit(ibb, GFX9_3DSTATE_HS, hs) { }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_BINDING_TABLE_POINTERS_HS, bt) { }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_SAMPLER_STATE_POINTERS_HS, sp) { }
}
static void
gen8_emit_gs(struct intel_bb *ibb) {
- intel_bb_out(ibb, GEN6_3DSTATE_CONSTANT_GS | (11-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN6_3DSTATE_GS | (10-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN7_3DSTATE_BINDING_TABLE_POINTERS_GS);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN7_3DSTATE_SAMPLER_STATE_POINTERS_GS);
- intel_bb_out(ibb, 0);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_CONSTANT_GS, cgs) {
+ cgs.MOCS = intel_get_wb_mocs_index(ibb->fd);
+ }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_GS, gs) { }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_BINDING_TABLE_POINTERS_GS, bt) { }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_SAMPLER_STATE_POINTERS_GS, sp) { }
}
static void
gen9_emit_ds(struct intel_bb *ibb) {
- intel_bb_out(ibb, GEN7_3DSTATE_CONSTANT_DS | (11-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN7_3DSTATE_DS | (11-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN7_3DSTATE_BINDING_TABLE_POINTERS_DS);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN8_3DSTATE_SAMPLER_STATE_POINTERS_DS);
- intel_bb_out(ibb, 0);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_CONSTANT_DS, cds) {
+ cds.MOCS = intel_get_wb_mocs_index(ibb->fd);
+ }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_DS, ds) { }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_BINDING_TABLE_POINTERS_DS, bt) { }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_SAMPLER_STATE_POINTERS_DS, sp) { }
}
static void
gen8_emit_wm_hz_op(struct intel_bb *ibb) {
if (intel_gen(intel_get_drm_devid(ibb->fd)) >= 20) {
- intel_bb_out(ibb, GEN8_3DSTATE_WM_HZ_OP | (6-2));
- intel_bb_out(ibb, 0);
+ igt_genxml_emit(ibb, GFX20_3DSTATE_WM_HZ_OP, hz) { }
} else {
- intel_bb_out(ibb, GEN8_3DSTATE_WM_HZ_OP | (5-2));
+ igt_genxml_emit(ibb, GFX9_3DSTATE_WM_HZ_OP, hz) { }
}
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
}
static void
gen8_emit_null_state(struct intel_bb *ibb) {
gen8_emit_wm_hz_op(ibb);
gen8_emit_hs(ibb);
- intel_bb_out(ibb, GEN7_3DSTATE_TE | (4-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
+
+ if (intel_gen(ibb->devid) >= 12)
+ igt_genxml_emit(ibb, GFX12_3DSTATE_TE, te) { }
+ else
+ igt_genxml_emit(ibb, GFX9_3DSTATE_TE, te) { }
+
gen8_emit_gs(ibb);
gen9_emit_ds(ibb);
gen8_emit_vs(ibb);
@@ -935,137 +941,109 @@ gen8_emit_null_state(struct intel_bb *ibb) {
static void
gen7_emit_clip(struct intel_bb *ibb) {
- intel_bb_out(ibb, GEN6_3DSTATE_CLIP | (4 - 2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0); /* pass-through */
- intel_bb_out(ibb, 0);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_CLIP, clip) {
+ /* All fields zero = pass-through */
+ }
}
static void
gen8_emit_sf(struct intel_bb *ibb)
{
- int i;
-
- intel_bb_out(ibb, GEN7_3DSTATE_SBE | (6 - 2));
- intel_bb_out(ibb, 1 << GEN7_SBE_NUM_OUTPUTS_SHIFT |
- GEN8_SBE_FORCE_URB_ENTRY_READ_LENGTH |
- GEN8_SBE_FORCE_URB_ENTRY_READ_OFFSET |
- 1 << GEN7_SBE_URB_ENTRY_READ_LENGTH_SHIFT |
- 1 << GEN8_SBE_URB_ENTRY_READ_OFFSET_SHIFT);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, GEN9_SBE_ACTIVE_COMPONENT_XYZW << 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN8_3DSTATE_SBE_SWIZ | (11 - 2));
- for (i = 0; i < 8; i++)
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN8_3DSTATE_RASTER | (5 - 2));
- intel_bb_out(ibb, GEN8_RASTER_FRONT_WINDING_CCW | GEN8_RASTER_CULL_NONE);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN6_3DSTATE_SF | (4 - 2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_SBE, sbe) {
+ sbe.NumberofSFOutputAttributes = 1;
+ sbe.ForceVertexURBEntryReadLength = true;
+ sbe.ForceVertexURBEntryReadOffset = true;
+ sbe.VertexURBEntryReadLength = 1;
+ sbe.VertexURBEntryReadOffset = 1;
+ sbe.AttributeActiveComponentFormat[0] = GFX9_ACTIVE_COMPONENT_XYZW;
+ }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_SBE_SWIZ, swiz) { }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_RASTER, raster) {
+ raster.FrontWinding = 1; /* CCW */
+ raster.CullMode = GFX9_CULLMODE_NONE;
+ }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_SF, sf) { }
}
static void
gen8_emit_ps(struct intel_bb *ibb, uint32_t kernel, bool fast_clear) {
const int max_threads = 63;
- intel_bb_out(ibb, GEN6_3DSTATE_WM | (2 - 2));
- intel_bb_out(ibb, /* XXX: I don't understand the BARYCENTRIC stuff, but it
- * appears we need it to put our setup data in the place we
- * expect (g6, see below) */
- GEN8_3DSTATE_PS_PERSPECTIVE_PIXEL_BARYCENTRIC);
-
- intel_bb_out(ibb, GEN6_3DSTATE_CONSTANT_PS | (11-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN7_3DSTATE_PS | (12-2));
- if (intel_gen(intel_get_drm_devid(ibb->fd)) >= 20)
- intel_bb_out(ibb, kernel | 1);
- else
- intel_bb_out(ibb, kernel);
- intel_bb_out(ibb, 0); /* kernel hi */
+ igt_genxml_emit(ibb, GFX9_3DSTATE_WM, wm) {
+ wm.BarycentricInterpolationMode = GFX9_BIM_PERSPECTIVE_PIXEL;
+ }
- if (fast_clear)
- intel_bb_out(ibb, 1 << GEN6_3DSTATE_WM_BINDING_TABLE_ENTRY_COUNT_SHIFT);
- else
- intel_bb_out(ibb, 1 << GEN6_3DSTATE_WM_SAMPLER_COUNT_SHIFT |
- 2 << GEN6_3DSTATE_WM_BINDING_TABLE_ENTRY_COUNT_SHIFT);
-
- intel_bb_out(ibb, 0); /* scratch space stuff */
- intel_bb_out(ibb, 0); /* scratch hi */
- intel_bb_out(ibb, (max_threads - 1) << GEN8_3DSTATE_PS_MAX_THREADS_SHIFT |
- GEN6_3DSTATE_WM_16_DISPATCH_ENABLE |
- (fast_clear ? GEN8_3DSTATE_FAST_CLEAR_ENABLE : 0));
- if (intel_gen(intel_get_drm_devid(ibb->fd)) >= 20)
- intel_bb_out(ibb, 6 << GEN6_3DSTATE_WM_DISPATCH_START_GRF_0_SHIFT |
- GENXE_KERNEL0_POLY_PACK16_FIXED << GENXE_KERNEL0_PACKING_POLICY);
- else
- intel_bb_out(ibb, 6 << GEN6_3DSTATE_WM_DISPATCH_START_GRF_0_SHIFT);
- intel_bb_out(ibb, 0); // kernel 1
- intel_bb_out(ibb, 0); /* kernel 1 hi */
- intel_bb_out(ibb, 0); // kernel 2
- intel_bb_out(ibb, 0); /* kernel 2 hi */
+ igt_genxml_emit(ibb, GFX9_3DSTATE_CONSTANT_PS, cps) {
+ cps.MOCS = intel_get_wb_mocs_index(ibb->fd);
+ }
- intel_bb_out(ibb, GEN8_3DSTATE_PS_BLEND | (2 - 2));
- intel_bb_out(ibb, GEN8_PS_BLEND_HAS_WRITEABLE_RT);
+ if (intel_gen(intel_get_drm_devid(ibb->fd)) >= 20) {
+ igt_genxml_emit(ibb, GFX20_3DSTATE_PS, ps) {
+ ps.KernelStartPointer0 = kernel;
+ ps.Kernel0Enable = true;
+ ps.BindingTableEntryCount = fast_clear ? 1 : 2;
+ ps.SamplerCount = fast_clear ? 0 : 1;
+ ps.Kernel0SIMDWidth = GFX20_PS_SIMD16;
+ ps.RenderTargetFastClearEnable = fast_clear;
+ ps.MaximumNumberofThreadsPerPSD = max_threads - 1;
+ ps.DispatchGRFStartRegisterForConstantSetupData0 = 6;
+ ps.Kernel0PolyPackingPolicy = GFX20_POLY_PACK16_FIXED;
+ }
+ } else {
+ igt_genxml_emit(ibb, GFX9_3DSTATE_PS, ps) {
+ ps.KernelStartPointer0 = kernel;
+ ps.BindingTableEntryCount = fast_clear ? 1 : 2;
+ ps.SamplerCount = fast_clear ? 0 : 1;
+ ps._16PixelDispatchEnable = true;
+ ps.RenderTargetFastClearEnable = fast_clear;
+ ps.MaximumNumberofThreadsPerPSD = max_threads - 1;
+ ps.DispatchGRFStartRegisterForConstantSetupData0 = 6;
+ }
+ }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_PS_BLEND, blend) {
+ blend.HasWriteableRT = true;
+ }
- intel_bb_out(ibb, GEN8_3DSTATE_PS_EXTRA | (2 - 2));
- intel_bb_out(ibb, GEN8_PSX_PIXEL_SHADER_VALID | GEN8_PSX_ATTRIBUTE_ENABLE);
+ if (intel_gen(intel_get_drm_devid(ibb->fd)) >= 20) {
+ igt_genxml_emit(ibb, GFX20_3DSTATE_PS_EXTRA, extra) {
+ extra.PixelShaderValid = true;
+ }
+ } else {
+ igt_genxml_emit(ibb, GFX9_3DSTATE_PS_EXTRA, extra) {
+ extra.PixelShaderValid = true;
+ extra.AttributeEnable = true;
+ }
+ }
}
static void
gen9_emit_depth(struct intel_bb *ibb)
{
- bool need_10dw = HAS_4TILE(ibb->devid);
-
- intel_bb_out(ibb, GEN8_3DSTATE_WM_DEPTH_STENCIL | (4 - 2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN7_3DSTATE_DEPTH_BUFFER | (need_10dw ? (10-2) : (8-2)));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- if (need_10dw) {
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
+ uint8_t mocs = intel_get_wb_mocs_index(ibb->fd);
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_WM_DEPTH_STENCIL, wds) { }
+
+ if (HAS_4TILE(ibb->devid)) {
+ igt_genxml_emit(ibb, GFX125_3DSTATE_DEPTH_BUFFER, db) {
+ db.MOCS = mocs;
+ }
+ } else {
+ igt_genxml_emit(ibb, GFX9_3DSTATE_DEPTH_BUFFER, db) {
+ db.MOCS = mocs;
+ }
}
- intel_bb_out(ibb, GEN8_3DSTATE_HIER_DEPTH_BUFFER | (5-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN8_3DSTATE_STENCIL_BUFFER | (5-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_HIER_DEPTH_BUFFER, hdb) {
+ hdb.MOCS = mocs;
+ }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_STENCIL_BUFFER, sb) {
+ sb.MOCS = mocs;
+ }
}
static void
@@ -1073,46 +1051,45 @@ gen7_emit_clear(struct intel_bb *ibb) {
if (intel_gen(intel_get_drm_devid(ibb->fd)) >= 20)
return;
- intel_bb_out(ibb, GEN7_3DSTATE_CLEAR_PARAMS | (3-2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 1); // clear valid
+ igt_genxml_emit(ibb, GFX9_3DSTATE_CLEAR_PARAMS, cp) {
+ cp.DepthClearValueValid = true;
+ }
}
static void
gen6_emit_drawing_rectangle(struct intel_bb *ibb, const struct intel_buf *dst)
{
- if (intel_gen(intel_get_drm_devid(ibb->fd)) >= 20)
- intel_bb_out(ibb, GENXE2_3DSTATE_DRAWING_RECTANGLE_FAST | (4 - 2));
- else
- intel_bb_out(ibb, GEN4_3DSTATE_DRAWING_RECTANGLE | (4 - 2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, (intel_buf_height(dst) - 1) << 16 | (intel_buf_width(dst) - 1));
- intel_bb_out(ibb, 0);
+ if (intel_gen(intel_get_drm_devid(ibb->fd)) >= 20) {
+ igt_genxml_emit(ibb, GFX20_3DSTATE_DRAWING_RECTANGLE_FAST, dr) {
+ dr.ClippedDrawingRectangleXMax = intel_buf_width(dst) - 1;
+ dr.ClippedDrawingRectangleYMax = intel_buf_height(dst) - 1;
+ }
+ } else {
+ igt_genxml_emit(ibb, GFX9_3DSTATE_DRAWING_RECTANGLE, dr) {
+ dr.ClippedDrawingRectangleXMax = intel_buf_width(dst) - 1;
+ dr.ClippedDrawingRectangleYMax = intel_buf_height(dst) - 1;
+ }
+ }
}
static void gen8_emit_vf_topology(struct intel_bb *ibb)
{
- intel_bb_out(ibb, GEN8_3DSTATE_VF_TOPOLOGY);
- intel_bb_out(ibb, _3DPRIM_RECTLIST);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_VF_TOPOLOGY, vft) {
+ vft.PrimitiveTopologyType = GFX9_3DPRIM_RECTLIST;
+ }
}
/* Vertex elements MUST be defined before this according to spec */
static void gen8_emit_primitive(struct intel_bb *ibb, uint32_t offset)
{
- intel_bb_out(ibb, GEN8_3DSTATE_VF | (2 - 2));
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN8_3DSTATE_VF_INSTANCING | (3 - 2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
-
- intel_bb_out(ibb, GEN4_3DPRIMITIVE | (7-2));
- intel_bb_out(ibb, 0); /* gen8+ ignore the topology type field */
- intel_bb_out(ibb, 3); /* vertex count */
- intel_bb_out(ibb, 0); /* We're specifying this instead with offset in GEN6_3DSTATE_VERTEX_BUFFERS */
- intel_bb_out(ibb, 1); /* single instance */
- intel_bb_out(ibb, 0); /* start instance location */
- intel_bb_out(ibb, 0); /* index buffer offset, ignored */
+ igt_genxml_emit(ibb, GFX9_3DSTATE_VF, vf) { }
+
+ igt_genxml_emit(ibb, GFX9_3DSTATE_VF_INSTANCING, vfi) { }
+
+ igt_genxml_emit(ibb, GFX9_3DPRIMITIVE, prim) {
+ prim.VertexCountPerInstance = 3;
+ prim.InstanceCount = 1;
+ }
}
#define PIPE_CONTROL_RENDER_TARGET_FLUSH (1 << 12)
@@ -1244,8 +1221,13 @@ void _gen9_render_op(struct intel_bb *ibb,
/* Start emitting the commands. The order roughly follows the mesa blorp
* order */
- intel_bb_out(ibb, G4X_PIPELINE_SELECT | PIPELINE_SELECT_3D |
- GEN9_PIPELINE_SELECTION_MASK);
+ igt_genxml_emit(ibb, GFX9_PIPELINE_SELECT, ps) {
+ ps.PipelineSelection = GFX9_3D;
+ /* MaskBits 15:8 is a write-enable mask for bits 5:4 (Force Media
+ * Awake and Media Sampler DOP Clock Gate Enable). Value 0x3
+ * enables writes to both bits so PipelineSelection takes effect. */
+ ps.MaskBits = 3;
+ }
gen12_emit_aux_pgtable_state(ibb, aux_pgtable_state, true);
@@ -1276,17 +1258,21 @@ void _gen9_render_op(struct intel_bb *ibb,
gen9_emit_state_base_address(ibb);
if (HAS_4TILE(ibb->devid) || intel_gen(ibb->devid) > 12) {
- intel_bb_out(ibb, GEN4_3DSTATE_BINDING_TABLE_POOL_ALLOC | 2);
- intel_bb_emit_reloc(ibb, ibb->handle,
- I915_GEM_DOMAIN_RENDER | I915_GEM_DOMAIN_INSTRUCTION, 0,
- 0, ibb->batch_offset);
- intel_bb_out(ibb, 1 << 12);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_BINDING_TABLE_POOL_ALLOC, btpa) {
+ btpa.MOCS = intel_get_wb_mocs_index(ibb->fd);
+ btpa.BindingTablePoolBaseAddress =
+ igt_address_of_batch(ibb,
+ I915_GEM_DOMAIN_RENDER | I915_GEM_DOMAIN_INSTRUCTION, 0);
+ btpa.BindingTablePoolBufferSize = 1;
+ }
}
- intel_bb_out(ibb, GEN7_3DSTATE_VIEWPORT_STATE_POINTERS_CC);
- intel_bb_out(ibb, viewport.cc_state);
- intel_bb_out(ibb, GEN8_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP);
- intel_bb_out(ibb, viewport.sf_clip_state);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_VIEWPORT_STATE_POINTERS_CC, vp) {
+ vp.CCViewportPointer = viewport.cc_state;
+ }
+ igt_genxml_emit(ibb, GFX9_3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP, vp) {
+ vp.SFClipViewportPointer = viewport.sf_clip_state;
+ }
gen7_emit_urb(ibb);
@@ -1296,11 +1282,7 @@ void _gen9_render_op(struct intel_bb *ibb,
gen8_emit_null_state(ibb);
- intel_bb_out(ibb, GEN7_3DSTATE_STREAMOUT | (5 - 2));
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
- intel_bb_out(ibb, 0);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_STREAMOUT, so) { }
gen7_emit_clip(ibb);
@@ -1308,14 +1290,17 @@ void _gen9_render_op(struct intel_bb *ibb,
gen8_emit_ps(ibb, ps_kernel_off, fast_clear);
- intel_bb_out(ibb, GEN7_3DSTATE_BINDING_TABLE_POINTERS_PS);
- intel_bb_out(ibb, ps_binding_table);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_BINDING_TABLE_POINTERS_PS, bt) {
+ bt.PointertoPSBindingTable = ps_binding_table;
+ }
- intel_bb_out(ibb, GEN7_3DSTATE_SAMPLER_STATE_POINTERS_PS);
- intel_bb_out(ibb, ps_sampler_state);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_SAMPLER_STATE_POINTERS_PS, sp) {
+ sp.PointertoPSSamplerState = ps_sampler_state;
+ }
- intel_bb_out(ibb, GEN8_3DSTATE_SCISSOR_STATE_POINTERS);
- intel_bb_out(ibb, scissor_state);
+ igt_genxml_emit(ibb, GFX9_3DSTATE_SCISSOR_STATE_POINTERS, ssp) {
+ ssp.ScissorRectPointer = scissor_state;
+ }
gen9_emit_depth(ibb);
--
2.34.1
^ permalink raw reply related [flat|nested] 14+ messages in thread