panfrost: Add XML for framebuffer pointers
authorAlyssa Rosenzweig <alyssa@collabora.com>
Wed, 28 Dec 2022 21:01:55 +0000 (16:01 -0500)
committerMarge Bot <emma+marge@anholt.net>
Sat, 11 Mar 2023 06:30:02 +0000 (06:30 +0000)
We shouldn't have to open-code these. They are real data structures, model them
as such in the architecture XML files.

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

src/panfrost/lib/genxml/v10.xml
src/panfrost/lib/genxml/v5.xml
src/panfrost/lib/genxml/v6.xml
src/panfrost/lib/genxml/v7.xml
src/panfrost/lib/genxml/v9.xml

index 9aa8119..8b9f682 100644 (file)
     <section name="Padding" offset="64" type="Framebuffer Padding"/>
   </aggregate>
 
+  <struct name="Framebuffer pointer">
+    <field name="Type" start="0" size="1" type="bool" default="true"/>
+    <field name="ZS CRC Extension present" start="1" size="1" type="bool"/>
+    <field name="Render target count" start="2" size="4" type="uint" modifier="minus(1)"/>
+    <field name="Pointer" start="6" size="58" type="address" modifier="shr(6)"/>
+  </struct>
+
   <struct name="Fragment Job Payload" size="8">
     <field name="Bound Min X" size="12" start="0:0" type="uint"/>
     <field name="Bound Min Y" size="12" start="0:16" type="uint"/>
index 0b1984e..4f22274 100644 (file)
     <field name="Clear" size="128" start="12:0" type="RT Clear"/>
   </struct>
 
-
   <aggregate name="Framebuffer" align="64">
     <section name="Local Storage" offset="0" type="Local Storage"/>
     <section name="Parameters" offset="32" type="Framebuffer Parameters"/>
     <section name="Tiler Weights" offset="96" type="Tiler Weights"/>
   </aggregate>
 
+  <struct name="Framebuffer pointer">
+    <field name="Type" start="0" size="1" type="bool" default="true"/>
+    <field name="ZS CRC Extension present" start="1" size="1" type="bool"/>
+    <field name="Render target count" start="2" size="4" type="uint" modifier="minus(1)"/>
+    <field name="Pointer" start="6" size="58" type="address" modifier="shr(6)"/>
+  </struct>
+
   <struct name="Job Header" align="64">
     <field name="Exception Status" size="32" start="0:0" type="uint"/>
     <field name="First Incomplete Task" size="32" start="1:0" type="uint"/>
index d7031d1..5cb7d34 100644 (file)
     <section name="Padding" offset="64" type="Framebuffer Padding"/>
   </aggregate>
 
+  <struct name="Framebuffer pointer">
+    <field name="Type" start="0" size="1" type="bool" default="true"/>
+    <field name="ZS CRC Extension present" start="1" size="1" type="bool"/>
+    <field name="Render target count" start="2" size="4" type="uint" modifier="minus(1)"/>
+    <field name="Pointer" start="6" size="58" type="address" modifier="shr(6)"/>
+  </struct>
+
   <struct name="Job Header" align="64">
     <field name="Exception Status" size="32" start="0:0" type="uint"/>
     <field name="First Incomplete Task" size="32" start="1:0" type="uint"/>
index 95c6757..d17fd47 100644 (file)
     <section name="Padding" offset="64" type="Framebuffer Padding"/>
   </aggregate>
 
+  <struct name="Framebuffer pointer">
+    <field name="Type" start="0" size="1" type="bool" default="true"/>
+    <field name="ZS CRC Extension present" start="1" size="1" type="bool"/>
+    <field name="Render target count" start="2" size="4" type="uint" modifier="minus(1)"/>
+    <field name="Pointer" start="6" size="58" type="address" modifier="shr(6)"/>
+  </struct>
+
   <struct name="Job Header" align="64">
     <field name="Exception Status" size="32" start="0:0" type="uint"/>
     <field name="First Incomplete Task" size="32" start="1:0" type="uint"/>
index 493ec24..1d9c08e 100644 (file)
     <section name="Padding" offset="64" type="Framebuffer Padding"/>
   </aggregate>
 
+  <struct name="Framebuffer pointer">
+    <field name="Type" start="0" size="1" type="bool" default="true"/>
+    <field name="ZS CRC Extension present" start="1" size="1" type="bool"/>
+    <field name="Render target count" start="2" size="4" type="uint" modifier="minus(1)"/>
+    <field name="Pointer" start="6" size="58" type="address" modifier="shr(6)"/>
+  </struct>
+
   <struct name="Job Header" align="128">
     <field name="Exception Status" size="32" start="0:0" type="uint"/>
     <field name="First Incomplete Task" size="32" start="1:0" type="uint"/>