[Mesa-dev] [PATCH 4/4] intel/genxml: Add engine definitions to render engine instruction

Toni Lönnberg toni.lonnberg at intel.com
Tue Oct 30 14:32:33 UTC 2018


Instructions meant for the render engine now have a definition specifying that
so that can differentiate instructions meant for different engines due to shared
opcodes.
---
 src/intel/genxml/gen10.xml | 206 ++++++++++++++++++------------------
 src/intel/genxml/gen11.xml | 208 ++++++++++++++++++-------------------
 src/intel/genxml/gen4.xml  |  36 +++----
 src/intel/genxml/gen45.xml |  38 +++----
 src/intel/genxml/gen5.xml  |  44 ++++----
 src/intel/genxml/gen6.xml  |  94 ++++++++---------
 src/intel/genxml/gen7.xml  | 154 +++++++++++++--------------
 src/intel/genxml/gen75.xml | 184 ++++++++++++++++----------------
 src/intel/genxml/gen8.xml  | 202 +++++++++++++++++------------------
 src/intel/genxml/gen9.xml  | 208 ++++++++++++++++++-------------------
 10 files changed, 687 insertions(+), 687 deletions(-)

diff --git a/src/intel/genxml/gen10.xml b/src/intel/genxml/gen10.xml
index abd5da297d6..c4f0cb9afe9 100644
--- a/src/intel/genxml/gen10.xml
+++ b/src/intel/genxml/gen10.xml
@@ -813,7 +813,7 @@
     </field>
   </struct>
 
-  <instruction name="3DPRIMITIVE" bias="2" length="7">
+  <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="3"/>
@@ -839,7 +839,7 @@
     <field name="Extended Parameter 2" start="288" end="319" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3">
+  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -855,7 +855,7 @@
     <field name="AA Coverage EndCap Slope" start="64" end="71" type="u0.8"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_DS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_DS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -872,7 +872,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_GS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_GS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -889,7 +889,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_HS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_HS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -906,7 +906,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_PS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_PS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -923,7 +923,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_VS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_VS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -940,7 +940,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -949,7 +949,7 @@
     <field name="Pointer to DS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -958,7 +958,7 @@
     <field name="Pointer to GS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -967,7 +967,7 @@
     <field name="Pointer to HS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -976,7 +976,7 @@
     <field name="Pointer to PS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -985,7 +985,7 @@
     <field name="Pointer to VS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4">
+  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -999,7 +999,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1009,7 +1009,7 @@
     <field name="Blend State Pointer Valid" start="32" end="32" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1019,7 +1019,7 @@
     <field name="Color Calc State Pointer Valid" start="32" end="32" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4">
+  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1030,7 +1030,7 @@
     <field name="ChromaKey High Value" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3">
+  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1040,7 +1040,7 @@
     <field name="Depth Clear Value Valid" start="64" end="64" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLIP" bias="2" length="4">
+  <instruction name="3DSTATE_CLIP" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1080,7 +1080,7 @@
     <field name="Maximum VP Index" start="96" end="99" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1090,7 +1090,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1100,7 +1100,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1110,7 +1110,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1121,7 +1121,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1131,7 +1131,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8">
+  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1169,7 +1169,7 @@
     <field name="Surface QPitch" start="224" end="238" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4">
+  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1188,7 +1188,7 @@
     <field name="Drawing Rectangle Origin X" start="96" end="111" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_DS" bias="2" length="11">
+  <instruction name="3DSTATE_DS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1236,7 +1236,7 @@
     <field name="DUAL_PATCH Kernel Start Pointer" start="294" end="351" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1260,7 +1260,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1284,7 +1284,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1308,7 +1308,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1334,7 +1334,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1360,7 +1360,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="4">
+  <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1372,7 +1372,7 @@
     <field name="Gather Pool Buffer Size" start="108" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_GS" bias="2" length="10">
+  <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1441,7 +1441,7 @@
     <field name="User Clip Distance Cull Test Enable Bitmask" start="288" end="295" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1454,7 +1454,7 @@
     <field name="Surface QPitch" start="128" end="142" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_HS" bias="2" length="9">
+  <instruction name="3DSTATE_HS" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1500,7 +1500,7 @@
     <field name="Include Primitive ID" start="224" end="224" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1517,7 +1517,7 @@
     <field name="Buffer Size" start="128" end="159" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3">
+  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1531,7 +1531,7 @@
     <field name="Line Stipple Repeat Count" start="64" end="72" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2">
+  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1541,7 +1541,7 @@
     <field name="Monochrome Filter Height" start="32" end="34" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="2">
+  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1555,7 +1555,7 @@
     <field name="Number of Multisamples" start="33" end="35" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2">
+  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1565,7 +1565,7 @@
     <field name="Polygon Stipple Y Offset" start="32" end="36" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33">
+  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1576,7 +1576,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_PS" bias="2" length="12">
+  <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1639,7 +1639,7 @@
     <field name="Kernel Start Pointer 2" start="326" end="383" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_PS_BLEND" bias="2" length="2">
+  <instruction name="3DSTATE_PS_BLEND" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1656,7 +1656,7 @@
     <field name="Independent Alpha Blend Enable" start="39" end="39" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2">
+  <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1694,7 +1694,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1704,7 +1704,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1714,7 +1714,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1724,7 +1724,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1734,7 +1734,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1744,7 +1744,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_RASTER" bias="2" length="5">
+  <instruction name="3DSTATE_RASTER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1805,7 +1805,7 @@
     <field name="Global Depth Offset Clamp" start="128" end="159" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_RS_CONSTANT_POINTER" bias="2" length="4">
+  <instruction name="3DSTATE_RS_CONSTANT_POINTER" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1823,7 +1823,7 @@
     <field name="Global Constant Buffer Address High" start="96" end="127" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1834,7 +1834,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1848,7 +1848,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1857,7 +1857,7 @@
     <field name="Pointer to DS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1866,7 +1866,7 @@
     <field name="Pointer to GS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1875,7 +1875,7 @@
     <field name="Pointer to HS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1884,7 +1884,7 @@
     <field name="Pointer to PS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1893,7 +1893,7 @@
     <field name="Pointer to VS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1902,7 +1902,7 @@
     <field name="Sample Mask" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLE_PATTERN" bias="2" length="9">
+  <instruction name="3DSTATE_SAMPLE_PATTERN" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1972,7 +1972,7 @@
     <field name="2x Sample0 Y Offset" start="256" end="259" type="u0.4"/>
   </instruction>
 
-  <instruction name="3DSTATE_SBE" bias="2" length="6">
+  <instruction name="3DSTATE_SBE" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2005,7 +2005,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SBE_SWIZ" bias="2" length="11">
+  <instruction name="3DSTATE_SBE_SWIZ" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2019,7 +2019,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2028,7 +2028,7 @@
     <field name="Scissor Rect Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SF" bias="2" length="4">
+  <instruction name="3DSTATE_SF" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2060,7 +2060,7 @@
     <field name="Point Width" start="96" end="106" type="u8.3"/>
   </instruction>
 
-  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="8">
+  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2078,7 +2078,7 @@
     <field name="Stream Offset" start="224" end="255" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SO_DECL_LIST" bias="2">
+  <instruction name="3DSTATE_SO_DECL_LIST" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2097,7 +2097,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2111,7 +2111,7 @@
     <field name="Surface QPitch" start="128" end="142" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_STREAMOUT" bias="2" length="5">
+  <instruction name="3DSTATE_STREAMOUT" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2144,7 +2144,7 @@
     <field name="Buffer 2 Surface Pitch" start="128" end="139" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_TE" bias="2" length="4">
+  <instruction name="3DSTATE_TE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2174,7 +2174,7 @@
     <field name="Maximum Tessellation Factor Not Odd" start="96" end="127" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_CLEAR" bias="2" length="2">
+  <instruction name="3DSTATE_URB_CLEAR" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2184,7 +2184,7 @@
     <field name="URB Address" start="32" end="46" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_DS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2195,7 +2195,7 @@
     <field name="DS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_GS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2206,7 +2206,7 @@
     <field name="GS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_HS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2217,7 +2217,7 @@
     <field name="HS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_VS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2228,7 +2228,7 @@
     <field name="VS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2">
+  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2239,7 +2239,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2">
+  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2250,7 +2250,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VF" bias="2" length="2">
+  <instruction name="3DSTATE_VF" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2263,7 +2263,7 @@
     <field name="Cut Index" start="32" end="63" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_COMPONENT_PACKING" bias="2" length="5">
+  <instruction name="3DSTATE_VF_COMPONENT_PACKING" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2303,7 +2303,7 @@
     <field name="Vertex Element 24 Enables" start="128" end="131" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_INSTANCING" bias="2" length="3">
+  <instruction name="3DSTATE_VF_INSTANCING" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2314,7 +2314,7 @@
     <field name="Instance Data Step Rate" start="64" end="95" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_SGVS" bias="2" length="2">
+  <instruction name="3DSTATE_VF_SGVS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2338,7 +2338,7 @@
     <field name="VertexID Element Offset" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_SGVS_2" bias="2" length="3">
+  <instruction name="3DSTATE_VF_SGVS_2" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2378,7 +2378,7 @@
     <field name="XP2 Element Offset" start="64" end="69" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1">
+  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2386,7 +2386,7 @@
     <field name="Statistics Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_TOPOLOGY" bias="2" length="2">
+  <instruction name="3DSTATE_VF_TOPOLOGY" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2395,7 +2395,7 @@
     <field name="Primitive Topology Type" start="32" end="37" type="3D_Prim_Topo_Type"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2404,7 +2404,7 @@
     <field name="CC Viewport Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2413,7 +2413,7 @@
     <field name="SF Clip Viewport Pointer" start="38" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VS" bias="2" length="9">
+  <instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2457,7 +2457,7 @@
     <field name="User Clip Distance Cull Test Enable Bitmask" start="256" end="263" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM" bias="2" length="2">
+  <instruction name="3DSTATE_WM" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2514,7 +2514,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_WM_CHROMAKEY" bias="2" length="2">
+  <instruction name="3DSTATE_WM_CHROMAKEY" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2523,7 +2523,7 @@
     <field name="ChromaKey Kill Enable" start="63" end="63" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM_DEPTH_STENCIL" bias="2" length="4">
+  <instruction name="3DSTATE_WM_DEPTH_STENCIL" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2551,7 +2551,7 @@
     <field name="Backface Stencil Reference Value" start="96" end="103" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="5">
+  <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2573,7 +2573,7 @@
     <field name="Sample Mask" start="128" end="143" type="uint"/>
   </instruction>
 
-  <instruction name="GPGPU_WALKER" bias="2" length="15">
+  <instruction name="GPGPU_WALKER" bias="2" length="15" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2602,7 +2602,7 @@
     <field name="Bottom Execution Mask" start="448" end="479" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2612,7 +2612,7 @@
     <field name="CURBE Data Start Address" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2622,7 +2622,7 @@
     <field name="Interface Descriptor Data Start Address" start="96" end="127" type="offset"/>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT" bias="2">
+  <instruction name="MEDIA_OBJECT" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2662,7 +2662,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_GRPID" bias="2">
+  <instruction name="MEDIA_OBJECT_GRPID" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2686,7 +2686,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16">
+  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2704,7 +2704,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_WALKER" bias="2">
+  <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2758,7 +2758,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2">
+  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2769,7 +2769,7 @@
     <field name="Interface Descriptor Offset" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_VFE_STATE" bias="2" length="9">
+  <instruction name="MEDIA_VFE_STATE" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -3252,7 +3252,7 @@
     <field name="Display Plnae 1 A Scan Line Wait Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="PIPELINE_SELECT" bias="1" length="1">
+  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -3267,7 +3267,7 @@
     </field>
   </instruction>
 
-  <instruction name="PIPE_CONTROL" bias="2" length="6">
+  <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="2"/>
@@ -3311,7 +3311,7 @@
     <field name="Immediate Data" start="128" end="191" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_BASE_ADDRESS" bias="2" length="22">
+  <instruction name="STATE_BASE_ADDRESS" bias="2" length="22" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -3351,7 +3351,7 @@
     <field name="Bindless Sampler State Buffer Size" start="684" end="703" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_SIP" bias="2" length="3">
+  <instruction name="STATE_SIP" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
diff --git a/src/intel/genxml/gen11.xml b/src/intel/genxml/gen11.xml
index c69d7dc89c2..c80380f0488 100644
--- a/src/intel/genxml/gen11.xml
+++ b/src/intel/genxml/gen11.xml
@@ -823,7 +823,7 @@
     </field>
   </struct>
 
-  <instruction name="3DPRIMITIVE" bias="2" length="7">
+  <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="3"/>
@@ -849,7 +849,7 @@
     <field name="Extended Parameter 2" start="288" end="319" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_3D_MODE" bias="2" length="2">
+  <instruction name="3DSTATE_3D_MODE" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -858,7 +858,7 @@
     <field name="Mask Bits" start="48" end="63" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3">
+  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -874,7 +874,7 @@
     <field name="AA Coverage EndCap Slope" start="64" end="71" type="u0.8"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_DS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_DS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -891,7 +891,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_GS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_GS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -908,7 +908,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_HS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_HS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -925,7 +925,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_PS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_PS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -942,7 +942,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_VS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_VS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -959,7 +959,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -968,7 +968,7 @@
     <field name="Pointer to DS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -977,7 +977,7 @@
     <field name="Pointer to GS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -986,7 +986,7 @@
     <field name="Pointer to HS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -995,7 +995,7 @@
     <field name="Pointer to PS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1004,7 +1004,7 @@
     <field name="Pointer to VS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4">
+  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1018,7 +1018,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1028,7 +1028,7 @@
     <field name="Blend State Pointer Valid" start="32" end="32" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1038,7 +1038,7 @@
     <field name="Color Calc State Pointer Valid" start="32" end="32" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4">
+  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1049,7 +1049,7 @@
     <field name="ChromaKey High Value" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3">
+  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1059,7 +1059,7 @@
     <field name="Depth Clear Value Valid" start="64" end="64" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLIP" bias="2" length="4">
+  <instruction name="3DSTATE_CLIP" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1099,7 +1099,7 @@
     <field name="Maximum VP Index" start="96" end="99" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1109,7 +1109,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1119,7 +1119,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1129,7 +1129,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1140,7 +1140,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1150,7 +1150,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8">
+  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1188,7 +1188,7 @@
     <field name="Surface QPitch" start="224" end="238" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4">
+  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1207,7 +1207,7 @@
     <field name="Drawing Rectangle Origin X" start="96" end="111" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_DS" bias="2" length="11">
+  <instruction name="3DSTATE_DS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1254,7 +1254,7 @@
     <field name="DUAL_PATCH Kernel Start Pointer" start="294" end="351" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1278,7 +1278,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1302,7 +1302,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1326,7 +1326,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1352,7 +1352,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1378,7 +1378,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="4">
+  <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1390,7 +1390,7 @@
     <field name="Gather Pool Buffer Size" start="108" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_GS" bias="2" length="10">
+  <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1457,7 +1457,7 @@
     <field name="User Clip Distance Cull Test Enable Bitmask" start="288" end="295" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1475,7 +1475,7 @@
     <field name="Surface QPitch" start="128" end="142" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_HS" bias="2" length="9">
+  <instruction name="3DSTATE_HS" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1520,7 +1520,7 @@
     <field name="Include Primitive ID" start="224" end="224" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1537,7 +1537,7 @@
     <field name="Buffer Size" start="128" end="159" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3">
+  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1551,7 +1551,7 @@
     <field name="Line Stipple Repeat Count" start="64" end="72" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2">
+  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1561,7 +1561,7 @@
     <field name="Monochrome Filter Height" start="32" end="34" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="2">
+  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1575,7 +1575,7 @@
     <field name="Number of Multisamples" start="33" end="35" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2">
+  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1585,7 +1585,7 @@
     <field name="Polygon Stipple Y Offset" start="32" end="36" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33">
+  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1596,7 +1596,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_PS" bias="2" length="12">
+  <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1659,7 +1659,7 @@
     <field name="Kernel Start Pointer 2" start="326" end="383" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_PS_BLEND" bias="2" length="2">
+  <instruction name="3DSTATE_PS_BLEND" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1676,7 +1676,7 @@
     <field name="Independent Alpha Blend Enable" start="39" end="39" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2">
+  <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1714,7 +1714,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1724,7 +1724,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1734,7 +1734,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1744,7 +1744,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1754,7 +1754,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1764,7 +1764,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_RASTER" bias="2" length="5">
+  <instruction name="3DSTATE_RASTER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1825,7 +1825,7 @@
     <field name="Global Depth Offset Clamp" start="128" end="159" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_RS_CONSTANT_POINTER" bias="2" length="4">
+  <instruction name="3DSTATE_RS_CONSTANT_POINTER" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1843,7 +1843,7 @@
     <field name="Global Constant Buffer Address High" start="96" end="127" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1854,7 +1854,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1868,7 +1868,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1877,7 +1877,7 @@
     <field name="Pointer to DS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1886,7 +1886,7 @@
     <field name="Pointer to GS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1895,7 +1895,7 @@
     <field name="Pointer to HS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1904,7 +1904,7 @@
     <field name="Pointer to PS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1913,7 +1913,7 @@
     <field name="Pointer to VS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1922,7 +1922,7 @@
     <field name="Sample Mask" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLE_PATTERN" bias="2" length="9">
+  <instruction name="3DSTATE_SAMPLE_PATTERN" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1992,7 +1992,7 @@
     <field name="2x Sample0 Y Offset" start="256" end="259" type="u0.4"/>
   </instruction>
 
-  <instruction name="3DSTATE_SBE" bias="2" length="6">
+  <instruction name="3DSTATE_SBE" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2025,7 +2025,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SBE_SWIZ" bias="2" length="11">
+  <instruction name="3DSTATE_SBE_SWIZ" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2039,7 +2039,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2048,7 +2048,7 @@
     <field name="Scissor Rect Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SF" bias="2" length="4">
+  <instruction name="3DSTATE_SF" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2080,7 +2080,7 @@
     <field name="Point Width" start="96" end="106" type="u8.3"/>
   </instruction>
 
-  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="8">
+  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2098,7 +2098,7 @@
     <field name="Stream Offset" start="224" end="255" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SO_DECL_LIST" bias="2">
+  <instruction name="3DSTATE_SO_DECL_LIST" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2117,7 +2117,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2131,7 +2131,7 @@
     <field name="Surface QPitch" start="128" end="142" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_STREAMOUT" bias="2" length="5">
+  <instruction name="3DSTATE_STREAMOUT" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2164,7 +2164,7 @@
     <field name="Buffer 2 Surface Pitch" start="128" end="139" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_TE" bias="2" length="4">
+  <instruction name="3DSTATE_TE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2194,7 +2194,7 @@
     <field name="Maximum Tessellation Factor Not Odd" start="96" end="127" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_CLEAR" bias="2" length="2">
+  <instruction name="3DSTATE_URB_CLEAR" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2204,7 +2204,7 @@
     <field name="URB Address" start="32" end="46" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_DS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2215,7 +2215,7 @@
     <field name="DS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_GS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2226,7 +2226,7 @@
     <field name="GS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_HS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2237,7 +2237,7 @@
     <field name="HS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_VS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2248,7 +2248,7 @@
     <field name="VS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2">
+  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2259,7 +2259,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2">
+  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2270,7 +2270,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VF" bias="2" length="2">
+  <instruction name="3DSTATE_VF" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2283,7 +2283,7 @@
     <field name="Cut Index" start="32" end="63" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_COMPONENT_PACKING" bias="2" length="5">
+  <instruction name="3DSTATE_VF_COMPONENT_PACKING" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2323,7 +2323,7 @@
     <field name="Vertex Element 24 Enables" start="128" end="131" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_INSTANCING" bias="2" length="3">
+  <instruction name="3DSTATE_VF_INSTANCING" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2334,7 +2334,7 @@
     <field name="Instance Data Step Rate" start="64" end="95" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_SGVS" bias="2" length="2">
+  <instruction name="3DSTATE_VF_SGVS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2358,7 +2358,7 @@
     <field name="VertexID Element Offset" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_SGVS_2" bias="2" length="3">
+  <instruction name="3DSTATE_VF_SGVS_2" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2398,7 +2398,7 @@
     <field name="XP2 Element Offset" start="64" end="69" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1">
+  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2406,7 +2406,7 @@
     <field name="Statistics Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_TOPOLOGY" bias="2" length="2">
+  <instruction name="3DSTATE_VF_TOPOLOGY" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2415,7 +2415,7 @@
     <field name="Primitive Topology Type" start="32" end="37" type="3D_Prim_Topo_Type"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2424,7 +2424,7 @@
     <field name="CC Viewport Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2433,7 +2433,7 @@
     <field name="SF Clip Viewport Pointer" start="38" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VS" bias="2" length="9">
+  <instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2476,7 +2476,7 @@
     <field name="User Clip Distance Cull Test Enable Bitmask" start="256" end="263" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM" bias="2" length="2">
+  <instruction name="3DSTATE_WM" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2533,7 +2533,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_WM_CHROMAKEY" bias="2" length="2">
+  <instruction name="3DSTATE_WM_CHROMAKEY" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2542,7 +2542,7 @@
     <field name="ChromaKey Kill Enable" start="63" end="63" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM_DEPTH_STENCIL" bias="2" length="4">
+  <instruction name="3DSTATE_WM_DEPTH_STENCIL" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2570,7 +2570,7 @@
     <field name="Backface Stencil Reference Value" start="96" end="103" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="5">
+  <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2592,7 +2592,7 @@
     <field name="Sample Mask" start="128" end="143" type="uint"/>
   </instruction>
 
-  <instruction name="GPGPU_WALKER" bias="2" length="15">
+  <instruction name="GPGPU_WALKER" bias="2" length="15" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2621,7 +2621,7 @@
     <field name="Bottom Execution Mask" start="448" end="479" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2631,7 +2631,7 @@
     <field name="CURBE Data Start Address" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2641,7 +2641,7 @@
     <field name="Interface Descriptor Data Start Address" start="96" end="127" type="offset"/>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT" bias="2">
+  <instruction name="MEDIA_OBJECT" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2676,7 +2676,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_GRPID" bias="2">
+  <instruction name="MEDIA_OBJECT_GRPID" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2695,7 +2695,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16">
+  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2713,7 +2713,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_WALKER" bias="2">
+  <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2762,7 +2762,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2">
+  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2772,7 +2772,7 @@
     <field name="Interface Descriptor Offset" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_VFE_STATE" bias="2" length="9">
+  <instruction name="MEDIA_VFE_STATE" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -3255,7 +3255,7 @@
     <field name="Display Plane Flip Pending Wait Enable" start="0" end="5" type="uint"/>
   </instruction>
 
-  <instruction name="PIPELINE_SELECT" bias="1" length="1">
+  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -3270,7 +3270,7 @@
     </field>
   </instruction>
 
-  <instruction name="PIPE_CONTROL" bias="2" length="6">
+  <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="2"/>
@@ -3314,7 +3314,7 @@
     <field name="Immediate Data" start="128" end="191" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_BASE_ADDRESS" bias="2" length="22">
+  <instruction name="STATE_BASE_ADDRESS" bias="2" length="22" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -3354,7 +3354,7 @@
     <field name="Bindless Sampler State Buffer Size" start="684" end="703" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_SIP" bias="2" length="3">
+  <instruction name="STATE_SIP" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
diff --git a/src/intel/genxml/gen4.xml b/src/intel/genxml/gen4.xml
index cd50a1012bc..1dcb21ee089 100644
--- a/src/intel/genxml/gen4.xml
+++ b/src/intel/genxml/gen4.xml
@@ -602,7 +602,7 @@
     <field name="Global Depth Offset Scale" start="224" end="255" type="float"/>
   </struct>
 
-  <instruction name="3DPRIMITIVE" bias="2" length="6">
+  <instruction name="3DPRIMITIVE" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="3"/>
@@ -622,7 +622,7 @@
     <field name="Base Vertex Location" start="160" end="191" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS" bias="2" length="6">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -635,7 +635,7 @@
     <field name="Pointer to PS Binding Table" start="165" end="191" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_COLOR" bias="2" length="5">
+  <instruction name="3DSTATE_CONSTANT_COLOR" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -647,7 +647,7 @@
     <field name="Blend Constant Color Alpha" start="128" end="159" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -695,7 +695,7 @@
     <field name="Render Target View Extent" start="129" end="137" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4">
+  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -709,7 +709,7 @@
     <field name="Drawing Rectangle Origin X" start="96" end="111" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP" bias="2" length="2">
+  <instruction name="3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -718,7 +718,7 @@
     <field name="Global Depth Offset Clamp" start="32" end="63" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -734,7 +734,7 @@
     <field name="Buffer Ending Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3">
+  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -748,7 +748,7 @@
     <field name="Line Stipple Repeat Count" start="64" end="72" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PIPELINED_POINTERS" bias="2" length="7">
+  <instruction name="3DSTATE_PIPELINED_POINTERS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -764,7 +764,7 @@
     <field name="Pointer to Color Calc State" start="197" end="223" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2">
+  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -774,7 +774,7 @@
     <field name="Polygon Stipple Y Offset" start="32" end="36" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33">
+  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -785,7 +785,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2">
+  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -796,7 +796,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2">
+  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -807,7 +807,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1">
+  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -888,7 +888,7 @@
     <field name="Memory Address" start="66" end="95" type="address"/>
   </instruction>
 
-  <instruction name="PIPE_CONTROL" bias="2" length="4">
+  <instruction name="PIPE_CONTROL" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="2"/>
@@ -911,7 +911,7 @@
     <field name="Immediate Data" start="64" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="PIPELINE_SELECT" bias="1" length="1">
+  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -922,7 +922,7 @@
     </field>
   </instruction>
 
-  <instruction name="STATE_BASE_ADDRESS" bias="2" length="6">
+  <instruction name="STATE_BASE_ADDRESS" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -940,7 +940,7 @@
     <field name="Instruction Access Upper Bound Modify Enable" start="160" end="160" type="bool"/>
   </instruction>
 
-  <instruction name="STATE_SIP" bias="2" length="2">
+  <instruction name="STATE_SIP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
diff --git a/src/intel/genxml/gen45.xml b/src/intel/genxml/gen45.xml
index 4d2c1534d3f..746127cc5fa 100644
--- a/src/intel/genxml/gen45.xml
+++ b/src/intel/genxml/gen45.xml
@@ -619,7 +619,7 @@
     <field name="Global Depth Offset Scale" start="224" end="255" type="float"/>
   </struct>
 
-  <instruction name="3DPRIMITIVE" bias="2" length="6">
+  <instruction name="3DPRIMITIVE" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="3"/>
@@ -638,7 +638,7 @@
     <field name="Base Vertex Location" start="160" end="191" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3">
+  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -650,7 +650,7 @@
     <field name="AA Coverage EndCap Slope" start="64" end="71" type="u0.8"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS" bias="2" length="6">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -663,7 +663,7 @@
     <field name="Pointer to PS Binding Table" start="165" end="191" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_COLOR" bias="2" length="5">
+  <instruction name="3DSTATE_CONSTANT_COLOR" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -675,7 +675,7 @@
     <field name="Blend Constant Color Alpha" start="128" end="159" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="6">
+  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -725,7 +725,7 @@
     <field name="Depth Coordinate Offset X" start="160" end="175" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4">
+  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -739,7 +739,7 @@
     <field name="Drawing Rectangle Origin X" start="96" end="111" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP" bias="2" length="2">
+  <instruction name="3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -748,7 +748,7 @@
     <field name="Global Depth Offset Clamp" start="32" end="63" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -764,7 +764,7 @@
     <field name="Buffer Ending Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3">
+  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -778,7 +778,7 @@
     <field name="Line Stipple Repeat Count" start="64" end="72" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PIPELINED_POINTERS" bias="2" length="7">
+  <instruction name="3DSTATE_PIPELINED_POINTERS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -794,7 +794,7 @@
     <field name="Pointer to Color Calc State" start="197" end="223" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2">
+  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -804,7 +804,7 @@
     <field name="Polygon Stipple Y Offset" start="32" end="36" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33">
+  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -815,7 +815,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2">
+  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -826,7 +826,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2">
+  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -837,7 +837,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1">
+  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -918,7 +918,7 @@
     <field name="Memory Address" start="66" end="95" type="address"/>
   </instruction>
 
-  <instruction name="PIPE_CONTROL" bias="2" length="4">
+  <instruction name="PIPE_CONTROL" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="2"/>
@@ -944,7 +944,7 @@
     <field name="Immediate Data" start="64" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="PIPELINE_SELECT" bias="1" length="1">
+  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -955,7 +955,7 @@
     </field>
   </instruction>
 
-  <instruction name="STATE_BASE_ADDRESS" bias="2" length="6">
+  <instruction name="STATE_BASE_ADDRESS" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -973,7 +973,7 @@
     <field name="Indirect Object Access Upper Bound Modify Enable" start="160" end="160" type="bool"/>
   </instruction>
 
-  <instruction name="STATE_SIP" bias="2" length="2">
+  <instruction name="STATE_SIP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
diff --git a/src/intel/genxml/gen5.xml b/src/intel/genxml/gen5.xml
index 5bb5a2c3312..d04485793e7 100644
--- a/src/intel/genxml/gen5.xml
+++ b/src/intel/genxml/gen5.xml
@@ -441,7 +441,7 @@
     <field name="Y Offset" start="180" end="183" type="uint"/>
   </struct>
 
-  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="6">
+  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="6" engine="render">
     <!-- The hardware docs incorrectly say length is 7. The actual length is 6. -->
     <!-- DWord 0 -->
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
@@ -720,7 +720,7 @@
     <field name="GRF Register Count 3" start="321" end="323" type="uint"/>
   </struct>
 
-  <instruction name="3DPRIMITIVE" bias="2" length="6">
+  <instruction name="3DPRIMITIVE" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="3"/>
@@ -739,7 +739,7 @@
     <field name="Base Vertex Location" start="160" end="191" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3">
+  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -751,7 +751,7 @@
     <field name="AA Coverage EndCap Slope" start="64" end="71" type="u0.8"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS" bias="2" length="6">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -764,7 +764,7 @@
     <field name="Pointer to PS Binding Table" start="165" end="191" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="2">
+  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -774,7 +774,7 @@
     <field name="Depth Clear Value" start="32" end="63" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_COLOR" bias="2" length="5">
+  <instruction name="3DSTATE_CONSTANT_COLOR" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -786,7 +786,7 @@
     <field name="Blend Constant Color Alpha" start="128" end="159" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4">
+  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -800,7 +800,7 @@
     <field name="Drawing Rectangle Origin X" start="96" end="111" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP" bias="2" length="2">
+  <instruction name="3DSTATE_GLOBAL_DEPTH_OFFSET_CLAMP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -809,7 +809,7 @@
     <field name="Global Depth Offset Clamp" start="32" end="63" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -819,7 +819,7 @@
     <field name="Surface Base Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -835,7 +835,7 @@
     <field name="Buffer Ending Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3">
+  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -849,7 +849,7 @@
     <field name="Line Stipple Repeat Count" start="64" end="72" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2">
+  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -859,7 +859,7 @@
     <field name="Polygon Stipple Y Offset" start="32" end="36" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33">
+  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -870,7 +870,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_PIPELINED_POINTERS" bias="2" length="7">
+  <instruction name="3DSTATE_PIPELINED_POINTERS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -886,7 +886,7 @@
     <field name="Pointer to Color Calc State" start="197" end="223" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -896,7 +896,7 @@
     <field name="Surface Base Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2">
+  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -907,7 +907,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2">
+  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -918,7 +918,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1">
+  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1000,7 +1000,7 @@
     <field name="Memory Address" start="66" end="95" type="address"/>
   </instruction>
 
-  <instruction name="PIPE_CONTROL" bias="2" length="4">
+  <instruction name="PIPE_CONTROL" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="2"/>
@@ -1031,7 +1031,7 @@
     <field name="Immediate Data" start="64" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="PIPELINE_SELECT" bias="1" length="1">
+  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1043,7 +1043,7 @@
     </field>
   </instruction>
 
-  <instruction name="STATE_BASE_ADDRESS" bias="2" length="8">
+  <instruction name="STATE_BASE_ADDRESS" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1065,7 +1065,7 @@
     <field name="Instruction Access Upper Bound Modify Enable" start="224" end="224" type="bool"/>
   </instruction>
 i
-  <instruction name="STATE_SIP" bias="2" length="2">
+  <instruction name="STATE_SIP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
diff --git a/src/intel/genxml/gen6.xml b/src/intel/genxml/gen6.xml
index 62d2574d480..934b874d710 100644
--- a/src/intel/genxml/gen6.xml
+++ b/src/intel/genxml/gen6.xml
@@ -494,7 +494,7 @@
     <field name="Non-normalized Coordinate Enable" start="96" end="96" type="bool"/>
   </struct>
 
-  <instruction name="3DPRIMITIVE" bias="2" length="6">
+  <instruction name="3DPRIMITIVE" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="3"/>
@@ -516,7 +516,7 @@
     <field name="Base Vertex Location" start="160" end="191" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3">
+  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -528,7 +528,7 @@
     <field name="AA Coverage EndCap Slope" start="64" end="71" type="u0.8"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS" bias="2" length="4">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -542,7 +542,7 @@
     <field name="Pointer to PS Binding Table" start="101" end="127" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="4">
+  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -556,7 +556,7 @@
     <field name="Color Calc State Pointer Valid" start="96" end="96" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4">
+  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -567,7 +567,7 @@
     <field name="ChromaKey High Value" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="2">
+  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -577,7 +577,7 @@
     <field name="Depth Clear Value" start="32" end="63" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLIP" bias="2" length="4">
+  <instruction name="3DSTATE_CLIP" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -633,7 +633,7 @@
     <field name="Constant Buffer 3 Read Length" start="96" end="100" type="uint"/>
   </struct>
 
-  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="5">
+  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -647,7 +647,7 @@
     <field name="Constant Body" start="32" end="159" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="5">
+  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -661,7 +661,7 @@
     <field name="Constant Body" start="32" end="159" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="5">
+  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -675,7 +675,7 @@
     <field name="Constant Body" start="32" end="159" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="7">
+  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -724,7 +724,7 @@
     <field name="Depth Buffer MOCS" start="219" end="223" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4">
+  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -738,7 +738,7 @@
     <field name="Drawing Rectangle Origin X" start="96" end="111" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_GS" bias="2" length="7">
+  <instruction name="3DSTATE_GS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -786,7 +786,7 @@
     <field name="Enable" start="207" end="207" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_GS_SVB_INDEX" bias="2" length="7">
+  <instruction name="3DSTATE_GS_SVB_INDEX" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -798,7 +798,7 @@
     <field name="Maximum Index" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -810,7 +810,7 @@
     <field name="Surface Base Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -828,7 +828,7 @@
     <field name="Buffer Ending Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3">
+  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -842,7 +842,7 @@
     <field name="Line Stipple Repeat Count" start="64" end="72" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2">
+  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -852,7 +852,7 @@
     <field name="Monochrome Filter Height" start="32" end="34" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="3">
+  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -876,7 +876,7 @@
     <field name="Sample0 Y Offset" start="64" end="67" type="u0.4"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2">
+  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -886,7 +886,7 @@
     <field name="Polygon Stipple Y Offset" start="32" end="36" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33">
+  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -897,7 +897,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -908,7 +908,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -922,7 +922,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS" bias="2" length="4">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -936,7 +936,7 @@
     <field name="Pointer to PS Sampler State" start="101" end="127" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -945,7 +945,7 @@
     <field name="Sample Mask" start="32" end="35" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -954,7 +954,7 @@
     <field name="Scissor Rect Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SF" bias="2" length="20">
+  <instruction name="3DSTATE_SF" bias="2" length="20" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1062,7 +1062,7 @@
     <field name="Attribute 8 WrapShortest Enables" start="608" end="611" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1074,7 +1074,7 @@
     <field name="Surface Base Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB" bias="2" length="3">
+  <instruction name="3DSTATE_URB" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1086,7 +1086,7 @@
     <field name="GS URB Entry Allocation Size" start="64" end="66" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2">
+  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1097,7 +1097,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2">
+  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1108,7 +1108,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1">
+  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1116,7 +1116,7 @@
     <field name="Statistics Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS" bias="2" length="4">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1130,7 +1130,7 @@
     <field name="Pointer to CC_VIEWPORT" start="101" end="127" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VS" bias="2" length="6">
+  <instruction name="3DSTATE_VS" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1164,7 +1164,7 @@
     <field name="Enable" start="160" end="160" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM" bias="2" length="9">
+  <instruction name="3DSTATE_WM" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1257,7 +1257,7 @@
     <field name="Kernel Start Pointer 2" start="262" end="287" type="offset"/>
   </instruction>
 
-  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1278,7 +1278,7 @@
     <field name="Barrier.ThreadCount" start="32" end="39" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1288,7 +1288,7 @@
     <field name="Interface Descriptor Data Start Address" start="96" end="127" type="offset"/>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT" bias="2">
+  <instruction name="MEDIA_OBJECT" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1315,7 +1315,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16">
+  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1333,7 +1333,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_WALKER" bias="2">
+  <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1383,7 +1383,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2">
+  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1396,7 +1396,7 @@
     </field>
   </instruction>
 
-  <instruction name="MEDIA_VFE_STATE" bias="2" length="8">
+  <instruction name="MEDIA_VFE_STATE" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1642,7 +1642,7 @@
     <field name="Display Pipe A Scan Line Wait Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="PIPELINE_SELECT" bias="1" length="1">
+  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1653,7 +1653,7 @@
     </field>
   </instruction>
 
-  <instruction name="PIPE_CONTROL" bias="2" length="5">
+  <instruction name="PIPE_CONTROL" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="2"/>
@@ -1689,7 +1689,7 @@
     <field name="Immediate Data" start="96" end="159" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_BASE_ADDRESS" bias="2" length="10">
+  <instruction name="STATE_BASE_ADDRESS" bias="2" length="10" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1728,7 +1728,7 @@
     <field name="Instruction Access Upper Bound Modify Enable" start="288" end="288" type="bool"/>
   </instruction>
 
-  <instruction name="STATE_PREFETCH" bias="2" length="2">
+  <instruction name="STATE_PREFETCH" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1738,7 +1738,7 @@
     <field name="Prefetch Count" start="32" end="34" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_SIP" bias="2" length="2">
+  <instruction name="STATE_SIP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
diff --git a/src/intel/genxml/gen7.xml b/src/intel/genxml/gen7.xml
index 6dde7973e69..e41e85a3546 100644
--- a/src/intel/genxml/gen7.xml
+++ b/src/intel/genxml/gen7.xml
@@ -568,7 +568,7 @@
     <field name="TCZ Address Control Mode" start="96" end="98" type="Texture Coordinate Mode"/>
   </struct>
 
-  <instruction name="3DPRIMITIVE" bias="2" length="7">
+  <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="3"/>
@@ -589,7 +589,7 @@
     <field name="Base Vertex Location" start="192" end="223" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3">
+  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -601,7 +601,7 @@
     <field name="AA Coverage EndCap Slope" start="64" end="71" type="u0.8"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -610,7 +610,7 @@
     <field name="Pointer to DS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -619,7 +619,7 @@
     <field name="Pointer to GS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -628,7 +628,7 @@
     <field name="Pointer to HS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -637,7 +637,7 @@
     <field name="Pointer to PS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -646,7 +646,7 @@
     <field name="Pointer to VS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -656,7 +656,7 @@
     <field start="32" end="32" type="mbo"/>
   </instruction>
 
-  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -666,7 +666,7 @@
     <field start="32" end="32" type="mbo"/>
   </instruction>
 
-  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4">
+  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -677,7 +677,7 @@
     <field name="ChromaKey High Value" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3">
+  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -687,7 +687,7 @@
     <field name="Depth Clear Value Valid" start="64" end="64" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLIP" bias="2" length="4">
+  <instruction name="3DSTATE_CLIP" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -740,7 +740,7 @@
     <field name="Maximum VP Index" start="96" end="99" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="7">
+  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -749,7 +749,7 @@
     <field name="Constant Body" start="32" end="223" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="7">
+  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -758,7 +758,7 @@
     <field name="Constant Body" start="32" end="223" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="7">
+  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -767,7 +767,7 @@
     <field name="Constant Body" start="32" end="223" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="7">
+  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -776,7 +776,7 @@
     <field name="Constant Body" start="32" end="223" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="7">
+  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -785,7 +785,7 @@
     <field name="Constant Body" start="32" end="223" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="7">
+  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -822,7 +822,7 @@
     <field name="Render Target View Extent" start="213" end="223" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_DEPTH_STENCIL_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_DEPTH_STENCIL_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -832,7 +832,7 @@
     <field start="32" end="32" type="mbo"/>
   </instruction>
 
-  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4">
+  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -846,7 +846,7 @@
     <field name="Drawing Rectangle Origin X" start="96" end="111" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_DS" bias="2" length="6">
+  <instruction name="3DSTATE_DS" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -881,7 +881,7 @@
     <field name="Enable" start="160" end="160" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_GS" bias="2" length="7">
+  <instruction name="3DSTATE_GS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -943,7 +943,7 @@
     <field name="Semaphore Handle" start="192" end="203" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -955,7 +955,7 @@
     <field name="Surface Base Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_HS" bias="2" length="7">
+  <instruction name="3DSTATE_HS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -991,7 +991,7 @@
     <field name="Semaphore Handle" start="192" end="203" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1009,7 +1009,7 @@
     <field name="Buffer Ending Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3">
+  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1023,7 +1023,7 @@
     <field name="Line Stipple Repeat Count" start="64" end="72" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2">
+  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1033,7 +1033,7 @@
     <field name="Monochrome Filter Height" start="32" end="34" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="4">
+  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1066,7 +1066,7 @@
     <field name="Sample4 Y Offset" start="96" end="99" type="u0.4"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2">
+  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1076,7 +1076,7 @@
     <field name="Polygon Stipple Y Offset" start="32" end="36" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33">
+  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1087,7 +1087,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_PS" bias="2" length="8">
+  <instruction name="3DSTATE_PS" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1139,7 +1139,7 @@
     <field name="Kernel Start Pointer 2" start="230" end="255" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1153,7 +1153,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1167,7 +1167,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1181,7 +1181,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1195,7 +1195,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1209,7 +1209,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1220,7 +1220,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1234,7 +1234,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1243,7 +1243,7 @@
     <field name="Pointer to DS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1252,7 +1252,7 @@
     <field name="Pointer to GS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1261,7 +1261,7 @@
     <field name="Pointer to HS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1270,7 +1270,7 @@
     <field name="Pointer to PS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1279,7 +1279,7 @@
     <field name="Pointer to VS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1288,7 +1288,7 @@
     <field name="Sample Mask" start="32" end="39" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SBE" bias="2" length="14">
+  <instruction name="3DSTATE_SBE" bias="2" length="14" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1329,7 +1329,7 @@
     <field name="Attribute 8 WrapShortest Enables" start="416" end="419" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1338,7 +1338,7 @@
     <field name="Scissor Rect Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SF" bias="2" length="7">
+  <instruction name="3DSTATE_SF" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1415,7 +1415,7 @@
     <field name="Global Depth Offset Clamp" start="192" end="223" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="4">
+  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1429,7 +1429,7 @@
     <field name="Surface End Address" start="98" end="127" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_SO_DECL_LIST" bias="2">
+  <instruction name="3DSTATE_SO_DECL_LIST" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1448,7 +1448,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1460,7 +1460,7 @@
     <field name="Surface Base Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_STREAMOUT" bias="2" length="3">
+  <instruction name="3DSTATE_STREAMOUT" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1488,7 +1488,7 @@
     <field name="Stream 0 Vertex Read Length" start="64" end="68" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_TE" bias="2" length="4">
+  <instruction name="3DSTATE_TE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1519,7 +1519,7 @@
     <field name="Maximum Tessellation Factor Not Odd" start="96" end="127" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_DS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1530,7 +1530,7 @@
     <field name="DS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_GS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1541,7 +1541,7 @@
     <field name="GS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_HS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1552,7 +1552,7 @@
     <field name="HS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_VS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1563,7 +1563,7 @@
     <field name="VS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2">
+  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1574,7 +1574,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2">
+  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1585,7 +1585,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1">
+  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1593,7 +1593,7 @@
     <field name="Statistics Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1602,7 +1602,7 @@
     <field name="CC Viewport Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1611,7 +1611,7 @@
     <field name="SF Clip Viewport Pointer" start="38" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VS" bias="2" length="6">
+  <instruction name="3DSTATE_VS" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1645,7 +1645,7 @@
     <field name="Enable" start="160" end="160" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM" bias="2" length="3">
+  <instruction name="3DSTATE_WM" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1710,7 +1710,7 @@
     </field>
   </instruction>
 
-  <instruction name="GPGPU_OBJECT" bias="2" length="8">
+  <instruction name="GPGPU_OBJECT" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1734,7 +1734,7 @@
     <field name="Execution Mask" start="224" end="255" type="uint"/>
   </instruction>
 
-  <instruction name="GPGPU_WALKER" bias="2" length="11">
+  <instruction name="GPGPU_WALKER" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1761,7 +1761,7 @@
     <field name="Bottom Execution Mask" start="320" end="351" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1771,7 +1771,7 @@
     <field name="CURBE Data Start Address" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1781,7 +1781,7 @@
     <field name="Interface Descriptor Data Start Address" start="96" end="127" type="offset"/>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT" bias="2">
+  <instruction name="MEDIA_OBJECT" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1813,7 +1813,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16">
+  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1831,7 +1831,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_WALKER" bias="2">
+  <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1881,7 +1881,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2">
+  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1891,7 +1891,7 @@
     <field name="Interface Descriptor Offset" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_VFE_STATE" bias="2" length="8">
+  <instruction name="MEDIA_VFE_STATE" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2177,7 +2177,7 @@
     <field name="Display Pipe A Scan Line Wait Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="PIPELINE_SELECT" bias="1" length="1">
+  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2189,7 +2189,7 @@
     </field>
   </instruction>
 
-  <instruction name="PIPE_CONTROL" bias="2" length="5">
+  <instruction name="PIPE_CONTROL" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="2"/>
@@ -2231,7 +2231,7 @@
     <field name="Immediate Data" start="96" end="159" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_BASE_ADDRESS" bias="2" length="10">
+  <instruction name="STATE_BASE_ADDRESS" bias="2" length="10" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2264,7 +2264,7 @@
     <field name="Instruction Access Upper Bound Modify Enable" start="288" end="288" type="bool"/>
   </instruction>
 
-  <instruction name="STATE_PREFETCH" bias="2" length="2">
+  <instruction name="STATE_PREFETCH" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2274,7 +2274,7 @@
     <field name="Prefetch Count" start="32" end="34" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_SIP" bias="2" length="2">
+  <instruction name="STATE_SIP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
diff --git a/src/intel/genxml/gen75.xml b/src/intel/genxml/gen75.xml
index dfc3d891498..6a41840969f 100644
--- a/src/intel/genxml/gen75.xml
+++ b/src/intel/genxml/gen75.xml
@@ -654,7 +654,7 @@
     </field>
   </struct>
 
-  <instruction name="3DPRIMITIVE" bias="2" length="7">
+  <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="3"/>
@@ -676,7 +676,7 @@
     <field name="Base Vertex Location" start="192" end="223" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3">
+  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -688,7 +688,7 @@
     <field name="AA Coverage EndCap Slope" start="64" end="71" type="u0.8"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_DS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_DS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -705,7 +705,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_GS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_GS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -722,7 +722,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_HS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_HS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -739,7 +739,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_PS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_PS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -756,7 +756,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_VS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_VS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -773,7 +773,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -782,7 +782,7 @@
     <field name="Pointer to DS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -791,7 +791,7 @@
     <field name="Pointer to GS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -800,7 +800,7 @@
     <field name="Pointer to HS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -809,7 +809,7 @@
     <field name="Pointer to PS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -818,7 +818,7 @@
     <field name="Pointer to VS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="3">
+  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -830,7 +830,7 @@
     <field name="Binding Table Pool Upper Bound" start="76" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -840,7 +840,7 @@
     <field start="32" end="32" type="mbo"/>
   </instruction>
 
-  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -850,7 +850,7 @@
     <field start="32" end="32" type="mbo"/>
   </instruction>
 
-  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4">
+  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -861,7 +861,7 @@
     <field name="ChromaKey High Value" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3">
+  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -871,7 +871,7 @@
     <field name="Depth Clear Value Valid" start="64" end="64" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLIP" bias="2" length="4">
+  <instruction name="3DSTATE_CLIP" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -924,7 +924,7 @@
     <field name="Maximum VP Index" start="96" end="99" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="7">
+  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -933,7 +933,7 @@
     <field name="Constant Body" start="32" end="223" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="7">
+  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -942,7 +942,7 @@
     <field name="Constant Body" start="32" end="223" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="7">
+  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -951,7 +951,7 @@
     <field name="Constant Body" start="32" end="223" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="7">
+  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -960,7 +960,7 @@
     <field name="Constant Body" start="32" end="223" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="7">
+  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -969,7 +969,7 @@
     <field name="Constant Body" start="32" end="223" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="7">
+  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1006,7 +1006,7 @@
     <field name="Render Target View Extent" start="213" end="223" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_DEPTH_STENCIL_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_DEPTH_STENCIL_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1016,7 +1016,7 @@
     <field start="32" end="32" type="mbo"/>
   </instruction>
 
-  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4">
+  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1035,7 +1035,7 @@
     <field name="Drawing Rectangle Origin X" start="96" end="111" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_DS" bias="2" length="6">
+  <instruction name="3DSTATE_DS" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1074,7 +1074,7 @@
     <field name="Enable" start="160" end="160" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1089,7 +1089,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1104,7 +1104,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1119,7 +1119,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1135,7 +1135,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1151,7 +1151,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="3">
+  <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1164,7 +1164,7 @@
     <field name="Gather Pool Upper Bound" start="76" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_GS" bias="2" length="7">
+  <instruction name="3DSTATE_GS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1227,7 +1227,7 @@
     <field name="Semaphore Handle" start="192" end="204" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1239,7 +1239,7 @@
     <field name="Surface Base Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_HS" bias="2" length="7">
+  <instruction name="3DSTATE_HS" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1279,7 +1279,7 @@
     <field name="Semaphore Handle" start="192" end="204" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1296,7 +1296,7 @@
     <field name="Buffer Ending Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3">
+  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1310,7 +1310,7 @@
     <field name="Line Stipple Repeat Count" start="64" end="72" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2">
+  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1320,7 +1320,7 @@
     <field name="Monochrome Filter Height" start="32" end="34" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="4">
+  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1354,7 +1354,7 @@
     <field name="Sample4 Y Offset" start="96" end="99" type="u0.4"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2">
+  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1364,7 +1364,7 @@
     <field name="Polygon Stipple Y Offset" start="32" end="36" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33">
+  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1375,7 +1375,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_PS" bias="2" length="8">
+  <instruction name="3DSTATE_PS" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1432,7 +1432,7 @@
     <field name="Kernel Start Pointer 2" start="230" end="255" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1442,7 +1442,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1452,7 +1452,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1462,7 +1462,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1472,7 +1472,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1482,7 +1482,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_RAST_MULTISAMPLE" bias="2" length="6">
+  <instruction name="3DSTATE_RAST_MULTISAMPLE" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1529,7 +1529,7 @@
     <field name="Sample12 Y Offset" start="160" end="163" type="u0.4"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1540,7 +1540,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1554,7 +1554,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1563,7 +1563,7 @@
     <field name="Pointer to DS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1572,7 +1572,7 @@
     <field name="Pointer to GS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1581,7 +1581,7 @@
     <field name="Pointer to HS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1590,7 +1590,7 @@
     <field name="Pointer to PS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1599,7 +1599,7 @@
     <field name="Pointer to VS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1608,7 +1608,7 @@
     <field name="Sample Mask" start="32" end="39" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SBE" bias="2" length="14">
+  <instruction name="3DSTATE_SBE" bias="2" length="14" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1646,7 +1646,7 @@
     <field name="Attribute 8 WrapShortest Enables" start="416" end="419" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1655,7 +1655,7 @@
     <field name="Scissor Rect Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SF" bias="2" length="7">
+  <instruction name="3DSTATE_SF" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1729,7 +1729,7 @@
     <field name="Global Depth Offset Clamp" start="192" end="223" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="4">
+  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1743,7 +1743,7 @@
     <field name="Surface End Address" start="98" end="127" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_SO_DECL_LIST" bias="2">
+  <instruction name="3DSTATE_SO_DECL_LIST" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1762,7 +1762,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="3">
+  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1775,7 +1775,7 @@
     <field name="Surface Base Address" start="64" end="95" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_STREAMOUT" bias="2" length="3">
+  <instruction name="3DSTATE_STREAMOUT" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1803,7 +1803,7 @@
     <field name="Stream 0 Vertex Read Length" start="64" end="68" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_TE" bias="2" length="4">
+  <instruction name="3DSTATE_TE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1834,7 +1834,7 @@
     <field name="Maximum Tessellation Factor Not Odd" start="96" end="127" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_DS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1845,7 +1845,7 @@
     <field name="DS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_GS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1856,7 +1856,7 @@
     <field name="GS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_HS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1867,7 +1867,7 @@
     <field name="HS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_VS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1878,7 +1878,7 @@
     <field name="VS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2">
+  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1889,7 +1889,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2">
+  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1900,7 +1900,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VF" bias="2" length="2">
+  <instruction name="3DSTATE_VF" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1910,7 +1910,7 @@
     <field name="Cut Index" start="32" end="63" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1">
+  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1918,7 +1918,7 @@
     <field name="Statistics Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1927,7 +1927,7 @@
     <field name="CC Viewport Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1936,7 +1936,7 @@
     <field name="SF Clip Viewport Pointer" start="38" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VS" bias="2" length="6">
+  <instruction name="3DSTATE_VS" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1975,7 +1975,7 @@
     <field name="Enable" start="160" end="160" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM" bias="2" length="3">
+  <instruction name="3DSTATE_WM" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2045,7 +2045,7 @@
     </field>
   </instruction>
 
-  <instruction name="GPGPU_CSR_BASE_ADDRESS" bias="2" length="2">
+  <instruction name="GPGPU_CSR_BASE_ADDRESS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2054,7 +2054,7 @@
     <field name="GPGPU CSR Base Address" start="44" end="63" type="address"/>
   </instruction>
 
-  <instruction name="GPGPU_OBJECT" bias="2" length="8">
+  <instruction name="GPGPU_OBJECT" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2082,7 +2082,7 @@
     <field name="Execution Mask" start="224" end="255" type="uint"/>
   </instruction>
 
-  <instruction name="GPGPU_WALKER" bias="2" length="11">
+  <instruction name="GPGPU_WALKER" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2109,7 +2109,7 @@
     <field name="Bottom Execution Mask" start="320" end="351" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2119,7 +2119,7 @@
     <field name="CURBE Data Start Address" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2129,7 +2129,7 @@
     <field name="Interface Descriptor Data Start Address" start="96" end="127" type="offset"/>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT" bias="2">
+  <instruction name="MEDIA_OBJECT" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2166,7 +2166,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16">
+  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2184,7 +2184,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_WALKER" bias="2">
+  <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2233,7 +2233,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2">
+  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2245,7 +2245,7 @@
     <field name="Interface Descriptor Offset" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_VFE_STATE" bias="2" length="8">
+  <instruction name="MEDIA_VFE_STATE" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2641,7 +2641,7 @@
     <field name="Display Pipe A Scan Line Wait Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="PIPELINE_SELECT" bias="1" length="1">
+  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2653,7 +2653,7 @@
     </field>
   </instruction>
 
-  <instruction name="PIPE_CONTROL" bias="2" length="5">
+  <instruction name="PIPE_CONTROL" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="2"/>
@@ -2695,7 +2695,7 @@
     <field name="Immediate Data" start="96" end="159" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_BASE_ADDRESS" bias="2" length="10">
+  <instruction name="STATE_BASE_ADDRESS" bias="2" length="10" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2727,7 +2727,7 @@
     <field name="Instruction Access Upper Bound Modify Enable" start="288" end="288" type="bool"/>
   </instruction>
 
-  <instruction name="STATE_PREFETCH" bias="2" length="2">
+  <instruction name="STATE_PREFETCH" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2737,7 +2737,7 @@
     <field name="Prefetch Count" start="32" end="34" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_SIP" bias="2" length="2">
+  <instruction name="STATE_SIP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
diff --git a/src/intel/genxml/gen8.xml b/src/intel/genxml/gen8.xml
index d42c63aabd8..8955f4f8d22 100644
--- a/src/intel/genxml/gen8.xml
+++ b/src/intel/genxml/gen8.xml
@@ -718,7 +718,7 @@
     </field>
   </struct>
 
-  <instruction name="3DPRIMITIVE" bias="2" length="7">
+  <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="3"/>
@@ -740,7 +740,7 @@
     <field name="Base Vertex Location" start="192" end="223" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3">
+  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -756,7 +756,7 @@
     <field name="AA Coverage EndCap Slope" start="64" end="71" type="u0.8"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_DS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_DS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -773,7 +773,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_GS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_GS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -790,7 +790,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_HS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_HS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -807,7 +807,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_PS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_PS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -824,7 +824,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_VS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_VS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -841,7 +841,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -850,7 +850,7 @@
     <field name="Pointer to DS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -859,7 +859,7 @@
     <field name="Pointer to GS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -868,7 +868,7 @@
     <field name="Pointer to HS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -877,7 +877,7 @@
     <field name="Pointer to PS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -886,7 +886,7 @@
     <field name="Pointer to VS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4">
+  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -900,7 +900,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -910,7 +910,7 @@
     <field name="Blend State Pointer Valid" start="32" end="32" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -920,7 +920,7 @@
     <field name="Color Calc State Pointer Valid" start="32" end="32" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4">
+  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -931,7 +931,7 @@
     <field name="ChromaKey High Value" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3">
+  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -941,7 +941,7 @@
     <field name="Depth Clear Value Valid" start="64" end="64" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLIP" bias="2" length="4">
+  <instruction name="3DSTATE_CLIP" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -981,7 +981,7 @@
     <field name="Maximum VP Index" start="96" end="99" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -991,7 +991,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1001,7 +1001,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1011,7 +1011,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1021,7 +1021,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1031,7 +1031,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8">
+  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1065,7 +1065,7 @@
     <field name="Surface QPitch" start="224" end="238" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4">
+  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1084,7 +1084,7 @@
     <field name="Drawing Rectangle Origin X" start="96" end="111" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_DS" bias="2" length="9">
+  <instruction name="3DSTATE_DS" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1131,7 +1131,7 @@
     <field name="User Clip Distance Cull Test Enable Bitmask" start="256" end="263" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1147,7 +1147,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1163,7 +1163,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1179,7 +1179,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1196,7 +1196,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1213,7 +1213,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="4">
+  <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1225,7 +1225,7 @@
     <field name="Gather Pool Buffer Size" start="108" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_GS" bias="2" length="10">
+  <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1293,7 +1293,7 @@
     <field name="User Clip Distance Cull Test Enable Bitmask" start="288" end="295" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1306,7 +1306,7 @@
     <field name="Surface QPitch" start="128" end="142" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_HS" bias="2" length="9">
+  <instruction name="3DSTATE_HS" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1345,7 +1345,7 @@
     <field name="Vertex URB Entry Read Offset" start="228" end="233" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1362,7 +1362,7 @@
     <field name="Buffer Size" start="128" end="159" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3">
+  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1376,7 +1376,7 @@
     <field name="Line Stipple Repeat Count" start="64" end="72" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2">
+  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1386,7 +1386,7 @@
     <field name="Monochrome Filter Height" start="32" end="34" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="2">
+  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1400,7 +1400,7 @@
     <field name="Number of Multisamples" start="33" end="35" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2">
+  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1410,7 +1410,7 @@
     <field name="Polygon Stipple Y Offset" start="32" end="36" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33">
+  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1421,7 +1421,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_PS" bias="2" length="12">
+  <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1479,7 +1479,7 @@
     <field name="Kernel Start Pointer 2" start="326" end="383" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_PS_BLEND" bias="2" length="2">
+  <instruction name="3DSTATE_PS_BLEND" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1496,7 +1496,7 @@
     <field name="Independent Alpha Blend Enable" start="39" end="39" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2">
+  <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1522,7 +1522,7 @@
     <field name="Pixel Shader Uses Input Coverage Mask" start="33" end="33" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1532,7 +1532,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1542,7 +1542,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1552,7 +1552,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1562,7 +1562,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1572,7 +1572,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_RASTER" bias="2" length="5">
+  <instruction name="3DSTATE_RASTER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1631,7 +1631,7 @@
     <field name="Global Depth Offset Clamp" start="128" end="159" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1642,7 +1642,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1656,7 +1656,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1665,7 +1665,7 @@
     <field name="Pointer to DS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1674,7 +1674,7 @@
     <field name="Pointer to GS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1683,7 +1683,7 @@
     <field name="Pointer to HS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1692,7 +1692,7 @@
     <field name="Pointer to PS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1701,7 +1701,7 @@
     <field name="Pointer to VS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1710,7 +1710,7 @@
     <field name="Sample Mask" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLE_PATTERN" bias="2" length="9">
+  <instruction name="3DSTATE_SAMPLE_PATTERN" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1748,7 +1748,7 @@
     <field name="2x Sample0 Y Offset" start="256" end="259" type="u0.4"/>
   </instruction>
 
-  <instruction name="3DSTATE_SBE" bias="2" length="4">
+  <instruction name="3DSTATE_SBE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1773,7 +1773,7 @@
     <field name="Constant Interpolation Enable" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SBE_SWIZ" bias="2" length="11">
+  <instruction name="3DSTATE_SBE_SWIZ" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1787,7 +1787,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1796,7 +1796,7 @@
     <field name="Scissor Rect Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SF" bias="2" length="4">
+  <instruction name="3DSTATE_SF" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1829,7 +1829,7 @@
     <field name="Point Width" start="96" end="106" type="u8.3"/>
   </instruction>
 
-  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="8">
+  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1847,7 +1847,7 @@
     <field name="Stream Offset" start="224" end="255" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SO_DECL_LIST" bias="2">
+  <instruction name="3DSTATE_SO_DECL_LIST" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1866,7 +1866,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1880,7 +1880,7 @@
     <field name="Surface QPitch" start="128" end="142" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_STREAMOUT" bias="2" length="5">
+  <instruction name="3DSTATE_STREAMOUT" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1913,7 +1913,7 @@
     <field name="Buffer 2 Surface Pitch" start="128" end="139" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_TE" bias="2" length="4">
+  <instruction name="3DSTATE_TE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1944,7 +1944,7 @@
     <field name="Maximum Tessellation Factor Not Odd" start="96" end="127" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_DS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1955,7 +1955,7 @@
     <field name="DS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_GS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1966,7 +1966,7 @@
     <field name="GS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_HS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1977,7 +1977,7 @@
     <field name="HS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_VS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1988,7 +1988,7 @@
     <field name="VS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2">
+  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1999,7 +1999,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2">
+  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2010,7 +2010,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VF" bias="2" length="2">
+  <instruction name="3DSTATE_VF" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2020,7 +2020,7 @@
     <field name="Cut Index" start="32" end="63" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_INSTANCING" bias="2" length="3">
+  <instruction name="3DSTATE_VF_INSTANCING" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2031,7 +2031,7 @@
     <field name="Instance Data Step Rate" start="64" end="95" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_SGVS" bias="2" length="2">
+  <instruction name="3DSTATE_VF_SGVS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2055,7 +2055,7 @@
     <field name="VertexID Element Offset" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1">
+  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2063,7 +2063,7 @@
     <field name="Statistics Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_TOPOLOGY" bias="2" length="2">
+  <instruction name="3DSTATE_VF_TOPOLOGY" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2072,7 +2072,7 @@
     <field name="Primitive Topology Type" start="32" end="37" type="3D_Prim_Topo_Type"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2081,7 +2081,7 @@
     <field name="CC Viewport Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2090,7 +2090,7 @@
     <field name="SF Clip Viewport Pointer" start="38" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VS" bias="2" length="9">
+  <instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2133,7 +2133,7 @@
     <field name="User Clip Distance Cull Test Enable Bitmask" start="256" end="263" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM" bias="2" length="2">
+  <instruction name="3DSTATE_WM" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2190,7 +2190,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_WM_CHROMAKEY" bias="2" length="2">
+  <instruction name="3DSTATE_WM_CHROMAKEY" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2199,7 +2199,7 @@
     <field name="ChromaKey Kill Enable" start="63" end="63" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM_DEPTH_STENCIL" bias="2" length="3">
+  <instruction name="3DSTATE_WM_DEPTH_STENCIL" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2225,7 +2225,7 @@
     <field name="Backface Stencil Write Mask" start="64" end="71" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="5">
+  <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2247,7 +2247,7 @@
     <field name="Sample Mask" start="128" end="143" type="uint"/>
   </instruction>
 
-  <instruction name="GPGPU_CSR_BASE_ADDRESS" bias="2" length="3">
+  <instruction name="GPGPU_CSR_BASE_ADDRESS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2256,7 +2256,7 @@
     <field name="GPGPU CSR Base Address" start="44" end="95" type="address"/>
   </instruction>
 
-  <instruction name="GPGPU_WALKER" bias="2" length="15">
+  <instruction name="GPGPU_WALKER" bias="2" length="15" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2285,7 +2285,7 @@
     <field name="Bottom Execution Mask" start="448" end="479" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2295,7 +2295,7 @@
     <field name="CURBE Data Start Address" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2305,7 +2305,7 @@
     <field name="Interface Descriptor Data Start Address" start="96" end="127" type="offset"/>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT" bias="2">
+  <instruction name="MEDIA_OBJECT" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2343,7 +2343,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_GRPID" bias="2">
+  <instruction name="MEDIA_OBJECT_GRPID" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2378,7 +2378,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16">
+  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2396,7 +2396,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_WALKER" bias="2">
+  <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2443,7 +2443,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2">
+  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2454,7 +2454,7 @@
     <field name="Interface Descriptor Offset" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_VFE_STATE" bias="2" length="9">
+  <instruction name="MEDIA_VFE_STATE" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2901,7 +2901,7 @@
     <field name="Display Pipe A Scan Line Wait Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="PIPELINE_SELECT" bias="1" length="1">
+  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2913,7 +2913,7 @@
     </field>
   </instruction>
 
-  <instruction name="PIPE_CONTROL" bias="2" length="6">
+  <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="2"/>
@@ -2955,7 +2955,7 @@
     <field name="Immediate Data" start="128" end="191" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_BASE_ADDRESS" bias="2" length="16">
+  <instruction name="STATE_BASE_ADDRESS" bias="2" length="16" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2987,7 +2987,7 @@
     <field name="Instruction Buffer size Modify Enable" start="480" end="480" type="bool"/>
   </instruction>
 
-  <instruction name="STATE_PREFETCH" bias="2" length="2">
+  <instruction name="STATE_PREFETCH" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2997,7 +2997,7 @@
     <field name="Prefetch Count" start="32" end="34" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_SIP" bias="2" length="3">
+  <instruction name="STATE_SIP" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
diff --git a/src/intel/genxml/gen9.xml b/src/intel/genxml/gen9.xml
index ca268254503..25b5ac2b722 100644
--- a/src/intel/genxml/gen9.xml
+++ b/src/intel/genxml/gen9.xml
@@ -776,7 +776,7 @@
     </field>
   </struct>
 
-  <instruction name="3DPRIMITIVE" bias="2" length="7">
+  <instruction name="3DPRIMITIVE" bias="2" length="7" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="3"/>
@@ -798,7 +798,7 @@
     <field name="Base Vertex Location" start="192" end="223" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3">
+  <instruction name="3DSTATE_AA_LINE_PARAMETERS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -814,7 +814,7 @@
     <field name="AA Coverage EndCap Slope" start="64" end="71" type="u0.8"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_DS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_DS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -831,7 +831,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_GS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_GS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -848,7 +848,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_HS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_HS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -865,7 +865,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_PS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_PS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -882,7 +882,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_EDIT_VS" bias="2">
+  <instruction name="3DSTATE_BINDING_TABLE_EDIT_VS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -899,7 +899,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -908,7 +908,7 @@
     <field name="Pointer to DS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -917,7 +917,7 @@
     <field name="Pointer to GS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -926,7 +926,7 @@
     <field name="Pointer to HS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -935,7 +935,7 @@
     <field name="Pointer to PS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2">
+  <instruction name="3DSTATE_BINDING_TABLE_POINTERS_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -944,7 +944,7 @@
     <field name="Pointer to VS Binding Table" start="37" end="47" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4">
+  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -958,7 +958,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_BLEND_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -968,7 +968,7 @@
     <field name="Blend State Pointer Valid" start="32" end="32" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_CC_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -978,7 +978,7 @@
     <field name="Color Calc State Pointer Valid" start="32" end="32" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4">
+  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -989,7 +989,7 @@
     <field name="ChromaKey High Value" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3">
+  <instruction name="3DSTATE_CLEAR_PARAMS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -999,7 +999,7 @@
     <field name="Depth Clear Value Valid" start="64" end="64" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_CLIP" bias="2" length="4">
+  <instruction name="3DSTATE_CLIP" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1039,7 +1039,7 @@
     <field name="Maximum VP Index" start="96" end="99" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_DS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1049,7 +1049,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_GS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1059,7 +1059,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_HS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1069,7 +1069,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_PS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1079,7 +1079,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="11">
+  <instruction name="3DSTATE_CONSTANT_VS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1089,7 +1089,7 @@
     <field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
   </instruction>
 
-  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8">
+  <instruction name="3DSTATE_DEPTH_BUFFER" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1127,7 +1127,7 @@
     <field name="Surface QPitch" start="224" end="238" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4">
+  <instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1146,7 +1146,7 @@
     <field name="Drawing Rectangle Origin X" start="96" end="111" type="int"/>
   </instruction>
 
-  <instruction name="3DSTATE_DS" bias="2" length="11">
+  <instruction name="3DSTATE_DS" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1194,7 +1194,7 @@
     <field name="DUAL_PATCH Kernel Start Pointer" start="294" end="351" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_DS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1218,7 +1218,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_GS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1242,7 +1242,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_HS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1266,7 +1266,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_PS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1292,7 +1292,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2">
+  <instruction name="3DSTATE_GATHER_CONSTANT_VS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1318,7 +1318,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="4">
+  <instruction name="3DSTATE_GATHER_POOL_ALLOC" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1330,7 +1330,7 @@
     <field name="Gather Pool Buffer Size" start="108" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_GS" bias="2" length="10">
+  <instruction name="3DSTATE_GS" bias="2" length="10" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1399,7 +1399,7 @@
     <field name="User Clip Distance Cull Test Enable Bitmask" start="288" end="295" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_HIER_DEPTH_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1412,7 +1412,7 @@
     <field name="Surface QPitch" start="128" end="142" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_HS" bias="2" length="9">
+  <instruction name="3DSTATE_HS" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1458,7 +1458,7 @@
     <field name="Include Primitive ID" start="224" end="224" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_INDEX_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1475,7 +1475,7 @@
     <field name="Buffer Size" start="128" end="159" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3">
+  <instruction name="3DSTATE_LINE_STIPPLE" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1489,7 +1489,7 @@
     <field name="Line Stipple Repeat Count" start="64" end="72" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2">
+  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1499,7 +1499,7 @@
     <field name="Monochrome Filter Height" start="32" end="34" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="2">
+  <instruction name="3DSTATE_MULTISAMPLE" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1513,7 +1513,7 @@
     <field name="Number of Multisamples" start="33" end="35" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2">
+  <instruction name="3DSTATE_POLY_STIPPLE_OFFSET" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1523,7 +1523,7 @@
     <field name="Polygon Stipple Y Offset" start="32" end="36" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33">
+  <instruction name="3DSTATE_POLY_STIPPLE_PATTERN" bias="2" length="33" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1534,7 +1534,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_PS" bias="2" length="12">
+  <instruction name="3DSTATE_PS" bias="2" length="12" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1596,7 +1596,7 @@
     <field name="Kernel Start Pointer 2" start="326" end="383" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_PS_BLEND" bias="2" length="2">
+  <instruction name="3DSTATE_PS_BLEND" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1613,7 +1613,7 @@
     <field name="Independent Alpha Blend Enable" start="39" end="39" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2">
+  <instruction name="3DSTATE_PS_EXTRA" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1646,7 +1646,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1656,7 +1656,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1666,7 +1666,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1676,7 +1676,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1686,7 +1686,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2">
+  <instruction name="3DSTATE_PUSH_CONSTANT_ALLOC_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1696,7 +1696,7 @@
     <field name="Constant Buffer Size" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_RASTER" bias="2" length="5">
+  <instruction name="3DSTATE_RASTER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1757,7 +1757,7 @@
     <field name="Global Depth Offset Clamp" start="128" end="159" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_RS_CONSTANT_POINTER" bias="2" length="4">
+  <instruction name="3DSTATE_RS_CONSTANT_POINTER" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1775,7 +1775,7 @@
     <field name="Global Constant Buffer Address High" start="96" end="127" type="address"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD0" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1786,7 +1786,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2">
+  <instruction name="3DSTATE_SAMPLER_PALETTE_LOAD1" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1800,7 +1800,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1809,7 +1809,7 @@
     <field name="Pointer to DS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1818,7 +1818,7 @@
     <field name="Pointer to GS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1827,7 +1827,7 @@
     <field name="Pointer to HS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_PS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1836,7 +1836,7 @@
     <field name="Pointer to PS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLER_STATE_POINTERS_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1845,7 +1845,7 @@
     <field name="Pointer to VS Sampler State" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2">
+  <instruction name="3DSTATE_SAMPLE_MASK" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1854,7 +1854,7 @@
     <field name="Sample Mask" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SAMPLE_PATTERN" bias="2" length="9">
+  <instruction name="3DSTATE_SAMPLE_PATTERN" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -1924,7 +1924,7 @@
     <field name="2x Sample0 Y Offset" start="256" end="259" type="u0.4"/>
   </instruction>
 
-  <instruction name="3DSTATE_SBE" bias="2" length="6">
+  <instruction name="3DSTATE_SBE" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1957,7 +1957,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SBE_SWIZ" bias="2" length="11">
+  <instruction name="3DSTATE_SBE_SWIZ" bias="2" length="11" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1971,7 +1971,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2">
+  <instruction name="3DSTATE_SCISSOR_STATE_POINTERS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -1980,7 +1980,7 @@
     <field name="Scissor Rect Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_SF" bias="2" length="4">
+  <instruction name="3DSTATE_SF" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2012,7 +2012,7 @@
     <field name="Point Width" start="96" end="106" type="u8.3"/>
   </instruction>
 
-  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="8">
+  <instruction name="3DSTATE_SO_BUFFER" bias="2" length="8" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2030,7 +2030,7 @@
     <field name="Stream Offset" start="224" end="255" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_SO_DECL_LIST" bias="2">
+  <instruction name="3DSTATE_SO_DECL_LIST" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2049,7 +2049,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="5">
+  <instruction name="3DSTATE_STENCIL_BUFFER" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2063,7 +2063,7 @@
     <field name="Surface QPitch" start="128" end="142" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_STREAMOUT" bias="2" length="5">
+  <instruction name="3DSTATE_STREAMOUT" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2096,7 +2096,7 @@
     <field name="Buffer 2 Surface Pitch" start="128" end="139" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_TE" bias="2" length="4">
+  <instruction name="3DSTATE_TE" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2126,7 +2126,7 @@
     <field name="Maximum Tessellation Factor Not Odd" start="96" end="127" type="float"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_CLEAR" bias="2" length="2">
+  <instruction name="3DSTATE_URB_CLEAR" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2136,7 +2136,7 @@
     <field name="URB Address" start="32" end="46" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_DS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_DS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2147,7 +2147,7 @@
     <field name="DS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_GS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_GS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2158,7 +2158,7 @@
     <field name="GS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_HS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_HS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2169,7 +2169,7 @@
     <field name="HS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_URB_VS" bias="2" length="2">
+  <instruction name="3DSTATE_URB_VS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2180,7 +2180,7 @@
     <field name="VS Number of URB Entries" start="32" end="47" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2">
+  <instruction name="3DSTATE_VERTEX_BUFFERS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2191,7 +2191,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2">
+  <instruction name="3DSTATE_VERTEX_ELEMENTS" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2202,7 +2202,7 @@
     </group>
   </instruction>
 
-  <instruction name="3DSTATE_VF" bias="2" length="2">
+  <instruction name="3DSTATE_VF" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2214,7 +2214,7 @@
     <field name="Cut Index" start="32" end="63" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_COMPONENT_PACKING" bias="2" length="5">
+  <instruction name="3DSTATE_VF_COMPONENT_PACKING" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2254,7 +2254,7 @@
     <field name="Vertex Element 24 Enables" start="128" end="131" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_INSTANCING" bias="2" length="3">
+  <instruction name="3DSTATE_VF_INSTANCING" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2265,7 +2265,7 @@
     <field name="Instance Data Step Rate" start="64" end="95" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_SGVS" bias="2" length="2">
+  <instruction name="3DSTATE_VF_SGVS" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2289,7 +2289,7 @@
     <field name="VertexID Element Offset" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1">
+  <instruction name="3DSTATE_VF_STATISTICS" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2297,7 +2297,7 @@
     <field name="Statistics Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_VF_TOPOLOGY" bias="2" length="2">
+  <instruction name="3DSTATE_VF_TOPOLOGY" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2306,7 +2306,7 @@
     <field name="Primitive Topology Type" start="32" end="37" type="3D_Prim_Topo_Type"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_CC" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2315,7 +2315,7 @@
     <field name="CC Viewport Pointer" start="37" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2">
+  <instruction name="3DSTATE_VIEWPORT_STATE_POINTERS_SF_CLIP" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2324,7 +2324,7 @@
     <field name="SF Clip Viewport Pointer" start="38" end="63" type="offset"/>
   </instruction>
 
-  <instruction name="3DSTATE_VS" bias="2" length="9">
+  <instruction name="3DSTATE_VS" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2367,7 +2367,7 @@
     <field name="User Clip Distance Cull Test Enable Bitmask" start="256" end="263" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM" bias="2" length="2">
+  <instruction name="3DSTATE_WM" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2424,7 +2424,7 @@
     </field>
   </instruction>
 
-  <instruction name="3DSTATE_WM_CHROMAKEY" bias="2" length="2">
+  <instruction name="3DSTATE_WM_CHROMAKEY" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2433,7 +2433,7 @@
     <field name="ChromaKey Kill Enable" start="63" end="63" type="bool"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM_DEPTH_STENCIL" bias="2" length="4">
+  <instruction name="3DSTATE_WM_DEPTH_STENCIL" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2461,7 +2461,7 @@
     <field name="Backface Stencil Reference Value" start="96" end="103" type="uint"/>
   </instruction>
 
-  <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="5">
+  <instruction name="3DSTATE_WM_HZ_OP" bias="2" length="5" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2483,7 +2483,7 @@
     <field name="Sample Mask" start="128" end="143" type="uint"/>
   </instruction>
 
-  <instruction name="GPGPU_CSR_BASE_ADDRESS" bias="2" length="3">
+  <instruction name="GPGPU_CSR_BASE_ADDRESS" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2492,7 +2492,7 @@
     <field name="GPGPU CSR Base Address" start="44" end="95" type="address"/>
   </instruction>
 
-  <instruction name="GPGPU_WALKER" bias="2" length="15">
+  <instruction name="GPGPU_WALKER" bias="2" length="15" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2521,7 +2521,7 @@
     <field name="Bottom Execution Mask" start="448" end="479" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_CURBE_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2531,7 +2531,7 @@
     <field name="CURBE Data Start Address" start="96" end="127" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4">
+  <instruction name="MEDIA_INTERFACE_DESCRIPTOR_LOAD" bias="2" length="4" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2541,7 +2541,7 @@
     <field name="Interface Descriptor Data Start Address" start="96" end="127" type="offset"/>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT" bias="2">
+  <instruction name="MEDIA_OBJECT" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2581,7 +2581,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_GRPID" bias="2">
+  <instruction name="MEDIA_OBJECT_GRPID" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Media Command Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2618,7 +2618,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16">
+  <instruction name="MEDIA_OBJECT_PRT" bias="2" length="16" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2636,7 +2636,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_OBJECT_WALKER" bias="2">
+  <instruction name="MEDIA_OBJECT_WALKER" bias="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -2690,7 +2690,7 @@
     </group>
   </instruction>
 
-  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2">
+  <instruction name="MEDIA_STATE_FLUSH" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -2701,7 +2701,7 @@
     <field name="Interface Descriptor Offset" start="32" end="37" type="uint"/>
   </instruction>
 
-  <instruction name="MEDIA_VFE_STATE" bias="2" length="9">
+  <instruction name="MEDIA_VFE_STATE" bias="2" length="9" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Pipeline" start="27" end="28" type="uint" default="2"/>
     <field name="Media Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -3186,7 +3186,7 @@
     <field name="Display Plnae 1 A Scan Line Wait Enable" start="0" end="0" type="bool"/>
   </instruction>
 
-  <instruction name="PIPELINE_SELECT" bias="1" length="1">
+  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="1"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -3201,7 +3201,7 @@
     </field>
   </instruction>
 
-  <instruction name="PIPE_CONTROL" bias="2" length="6">
+  <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="3"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="2"/>
@@ -3244,7 +3244,7 @@
     <field name="Immediate Data" start="128" end="191" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_BASE_ADDRESS" bias="2" length="19">
+  <instruction name="STATE_BASE_ADDRESS" bias="2" length="19" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
@@ -3280,7 +3280,7 @@
     <field name="Bindless Surface State Size" start="588" end="607" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_PREFETCH" bias="2" length="2">
+  <instruction name="STATE_PREFETCH" bias="2" length="2" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
@@ -3290,7 +3290,7 @@
     <field name="Prefetch Count" start="32" end="34" type="uint"/>
   </instruction>
 
-  <instruction name="STATE_SIP" bias="2" length="3">
+  <instruction name="STATE_SIP" bias="2" length="3" engine="render">
     <field name="Command Type" start="29" end="31" type="uint" default="3"/>
     <field name="Command SubType" start="27" end="28" type="uint" default="0"/>
     <field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
-- 
2.17.1



More information about the mesa-dev mailing list