Files
mesa/src/intel/genxml/gen20.xml
José Roberto de Souza a472d415bc anv/xe2: Enable compute walker and BTD thread preemption
GFX versions older than GFX 20 have 'Thread Preemption disable' while
GFX 20 has 'Thread Preemption' with value flipped in compute walker
instruction.
So here by default enabling thread preemption, only disabling it
when BTD mode is enabled as instructed in Wa_14017794102.

Similar for 3DSTATE_BTD, enabling preemption by default and
only disabling when platform is affected by Wa_14017794102.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29616>
2024-06-10 14:08:02 +00:00

1287 lines
72 KiB
XML

<?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" start="6" end="31" type="offset" />
<field name="Software Exception Enable" start="71" end="71" type="bool" />
<field name="Illegal Opcode Exception Enable" start="77" end="77" type="bool" />
<field name="Floating Point Mode" start="80" end="80" type="uint">
<value name="IEEE-754" value="0" />
<value name="Alternate" value="1" />
</field>
<field name="Single Program Flow" start="82" end="82" type="bool" />
<field name="Denorm Mode" start="83" end="83" type="uint">
<value name="Ftz" value="0" />
<value name="SetByKernel" value="1" />
</field>
<field name="Thread Preemption" start="84" end="84" type="bool" default="1" />
<field name="Sampler Count" start="98" end="100" 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" start="101" end="127" type="offset" />
<field name="Binding Table Entry Count" start="128" end="132" type="uint" />
<field name="Binding Table Pointer" start="133" end="148" type="offset" />
<field name="Number of Threads in GPGPU Thread Group" start="160" end="169" type="uint" />
<field name="Thread group forward progress guarantee" start="173" end="173" type="bool" />
<field name="Shared Local Memory Size" start="176" end="180" 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" start="182" end="183" 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" start="186" end="187" 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" start="188" end="190" 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" start="191" end="191" type="uint" />
<field name="Preferred SLM Allocation Size" start="224" end="227" type="PREF_SLM_ALLOCATION_SIZE" />
</struct>
<struct name="POSTSYNC_DATA" length="5">
<field name="Operation" start="0" end="1" 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" start="2" end="2" type="bool" />
<field name="MOCS" start="4" end="10" type="uint" nonzero="true" />
<field name="System Memory Fence Request" start="11" end="11" type="bool" />
<field name="Dataport Subslice Cache Flush" start="12" end="12" type="bool" />
<field name="Destination Address" start="32" end="95" type="address" />
<field name="Immediate Data" start="96" end="159" type="uint" />
</struct>
<struct name="COMPUTE_WALKER_BODY" length="39">
<field name="Indirect Data Length" start="32" end="48" type="uint" />
<field name="L3 prefetch disable" start="49" end="49" type="bool" />
<field name="Partition Dispatch Parameter" start="50" end="61" type="uint" />
<field name="Partition Type" start="62" end="63" type="uint">
<value name="PartitionX" value="1" />
<value name="PartitionY" value="2" />
<value name="PartitionZ" value="3" />
</field>
<field name="Indirect Data Start Address" start="70" end="95" type="offset" />
<field name="Compute Dispatch All walker Enable" start="96" end="96" type="uint">
<value name="Disabled" value="0" />
<value name="Enabled" value="1" />
</field>
<field name="Dispatch Walk Order" start="101" end="102" 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" start="113" end="114" type="uint">
<value name="SIMT16" value="1" />
<value name="SIMT32" value="2" />
</field>
<field name="Tile Layout" start="115" end="117" 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" start="118" end="120" 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" start="121" end="121" type="bool" />
<field name="Emit Local" start="122" end="124" 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" start="125" end="125" type="bool" />
<field name="SIMD Size" start="126" end="127" type="uint">
<value name="SIMT16" value="1" />
<value name="SIMT32" value="2" />
</field>
<field name="Execution Mask" start="128" end="159" type="uint" />
<field name="Local X Maximum" start="160" end="169" type="uint" />
<field name="Local Y Maximum" start="170" end="179" type="uint" />
<field name="Local Z Maximum" start="180" end="189" type="uint" />
<field name="Thread Group ID X Dimension" start="192" end="223" type="uint" />
<field name="Thread Group ID Y Dimension" start="224" end="255" type="uint" />
<field name="Thread Group ID Z Dimension" start="256" end="287" type="uint" />
<field name="Thread Group ID Starting X" start="288" end="319" type="uint" />
<field name="Thread Group ID Starting Y" start="320" end="351" type="uint" />
<field name="Thread Group ID Starting Z" start="352" end="383" type="uint" />
<field name="Partition ID" start="384" end="415" type="uint" />
<field name="Partition Size" start="416" end="447" type="uint" />
<field name="Preempt X" start="448" end="479" type="uint" />
<field name="Preempt Y" start="480" end="511" type="uint" />
<field name="Preempt Z" start="512" end="543" type="uint" />
<field name="Walker ID" start="544" end="547" type="uint" />
<field name="Over dispatch TG count" start="552" end="567" type="uint" />
<field name="Interface Descriptor" start="576" end="831" type="INTERFACE_DESCRIPTOR_DATA" />
<field name="Post Sync" start="832" end="991" type="POSTSYNC_DATA" />
<group count="8" start="992" size="32">
<field name="Inline Data" start="0" end="31" type="uint" />
</group>
</struct>
<struct name="RENDER_SURFACE_STATE" length="16">
<field name="Cube Face Enable - Positive Z" start="0" end="0" type="bool" />
<field name="Cube Face Enable - Negative Z" start="1" end="1" type="bool" />
<field name="Cube Face Enable - Positive Y" start="2" end="2" type="bool" />
<field name="Cube Face Enable - Negative Y" start="3" end="3" type="bool" />
<field name="Cube Face Enable - Positive X" start="4" end="4" type="bool" />
<field name="Cube Face Enable - Negative X" start="5" end="5" type="bool" />
<field name="Media Boundary Pixel Mode" start="6" end="7" 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" start="8" end="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" start="9" end="9" type="bool" />
<field name="Vertical Line Stride Offset" start="10" end="10" type="uint" />
<field name="Vertical Line Stride" start="11" end="11" type="uint" />
<field name="Tile Mode" start="12" end="13" 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" start="14" end="15" 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" start="16" end="17" 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" start="18" end="26" type="uint" />
<field name="Surface Array" start="28" end="28" type="bool" />
<field name="Surface Type" start="29" end="31" type="STATE_SURFACE_TYPE" />
<field name="Surface QPitch" start="32" end="46" type="uint" />
<field name="Sample Tap Discard Disable" start="47" end="47" type="bool" />
<field name="Corner Texel Mode" start="50" end="50" type="bool" />
<field name="Base Mip Level" start="51" end="55" type="uint" />
<field name="MOCS" start="56" end="62" type="uint" nonzero="true" />
<field name="Width" start="64" end="77" type="uint" />
<field name="Height" start="80" end="93" type="uint" />
<field name="Depth Stencil Resource" start="95" end="95" type="bool" />
<field name="Surface Pitch" start="96" end="113" type="uint" />
<field name="Depth" start="117" end="127" type="uint" />
<field name="Multisample Position Palette Index" start="128" end="130" type="uint" />
<field name="Number of Multisamples" start="131" end="133" 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" start="134" end="134" type="uint">
<value name="MSFMT_MSS" value="0" />
<value name="MSFMT_DEPTH_STENCIL" value="1" />
</field>
<field name="Render Target View Extent" start="135" end="145" type="uint" />
<field name="Minimum Array Element" start="146" end="156" type="uint" />
<field name="Render Target And Sample Unorm Rotation" start="157" end="158" 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" start="160" end="163" type="uint" />
<field name="Surface Min LOD" start="164" end="167" type="uint" />
<field name="Mip Tail Start LOD" start="168" end="171" type="uint" />
<field name="L1 Cache Control" start="176" end="178" type="L1_CACHE_CONTROL" />
<field name="EWA Disable For Cube" start="180" end="180" type="bool" />
<field name="Y Offset" start="181" end="183" type="uint" />
<field name="X Offset" start="185" end="191" type="uint" />
<field name="Auxiliary Surface Mode" start="192" end="194" 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" start="192" end="205" type="uint" />
<field name="Auxiliary Surface Pitch" start="195" end="204" type="uint" />
<field name="YUV Interpolation Enable" start="207" end="207" type="bool" />
<field name="X Offset for U or UV Plane" start="208" end="221" type="uint" />
<field name="Auxiliary Surface QPitch" start="208" end="222" type="uint" />
<field name="Resource Min LOD" start="224" end="235" type="u4.8" />
<field name="Shader Channel Select Alpha" start="240" end="242" type="Shader Channel Select" />
<field name="Shader Channel Select Blue" start="243" end="245" type="Shader Channel Select" />
<field name="Shader Channel Select Green" start="246" end="248" type="Shader Channel Select" />
<field name="Shader Channel Select Red" start="249" end="251" type="Shader Channel Select" />
<field name="Surface Base Address" start="256" end="319" type="address" />
<field name="Mip Region Width In Log2" start="320" end="323" type="uint" />
<field name="Append Counter Address" start="322" end="383" type="address" />
<field name="Mip Region Height In Log2" start="324" end="327" type="uint" />
<field name="Procedural Texture" start="331" end="331" type="bool" />
<field name="Auxiliary Surface Base Address" start="332" end="383" type="address" />
<field name="Y Offset for V Plane" start="352" end="365" type="uint" />
<field name="X Offset for V Plane" start="368" end="381" type="uint" />
<field name="Compression Format" start="384" end="387" type="UNIFIED_COMPRESSION_FORMAT" />
<field name="Mip Region Depth In Log2" start="388" end="391" type="uint" />
<field name="Disallowlowqualityfiltering" start="447" end="447" type="bool" />
</struct>
<struct name="RESOURCE_BARRIER_BODY" length="4">
<field name="Wait Stage" start="0" end="11" type="RESOURCE_BARRIER_STAGE" />
<field name="Signal Stage" start="12" end="23" type="RESOURCE_BARRIER_STAGE" />
<field name="Barrier Type" start="30" end="31" type="RESOURCE_BARRIER_TYPE" />
<field name="L1 Dataport Cache Invalidate" start="53" end="53" type="bool" />
<field name="Depth Cache" start="54" end="54" type="bool" />
<field name="Color Cache" start="55" end="55" type="bool" />
<field name="L1 Dataport UAV Flush" start="56" end="56" type="bool" />
<field name="Texture (RO)" start="57" end="57" type="bool" />
<field name="State (RO)" start="58" end="58" type="bool" />
<field name="VF (RO)" start="59" end="59" type="bool" />
<field name="AMFS" start="60" end="60" type="bool" />
<field name="Constant Cache" start="61" end="61" type="bool" />
<field name="Barrier ID Address" start="67" end="127" type="address" />
</struct>
<instruction name="3DSTATE_BTD" bias="2" length="6" engine="render|compute">
<field name="DWord Length" start="0" end="7" type="uint" default="4" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
<field name="Command SubType" start="27" end="28" type="uint" default="0" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Dispatch Timeout Counter" start="32" end="34" 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" start="39" end="40" 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" start="63" end="63" type="bool" default="1" />
<field name="Per DSS Memory Backed Buffer Size" start="64" end="66" 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" start="74" end="127" type="address" />
<field name="Scratch Space Buffer" start="138" end="159" type="uint" />
</instruction>
<instruction name="3DSTATE_CPSIZE_CONTROL_BUFFER" bias="2" length="8">
<field name="DWord Length" start="0" end="7" type="uint" default="6" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="131" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Surface Pitch" start="32" end="48" type="uint" />
<field name="Surface Type" start="61" end="63" type="uint" />
<field name="Surface Base Address" start="64" end="127" type="address" />
<field name="Width" start="129" end="142" type="uint" />
<field name="Height" start="145" end="158" type="uint" />
<field name="MOCS" start="160" end="166" type="uint" />
<field name="Minimum Array Element" start="168" end="178" type="uint" />
<field name="Depth" start="180" end="190" type="uint" />
<field name="Compression Format" start="192" end="195" type="UNIFIED_COMPRESSION_FORMAT" />
<field name="Mip Tail Start LOD" start="218" end="221" type="uint" />
<field name="Tiled Mode" start="222" end="223" type="uint">
<value name="TILE64" value="1" />
<value name="TILE4" value="3" />
</field>
<field name="Surface QPitch" start="224" end="238" type="uint" />
<field name="Surf LOD" start="240" end="243" type="uint" />
<field name="Render Target View Extent" start="245" end="255" type="uint" />
</instruction>
<instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8" engine="render">
<field name="DWord Length" start="0" end="7" type="uint" default="6" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="5" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Surface Pitch" start="32" end="49" type="uint" />
<field name="Hierarchical Depth Buffer Enable" start="54" end="54" type="bool" />
<field name="Corner Texel Mode" start="55" end="55" type="bool" />
<field name="Surface Format" start="56" end="58" 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" start="59" end="59" type="bool" />
<field name="Depth Write Enable" start="60" end="60" type="bool" />
<field name="Surface Type" start="61" end="63" 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" start="64" end="127" type="address" />
<field name="Width" start="129" end="142" type="uint" />
<field name="Height" start="145" end="158" type="uint" />
<field name="MOCS" start="160" end="166" type="uint" nonzero="true" />
<field name="Minimum Array Element" start="168" end="178" type="uint" />
<field name="Depth" start="180" end="190" type="uint" />
<field name="Render Compression Format" start="192" end="195" type="UNIFIED_COMPRESSION_FORMAT" />
<field name="Mip Tail Start LOD" start="218" end="221" type="uint" />
<field name="Tiled Mode" start="222" end="223" type="uint">
<value name="TILE64" value="1" />
<value name="TILE4" value="3" />
</field>
<field name="Surface QPitch" start="224" end="238" type="uint" />
<field name="LOD" start="240" end="243" type="uint" />
<field name="Render Target View Extent" start="245" end="255" type="uint" />
</instruction>
<instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
<field name="DWord Length" start="0" end="7" type="uint" default="8" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="17" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Kernel Start Pointer" start="38" end="95" type="offset" />
<field name="Expected Vertex Count" start="96" end="101" type="uint" />
<field name="Software Exception Enable" start="103" end="103" type="bool" />
<field name="Mask Stack Exception Enable" start="107" end="107" type="bool" />
<field name="Accesses UAV" start="108" end="108" type="bool" />
<field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
<field name="Floating Point Mode" start="112" end="112" type="uint">
<value name="IEEE-754" value="0" />
<value name="Alternate" value="1" />
</field>
<field name="Thread Dispatch Priority" start="113" end="113" type="uint">
<value name="Normal" value="0" />
<value name="High" value="1" />
</field>
<field name="Binding Table Entry Count" start="114" end="121" type="uint" />
<field name="Sampler Count" start="123" end="125" 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" start="126" end="126" type="uint">
<value name="Dmask" value="0" />
</field>
<field name="Single Program Flow" start="127" end="127" type="bool" />
<field name="Scratch Space Buffer" start="138" end="159" type="uint" />
<field name="Dispatch GRF Start Register For URB Data" start="192" end="195" type="uint" />
<field name="Vertex URB Entry Read Offset" start="196" end="201" type="uint" />
<field name="Include Vertex Handles" start="202" end="202" type="bool" />
<field name="Vertex URB Entry Read Length" start="203" end="208" type="uint" />
<field name="Output Topology" start="209" end="214" type="3D_Prim_Topo_Type" />
<field name="Output Vertex Size" start="215" end="220" type="uint" />
<field name="Dispatch GRF Start Register For URB Data [5:4]" start="221" end="222" type="uint" />
<field name="Enable" start="224" end="224" type="bool" />
<field name="Discard Adjacency" start="225" end="225" type="bool" />
<field name="Reorder Mode" start="226" end="226" type="uint">
<value name="LEADING" value="0" />
<value name="TRAILING" value="1" />
</field>
<field name="Hint" start="227" end="227" type="bool" />
<field name="Include Primitive ID" start="228" end="228" type="bool" />
<field name="Invocations Increment Value" start="229" end="233" type="uint" />
<field name="Statistics Enable" start="234" end="234" type="bool" />
<field name="Default Stream Id" start="237" end="238" type="uint" />
<field name="Instance Control" start="239" end="243" type="uint" />
<field name="Control Data Header Size" start="244" end="247" type="uint" />
<field name="Maximum Number of Threads" start="256" end="264" type="uint" />
<field name="Static Output Vertex Count" start="272" end="282" type="uint" />
<field name="Static Output" start="286" end="286" type="bool" />
<field name="Control Data Format" start="287" end="287" type="uint">
<value name="CUT" value="0" />
<value name="SID" value="1" />
</field>
<field name="User Clip Distance Cull Test Enable Bitmask" start="288" end="295" type="uint" />
<field name="User Clip Distance Clip Test Enable Bitmask" start="296" end="303" type="uint" />
<field name="Vertex URB Entry Output Length" start="304" end="308" type="uint" />
<field name="Vertex URB Entry Output Read Offset" start="309" end="314" type="uint" />
</instruction>
<instruction name="3DSTATE_HS" bias="2" length="8" engine="render">
<field name="DWord Length" start="0" end="7" type="uint" default="6" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="27" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Patch Count Threshold" start="32" end="35" type="uint" />
<field name="Software Exception Enable" start="44" end="44" type="bool" />
<field name="Illegal Opcode Exception Enable" start="45" end="45" type="bool" />
<field name="Floating Point Mode" start="48" end="48" type="uint">
<value name="IEEE-754" value="0" />
<value name="alternate" value="1" />
</field>
<field name="Thread Dispatch Priority" start="49" end="49" type="uint">
<value name="Normal" value="0" />
<value name="High" value="1" />
</field>
<field name="Binding Table Entry Count" start="50" end="57" type="uint" />
<field name="Sampler Count" start="59" end="61" 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" start="64" end="68" type="uint" />
<field name="Maximum Number of Threads" start="72" end="80" type="uint" />
<field name="Statistics Enable" start="93" end="93" type="bool" />
<field name="Enable" start="95" end="95" type="bool" />
<field name="Kernel Start Pointer" start="102" end="159" type="offset" />
<field name="Scratch Space Buffer" start="170" end="191" type="uint" />
<field name="Include Primitive ID" start="224" end="224" type="bool" />
<field name="Vertex URB Entry Read Offset" start="228" end="233" type="uint" />
<field name="Vertex URB Entry Read Length" start="235" end="240" type="uint" />
<field name="Dispatch GRF Start Register For URB Data" start="243" end="247" type="uint" />
<field name="Include Vertex Handles" start="248" end="248" type="bool" />
<field name="Accesses UAV" start="249" end="249" type="bool" />
<field name="Vector Mask Enable" start="250" end="250" type="uint">
<value name="Dmask" value="0" />
</field>
<field name="Single Program Flow" start="251" end="251" type="bool" />
<field name="Dispatch GRF Start Register For URB Data [5]" start="252" end="252" type="uint" />
</instruction>
<instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
<field name="DWord Length" start="0" end="7" type="uint" default="10" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="32" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Kernel 0 Enable" start="32" end="32" type="bool" />
<field name="Kernel[0] : SIMD Width" start="33" end="33" type="uint" prefix="PS">
<value name="SIMD16" value="0" />
<value name="SIMD32" value="1" />
</field>
<field name="Kernel Start Pointer 0" start="38" end="95" type="offset" />
<field name="Software Exception Enable" start="103" end="103" type="bool" />
<field name="Mask Stack Exception Enable" start="107" end="107" type="bool" />
<field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
<field name="Rounding Mode" start="110" end="111" 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" start="112" end="112" type="uint">
<value name="IEEE-754" value="0" />
<value name="Alternate" value="1" />
</field>
<field name="Thread Dispatch Priority" start="113" end="113" type="uint">
<value name="Normal" value="0" />
<value name="High" value="1" />
</field>
<field name="Binding Table Entry Count" start="114" end="121" type="uint" />
<field name="Single Precision Denormal Mode" start="122" end="122" type="uint">
<value name="Flushed to Zero" value="0" />
<value name="Retained" value="1" />
</field>
<field name="Sampler Count" start="123" end="125" 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" start="126" end="126" type="uint">
<value name="Dmask" value="0" />
<value name="Vmask" value="1" />
</field>
<field name="Single Program Flow" start="127" end="127" type="uint">
<value name="Multiple" value="0" />
<value name="Single" value="1" />
</field>
<field name="Scratch Space Buffer" start="138" end="159" type="uint" />
<field name="Position XY Offset Select" start="195" end="196" 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" start="198" end="199" 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" start="200" end="200" type="bool" />
<field name="Overlapping Subspans Enable" start="201" end="201" type="bool" />
<field name="3D Scoreboard Address Size select" start="202" end="202" type="uint">
<value name="2x2" value="0" />
<value name="4x2" value="1" />
</field>
<field name="Clear/Resolve BTI for Render Target" start="204" end="211" type="uint" />
<field name="Pixel Scoreboard Disable" start="213" end="213" type="bool" />
<field name="Maximum Number of Threads Per PSD" start="215" end="223" type="uint" />
<field name="Dispatch GRF Start Register For Constant/Setup Data 1" start="232" end="239" type="uint" />
<field name="Dispatch GRF Start Register For Constant/Setup Data 0" start="240" end="247" type="uint" />
<field name="Kernel[0] : Poly Packing Policy" start="248" end="250" 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" start="251" end="253" type="uint" />
<field name="Kernel 1 Selection Priority" start="255" end="255" type="uint">
<value name="PRI_SIMD" value="0" />
<value name="PRI_POLY" value="1" />
</field>
<field name="Kernel 1 Enable" start="256" end="256" type="bool" />
<field name="Kernel[1] : SIMD Width" start="257" end="257" type="uint" prefix="PS">
<value name="SIMD16" value="0" />
<value name="SIMD32" value="1" />
</field>
<field name="Kernel Start Pointer 1" start="262" end="319" type="offset" />
</instruction>
<instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
<field name="DWord Length" start="0" end="7" type="uint" default="0" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="79" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Input Coverage Mask State" start="32" end="33" 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" start="34" end="34" type="bool" />
<field name="Pixel Shader Is Per Coarse Pixel" start="36" end="36" type="bool" />
<field name="Pixel Shader Computes Stencil" start="37" end="37" type="bool" />
<field name="Pixel Shader Is Per Sample" start="38" end="38" type="bool" />
<field name="Pixel Shader Disables Alpha To Coverage" start="39" end="39" type="bool" />
<field name="Simple PS Hint" start="41" end="41" type="bool" />
<field name="Pixel Shader Requires Centroid Offsets" start="48" end="48" type="bool" />
<field name="Enable PS Dependency On CPsize Change" start="49" end="49" type="bool" />
<field name="Pixel Shader Requires Subpixel Sample Offsets" start="50" end="50" type="bool" />
<field name="Pixel Shader Requires Non-Perspective Bary Plane Coefficients" start="51" end="51" type="bool" />
<field name="Pixel Shader Requires Perspective Bary Plane Coefficients" start="52" end="52" type="bool" />
<field name="Pixel Shader Requires Source Depth and/or W Plane Coefficients" start="53" end="53" type="bool" />
<field name="Pixel Shader Requires Requested Coarse Pixel Shading Size" start="54" end="54" type="bool" />
<field name="Pixel Shader Uses Source W" start="55" end="55" type="bool" />
<field name="Pixel Shader Uses Source Depth" start="56" end="56" type="bool" />
<field name="Force Computed Depth" start="57" end="57" type="bool" />
<field name="Pixel Shader Computed Depth Mode" start="58" end="59" 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" start="60" end="60" type="bool" />
<field name="oMask Present to Render Target" start="61" end="61" type="bool" />
<field name="Pixel Shader Does not write to RT" start="62" end="62" type="mbz" />
<field name="Pixel Shader Valid" start="63" end="63" type="bool" />
</instruction>
<instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="8" engine="render">
<field name="DWord Length" start="0" end="7" type="uint" default="6" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Surface Pitch" start="32" end="48" type="uint" />
<field name="Corner Texel Mode" start="55" end="55" type="bool" />
<field name="Null Page Coherency Enable" start="59" end="59" type="bool" />
<field name="Stencil Write Enable" start="60" end="60" type="bool" />
<field name="Surface Type" start="61" end="63" 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" start="64" end="127" type="address" />
<field name="Width" start="129" end="142" type="uint" />
<field name="Height" start="145" end="158" type="uint" />
<field name="MOCS" start="160" end="166" type="uint" nonzero="true" />
<field name="Minimum Array Element" start="168" end="178" type="uint" />
<field name="Depth" start="180" end="190" type="uint" />
<field name="Compression Format" start="192" end="195" type="UNIFIED_COMPRESSION_FORMAT" />
<field name="Mip Tail Start LOD" start="218" end="221" type="uint" />
<field name="Tiled Mode" start="222" end="223" type="uint">
<value name="TILE64" value="1" />
<value name="TILE4" value="3" />
</field>
<field name="Surface QPitch" start="224" end="238" type="uint" />
<field name="Surf LOD" start="240" end="243" type="uint" />
<field name="Render Target View Extent" start="245" end="255" type="uint" />
</instruction>
<instruction name="3DSTATE_TE" bias="2" length="5" engine="render">
<field name="DWord Length" start="0" end="7" type="uint" default="3" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="28" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="TE Enable" start="32" end="32" type="bool" />
<field name="TE Mode" start="33" end="34" type="uint">
<value name="HW_TESS" value="0" />
<value name="FORCE_MIN" value="3" />
</field>
<field name="TE Domain" start="36" end="37" type="uint">
<value name="QUAD" value="0" />
<value name="TRI" value="1" />
<value name="ISOLINE" value="2" />
</field>
<field name="Output Topology" start="40" end="41" 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" start="44" end="45" 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" start="46" end="47" 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" start="49" end="50" type="uint">
<value name="TEDLEVEL_PATCH" value="0" />
<value name="TEDLEVEL_REGION" value="1" />
</field>
<field name="Tessellation Scale Factor Enable" start="51" end="51" type="bool" />
<field name="Tessellation Factor Format" start="52" end="52" type="uint">
<value name="FLOAT32" value="0" />
<value name="FLOAT16" value="1" />
</field>
<field name="Patch Header Layout" start="54" end="55" 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" start="56" end="57" 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" start="58" end="61" 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" start="62" end="63" 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" start="64" end="95" type="float" />
<field name="Maximum Tessellation Factor Not Odd" start="96" end="127" type="float" />
<field name="Tessellation Scale Factor" start="128" end="159" type="float" />
</instruction>
<instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
<field name="DWord Length" start="0" end="7" type="uint" default="7" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="16" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Kernel Start Pointer" start="38" end="95" type="offset" />
<field name="Software Exception Enable" start="103" end="103" type="bool" />
<field name="Accesses UAV" start="108" end="108" type="bool" />
<field name="Illegal Opcode Exception Enable" start="109" end="109" type="bool" />
<field name="Floating Point Mode" start="112" end="112" type="uint">
<value name="IEEE-754" value="0" />
<value name="Alternate" value="1" />
</field>
<field name="Thread Dispatch Priority" start="113" end="113" type="uint">
<value name="Normal" value="0" />
<value name="High" value="1" />
</field>
<field name="Binding Table Entry Count" start="114" end="121" type="uint" />
<field name="Sampler Count" start="123" end="125" 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" start="126" end="126" type="uint">
<value name="Dmask" value="0" />
</field>
<field name="Scratch Space Buffer" start="138" end="159" type="uint" />
<field name="Vertex URB Entry Read Offset" start="196" end="201" type="uint" />
<field name="Vertex URB Entry Read Length" start="203" end="208" type="uint" />
<field name="Dispatch GRF Start Register For URB Data" start="212" end="216" type="uint" />
<field name="Enable" start="224" end="224" type="bool" />
<field name="Vertex Cache Disable" start="225" end="225" type="bool" />
<field name="SIMD8 Single Instance Dispatch Enable" start="233" end="233" type="bool" />
<field name="Statistics Enable" start="234" end="234" type="bool" />
<field name="Maximum Number of Threads" start="246" end="255" type="uint" />
<field name="User Clip Distance Cull Test Enable Bitmask" start="256" end="263" type="uint" />
<field name="User Clip Distance Clip Test Enable Bitmask" start="264" end="271" type="uint" />
<field name="Vertex URB Entry Output Length" start="272" end="276" type="uint" />
<field name="Vertex URB Entry Output Read Offset" start="277" end="282" type="uint" />
</instruction>
<instruction name="3DSTATE_WM_HZ_OP" bias="2" length="6" engine="render">
<field name="DWord Length" start="0" end="7" type="uint" default="4" />
<field name="Predicate Enable" start="8" end="8" type="bool" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="82" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Depth Buffer Partial Resolve Enable" start="41" end="41" type="bool" />
<field name="Number of Multisamples" start="45" end="47" 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" start="48" end="55" type="uint" />
<field name="Stencil Buffer Resolve Enable" start="56" end="56" type="bool" />
<field name="Full Surface Depth and Stencil Clear" start="57" end="57" type="bool" />
<field name="Pixel Position Offset Enable" start="58" end="58" type="bool" />
<field name="Hierarchical Depth Buffer Resolve Enable" start="59" end="59" type="bool" />
<field name="Depth Buffer Resolve Enable" start="60" end="60" type="bool" />
<field name="Scissor Rectangle Enable" start="61" end="61" type="bool" />
<field name="Depth Buffer Clear Enable" start="62" end="62" type="bool" />
<field name="Stencil Buffer Clear Enable" start="63" end="63" type="bool" />
<field name="Clear Rectangle X Min" start="64" end="79" type="uint" />
<field name="Clear Rectangle Y Min" start="80" end="95" type="uint" />
<field name="Clear Rectangle X Max" start="96" end="111" type="uint" />
<field name="Clear Rectangle Y Max" start="112" end="127" type="uint" />
<field name="Sample Mask" start="128" end="143" type="uint" />
<field name="Depth Clear Value" start="160" end="191" type="float" />
</instruction>
<instruction name="COMPUTE_WALKER" bias="2" length="40">
<field name="DWord Length" start="0" end="7" type="uint" default="38" />
<field name="Predicate Enable" start="8" end="8" type="bool" />
<field name="Workload Partition Enable" start="9" end="9" type="bool" />
<field name="Indirect Parameter Enable" start="10" end="10" type="bool" />
<field name="Systolic Mode Enable" start="14" end="14" type="bool" />
<field name="CFE SubOpcode Variant" start="15" end="17" type="uint" default="0" />
<field name="CFE SubOpcode" start="18" end="23" type="uint" default="2" />
<field name="Compute Command Opcode" start="24" end="26" type="uint" default="2" />
<field name="Pipeline" start="27" end="28" type="uint" default="2" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Indirect Data Length" start="64" end="80" type="uint" />
<field name="L3 prefetch disable" start="81" end="81" type="bool" />
<field name="Partition Type" start="94" end="95" type="uint">
<value name="WALKER_PARTITION_X" value="1" />
<value name="WALKER_PARTITION_Y" value="2" />
<value name="WALKER_PARTITION_Z" value="3" />
</field>
<field name="Indirect Data Start Address" start="102" end="127" type="offset" />
<field name="Message SIMD" start="145" end="146" type="uint">
<value name="SIMT16" value="1" />
<value name="SIMT32" value="2" />
</field>
<field name="Tile Layout" start="147" end="149" 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" start="150" end="152" 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" start="153" end="153" type="bool" />
<field name="Emit Local" start="154" end="156" 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" start="157" end="157" type="bool" />
<field name="SIMD Size" start="158" end="159" type="uint">
<value name="SIMT16" value="1" />
<value name="SIMT32" value="2" />
</field>
<field name="Execution Mask" start="160" end="191" type="uint" />
<field name="Local X Maximum" start="192" end="201" type="uint" />
<field name="Local Y Maximum" start="202" end="211" type="uint" />
<field name="Local Z Maximum" start="212" end="221" type="uint" />
<field name="Thread Group ID X Dimension" start="224" end="255" type="uint" />
<field name="Thread Group ID Y Dimension" start="256" end="287" type="uint" />
<field name="Thread Group ID Z Dimension" start="288" end="319" type="uint" />
<field name="Thread Group ID Starting X" start="320" end="351" type="uint" />
<field name="Thread Group ID Starting Y" start="352" end="383" type="uint" />
<field name="Thread Group ID Starting Z" start="384" end="415" type="uint" />
<field name="Partition ID" start="416" end="447" type="uint" />
<field name="Partition Size" start="448" end="479" type="uint" />
<field name="Preempt X" start="480" end="511" type="uint" />
<field name="Preempt Y" start="512" end="543" type="uint" />
<field name="Preempt Z" start="544" end="575" type="uint" />
<field name="Interface Descriptor" start="608" end="863" type="INTERFACE_DESCRIPTOR_DATA" />
<field name="Post Sync" start="864" end="1023" type="POSTSYNC_DATA" />
<group count="8" start="1024" size="32">
<field name="Inline Data" start="0" end="31" type="uint" />
</group>
</instruction>
<instruction name="EXECUTE_INDIRECT_DISPATCH" bias="2" length="45">
<field name="DWord Length" start="0" end="7" type="uint" default="43" />
<field name="Predicate Enable" start="8" end="8" type="bool" />
<field name="MOCS" start="12" end="15" type="uint" nonzero="true" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="4" />
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Max Count" start="32" end="63" type="uint" />
<field name="Count Buffer Indirect Enable" start="64" end="64" type="bool" />
<field name="Count Buffer Address" start="66" end="127" type="address" />
<field name="Argument Buffer Start Address" start="130" end="191" type="address" />
<field name="COMPUTE_WALKER_BODY" start="192" end="1439" type="COMPUTE_WALKER_BODY" />
</instruction>
<instruction name="MI_SEMAPHORE_WAIT" bias="2" length="5">
<field name="DWord Length" start="0" end="7" type="uint" default="3" />
<field name="Compare Operation" start="12" end="14" 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" start="15" end="15" type="uint">
<value name="Polling Mode" value="1" />
<value name="Signal Mode" value="0" />
</field>
<field name="Register Poll Mode" start="16" end="16" type="bool" />
<field name="Indirect Semaphore Data Dword" start="17" end="17" type="bool" />
<field name="Workload Partition ID Offset Enable" start="18" end="18" type="bool" />
<field name="Memory Type" start="22" end="22" type="uint">
<value name="Per Process Graphics Address" value="0" />
<value name="Global Graphics Address" value="1" />
</field>
<field name="MI Command Opcode" start="23" end="28" type="uint" default="28" />
<field name="Command Type" start="29" end="31" type="uint" default="0" />
<field name="Semaphore Data Dword" start="32" end="63" type="uint" />
<field name="Semaphore Address" start="66" end="127" type="address" />
<field name="Wait Token Number" start="130" end="137" type="uint" />
</instruction>
<instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
<field name="Pipeline Selection" start="0" end="1" type="uint">
<value name="3D" value="0" />
<value name="Media" value="1" />
<value name="GPGPU" value="2" />
</field>
<field name="Mask Bits" start="8" end="15" type="uint" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="4" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
<field name="Command SubType" start="27" end="28" type="uint" default="1" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
</instruction>
<instruction name="PIPE_CONTROL" bias="2" length="6" engine="render|compute">
<field name="DWord Length" start="0" end="7" type="uint" default="4" />
<field name="HDC Pipeline Flush Enable" start="9" end="9" type="bool" />
<field name="L3 Read Only Cache Invalidation Enable" start="10" end="10" type="bool" />
<field name="Untyped Data Port Cache Flush Enable" start="11" end="11" type="bool" />
<field name="CCS Flush Enable" start="13" end="13" type="bool" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="0" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="2" />
<field name="Command SubType" start="27" end="28" type="uint" default="3" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Depth Cache Flush Enable" start="32" end="32" type="bool" />
<field name="Stall At Pixel Scoreboard" start="33" end="33" type="bool" />
<field name="State Cache Invalidation Enable" start="34" end="34" type="bool" />
<field name="Constant Cache Invalidation Enable" start="35" end="35" type="bool" />
<field name="VF Cache Invalidation Enable" start="36" end="36" type="bool" />
<field name="DC Flush Enable" start="37" end="37" type="bool" />
<field name="Pipe Control Flush Enable" start="39" end="39" type="bool" />
<field name="Notify Enable" start="40" end="40" type="bool" />
<field name="Indirect State Pointers Disable" start="41" end="41" type="bool" />
<field name="Texture Cache Invalidation Enable" start="42" end="42" type="bool" />
<field name="Instruction Cache Invalidate Enable" start="43" end="43" type="bool" />
<field name="Render Target Cache Flush Enable" start="44" end="44" type="bool" />
<field name="Depth Stall Enable" start="45" end="45" type="bool" />
<field name="Post Sync Operation" start="46" end="47" 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" start="49" end="49" type="bool" />
<field name="TLB Invalidate" start="50" end="50" type="bool" />
<field name="Depth Stall Sync Enable" start="51" end="51" type="bool" />
<field name="Command Streamer Stall Enable" start="52" end="52" type="bool" />
<field name="Store Data Index" start="53" end="53" type="uint" />
<field name="Protected Memory Enable" start="54" end="54" type="bool" />
<field name="LRI Post Sync Operation" start="55" end="55" type="uint">
<value name="No LRI Operation" value="0" />
<value name="MMIO Write Immediate Data" value="1" />
</field>
<field name="Destination Address Type" start="56" end="56" type="uint" prefix="DAT">
<value name="PPGTT" value="0" />
<value name="GGTT" value="1" />
</field>
<field name="Flush LLC" start="58" end="58" type="bool" />
<field name="Protected Memory Disable" start="59" end="59" type="bool" />
<field name="Command Cache Invalidate Enable" start="61" end="61" type="bool" />
<field name="Address" start="66" end="111" type="address" />
<field name="Immediate Data" start="128" end="191" type="uint" />
</instruction>
<instruction name="RESOURCE_BARRIER" bias="2" length="5" engine="render|compute">
<field name="DWord Length" start="0" end="7" type="uint" default="3" />
<field name="Predicate Enable" start="24" end="24" type="bool" />
<field name="Opcode" start="26" end="28" type="uint" default="3">
<value name="RESOURCE_BARRIER" value="3" />
</field>
<field name="Command Type" start="29" end="31" type="uint" default="5" />
<field name="Resource Barrier Body" start="32" end="159" type="RESOURCE_BARRIER_BODY" />
</instruction>
<instruction name="STATE_BYTE_STRIDE" bias="2" length="2" engine="render|compute">
<field name="DWord Length" start="0" end="7" type="uint" default="0" />
<field name="Byte Stride Enable" start="8" end="8" type="bool" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="5" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0" />
<field name="Command SubType" start="27" end="28" type="uint" default="0" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Byte Stride" start="34" end="63" type="uint" />
</instruction>
<instruction name="STATE_COMPUTE_MODE" bias="2" length="3" engine="render|compute">
<field name="DWord Length" start="0" end="7" type="uint" default="1" />
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="5" />
<field name="3D Command Opcode" start="24" end="26" type="uint" default="1" />
<field name="Command SubType" start="27" end="28" type="uint" default="0" />
<field name="Command Type" start="29" end="31" type="uint" default="3" />
<field name="Z Pass Async Compute Thread Limit" start="32" end="34" 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" start="35" end="36" type="uint">
<value name="Max 32" value="1" />
<value name="Max 40" value="2" />
<value name="Max 48" value="3" />
</field>
<field name="Pixel Async Compute Thread Limit" start="39" end="41" 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="EU Thread Scheduling Mode Override" start="45" end="46" type="uint" />
<field name="Large GRF Mode" start="47" end="47" type="bool" />
<field name="Mask1" start="48" end="63" type="uint" />
<field name="Midthread Preemption Delay Timer" start="64" end="66" 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" start="67" end="68" 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" start="69" end="69" type="uint">
<value name="Regular" value="0" />
<value name="Test mode" value="1" />
</field>
<field name="UAV Coherency Mode" start="70" end="70" 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" start="75" end="75" type="uint">
<value name="Full" value="0" />
<value name="Min" value="1" />
</field>
<field name="Mask2" start="80" end="95" type="uint" />
</instruction>
<instruction name="XY_BLOCK_COPY_BLT" bias="2" length="22" engine="blitter">
<field name="DWord Length" start="0" end="7" type="uint" default="20" />
<field name="Special Mode of Operation" start="12" end="13" type="uint">
<value name="NONE" value="0" />
<value name="FULL_RESOLVE" value="1" />
<value name="PARTIAL_RESOLVE" value="2" />
</field>
<field name="Color Depth" start="19" end="21" 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" start="22" end="28" type="uint" default="0x41" />
<field name="Client" start="29" end="31" type="uint" default="2" />
<field name="Destination Pitch" start="32" end="49" type="uint" />
<field name="Destination MOCS" start="56" end="59" type="uint" nonzero="true" />
<field name="Destination Tiling" start="62" end="63" 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" start="64" end="79" type="int" />
<field name="Destination Y1" start="80" end="95" type="int" />
<field name="Destination X2" start="96" end="111" type="int" />
<field name="Destination Y2" start="112" end="127" type="int" />
<field name="Destination Base Address" start="128" end="191" type="address" />
<field name="Destination X Offset" start="192" end="205" type="uint" />
<field name="Destination Y Offset" start="208" end="221" type="uint" />
<field name="Destination Target Memory" start="223" end="223" type="uint" prefix="XY_MEM">
<value name="LOCAL" value="0" />
<value name="SYSTEM" value="1" />
</field>
<field name="Source X1" start="224" end="239" type="int" />
<field name="Source Y1" start="240" end="255" type="int" />
<field name="Source Pitch" start="256" end="273" type="uint" />
<field name="Source Encrypt En" start="277" end="277" type="bool" />
<field name="Source MOCS" start="280" end="283" type="uint" />
<field name="Source Tiling" start="286" end="287" 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" start="288" end="351" type="address" />
<field name="Source X Offset" start="352" end="365" type="uint" />
<field name="Source Y Offset" start="368" end="381" type="uint" />
<field name="Source Target Memory" start="383" end="383" type="uint" prefix="XY_MEM">
<value name="LOCAL" value="0" />
<value name="SYSTEM" value="1" />
</field>
<field name="Source Compression Format" start="384" end="388" type="uint" />
<field name="Source Clear Value Enable" start="389" end="389" type="bool" />
<field name="Source Clear Address" start="390" end="431" type="address" />
<field name="Destination Compression Format" start="448" end="452" type="uint" />
<field name="Destination Clear Value Enable" start="453" end="453" type="bool" />
<field name="Destination Clear Address" start="454" end="495" type="address" />
<field name="Destination Surface Height" start="512" end="525" type="uint" />
<field name="Destination Surface Width" start="526" end="539" type="uint" />
<field name="Destination Surface Type" start="541" end="543" 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" start="544" end="547" type="uint" />
<field name="Destination Surface QPitch" start="548" end="562" type="uint" />
<field name="Destination Surface Depth" start="565" end="575" type="uint" />
<field name="Destination Horizontal Align" start="576" end="577" 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" start="579" end="580" 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" start="584" end="587" type="uint" />
<field name="Destination Array Index" start="597" end="607" type="uint" />
<field name="Source Surface Height" start="608" end="621" type="uint" />
<field name="Source Surface Width" start="622" end="635" type="uint" />
<field name="Source Surface Type" start="637" end="639" 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" start="640" end="643" type="uint" />
<field name="Source Surface QPitch" start="644" end="658" type="uint" />
<field name="Source Surface Depth" start="661" end="671" type="uint" />
<field name="Source Horizontal Align" start="672" end="673" 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" start="675" end="676" 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" start="680" end="683" type="uint" />
<field name="Source Array Index" start="693" end="703" type="uint" />
</instruction>
<instruction name="XY_FAST_COLOR_BLT" bias="2" length="16" engine="blitter">
<field name="DWord Length" start="0" end="7" type="uint" default="14" />
<field name="Number of Multisamples" start="9" end="11" 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" start="12" end="13" type="uint">
<value name="NONE" value="0" />
<value name="USE_AUX_SPECIAL_OPERATIONS_MODE" value="1" />
</field>
<field name="Color Depth" start="19" end="21" 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)" start="22" end="28" type="uint" default="68">
<value name="XY_FAST_COLOR_BLT" value="68" />
</field>
<field name="Client" start="29" end="31" type="uint" default="2">
<value name="2D Processor" value="2" />
</field>
<field name="Destination Pitch" start="32" end="49" type="uint" />
<field name="Destination Encrypt En" start="53" end="53" type="bool" />
<field name="Destination MOCS" start="56" end="59" type="uint" />
<field name="Destination Tiling" start="62" end="63" 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" start="64" end="79" type="int" />
<field name="Destination Y1" start="80" end="95" type="int" />
<field name="Destination X2" start="96" end="111" type="int" />
<field name="Destination Y2" start="112" end="127" type="int" />
<field name="Destination Base Address" start="128" end="191" type="address" />
<field name="Destination X Offset" start="192" end="205" type="uint" />
<field name="Destination Y Offset" start="208" end="221" type="uint" />
<field name="Destination Target Memory" start="223" end="223" type="uint">
<value name="LOCAL_MEM" value="0" />
<value name="SYSTEM_MEM" value="1" />
</field>
<group count="4" start="224" size="32">
<field name="Fill Color" start="0" end="31" type="uint" />
</group>
<field name="Destination Compression Format" start="352" end="355" type="uint" />
<field name="Surface Format" start="384" end="392" type="uint" />
<field name="AUX_SPECIAL_OPERATIONS_MODE" start="413" end="415" 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" start="416" end="429" type="uint" />
<field name="Destination Surface Width" start="430" end="443" type="uint" />
<field name="Destination Surface Type" start="445" end="447" 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" start="448" end="451" type="uint" />
<field name="Destination Surface QPitch" start="452" end="466" type="uint" />
<field name="Destination Surface Depth" start="469" end="479" type="uint" />
<field name="Destination Horizontal Align" start="480" end="481" 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" start="483" end="484" 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" start="488" end="491" type="uint" />
<field name="Destination Depth/Stencil Resource" start="498" end="498" type="bool" />
<field name="Destination Array Index" start="501" end="511" type="uint" />
</instruction>
<register name="GFX_TRTT_VA_RANGE" length="1" num="0x4404">
<field name="TR-VA Base" start="0" end="12" type="uint" />
</register>
</genxml>