panfrost: Add "Cache Flush" job XML
authorAlyssa Rosenzweig <alyssa@collabora.com>
Wed, 9 Jun 2021 20:42:54 +0000 (16:42 -0400)
committerMarge Bot <eric+marge@anholt.net>
Thu, 10 Jun 2021 18:06:11 +0000 (18:06 +0000)
Likely useful for efficient memory_barrier and texture_barrier
operations.

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11123>

src/panfrost/lib/midgard.xml

index b89f7aa..09a764b 100644 (file)
     <field name="Immediate Value" size="64" start="4:0" type="uint"/>
   </struct>
 
+  <struct name="Cache Flush Job Payload" size="2">
+    <field name="Clean Shader Core LS" size="1" start="0:0" type="bool"/>
+    <field name="Invalidate Shader Core LS" size="1" start="0:1" type="bool"/>
+    <field name="Invalidate Shader Core Other" size="1" start="0:2" type="bool"/>
+    <field name="Job Manager Clean" size="1" start="0:16" type="bool"/>
+    <field name="Job Manager Invalidate" size="1" start="0:17" type="bool"/>
+    <field name="Tiler Clean" size="1" start="0:24" type="bool"/>
+    <field name="Tiler Invalidate" size="1" start="0:25" type="bool"/>
+    <field name="L2 Clean" size="1" start="1:0" type="bool"/>
+    <field name="L2 Invalidate" size="1" start="1:1" type="bool"/>
+  </struct>
+
   <aggregate name="Write Value Job">
     <section name="Header" offset="0" type="Job Header"/>
     <section name="Payload" offset="32" type="Write Value Job Payload"/>
   </aggregate>
 
+  <aggregate name="Cache Flush Job">
+    <section name="Header" offset="0" type="Job Header"/>
+    <section name="Payload" offset="32" type="Cache Flush Job Payload"/>
+  </aggregate>
+
   <struct name="Compute Job Parameters" size="6">
     <field name="Job Task Split" size="4" start="0:26" type="uint"/>
   </struct>