Mesa (main): panfrost/genxml: Decode Bifrost index-driven vertex jobs

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Jul 6 20:30:49 UTC 2021


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

Author: Daniel Stone <daniels at collabora.com>
Date:   Wed Jun 16 10:10:48 2021 +0100

panfrost/genxml: Decode Bifrost index-driven vertex jobs

Bifrost has a new type of job called 'index-driven vertex', which takes
in two shaders. The primary shader, called for all values, performs
position shading to a cacheline-aligned attribute buffer. The secondary
shader, called for values still live after culling, performs varying
shading.

It is the responsiblilty of the implementation to ensure that vertices
from different instances do not share a cacheline.

Signed-off-by: Daniel Stone <daniels at collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11413>

---

 src/panfrost/lib/midgard.xml | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/panfrost/lib/midgard.xml b/src/panfrost/lib/midgard.xml
index d879f3ae4c9..1a89bc38f72 100644
--- a/src/panfrost/lib/midgard.xml
+++ b/src/panfrost/lib/midgard.xml
@@ -48,6 +48,7 @@
     <value name="Tiler" value="7"/>
     <value name="Fused" value="8"/>
     <value name="Fragment" value="9"/>
+    <value name="Indexed Vertex" value="10"/>
   </enum>
 
   <enum name="Draw Mode">
@@ -1636,4 +1637,17 @@
     <section name="Draw" offset="128" type="Draw"/>
     <section name="Draw Padding" offset="248" type="Draw Padding"/>
   </aggregate>
+
+  <aggregate name="Bifrost Indexed Vertex Job" size="384" align="64">
+    <section name="Header" offset="0" type="Job Header"/>
+    <section name="Invocation" offset="32" type="Invocation"/>
+    <section name="Primitive" offset="40" type="Primitive"/>
+    <section name="Primitive Size" offset="64" type="Primitive Size"/>
+    <section name="Tiler" offset="72" type="Bifrost Tiler Pointer"/>
+    <section name="Padding" offset="80" type="Bifrost Tiler Job Padding"/>
+    <section name="Fragment Draw" offset="128" type="Draw"/>
+    <section name="Fragment Draw Padding" offset="248" type="Draw Padding"/>
+    <section name="Vertex Draw" offset="256" type="Draw"/>
+    <section name="Vertex Draw Padding" offset="376" type="Draw Padding"/>
+  </aggregate>
 </panxml>



More information about the mesa-commit mailing list