summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/intel/blorp/blorp_genX_exec.h2
-rw-r--r--src/intel/genxml/gen10.xml53
-rw-r--r--src/intel/genxml/gen11.xml53
-rw-r--r--src/intel/genxml/gen6.xml28
-rw-r--r--src/intel/genxml/gen7.xml35
-rw-r--r--src/intel/genxml/gen75.xml39
-rw-r--r--src/intel/genxml/gen8.xml47
-rw-r--r--src/intel/genxml/gen9.xml51
-rw-r--r--src/intel/isl/isl_emit_depth_stencil.c6
-rw-r--r--src/intel/vulkan/anv_private.h76
-rw-r--r--src/intel/vulkan/gen7_cmd_buffer.c2
-rw-r--r--src/intel/vulkan/gen8_cmd_buffer.c2
-rw-r--r--src/intel/vulkan/genX_cmd_buffer.c19
-rw-r--r--src/intel/vulkan/genX_gpu_memcpy.c4
-rw-r--r--src/intel/vulkan/genX_state.c6
-rw-r--r--src/mesa/drivers/dri/i965/genX_state_upload.c14
16 files changed, 177 insertions, 260 deletions
diff --git a/src/intel/blorp/blorp_genX_exec.h b/src/intel/blorp/blorp_genX_exec.h
index 065980616ec..42494ffbc86 100644
--- a/src/intel/blorp/blorp_genX_exec.h
+++ b/src/intel/blorp/blorp_genX_exec.h
@@ -311,7 +311,7 @@ blorp_fill_vertex_buffer_state(struct blorp_batch *batch,
vb[idx].BufferPitch = stride;
#if GEN_GEN >= 6
- vb[idx].VertexBufferMOCS = addr.mocs;
+ vb[idx].MOCS = addr.mocs;
#endif
#if GEN_GEN >= 7
diff --git a/src/intel/genxml/gen10.xml b/src/intel/genxml/gen10.xml
index 2d3bc39b1b9..21cd8a17d91 100644
--- a/src/intel/genxml/gen10.xml
+++ b/src/intel/genxml/gen10.xml
@@ -219,14 +219,9 @@
<field name="Binding Table Index Offset" start="0" end="3" type="uint"/>
</struct>
- <struct name="MEMORY_OBJECT_CONTROL_STATE" length="1">
- <field name="Index to MOCS Tables" start="1" end="6" type="uint"/>
- </struct>
-
<struct name="VERTEX_BUFFER_STATE" length="4">
<field name="Vertex Buffer Index" start="26" end="31" type="uint"/>
- <field name="Memory Object Control State" start="16" end="22" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Vertex Buffer MOCS" start="16" end="22" type="uint"/>
+ <field name="MOCS" start="16" end="22" type="uint"/>
<field name="Address Modify Enable" start="14" end="14" type="bool"/>
<field name="Null Vertex Buffer" start="13" end="13" type="bool"/>
<field name="Buffer Pitch" start="0" end="11" type="uint"/>
@@ -495,7 +490,6 @@
<field name="Cube Face Enable - Negative Y" start="3" end="3" type="bool"/>
<field name="Cube Face Enable - Positive X" start="4" end="4" type="bool"/>
<field name="Cube Face Enable - Negative X" start="5" end="5" type="bool"/>
- <field name="Memory Object Control State" start="56" end="62" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="MOCS" start="56" end="62" type="uint"/>
<field name="Base Mip Level" start="51" end="55" type="u4.1"/>
<field name="Surface QPitch" start="32" end="46" type="uint"/>
@@ -993,7 +987,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="2"/>
<field name="Binding Table Pool Base Address" start="44" end="95" type="address"/>
<field name="Binding Table Pool Enable" start="43" end="43" type="uint"/>
- <field name="Surface Object Control State" start="32" end="38" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="32" end="38" type="uint"/>
<field name="Binding Table Pool Buffer Size" start="108" end="127" type="uint">
<value name="No Valid Data" value="0"/>
</field>
@@ -1085,7 +1079,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="26"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1095,7 +1089,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="22"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1105,7 +1099,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="25"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1116,7 +1110,7 @@
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="23"/>
<field name="Disable Gather at Set Shader Hint" start="15" end="15" type="uint"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1126,7 +1120,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="21"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1157,8 +1151,7 @@
<field name="LOD" start="128" end="131" type="uint"/>
<field name="Depth" start="181" end="191" type="uint"/>
<field name="Minimum Array Element" start="170" end="180" type="uint"/>
- <field name="Depth Buffer Object Control State" start="160" end="166" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Depth Buffer MOCS" start="160" end="166" type="uint"/>
+ <field name="MOCS" start="160" end="166" type="uint"/>
<field name="Tiled Resource Mode" start="222" end="223" type="uint">
<value name="NONE" value="0"/>
<value name="TILEYF" value="1"/>
@@ -1368,7 +1361,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="2"/>
<field name="Gather Pool Base Address" start="44" end="95" type="address"/>
<field name="Gather Pool Enable" start="43" end="43" type="bool"/>
- <field name="Memory Object Control State" start="32" end="38" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="32" end="38" type="uint"/>
<field name="Gather Pool Buffer Size" start="108" end="127" type="uint"/>
</instruction>
@@ -1447,8 +1440,7 @@
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="7"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
- <field name="Hierarchical Depth Buffer Object Control State" start="57" end="63" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Hierarchical Depth Buffer MOCS" start="57" end="63" type="uint"/>
+ <field name="MOCS" start="57" end="63" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="127" type="address"/>
<field name="Surface QPitch" start="128" end="142" type="uint"/>
@@ -1511,8 +1503,7 @@
<value name="WORD" value="1"/>
<value name="DWORD" value="2"/>
</field>
- <field name="Memory Object Control State" start="32" end="38" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="IndexBufferMOCS" start="32" end="38" type="uint"/>
+ <field name="MOCS" start="32" end="38" type="uint"/>
<field name="Buffer Starting Address" start="64" end="127" type="address"/>
<field name="Buffer Size" start="128" end="159" type="uint"/>
</instruction>
@@ -2068,8 +2059,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="6"/>
<field name="SO Buffer Enable" start="63" end="63" type="bool"/>
<field name="SO Buffer Index" start="61" end="62" type="uint"/>
- <field name="SO Buffer Object Control State" start="54" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="SO Buffer MOCS" start="54" end="60" type="uint"/>
+ <field name="MOCS" start="54" end="60" type="uint"/>
<field name="Stream Offset Write Enable" start="53" end="53" type="bool"/>
<field name="Stream Output Buffer Offset Address Enable" start="52" end="52" type="bool"/>
<field name="Surface Base Address" start="66" end="111" type="address"/>
@@ -2104,8 +2094,7 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
<field name="Stencil Buffer Enable" start="63" end="63" type="bool"/>
- <field name="Stencil Buffer Object Control State" start="54" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Stencil Buffer MOCS" start="54" end="60" type="uint"/>
+ <field name="MOCS" start="54" end="60" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="127" type="address"/>
<field name="Surface QPitch" start="128" end="142" type="uint"/>
@@ -3318,20 +3307,20 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1"/>
<field name="DWord Length" start="0" end="7" type="uint" default="20"/>
<field name="General State Base Address" start="44" end="95" type="address"/>
- <field name="General State Memory Object Control State" start="36" end="42" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="General State MOCS" start="36" end="42" type="uint"/>
<field name="General State Base Address Modify Enable" start="32" end="32" type="bool"/>
- <field name="Stateless Data Port Access Memory Object Control State" start="112" end="118" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Stateless Data Port Access MOCS" start="112" end="118" type="uint"/>
<field name="Surface State Base Address" start="140" end="191" type="address"/>
- <field name="Surface State Memory Object Control State" start="132" end="138" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Surface State MOCS" start="132" end="138" type="uint"/>
<field name="Surface State Base Address Modify Enable" start="128" end="128" type="bool"/>
<field name="Dynamic State Base Address" start="204" end="255" type="address"/>
- <field name="Dynamic State Memory Object Control State" start="196" end="202" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Dynamic State MOCS" start="196" end="202" type="uint"/>
<field name="Dynamic State Base Address Modify Enable" start="192" end="192" type="bool"/>
<field name="Indirect Object Base Address" start="268" end="319" type="address"/>
- <field name="Indirect Object Memory Object Control State" start="260" end="266" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Indirect Object MOCS" start="260" end="266" type="uint"/>
<field name="Indirect Object Base Address Modify Enable" start="256" end="256" type="bool"/>
<field name="Instruction Base Address" start="332" end="383" type="address"/>
- <field name="Instruction Memory Object Control State" start="324" end="330" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Instruction MOCS" start="324" end="330" type="uint"/>
<field name="Instruction Base Address Modify Enable" start="320" end="320" type="bool"/>
<field name="General State Buffer Size" start="396" end="415" type="uint"/>
<field name="General State Buffer Size Modify Enable" start="384" end="384" type="bool"/>
@@ -3342,11 +3331,11 @@
<field name="Instruction Buffer Size" start="492" end="511" type="uint"/>
<field name="Instruction Buffer size Modify Enable" start="480" end="480" type="bool"/>
<field name="Bindless Surface State Base Address" start="524" end="575" type="address"/>
- <field name="Bindless Surface State Memory Object Control State" start="516" end="522" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Bindless Surface State MOCS" start="516" end="522" type="uint"/>
<field name="Bindless Surface State Base Address Modify Enable" start="512" end="512" type="bool"/>
<field name="Bindless Surface State Size" start="588" end="607" type="uint"/>
<field name="Bindless Sampler State Base Address" start="620" end="671" type="address"/>
- <field name="Bindless Sampler State Memory Object Control State" start="612" end="618" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Bindless Sampler State MOCS" start="612" end="618" type="uint"/>
<field name="Bindless Sampler State Base Address Modify Enable" start="608" end="608" type="bool"/>
<field name="Bindless Sampler State Buffer Size" start="684" end="703" type="uint"/>
</instruction>
diff --git a/src/intel/genxml/gen11.xml b/src/intel/genxml/gen11.xml
index 1239ed011ed..54816458fc3 100644
--- a/src/intel/genxml/gen11.xml
+++ b/src/intel/genxml/gen11.xml
@@ -220,14 +220,9 @@
<field name="Binding Table Index Offset" start="0" end="3" type="uint"/>
</struct>
- <struct name="MEMORY_OBJECT_CONTROL_STATE" length="1">
- <field name="Index to MOCS Tables" start="1" end="6" type="uint"/>
- </struct>
-
<struct name="VERTEX_BUFFER_STATE" length="4">
<field name="Vertex Buffer Index" start="26" end="31" type="uint"/>
- <field name="Memory Object Control State" start="16" end="22" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Vertex Buffer MOCS" start="16" end="22" type="uint"/>
+ <field name="MOCS" start="16" end="22" type="uint"/>
<field name="Address Modify Enable" start="14" end="14" type="bool"/>
<field name="Null Vertex Buffer" start="13" end="13" type="bool"/>
<field name="Buffer Pitch" start="0" end="11" type="uint"/>
@@ -496,7 +491,6 @@
<field name="Cube Face Enable - Negative Y" start="3" end="3" type="bool"/>
<field name="Cube Face Enable - Positive X" start="4" end="4" type="bool"/>
<field name="Cube Face Enable - Negative X" start="5" end="5" type="bool"/>
- <field name="Memory Object Control State" start="56" end="62" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="MOCS" start="56" end="62" type="uint"/>
<field name="Base Mip Level" start="51" end="55" type="u4.1"/>
<field name="Surface QPitch" start="32" end="46" type="uint"/>
@@ -1012,7 +1006,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="2"/>
<field name="Binding Table Pool Base Address" start="44" end="95" type="address"/>
<field name="Binding Table Pool Enable" start="43" end="43" type="uint"/>
- <field name="Surface Object Control State" start="32" end="38" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="32" end="38" type="uint"/>
<field name="Binding Table Pool Buffer Size" start="108" end="127" type="uint">
<value name="No Valid Data" value="0"/>
</field>
@@ -1104,7 +1098,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="26"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1114,7 +1108,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="22"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1124,7 +1118,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="25"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1135,7 +1129,7 @@
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="23"/>
<field name="Disable Gather at Set Shader Hint" start="15" end="15" type="uint"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1145,7 +1139,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="21"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1176,8 +1170,7 @@
<field name="LOD" start="128" end="131" type="uint"/>
<field name="Depth" start="181" end="191" type="uint"/>
<field name="Minimum Array Element" start="170" end="180" type="uint"/>
- <field name="Depth Buffer Object Control State" start="160" end="166" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Depth Buffer MOCS" start="160" end="166" type="uint"/>
+ <field name="MOCS" start="160" end="166" type="uint"/>
<field name="Tiled Resource Mode" start="222" end="223" type="uint">
<value name="NONE" value="0"/>
<value name="TILEYF" value="1"/>
@@ -1386,7 +1379,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="2"/>
<field name="Gather Pool Base Address" start="44" end="95" type="address"/>
<field name="Gather Pool Enable" start="43" end="43" type="bool"/>
- <field name="Memory Object Control State" start="32" end="38" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="32" end="38" type="uint"/>
<field name="Gather Pool Buffer Size" start="108" end="127" type="uint"/>
</instruction>
@@ -1463,8 +1456,7 @@
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="7"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
- <field name="Hierarchical Depth Buffer Object Control State" start="57" end="63" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Hierarchical Depth Buffer MOCS" start="57" end="63" type="uint"/>
+ <field name="MOCS" start="57" end="63" type="uint"/>
<field name="Tiled Resource Mode" start="55" end="56" type="uint">
<value name="NONE" value="0"/>
<value name="TILEYF" value="1"/>
@@ -1531,8 +1523,7 @@
<value name="WORD" value="1"/>
<value name="DWORD" value="2"/>
</field>
- <field name="Memory Object Control State" start="32" end="38" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="IndexBufferMOCS" start="32" end="38" type="uint"/>
+ <field name="MOCS" start="32" end="38" type="uint"/>
<field name="Buffer Starting Address" start="64" end="127" type="address"/>
<field name="Buffer Size" start="128" end="159" type="uint"/>
</instruction>
@@ -2088,8 +2079,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="6"/>
<field name="SO Buffer Enable" start="63" end="63" type="bool"/>
<field name="SO Buffer Index" start="61" end="62" type="uint"/>
- <field name="SO Buffer Object Control State" start="54" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="SO Buffer MOCS" start="54" end="60" type="uint"/>
+ <field name="MOCS" start="54" end="60" type="uint"/>
<field name="Stream Offset Write Enable" start="53" end="53" type="bool"/>
<field name="Stream Output Buffer Offset Address Enable" start="52" end="52" type="bool"/>
<field name="Surface Base Address" start="66" end="111" type="address"/>
@@ -2124,8 +2114,7 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
<field name="Stencil Buffer Enable" start="63" end="63" type="bool"/>
- <field name="Stencil Buffer Object Control State" start="54" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Stencil Buffer MOCS" start="54" end="60" type="uint"/>
+ <field name="MOCS" start="54" end="60" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="127" type="address"/>
<field name="Surface QPitch" start="128" end="142" type="uint"/>
@@ -3321,20 +3310,20 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1"/>
<field name="DWord Length" start="0" end="7" type="uint" default="20"/>
<field name="General State Base Address" start="44" end="95" type="address"/>
- <field name="General State Memory Object Control State" start="36" end="42" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="General State MOCS" start="36" end="42" type="uint"/>
<field name="General State Base Address Modify Enable" start="32" end="32" type="bool"/>
- <field name="Stateless Data Port Access Memory Object Control State" start="112" end="118" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Stateless Data Port Access MOCS" start="112" end="118" type="uint"/>
<field name="Surface State Base Address" start="140" end="191" type="address"/>
- <field name="Surface State Memory Object Control State" start="132" end="138" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Surface State MOCS" start="132" end="138" type="uint"/>
<field name="Surface State Base Address Modify Enable" start="128" end="128" type="bool"/>
<field name="Dynamic State Base Address" start="204" end="255" type="address"/>
- <field name="Dynamic State Memory Object Control State" start="196" end="202" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Dynamic State MOCS" start="196" end="202" type="uint"/>
<field name="Dynamic State Base Address Modify Enable" start="192" end="192" type="bool"/>
<field name="Indirect Object Base Address" start="268" end="319" type="address"/>
- <field name="Indirect Object Memory Object Control State" start="260" end="266" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Indirect Object MOCS" start="260" end="266" type="uint"/>
<field name="Indirect Object Base Address Modify Enable" start="256" end="256" type="bool"/>
<field name="Instruction Base Address" start="332" end="383" type="address"/>
- <field name="Instruction Memory Object Control State" start="324" end="330" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Instruction MOCS" start="324" end="330" type="uint"/>
<field name="Instruction Base Address Modify Enable" start="320" end="320" type="bool"/>
<field name="General State Buffer Size" start="396" end="415" type="uint"/>
<field name="General State Buffer Size Modify Enable" start="384" end="384" type="bool"/>
@@ -3345,11 +3334,11 @@
<field name="Instruction Buffer Size" start="492" end="511" type="uint"/>
<field name="Instruction Buffer size Modify Enable" start="480" end="480" type="bool"/>
<field name="Bindless Surface State Base Address" start="524" end="575" type="address"/>
- <field name="Bindless Surface State Memory Object Control State" start="516" end="522" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Bindless Surface State MOCS" start="516" end="522" type="uint"/>
<field name="Bindless Surface State Base Address Modify Enable" start="512" end="512" type="bool"/>
<field name="Bindless Surface State Size" start="588" end="607" type="uint"/>
<field name="Bindless Sampler State Base Address" start="620" end="671" type="address"/>
- <field name="Bindless Sampler State Memory Object Control State" start="612" end="618" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Bindless Sampler State MOCS" start="612" end="618" type="uint"/>
<field name="Bindless Sampler State Base Address Modify Enable" start="608" end="608" type="bool"/>
<field name="Bindless Sampler State Buffer Size" start="684" end="703" type="uint"/>
</instruction>
diff --git a/src/intel/genxml/gen6.xml b/src/intel/genxml/gen6.xml
index fff1e5a8411..b4976b33c34 100644
--- a/src/intel/genxml/gen6.xml
+++ b/src/intel/genxml/gen6.xml
@@ -126,8 +126,7 @@
<value name="VERTEXDATA" value="0"/>
<value name="INSTANCEDATA" value="1"/>
</field>
- <field name="Vertex Buffer Memory Object Control State" start="16" end="19" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Vertex Buffer MOCS" start="16" end="19" type="uint"/>
+ <field name="MOCS" start="16" end="19" type="uint"/>
<field name="Null Vertex Buffer" start="13" end="13" type="bool"/>
<field name="Vertex Fetch Invalidate" start="12" end="12" type="bool" default="0"/>
<field name="Buffer Pitch" start="0" end="11" type="uint"/>
@@ -384,7 +383,6 @@
<value name="VALIGN_4" value="1"/>
</field>
<field name="Y Offset" start="180" end="183" type="uint"/>
- <field name="Surface Object Control State" start="176" end="179" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="MOCS" start="176" end="179" type="uint"/>
</struct>
@@ -642,7 +640,7 @@
<field name="Buffer 2 Valid" start="14" end="14" type="bool"/>
<field name="Buffer 1 Valid" start="13" end="13" type="bool"/>
<field name="Buffer 0 Valid" start="12" end="12" type="bool"/>
- <field name="Constant Buffer Object Control State" start="8" end="11" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="11" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
<field name="Constant Body" start="32" end="159" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -656,7 +654,7 @@
<field name="Buffer 2 Valid" start="14" end="14" type="bool"/>
<field name="Buffer 1 Valid" start="13" end="13" type="bool"/>
<field name="Buffer 0 Valid" start="12" end="12" type="bool"/>
- <field name="Constant Buffer Object Control State" start="8" end="11" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="11" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
<field name="Constant Body" start="32" end="159" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -670,7 +668,7 @@
<field name="Buffer 2 Valid" start="14" end="14" type="bool"/>
<field name="Buffer 1 Valid" start="13" end="13" type="bool"/>
<field name="Buffer 0 Valid" start="12" end="12" type="bool"/>
- <field name="Constant Buffer Object Control State" start="8" end="11" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="11" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
<field name="Constant Body" start="32" end="159" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -720,8 +718,7 @@
<field name="Render Target View Extent" start="129" end="137" type="uint"/>
<field name="Depth Coordinate Offset Y" start="176" end="191" type="int"/>
<field name="Depth Coordinate Offset X" start="160" end="175" type="int"/>
- <field name="Depth Buffer Object Control State" start="219" end="223" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Depth Buffer MOCS" start="219" end="223" type="uint"/>
+ <field name="MOCS" start="219" end="223" type="uint"/>
</instruction>
<instruction name="3DSTATE_DRAWING_RECTANGLE" bias="2" length="4" engine="render">
@@ -804,8 +801,7 @@
<field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="15"/>
<field name="DWord Length" start="0" end="7" type="uint" default="1"/>
- <field name="Hierarchical Depth Buffer Object Control State" start="57" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Hierarchical Depth Buffer MOCS" start="57" end="60" type="uint"/>
+ <field name="MOCS" start="57" end="60" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="95" type="address"/>
</instruction>
@@ -815,8 +811,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="10"/>
- <field name="Memory Object Control State" start="12" end="15" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="IndexBufferMOCS" start="12" end="15" type="uint"/>
+ <field name="MOCS" start="12" end="15" type="uint"/>
<field name="Cut Index Enable" start="10" end="10" type="bool"/>
<field name="Index Format" start="8" end="9" type="uint" prefix="INDEX">
<value name="BYTE" value="0"/>
@@ -1068,8 +1063,7 @@
<field name="3D Command Opcode" start="24" end="26" type="uint" default="1"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="14"/>
<field name="DWord Length" start="0" end="7" type="uint" default="1"/>
- <field name="Stencil Buffer Object Control State" start="57" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Stencil Buffer MOCS" start="57" end="60" type="uint"/>
+ <field name="MOCS" start="57" end="60" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="95" type="address"/>
</instruction>
@@ -1696,26 +1690,20 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1"/>
<field name="DWord Length" start="0" end="7" type="uint" default="8"/>
<field name="General State Base Address" start="44" end="63" type="address"/>
- <field name="General State Memory Object Control State" start="40" end="43" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="General State MOCS" start="40" end="43" type="uint"/>
- <field name="Stateless Data Port Access Memory Object Control State" start="36" end="39" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="Stateless Data Port Access MOCS" start="36" end="39" type="uint"/>
<field name="Stateless Data Port Access Force Write Thru" start="35" end="35" type="uint"/>
<field name="General State Base Address Modify Enable" start="32" end="32" type="bool"/>
<field name="Surface State Base Address" start="76" end="95" type="address"/>
- <field name="Surface State Memory Object Control State" start="72" end="75" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="Surface State MOCS" start="72" end="75" type="uint"/>
<field name="Surface State Base Address Modify Enable" start="64" end="64" type="bool"/>
<field name="Dynamic State Base Address" start="108" end="127" type="address"/>
- <field name="Dynamic State Memory Object Control State" start="104" end="107" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="Dynamic State MOCS" start="104" end="107" type="uint"/>
<field name="Dynamic State Base Address Modify Enable" start="96" end="96" type="bool"/>
<field name="Indirect Object Base Address" start="140" end="159" type="address"/>
- <field name="Indirect Object Memory Object Control State" start="136" end="139" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="Indirect Object MOCS" start="136" end="139" type="uint"/>
<field name="Indirect Object Base Address Modify Enable" start="128" end="128" type="bool"/>
<field name="Instruction Base Address" start="172" end="191" type="address"/>
- <field name="Instruction Memory Object Control State" start="168" end="171" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="Instruction MOCS" start="168" end="171" type="uint"/>
<field name="Instruction Base Address Modify Enable" start="160" end="160" type="bool"/>
<field name="General State Access Upper Bound" start="204" end="223" type="address"/>
diff --git a/src/intel/genxml/gen7.xml b/src/intel/genxml/gen7.xml
index 49b08281993..893c12b8af9 100644
--- a/src/intel/genxml/gen7.xml
+++ b/src/intel/genxml/gen7.xml
@@ -157,7 +157,7 @@
<group count="4" start="0" size="16">
<field name="Read Length" start="0" end="15" type="uint"/>
</group>
- <field name="Constant Buffer Object Control State" start="64" end="68" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="64" end="68" type="uint"/>
<group count="4" start="64" size="32">
<field name="Buffer" start="5" end="31" type="address"/>
</group>
@@ -169,8 +169,7 @@
<value name="VERTEXDATA" value="0"/>
<value name="INSTANCEDATA" value="1"/>
</field>
- <field name="Vertex Buffer Memory Object Control State" start="16" end="19" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Vertex Buffer MOCS" start="16" end="19" type="uint"/>
+ <field name="MOCS" start="16" end="19" type="uint"/>
<field name="Address Modify Enable" start="14" end="14" type="bool"/>
<field name="Null Vertex Buffer" start="13" end="13" type="bool"/>
<field name="Vertex Fetch Invalidate" start="12" end="12" type="bool" default="0"/>
@@ -443,7 +442,6 @@
<field name="Strbuf Minimum Array Element" start="128" end="154" type="uint"/>
<field name="X Offset" start="185" end="191" type="uint"/>
<field name="Y Offset" start="180" end="183" type="uint"/>
- <field name="Surface Object Control State" start="176" end="179" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="MOCS" start="176" end="179" type="uint"/>
<field name="Surface Min LOD" start="164" end="167" type="uint"/>
<field name="MIP Count / LOD" start="160" end="163" type="uint"/>
@@ -815,8 +813,7 @@
<value name="SURFTYPE_CUBE (must be zero)" value="0"/>
</field>
<field name="Minimum Array Element" start="138" end="148" type="uint"/>
- <field name="Depth Buffer Object Control State" start="128" end="131" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Depth Buffer MOCS" start="128" end="131" type="uint"/>
+ <field name="MOCS" start="128" end="131" type="uint"/>
<field name="Depth Coordinate Offset Y" start="176" end="191" type="int"/>
<field name="Depth Coordinate Offset X" start="160" end="175" type="int"/>
<field name="Render Target View Extent" start="213" end="223" type="uint"/>
@@ -949,8 +946,7 @@
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="7"/>
<field name="DWord Length" start="0" end="7" type="uint" default="1"/>
- <field name="Hierarchical Depth Buffer Object Control State" start="57" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Hierarchical Depth Buffer MOCS" start="57" end="60" type="uint"/>
+ <field name="MOCS" start="57" end="60" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="95" type="address"/>
</instruction>
@@ -996,8 +992,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="10"/>
- <field name="Memory Object Control State" start="12" end="15" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="IndexBufferMOCS" start="12" end="15" type="uint"/>
+ <field name="MOCS" start="12" end="15" type="uint"/>
<field name="Cut Index Enable" start="10" end="10" type="bool"/>
<field name="Index Format" start="8" end="9" type="uint" prefix="INDEX">
<value name="BYTE" value="0"/>
@@ -1422,8 +1417,7 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="24"/>
<field name="DWord Length" start="0" end="7" type="uint" default="2"/>
<field name="SO Buffer Index" start="61" end="62" type="uint"/>
- <field name="SO Buffer Object Control State" start="57" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="SO Buffer MOCS" start="57" end="60" type="uint"/>
+ <field name="MOCS" start="57" end="60" type="uint"/>
<field name="Surface Pitch" start="32" end="43" type="uint"/>
<field name="Surface Base Address" start="66" end="95" type="address"/>
<field name="Surface End Address" start="98" end="127" type="address"/>
@@ -1454,8 +1448,7 @@
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6"/>
<field name="DWord Length" start="0" end="7" type="uint" default="1"/>
- <field name="Stencil Buffer Object Control State" start="57" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Stencil Buffer MOCS" start="57" end="60" type="uint"/>
+ <field name="MOCS" start="57" end="60" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="95" type="address"/>
</instruction>
@@ -2238,21 +2231,21 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1"/>
<field name="DWord Length" start="0" end="7" type="uint" default="8"/>
<field name="General State Base Address" start="44" end="63" type="address"/>
- <field name="General State Memory Object Control State" start="40" end="43" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Stateless Data Port Access Memory Object Control State" start="36" end="39" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="General State MOCS" start="40" end="43" type="uint"/>
+ <field name="Stateless Data Port Access MOCS" start="36" end="39" type="uint"/>
<field name="Stateless Data Port Access Force Write Thru" start="35" end="35" type="uint"/>
<field name="General State Base Address Modify Enable" start="32" end="32" type="bool"/>
<field name="Surface State Base Address" start="76" end="95" type="address"/>
- <field name="Surface State Memory Object Control State" start="72" end="75" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Surface State MOCS" start="72" end="75" type="uint"/>
<field name="Surface State Base Address Modify Enable" start="64" end="64" type="bool"/>
<field name="Dynamic State Base Address" start="108" end="127" type="address"/>
- <field name="Dynamic State Memory Object Control State" start="104" end="107" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Dynamic State MOCS" start="104" end="107" type="uint"/>
<field name="Dynamic State Base Address Modify Enable" start="96" end="96" type="bool"/>
<field name="Indirect Object Base Address" start="140" end="159" type="address"/>
- <field name="Indirect Object Memory Object Control State" start="136" end="139" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Indirect Object MOCS" start="136" end="139" type="uint"/>
<field name="Indirect Object Base Address Modify Enable" start="128" end="128" type="bool"/>
<field name="Instruction Base Address" start="172" end="191" type="address"/>
- <field name="Instruction Memory Object Control State" start="168" end="171" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Instruction MOCS" start="168" end="171" type="uint"/>
<field name="Instruction Base Address Modify Enable" start="160" end="160" type="bool"/>
<field name="General State Access Upper Bound" start="204" end="223" type="address"/>
<field name="General State Access Upper Bound Modify Enable" start="192" end="192" type="bool"/>
@@ -2290,7 +2283,7 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="3"/>
<field name="DWord Length" start="0" end="7" type="uint" default="0"/>
<field name="SW Tessellation Base Address" start="44" end="63" type="address"/>
- <field name="SW Tessellation Memory Object Control State" start="40" end="43" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="SW Tessellation MOCS" start="40" end="43" type="uint"/>
</instruction>
<register name="IA_VERTICES_COUNT" length="2" num="0x2310">
diff --git a/src/intel/genxml/gen75.xml b/src/intel/genxml/gen75.xml
index 6ce31b49241..009a123ad69 100644
--- a/src/intel/genxml/gen75.xml
+++ b/src/intel/genxml/gen75.xml
@@ -165,7 +165,7 @@
<group count="4" start="0" size="16">
<field name="Read Length" start="0" end="15" type="uint"/>
</group>
- <field name="Constant Buffer Object Control State" start="64" end="68" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="64" end="68" type="uint"/>
<group count="4" start="64" size="32">
<field name="Buffer" start="5" end="31" type="address"/>
</group>
@@ -188,8 +188,7 @@
<value name="VERTEXDATA" value="0"/>
<value name="INSTANCEDATA" value="1"/>
</field>
- <field name="Vertex Buffer Memory Object Control State" start="16" end="19" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Vertex Buffer MOCS" start="16" end="19" type="uint"/>
+ <field name="MOCS" start="16" end="19" type="uint"/>
<field name="Address Modify Enable" start="14" end="14" type="bool"/>
<field name="Null Vertex Buffer" start="13" end="13" type="bool"/>
<field name="Vertex Fetch Invalidate" start="12" end="12" type="bool" default="0"/>
@@ -463,7 +462,6 @@
<field name="Strbuf Minimum Array Element" start="128" end="154" type="uint"/>
<field name="X Offset" start="185" end="191" type="uint"/>
<field name="Y Offset" start="180" end="183" type="uint"/>
- <field name="Surface Object Control State" start="176" end="179" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="MOCS" start="176" end="179" type="uint"/>
<field name="Surface Min LOD" start="164" end="167" type="uint"/>
<field name="MIP Count / LOD" start="160" end="163" type="uint"/>
@@ -826,7 +824,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="1"/>
<field name="Binding Table Pool Base Address" start="44" end="63" type="address"/>
<field name="Binding Table Pool Enable" start="43" end="43" type="uint"/>
- <field name="Surface Object Control State" start="39" end="42" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="39" end="42" type="uint"/>
<field name="Binding Table Pool Upper Bound" start="76" end="95" type="address"/>
</instruction>
@@ -999,8 +997,7 @@
<value name="SURFTYPE_CUBE (must be zero)" value="0"/>
</field>
<field name="Minimum Array Element" start="138" end="148" type="uint"/>
- <field name="Depth Buffer Object Control State" start="128" end="131" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Depth Buffer MOCS" start="128" end="131" type="uint"/>
+ <field name="MOCS" start="128" end="131" type="uint"/>
<field name="Depth Coordinate Offset Y" start="176" end="191" type="int"/>
<field name="Depth Coordinate Offset X" start="160" end="175" type="int"/>
<field name="Render Target View Extent" start="213" end="223" type="uint"/>
@@ -1160,7 +1157,7 @@
<field name="Gather Pool Base Address" start="44" end="63" type="address"/>
<field name="Gather Pool Enable" start="43" end="43" type="bool"/>
<field start="36" end="37" type="mbo"/>
- <field name="Memory Object Control State" start="32" end="35" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="32" end="35" type="uint"/>
<field name="Gather Pool Upper Bound" start="76" end="95" type="address"/>
</instruction>
@@ -1233,8 +1230,7 @@
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="7"/>
<field name="DWord Length" start="0" end="7" type="uint" default="1"/>
- <field name="Hierarchical Depth Buffer Object Control State" start="57" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Hierarchical Depth Buffer MOCS" start="57" end="60" type="uint"/>
+ <field name="MOCS" start="57" end="60" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="95" type="address"/>
</instruction>
@@ -1284,8 +1280,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="10"/>
- <field name="Memory Object Control State" start="12" end="15" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="IndexBufferMOCS" start="12" end="15" type="uint"/>
+ <field name="MOCS" start="12" end="15" type="uint"/>
<field name="Index Format" start="8" end="9" type="uint" prefix="INDEX">
<value name="BYTE" value="0"/>
<value name="WORD" value="1"/>
@@ -1736,8 +1731,7 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="24"/>
<field name="DWord Length" start="0" end="7" type="uint" default="2"/>
<field name="SO Buffer Index" start="61" end="62" type="uint"/>
- <field name="SO Buffer Object Control State" start="57" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="SO Buffer MOCS" start="57" end="60" type="uint"/>
+ <field name="MOCS" start="57" end="60" type="uint"/>
<field name="Surface Pitch" start="32" end="43" type="uint"/>
<field name="Surface Base Address" start="66" end="95" type="address"/>
<field name="Surface End Address" start="98" end="127" type="address"/>
@@ -1769,8 +1763,7 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6"/>
<field name="DWord Length" start="0" end="7" type="uint" default="1"/>
<field name="Stencil Buffer Enable" start="63" end="63" type="bool"/>
- <field name="Stencil Buffer Object Control State" start="57" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Stencil Buffer MOCS" start="57" end="60" type="uint"/>
+ <field name="MOCS" start="57" end="60" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="95" type="address"/>
</instruction>
@@ -2702,20 +2695,20 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1"/>
<field name="DWord Length" start="0" end="7" type="uint" default="8"/>
<field name="General State Base Address" start="44" end="63" type="address"/>
- <field name="General State Memory Object Control State" start="40" end="43" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Stateless Data Port Access Memory Object Control State" start="36" end="39" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="General State MOCS" start="40" end="43" type="uint"/>
+ <field name="Stateless Data Port Access MOCS" start="36" end="39" type="uint"/>
<field name="General State Base Address Modify Enable" start="32" end="32" type="bool"/>
<field name="Surface State Base Address" start="76" end="95" type="address"/>
- <field name="Surface State Memory Object Control State" start="72" end="75" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Surface State MOCS" start="72" end="75" type="uint"/>
<field name="Surface State Base Address Modify Enable" start="64" end="64" type="bool"/>
<field name="Dynamic State Base Address" start="108" end="127" type="address"/>
- <field name="Dynamic State Memory Object Control State" start="104" end="107" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Dynamic State MOCS" start="104" end="107" type="uint"/>
<field name="Dynamic State Base Address Modify Enable" start="96" end="96" type="bool"/>
<field name="Indirect Object Base Address" start="140" end="159" type="address"/>
- <field name="Indirect Object Memory Object Control State" start="136" end="139" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Indirect Object MOCS" start="136" end="139" type="uint"/>
<field name="Indirect Object Base Address Modify Enable" start="128" end="128" type="bool"/>
<field name="Instruction Base Address" start="172" end="191" type="address"/>
- <field name="Instruction Memory Object Control State" start="168" end="171" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Instruction MOCS" start="168" end="171" type="uint"/>
<field name="Instruction Base Address Modify Enable" start="160" end="160" type="bool"/>
<field name="General State Access Upper Bound" start="204" end="223" type="address"/>
<field name="General State Access Upper Bound Modify Enable" start="192" end="192" type="bool"/>
@@ -2753,7 +2746,7 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="3"/>
<field name="DWord Length" start="0" end="7" type="uint" default="0"/>
<field name="SW Tessellation Base Address" start="44" end="63" type="address"/>
- <field name="SW Tessellation Memory Object Control State" start="40" end="43" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="SW Tessellation MOCS" start="40" end="43" type="uint"/>
</instruction>
<register name="IA_VERTICES_COUNT" length="2" num="0x2310">
diff --git a/src/intel/genxml/gen8.xml b/src/intel/genxml/gen8.xml
index a27cac12843..fd19b0c8b33 100644
--- a/src/intel/genxml/gen8.xml
+++ b/src/intel/genxml/gen8.xml
@@ -216,8 +216,7 @@
<struct name="VERTEX_BUFFER_STATE" length="4">
<field name="Vertex Buffer Index" start="26" end="31" type="uint"/>
- <field name="Memory Object Control State" start="16" end="22" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Vertex Buffer MOCS" start="16" end="22" type="uint"/>
+ <field name="MOCS" start="16" end="22" type="uint"/>
<field name="Address Modify Enable" start="14" end="14" type="bool"/>
<field name="Null Vertex Buffer" start="13" end="13" type="bool"/>
<field name="Buffer Pitch" start="0" end="11" type="uint"/>
@@ -462,7 +461,6 @@
<field name="Cube Face Enable - Negative Y" start="3" end="3" type="bool"/>
<field name="Cube Face Enable - Positive X" start="4" end="4" type="bool"/>
<field name="Cube Face Enable - Negative X" start="5" end="5" type="bool"/>
- <field name="Memory Object Control State" start="56" end="62" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="MOCS" start="56" end="62" type="uint"/>
<field name="Base Mip Level" start="51" end="55" type="u4.1"/>
<field name="Surface QPitch" start="32" end="46" type="uint"/>
@@ -894,7 +892,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="2"/>
<field name="Binding Table Pool Base Address" start="44" end="95" type="address"/>
<field name="Binding Table Pool Enable" start="43" end="43" type="uint"/>
- <field name="Surface Object Control State" start="32" end="38" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="32" end="38" type="uint"/>
<field name="Binding Table Pool Buffer Size" start="108" end="127" type="uint">
<value name="No Valid Data" value="0"/>
</field>
@@ -986,7 +984,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="26"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -996,7 +994,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="22"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1006,7 +1004,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="25"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1016,7 +1014,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="23"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1026,7 +1024,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="21"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1059,8 +1057,7 @@
<field name="LOD" start="128" end="131" type="uint"/>
<field name="Depth" start="181" end="191" type="uint"/>
<field name="Minimum Array Element" start="170" end="180" type="uint"/>
- <field name="Depth Buffer Object Control State" start="160" end="166" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Depth Buffer MOCS" start="160" end="166" type="uint"/>
+ <field name="MOCS" start="160" end="166" type="uint"/>
<field name="Render Target View Extent" start="245" end="255" type="uint"/>
<field name="Surface QPitch" start="224" end="238" type="uint"/>
</instruction>
@@ -1221,7 +1218,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="2"/>
<field name="Gather Pool Base Address" start="44" end="95" type="address"/>
<field name="Gather Pool Enable" start="43" end="43" type="bool"/>
- <field name="Memory Object Control State" start="32" end="38" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="32" end="38" type="uint"/>
<field name="Gather Pool Buffer Size" start="108" end="127" type="uint"/>
</instruction>
@@ -1299,8 +1296,7 @@
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="7"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
- <field name="Hierarchical Depth Buffer Object Control State" start="57" end="63" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Hierarchical Depth Buffer MOCS" start="57" end="63" type="uint"/>
+ <field name="MOCS" start="57" end="63" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="127" type="address"/>
<field name="Surface QPitch" start="128" end="142" type="uint"/>
@@ -1356,8 +1352,7 @@
<value name="WORD" value="1"/>
<value name="DWORD" value="2"/>
</field>
- <field name="Memory Object Control State" start="32" end="38" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="IndexBufferMOCS" start="32" end="38" type="uint"/>
+ <field name="MOCS" start="32" end="38" type="uint"/>
<field name="Buffer Starting Address" start="64" end="127" type="address"/>
<field name="Buffer Size" start="128" end="159" type="uint"/>
</instruction>
@@ -1837,8 +1832,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="6"/>
<field name="SO Buffer Enable" start="63" end="63" type="bool"/>
<field name="SO Buffer Index" start="61" end="62" type="uint"/>
- <field name="SO Buffer Object Control State" start="54" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="SO Buffer MOCS" start="54" end="60" type="uint"/>
+ <field name="MOCS" start="54" end="60" type="uint"/>
<field name="Stream Offset Write Enable" start="53" end="53" type="bool"/>
<field name="Stream Output Buffer Offset Address Enable" start="52" end="52" type="bool"/>
<field name="Surface Base Address" start="66" end="111" type="address"/>
@@ -1873,8 +1867,7 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
<field name="Stencil Buffer Enable" start="63" end="63" type="bool"/>
- <field name="Stencil Buffer Object Control State" start="54" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Stencil Buffer MOCS" start="54" end="60" type="uint"/>
+ <field name="MOCS" start="54" end="60" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="127" type="address"/>
<field name="Surface QPitch" start="128" end="142" type="uint"/>
@@ -2962,20 +2955,20 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1"/>
<field name="DWord Length" start="0" end="7" type="uint" default="14"/>
<field name="General State Base Address" start="44" end="95" type="address"/>
- <field name="General State Memory Object Control State" start="36" end="42" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="General State MOCS" start="36" end="42" type="uint"/>
<field name="General State Base Address Modify Enable" start="32" end="32" type="bool"/>
- <field name="Stateless Data Port Access Memory Object Control State" start="112" end="118" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Stateless Data Port Access MOCS" start="112" end="118" type="uint"/>
<field name="Surface State Base Address" start="140" end="191" type="address"/>
- <field name="Surface State Memory Object Control State" start="132" end="138" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Surface State MOCS" start="132" end="138" type="uint"/>
<field name="Surface State Base Address Modify Enable" start="128" end="128" type="bool"/>
<field name="Dynamic State Base Address" start="204" end="255" type="address"/>
- <field name="Dynamic State Memory Object Control State" start="196" end="202" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Dynamic State MOCS" start="196" end="202" type="uint"/>
<field name="Dynamic State Base Address Modify Enable" start="192" end="192" type="bool"/>
<field name="Indirect Object Base Address" start="268" end="319" type="address"/>
- <field name="Indirect Object Memory Object Control State" start="260" end="266" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Indirect Object MOCS" start="260" end="266" type="uint"/>
<field name="Indirect Object Base Address Modify Enable" start="256" end="256" type="bool"/>
<field name="Instruction Base Address" start="332" end="383" type="address"/>
- <field name="Instruction Memory Object Control State" start="324" end="330" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Instruction MOCS" start="324" end="330" type="uint"/>
<field name="Instruction Base Address Modify Enable" start="320" end="320" type="bool"/>
<field name="General State Buffer Size" start="396" end="415" type="uint"/>
<field name="General State Buffer Size Modify Enable" start="384" end="384" type="bool"/>
@@ -3013,7 +3006,7 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="3"/>
<field name="DWord Length" start="0" end="7" type="uint" default="0"/>
<field name="SW Tessellation Base Address" start="44" end="79" type="address"/>
- <field name="SW Tessellation Memory Object Control State" start="40" end="43" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="SW Tessellation MOCS" start="40" end="43" type="uint"/>
</instruction>
<register name="IA_VERTICES_COUNT" length="2" num="0x2310">
diff --git a/src/intel/genxml/gen9.xml b/src/intel/genxml/gen9.xml
index 0f9a1d110e8..c8b090ac191 100644
--- a/src/intel/genxml/gen9.xml
+++ b/src/intel/genxml/gen9.xml
@@ -219,14 +219,9 @@
<field name="Binding Table Index Offset" start="0" end="3" type="uint"/>
</struct>
- <struct name="MEMORY_OBJECT_CONTROL_STATE" length="1">
- <field name="Index to MOCS Tables" start="1" end="6" type="uint"/>
- </struct>
-
<struct name="VERTEX_BUFFER_STATE" length="4">
<field name="Vertex Buffer Index" start="26" end="31" type="uint"/>
- <field name="Memory Object Control State" start="16" end="22" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Vertex Buffer MOCS" start="16" end="22" type="uint"/>
+ <field name="MOCS" start="16" end="22" type="uint"/>
<field name="Address Modify Enable" start="14" end="14" type="bool"/>
<field name="Null Vertex Buffer" start="13" end="13" type="bool"/>
<field name="Buffer Pitch" start="0" end="11" type="uint"/>
@@ -494,7 +489,6 @@
<field name="Cube Face Enable - Negative Y" start="3" end="3" type="bool"/>
<field name="Cube Face Enable - Positive X" start="4" end="4" type="bool"/>
<field name="Cube Face Enable - Negative X" start="5" end="5" type="bool"/>
- <field name="Memory Object Control State" start="56" end="62" type="MEMORY_OBJECT_CONTROL_STATE"/>
<field name="MOCS" start="56" end="62" type="uint"/>
<field name="Base Mip Level" start="51" end="55" type="u4.1"/>
<field name="Surface QPitch" start="32" end="46" type="uint"/>
@@ -952,7 +946,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="2"/>
<field name="Binding Table Pool Base Address" start="44" end="95" type="address"/>
<field name="Binding Table Pool Enable" start="43" end="43" type="uint"/>
- <field name="Surface Object Control State" start="32" end="38" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="32" end="38" type="uint"/>
<field name="Binding Table Pool Buffer Size" start="108" end="127" type="uint">
<value name="No Valid Data" value="0"/>
</field>
@@ -1044,7 +1038,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="26"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1054,7 +1048,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="22"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1064,7 +1058,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="25"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1074,7 +1068,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="23"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1084,7 +1078,7 @@
<field name="Command SubType" start="27" end="28" type="uint" default="3"/>
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="21"/>
- <field name="Constant Buffer Object Control State" start="8" end="14" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="8" end="14" type="uint"/>
<field name="DWord Length" start="0" end="7" type="uint" default="9"/>
<field name="Constant Body" start="32" end="351" type="3DSTATE_CONSTANT_BODY"/>
</instruction>
@@ -1115,8 +1109,7 @@
<field name="LOD" start="128" end="131" type="uint"/>
<field name="Depth" start="181" end="191" type="uint"/>
<field name="Minimum Array Element" start="170" end="180" type="uint"/>
- <field name="Depth Buffer Object Control State" start="160" end="166" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Depth Buffer MOCS" start="160" end="166" type="uint"/>
+ <field name="MOCS" start="160" end="166" type="uint"/>
<field name="Tiled Resource Mode" start="222" end="223" type="uint">
<value name="NONE" value="0"/>
<value name="TILEYF" value="1"/>
@@ -1326,7 +1319,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="2"/>
<field name="Gather Pool Base Address" start="44" end="95" type="address"/>
<field name="Gather Pool Enable" start="43" end="43" type="bool"/>
- <field name="Memory Object Control State" start="32" end="38" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="MOCS" start="32" end="38" type="uint"/>
<field name="Gather Pool Buffer Size" start="108" end="127" type="uint"/>
</instruction>
@@ -1405,8 +1398,7 @@
<field name="3D Command Opcode" start="24" end="26" type="uint" default="0"/>
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="7"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
- <field name="Hierarchical Depth Buffer Object Control State" start="57" end="63" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Hierarchical Depth Buffer MOCS" start="57" end="63" type="uint"/>
+ <field name="MOCS" start="57" end="63" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="127" type="address"/>
<field name="Surface QPitch" start="128" end="142" type="uint"/>
@@ -1469,8 +1461,7 @@
<value name="WORD" value="1"/>
<value name="DWORD" value="2"/>
</field>
- <field name="Memory Object Control State" start="32" end="38" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="IndexBufferMOCS" start="32" end="38" type="uint"/>
+ <field name="MOCS" start="32" end="38" type="uint"/>
<field name="Buffer Starting Address" start="64" end="127" type="address"/>
<field name="Buffer Size" start="128" end="159" type="uint"/>
</instruction>
@@ -2020,8 +2011,7 @@
<field name="DWord Length" start="0" end="7" type="uint" default="6"/>
<field name="SO Buffer Enable" start="63" end="63" type="bool"/>
<field name="SO Buffer Index" start="61" end="62" type="uint"/>
- <field name="SO Buffer Object Control State" start="54" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="SO Buffer MOCS" start="54" end="60" type="uint"/>
+ <field name="MOCS" start="54" end="60" type="uint"/>
<field name="Stream Offset Write Enable" start="53" end="53" type="bool"/>
<field name="Stream Output Buffer Offset Address Enable" start="52" end="52" type="bool"/>
<field name="Surface Base Address" start="66" end="111" type="address"/>
@@ -2056,8 +2046,7 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="6"/>
<field name="DWord Length" start="0" end="7" type="uint" default="3"/>
<field name="Stencil Buffer Enable" start="63" end="63" type="bool"/>
- <field name="Stencil Buffer Object Control State" start="54" end="60" type="MEMORY_OBJECT_CONTROL_STATE"/>
- <field name="Stencil Buffer MOCS" start="54" end="60" type="uint"/>
+ <field name="MOCS" start="54" end="60" type="uint"/>
<field name="Surface Pitch" start="32" end="48" type="uint"/>
<field name="Surface Base Address" start="64" end="127" type="address"/>
<field name="Surface QPitch" start="128" end="142" type="uint"/>
@@ -3251,20 +3240,20 @@
<field name="3D Command Sub Opcode" start="16" end="23" type="uint" default="1"/>
<field name="DWord Length" start="0" end="7" type="uint" default="17"/>
<field name="General State Base Address" start="44" end="95" type="address"/>
- <field name="General State Memory Object Control State" start="36" end="42" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="General State MOCS" start="36" end="42" type="uint"/>
<field name="General State Base Address Modify Enable" start="32" end="32" type="bool"/>
- <field name="Stateless Data Port Access Memory Object Control State" start="112" end="118" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Stateless Data Port Access MOCS" start="112" end="118" type="uint"/>
<field name="Surface State Base Address" start="140" end="191" type="address"/>
- <field name="Surface State Memory Object Control State" start="132" end="138" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Surface State MOCS" start="132" end="138" type="uint"/>
<field name="Surface State Base Address Modify Enable" start="128" end="128" type="bool"/>
<field name="Dynamic State Base Address" start="204" end="255" type="address"/>
- <field name="Dynamic State Memory Object Control State" start="196" end="202" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Dynamic State MOCS" start="196" end="202" type="uint"/>
<field name="Dynamic State Base Address Modify Enable" start="192" end="192" type="bool"/>
<field name="Indirect Object Base Address" start="268" end="319" type="address"/>
- <field name="Indirect Object Memory Object Control State" start="260" end="266" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Indirect Object MOCS" start="260" end="266" type="uint"/>
<field name="Indirect Object Base Address Modify Enable" start="256" end="256" type="bool"/>
<field name="Instruction Base Address" start="332" end="383" type="address"/>
- <field name="Instruction Memory Object Control State" start="324" end="330" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Instruction MOCS" start="324" end="330" type="uint"/>
<field name="Instruction Base Address Modify Enable" start="320" end="320" type="bool"/>
<field name="General State Buffer Size" start="396" end="415" type="uint"/>
<field name="General State Buffer Size Modify Enable" start="384" end="384" type="bool"/>
@@ -3275,7 +3264,7 @@
<field name="Instruction Buffer Size" start="492" end="511" type="uint"/>
<field name="Instruction Buffer size Modify Enable" start="480" end="480" type="bool"/>
<field name="Bindless Surface State Base Address" start="524" end="575" type="address"/>
- <field name="Bindless Surface State Memory Object Control State" start="516" end="522" type="MEMORY_OBJECT_CONTROL_STATE"/>
+ <field name="Bindless Surface State MOCS" start="516" end="522" type="uint"/>
<field name="Bindless Surface State Base Address Modify Enable" start="512" end="512" type="bool"/>
<field name="Bindless Surface State Size" start="588" end="607" type="uint"/>
</instruction>
diff --git a/src/intel/isl/isl_emit_depth_stencil.c b/src/intel/isl/isl_emit_depth_stencil.c
index 9cf5a476687..d2dec3761e5 100644
--- a/src/intel/isl/isl_emit_depth_stencil.c
+++ b/src/intel/isl/isl_emit_depth_stencil.c
@@ -94,7 +94,7 @@ isl_genX(emit_depth_stencil_hiz_s)(const struct isl_device *dev, void *batch,
#endif
db.SurfaceBaseAddress = info->depth_address;
#if GEN_GEN >= 6
- db.DepthBufferMOCS = info->mocs;
+ db.MOCS = info->mocs;
#endif
#if GEN_GEN <= 6
@@ -138,7 +138,7 @@ isl_genX(emit_depth_stencil_hiz_s)(const struct isl_device *dev, void *batch,
#endif
sb.SurfaceBaseAddress = info->stencil_address;
#if GEN_GEN >= 6
- sb.StencilBufferMOCS = info->mocs;
+ sb.MOCS = info->mocs;
#endif
sb.SurfacePitch = info->stencil_surf->row_pitch_B - 1;
#if GEN_GEN >= 8
@@ -161,7 +161,7 @@ isl_genX(emit_depth_stencil_hiz_s)(const struct isl_device *dev, void *batch,
db.HierarchicalDepthBufferEnable = true;
hiz.SurfaceBaseAddress = info->hiz_address;
- hiz.HierarchicalDepthBufferMOCS = info->mocs;
+ hiz.MOCS = info->mocs;
hiz.SurfacePitch = info->hiz_surf->row_pitch_B - 1;
#if GEN_GEN >= 8
/* From the SKL PRM Vol2a:
diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h
index aff076a55d9..b3e9ace7ad8 100644
--- a/src/intel/vulkan/anv_private.h
+++ b/src/intel/vulkan/anv_private.h
@@ -1349,64 +1349,50 @@ _anv_combine_address(struct anv_batch *batch, void *location,
_dst = NULL; \
}))
-#define GEN7_MOCS (struct GEN7_MEMORY_OBJECT_CONTROL_STATE) { \
- .GraphicsDataTypeGFDT = 0, \
- .LLCCacheabilityControlLLCCC = 0, \
- .L3CacheabilityControlL3CC = 1, \
-}
+/* MEMORY_OBJECT_CONTROL_STATE:
+ * .GraphicsDataTypeGFDT = 0,
+ * .LLCCacheabilityControlLLCCC = 0,
+ * .L3CacheabilityControlL3CC = 1,
+ */
+#define GEN7_MOCS 1
-#define GEN75_MOCS (struct GEN75_MEMORY_OBJECT_CONTROL_STATE) { \
- .LLCeLLCCacheabilityControlLLCCC = 0, \
- .L3CacheabilityControlL3CC = 1, \
-}
+/* MEMORY_OBJECT_CONTROL_STATE:
+ * .LLCeLLCCacheabilityControlLLCCC = 0,
+ * .L3CacheabilityControlL3CC = 1,
+ */
+#define GEN75_MOCS 1
-#define GEN8_MOCS (struct GEN8_MEMORY_OBJECT_CONTROL_STATE) { \
- .MemoryTypeLLCeLLCCacheabilityControl = WB, \
- .TargetCache = L3DefertoPATforLLCeLLCselection, \
- .AgeforQUADLRU = 0 \
- }
+/* MEMORY_OBJECT_CONTROL_STATE:
+ * .MemoryTypeLLCeLLCCacheabilityControl = WB,
+ * .TargetCache = L3DefertoPATforLLCeLLCselection,
+ * .AgeforQUADLRU = 0
+ */
+#define GEN8_MOCS 0x78
-#define GEN8_EXTERNAL_MOCS (struct GEN8_MEMORY_OBJECT_CONTROL_STATE) { \
- .MemoryTypeLLCeLLCCacheabilityControl = UCwithFenceifcoherentcycle, \
- .TargetCache = L3DefertoPATforLLCeLLCselection, \
- .AgeforQUADLRU = 0 \
- }
+/* MEMORY_OBJECT_CONTROL_STATE:
+ * .MemoryTypeLLCeLLCCacheabilityControl = UCwithFenceifcoherentcycle,
+ * .TargetCache = L3DefertoPATforLLCeLLCselection,
+ * .AgeforQUADLRU = 0
+ */
+#define GEN8_EXTERNAL_MOCS 0x18
/* Skylake: MOCS is now an index into an array of 62 different caching
* configurations programmed by the kernel.
*/
-#define GEN9_MOCS (struct GEN9_MEMORY_OBJECT_CONTROL_STATE) { \
- /* TC=LLC/eLLC, LeCC=WB, LRUM=3, L3CC=WB */ \
- .IndextoMOCSTables = 2 \
- }
+/* TC=LLC/eLLC, LeCC=WB, LRUM=3, L3CC=WB */
+#define GEN9_MOCS 2
-#define GEN9_EXTERNAL_MOCS (struct GEN9_MEMORY_OBJECT_CONTROL_STATE) { \
- /* TC=LLC/eLLC, LeCC=WB, LRUM=3, L3CC=WB */ \
- .IndextoMOCSTables = 1 \
- }
+/* TC=LLC/eLLC, LeCC=WB, LRUM=3, L3CC=WB */
+#define GEN9_EXTERNAL_MOCS 1
/* Cannonlake MOCS defines are duplicates of Skylake MOCS defines. */
-#define GEN10_MOCS (struct GEN10_MEMORY_OBJECT_CONTROL_STATE) { \
- /* TC=LLC/eLLC, LeCC=WB, LRUM=3, L3CC=WB */ \
- .IndextoMOCSTables = 2 \
- }
-
-#define GEN10_EXTERNAL_MOCS (struct GEN10_MEMORY_OBJECT_CONTROL_STATE) { \
- /* TC=LLC/eLLC, LeCC=WB, LRUM=3, L3CC=WB */ \
- .IndextoMOCSTables = 1 \
- }
+#define GEN10_MOCS GEN9_MOCS
+#define GEN10_EXTERNAL_MOCS GEN9_EXTERNAL_MOCS
/* Ice Lake MOCS defines are duplicates of Skylake MOCS defines. */
-#define GEN11_MOCS (struct GEN11_MEMORY_OBJECT_CONTROL_STATE) { \
- /* TC=LLC/eLLC, LeCC=WB, LRUM=3, L3CC=WB */ \
- .IndextoMOCSTables = 2 \
- }
-
-#define GEN11_EXTERNAL_MOCS (struct GEN11_MEMORY_OBJECT_CONTROL_STATE) { \
- /* TC=LLC/eLLC, LeCC=WB, LRUM=3, L3CC=WB */ \
- .IndextoMOCSTables = 1 \
- }
+#define GEN11_MOCS GEN9_MOCS
+#define GEN11_EXTERNAL_MOCS GEN9_EXTERNAL_MOCS
struct anv_device_memory {
struct anv_bo * bo;
diff --git a/src/intel/vulkan/gen7_cmd_buffer.c b/src/intel/vulkan/gen7_cmd_buffer.c
index da51cb9781c..08bebd44adb 100644
--- a/src/intel/vulkan/gen7_cmd_buffer.c
+++ b/src/intel/vulkan/gen7_cmd_buffer.c
@@ -246,7 +246,7 @@ genX(cmd_buffer_flush_dynamic_state)(struct anv_cmd_buffer *cmd_buffer)
ib.CutIndexEnable = pipeline->primitive_restart;
#endif
ib.IndexFormat = cmd_buffer->state.gfx.gen7.index_type;
- ib.IndexBufferMOCS = anv_mocs_for_bo(cmd_buffer->device,
+ ib.MOCS = anv_mocs_for_bo(cmd_buffer->device,
buffer->address.bo);
ib.BufferStartingAddress = anv_address_add(buffer->address,
diff --git a/src/intel/vulkan/gen8_cmd_buffer.c b/src/intel/vulkan/gen8_cmd_buffer.c
index 752d04f3013..5bacfed71c8 100644
--- a/src/intel/vulkan/gen8_cmd_buffer.c
+++ b/src/intel/vulkan/gen8_cmd_buffer.c
@@ -565,7 +565,7 @@ void genX(CmdBindIndexBuffer)(
anv_batch_emit(&cmd_buffer->batch, GENX(3DSTATE_INDEX_BUFFER), ib) {
ib.IndexFormat = vk_to_gen_index_type[indexType];
- ib.IndexBufferMOCS = anv_mocs_for_bo(cmd_buffer->device,
+ ib.MOCS = anv_mocs_for_bo(cmd_buffer->device,
buffer->address.bo);
ib.BufferStartingAddress = anv_address_add(buffer->address, offset);
ib.BufferSize = buffer->size - offset;
diff --git a/src/intel/vulkan/genX_cmd_buffer.c b/src/intel/vulkan/genX_cmd_buffer.c
index fb70cd2e386..1aaf83e97e8 100644
--- a/src/intel/vulkan/genX_cmd_buffer.c
+++ b/src/intel/vulkan/genX_cmd_buffer.c
@@ -86,26 +86,26 @@ genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer)
anv_batch_emit(&cmd_buffer->batch, GENX(STATE_BASE_ADDRESS), sba) {
sba.GeneralStateBaseAddress = (struct anv_address) { NULL, 0 };
- sba.GeneralStateMemoryObjectControlState = GENX(MOCS);
+ sba.GeneralStateMOCS = GENX(MOCS);
sba.GeneralStateBaseAddressModifyEnable = true;
sba.SurfaceStateBaseAddress =
anv_cmd_buffer_surface_base_address(cmd_buffer);
- sba.SurfaceStateMemoryObjectControlState = GENX(MOCS);
+ sba.SurfaceStateMOCS = GENX(MOCS);
sba.SurfaceStateBaseAddressModifyEnable = true;
sba.DynamicStateBaseAddress =
(struct anv_address) { &device->dynamic_state_pool.block_pool.bo, 0 };
- sba.DynamicStateMemoryObjectControlState = GENX(MOCS);
+ sba.DynamicStateMOCS = GENX(MOCS);
sba.DynamicStateBaseAddressModifyEnable = true;
sba.IndirectObjectBaseAddress = (struct anv_address) { NULL, 0 };
- sba.IndirectObjectMemoryObjectControlState = GENX(MOCS);
+ sba.IndirectObjectMOCS = GENX(MOCS);
sba.IndirectObjectBaseAddressModifyEnable = true;
sba.InstructionBaseAddress =
(struct anv_address) { &device->instruction_state_pool.block_pool.bo, 0 };
- sba.InstructionMemoryObjectControlState = GENX(MOCS);
+ sba.InstructionMOCS = GENX(MOCS);
sba.InstructionBaseAddressModifyEnable = true;
# if (GEN_GEN >= 8)
@@ -124,13 +124,13 @@ genX(cmd_buffer_emit_state_base_address)(struct anv_cmd_buffer *cmd_buffer)
# endif
# if (GEN_GEN >= 9)
sba.BindlessSurfaceStateBaseAddress = (struct anv_address) { NULL, 0 };
- sba.BindlessSurfaceStateMemoryObjectControlState = GENX(MOCS);
+ sba.BindlessSurfaceStateMOCS = GENX(MOCS);
sba.BindlessSurfaceStateBaseAddressModifyEnable = true;
sba.BindlessSurfaceStateSize = 0;
# endif
# if (GEN_GEN >= 10)
sba.BindlessSamplerStateBaseAddress = (struct anv_address) { NULL, 0 };
- sba.BindlessSamplerStateMemoryObjectControlState = GENX(MOCS);
+ sba.BindlessSamplerStateMOCS = GENX(MOCS);
sba.BindlessSamplerStateBaseAddressModifyEnable = true;
sba.BindlessSamplerStateBufferSize = 0;
# endif
@@ -2572,8 +2572,7 @@ genX(cmd_buffer_flush_state)(struct anv_cmd_buffer *cmd_buffer)
struct GENX(VERTEX_BUFFER_STATE) state = {
.VertexBufferIndex = vb,
- .VertexBufferMOCS = anv_mocs_for_bo(cmd_buffer->device,
- buffer->address.bo),
+ .MOCS = anv_mocs_for_bo(cmd_buffer->device, buffer->address.bo),
#if GEN_GEN <= 7
.BufferAccessType = pipeline->vb[vb].instanced ? INSTANCEDATA : VERTEXDATA,
.InstanceDataStepRate = pipeline->vb[vb].instance_divisor,
@@ -2691,7 +2690,7 @@ emit_vertex_bo(struct anv_cmd_buffer *cmd_buffer,
.VertexBufferIndex = index,
.AddressModifyEnable = true,
.BufferPitch = 0,
- .VertexBufferMOCS = anv_mocs_for_bo(cmd_buffer->device, addr.bo),
+ .MOCS = anv_mocs_for_bo(cmd_buffer->device, addr.bo),
#if (GEN_GEN >= 8)
.BufferStartingAddress = addr,
.BufferSize = size
diff --git a/src/intel/vulkan/genX_gpu_memcpy.c b/src/intel/vulkan/genX_gpu_memcpy.c
index 1bee1c6dc17..ea35daa4126 100644
--- a/src/intel/vulkan/genX_gpu_memcpy.c
+++ b/src/intel/vulkan/genX_gpu_memcpy.c
@@ -167,7 +167,7 @@ genX(cmd_buffer_so_memcpy)(struct anv_cmd_buffer *cmd_buffer,
.AddressModifyEnable = true,
.BufferStartingAddress = src,
.BufferPitch = bs,
- .VertexBufferMOCS = anv_mocs_for_bo(cmd_buffer->device, src.bo),
+ .MOCS = anv_mocs_for_bo(cmd_buffer->device, src.bo),
#if (GEN_GEN >= 8)
.BufferSize = size,
#else
@@ -227,7 +227,7 @@ genX(cmd_buffer_so_memcpy)(struct anv_cmd_buffer *cmd_buffer,
anv_batch_emit(&cmd_buffer->batch, GENX(3DSTATE_SO_BUFFER), sob) {
sob.SOBufferIndex = 0;
- sob.SOBufferMOCS = anv_mocs_for_bo(cmd_buffer->device, dst.bo),
+ sob.MOCS = anv_mocs_for_bo(cmd_buffer->device, dst.bo),
sob.SurfaceBaseAddress = dst;
#if GEN_GEN >= 8
diff --git a/src/intel/vulkan/genX_state.c b/src/intel/vulkan/genX_state.c
index 42800a2581e..0f6b77492fb 100644
--- a/src/intel/vulkan/genX_state.c
+++ b/src/intel/vulkan/genX_state.c
@@ -91,11 +91,9 @@ gen10_emit_wa_lri_to_cache_mode_zero(struct anv_batch *batch)
VkResult
genX(init_device_state)(struct anv_device *device)
{
- GENX(MEMORY_OBJECT_CONTROL_STATE_pack)(NULL, &device->default_mocs,
- &GENX(MOCS));
+ device->default_mocs = GENX(MOCS);
#if GEN_GEN >= 8
- GENX(MEMORY_OBJECT_CONTROL_STATE_pack)(NULL, &device->external_mocs,
- &GENX(EXTERNAL_MOCS));
+ device->external_mocs = GENX(EXTERNAL_MOCS);
#else
device->external_mocs = device->default_mocs;
#endif
diff --git a/src/mesa/drivers/dri/i965/genX_state_upload.c b/src/mesa/drivers/dri/i965/genX_state_upload.c
index bad0aff9c67..8c38d5f4e82 100644
--- a/src/mesa/drivers/dri/i965/genX_state_upload.c
+++ b/src/mesa/drivers/dri/i965/genX_state_upload.c
@@ -394,15 +394,15 @@ genX(emit_vertex_buffer_state)(struct brw_context *brw,
#endif
#if GEN_GEN == 11
- .VertexBufferMOCS = ICL_MOCS_WB,
+ .MOCS = ICL_MOCS_WB,
#elif GEN_GEN == 10
- .VertexBufferMOCS = CNL_MOCS_WB,
+ .MOCS = CNL_MOCS_WB,
#elif GEN_GEN == 9
- .VertexBufferMOCS = SKL_MOCS_WB,
+ .MOCS = SKL_MOCS_WB,
#elif GEN_GEN == 8
- .VertexBufferMOCS = BDW_MOCS_WB,
+ .MOCS = BDW_MOCS_WB,
#elif GEN_GEN == 7
- .VertexBufferMOCS = GEN7_MOCS_L3,
+ .MOCS = GEN7_MOCS_L3,
#endif
};
@@ -996,7 +996,7 @@ genX(emit_index_buffer)(struct brw_context *brw)
*/
ib.BufferStartingAddress = ro_32_bo(brw->ib.bo, 0);
#if GEN_GEN >= 8
- ib.IndexBufferMOCS = GEN_GEN >= 9 ? SKL_MOCS_WB : BDW_MOCS_WB;
+ ib.MOCS = GEN_GEN >= 9 ? SKL_MOCS_WB : BDW_MOCS_WB;
ib.BufferSize = brw->ib.size;
#else
ib.BufferEndingAddress = ro_bo(brw->ib.bo, brw->ib.size - 1);
@@ -3878,7 +3878,7 @@ genX(upload_3dstate_so_buffers)(struct brw_context *brw)
sob.SOBufferEnable = true;
sob.StreamOffsetWriteEnable = true;
sob.StreamOutputBufferOffsetAddressEnable = true;
- sob.SOBufferMOCS = mocs_wb;
+ sob.MOCS = mocs_wb;
sob.SurfaceSize = MAX2(xfb_obj->Size[i] / 4, 1) - 1;
sob.StreamOutputBufferOffsetAddress =