Module: Mesa
Branch: main
Commit: 16c12a9c3b4587d1afe21443923ea17c756e0b9f
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=16c12a9c3b4587d1afe21443923ea17c756e0b9f

Author: Lionel Landwerlin <[email protected]>
Date:   Mon Jun 26 21:32:48 2023 +0300

genxml: enable decoding on compute engine

Signed-off-by: Lionel Landwerlin <[email protected]>
Reviewed-by: Sagar Ghuge <[email protected]>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23867>

---

 src/intel/common/intel_decoder.c |  3 +++
 src/intel/genxml/gen125.xml      | 20 ++++++++++----------
 2 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/src/intel/common/intel_decoder.c b/src/intel/common/intel_decoder.c
index 56c74c5dc99..7514446ba37 100644
--- a/src/intel/common/intel_decoder.c
+++ b/src/intel/common/intel_decoder.c
@@ -167,6 +167,7 @@ create_group(struct parser_context *ctx,
    group->dword_length_field = NULL;
    group->dw_length = 0;
    group->engine_mask = INTEL_ENGINE_CLASS_TO_MASK(INTEL_ENGINE_CLASS_RENDER) |
+                        INTEL_ENGINE_CLASS_TO_MASK(INTEL_ENGINE_CLASS_COMPUTE) 
|
                         INTEL_ENGINE_CLASS_TO_MASK(INTEL_ENGINE_CLASS_VIDEO) |
                         INTEL_ENGINE_CLASS_TO_MASK(INTEL_ENGINE_CLASS_COPY);
    group->bias = 1;
@@ -187,6 +188,8 @@ create_group(struct parser_context *ctx,
          while (tok != NULL) {
             if (strcmp(tok, "render") == 0) {
                group->engine_mask |= 
INTEL_ENGINE_CLASS_TO_MASK(INTEL_ENGINE_CLASS_RENDER);
+            } else if (strcmp(tok, "compute") == 0) {
+               group->engine_mask |= 
INTEL_ENGINE_CLASS_TO_MASK(INTEL_ENGINE_CLASS_COMPUTE);
             } else if (strcmp(tok, "video") == 0) {
                group->engine_mask |= 
INTEL_ENGINE_CLASS_TO_MASK(INTEL_ENGINE_CLASS_VIDEO);
             } else if (strcmp(tok, "blitter") == 0) {
diff --git a/src/intel/genxml/gen125.xml b/src/intel/genxml/gen125.xml
index a7f1aa916bc..c55338f40a1 100644
--- a/src/intel/genxml/gen125.xml
+++ b/src/intel/genxml/gen125.xml
@@ -1488,7 +1488,7 @@
     <field name="Command Type" start="29" end="31" type="uint" default="3" />
     <field name="Pointer to VS Binding Table" start="37" end="52" 
type="offset" />
   </instruction>
-  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4" 
engine="render">
+  <instruction name="3DSTATE_BINDING_TABLE_POOL_ALLOC" bias="2" length="4" 
engine="render|compute">
     <field name="DWord Length" start="0" end="7" type="uint" default="2" />
     <field name="3D Command Sub Opcode" start="16" end="23" type="uint" 
default="25" />
     <field name="3D Command Opcode" start="24" end="26" type="uint" 
default="1" />
@@ -1509,7 +1509,7 @@
     <field name="Blend State Pointer Valid" start="32" end="32" type="bool" />
     <field name="Blend State Pointer" start="38" end="63" type="offset" />
   </instruction>
-  <instruction name="3DSTATE_BTD" bias="2" length="6" engine="render">
+  <instruction name="3DSTATE_BTD" bias="2" length="6" engine="render|compute">
     <field name="DWord Length" start="0" end="7" type="uint" default="4" />
     <field name="3D Command Sub Opcode" start="16" end="23" type="uint" 
default="6" />
     <field name="3D Command Opcode" start="24" end="26" type="uint" 
default="1" />
@@ -1540,7 +1540,7 @@
     <field name="Color Calc State Pointer Valid" start="32" end="32" 
type="bool" />
     <field name="Color Calc State Pointer" start="38" end="63" type="offset" />
   </instruction>
-  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4" engine="render">
+  <instruction name="3DSTATE_CHROMA_KEY" bias="2" length="4" 
engine="render|compute">
     <field name="DWord Length" start="0" end="7" type="uint" default="2" />
     <field name="3D Command Sub Opcode" start="16" end="23" type="uint" 
default="4" />
     <field name="3D Command Opcode" start="24" end="26" type="uint" 
default="1" />
@@ -2212,7 +2212,7 @@
       <field name="Inline Data" start="0" end="31" type="uint" />
     </group>
   </instruction>
-  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2" 
engine="render">
+  <instruction name="3DSTATE_MONOFILTER_SIZE" bias="2" length="2" 
engine="render|compute">
     <field name="DWord Length" start="0" end="7" type="uint" default="0" />
     <field name="3D Command Sub Opcode" start="16" end="23" type="uint" 
default="17" />
     <field name="3D Command Opcode" start="24" end="26" type="uint" 
default="1" />
@@ -6215,7 +6215,7 @@
     <field name="Display Buffer Base Address" start="76" end="95" 
type="address" />
     <field name="Left Eye Display Buffer Base Address" start="108" end="127" 
type="address" />
   </instruction>
-  <instruction name="MI_FLUSH_DW" bias="2" length="5" engine="blitter|video">
+  <instruction name="MI_FLUSH_DW" bias="2" length="5" 
engine="blitter|compute|video">
     <field name="DWord Length" start="0" end="5" type="uint" default="3" />
     <field name="Video Pipeline Cache Invalidate" start="7" end="7" 
type="bool" />
     <field name="Notify Enable" start="8" end="8" type="bool" />
@@ -6345,7 +6345,7 @@
     <field name="MI Command Opcode" start="23" end="28" type="uint" 
default="7" />
     <field name="Command Type" start="29" end="31" type="uint" default="0" />
   </instruction>
-  <instruction name="MI_REPORT_PERF_COUNT" bias="2" length="4" engine="render">
+  <instruction name="MI_REPORT_PERF_COUNT" bias="2" length="4" 
engine="render|compute">
     <field name="DWord Length" start="0" end="5" type="uint" default="2" />
     <field name="MI Command Opcode" start="23" end="28" type="uint" 
default="40" />
     <field name="Command Type" start="29" end="31" type="uint" default="0" />
@@ -6531,7 +6531,7 @@
     <field name="MI Command Opcode" start="23" end="28" type="uint" 
default="4" />
     <field name="Command Type" start="29" end="31" type="uint" default="0" />
   </instruction>
-  <instruction name="PIPELINE_SELECT" bias="1" length="1" engine="render">
+  <instruction name="PIPELINE_SELECT" bias="1" length="1" 
engine="render|compute">
     <field name="Pipeline Selection" start="0" end="1" type="uint">
       <value name="3D" value="0" />
       <value name="Media" value="1" />
@@ -6545,7 +6545,7 @@
     <field name="Command SubType" start="27" end="28" type="uint" default="1" 
/>
     <field name="Command Type" start="29" end="31" type="uint" default="3" />
   </instruction>
-  <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render">
+  <instruction name="PIPE_CONTROL" bias="2" length="6" engine="render|compute">
     <field name="DWord Length" start="0" end="7" type="uint" default="4" />
     <field name="HDC Pipeline Flush Enable" start="9" end="9" type="bool" />
     <field name="L3 Read Only Cache Invalidation Enable" start="10" end="10" 
type="bool" />
@@ -6791,7 +6791,7 @@
     <field name="Output Surface Y Offset for V" start="992" end="1005" 
type="uint" />
     <field name="Output Surface X Offset for V" start="1008" end="1021" 
type="uint" />
   </instruction>
-  <instruction name="STATE_BASE_ADDRESS" bias="2" length="22" engine="render">
+  <instruction name="STATE_BASE_ADDRESS" bias="2" length="22" 
engine="render|compute">
     <field name="DWord Length" start="0" end="7" type="uint" default="20" />
     <field name="3D Command Sub Opcode" start="16" end="23" type="uint" 
default="1" />
     <field name="3D Command Opcode" start="24" end="26" type="uint" 
default="1" />
@@ -6837,7 +6837,7 @@
     <field name="Bindless Sampler State Base Address" start="620" end="671" 
type="address" />
     <field name="Bindless Sampler State Buffer Size" start="684" end="703" 
type="uint" />
   </instruction>
-  <instruction name="STATE_SIP" bias="2" length="3" engine="render">
+  <instruction name="STATE_SIP" bias="2" length="3" engine="render|compute">
     <field name="DWord Length" start="0" end="7" type="uint" default="1" />
     <field name="3D Command Sub Opcode" start="16" end="23" type="uint" 
default="2" />
     <field name="3D Command Opcode" start="24" end="26" type="uint" 
default="1" />

Reply via email to