Mesa (main): panfrost: Flesh out the Shader Program Descriptor

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Sat Feb 12 14:47:40 UTC 2022


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

Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Wed Feb  2 19:10:47 2022 -0500

panfrost: Flesh out the Shader Program Descriptor

Only breaking change since Bifrost is that the shader contains barrier? flag is
now fragment-only, meaning it is just a spawn helper threads flag. This affects
compute shaders slightly.

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

---

 src/panfrost/lib/genxml/v9.xml | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/panfrost/lib/genxml/v9.xml b/src/panfrost/lib/genxml/v9.xml
index 8deaf475182..851511d6486 100644
--- a/src/panfrost/lib/genxml/v9.xml
+++ b/src/panfrost/lib/genxml/v9.xml
@@ -787,6 +787,13 @@
     <value name="32 Per Thread" value="2"/>
   </enum>
 
+  <enum name="Flush to zero mode">
+    <value name="Preserve subnormals" value="0"/>
+    <value name="DX11" value="1"/>
+    <value name="Always" value="2"/>
+    <value name="Abrupt" value="3"/>
+  </enum>
+
   <struct name="Preload" size="1">
     <field name="R48-R63" size="16" start="0:0" type="hex"/>
     <field name="R55" size="1" start="0:7" type="bool"/>
@@ -804,10 +811,11 @@
     <field name="Type" size="4" start="0:0" type="Descriptor Type" default="Shader"/>
     <field name="Stage" size="4" start="0:4" type="Shader stage"/>
     <field name="Primary shader" size="1" start="0:8" type="bool"/>
-    <!-- XXX DDK sets/clears these together, so I might have them backward -->
-    <field name="Suppress Inf" size="1" start="0:16" type="bool"/>
-    <field name="Suppress NaN" size="1" start="0:19" type="bool"/>
-    <field name="Shader contains barrier" size="1" start="0:28" type="bool"/>
+    <field name="Suppress NaN" size="1" start="0:16" type="bool"/>
+    <field name="Flush to zero mode" size="2" start="0:17" type="Flush to zero mode"/>
+    <field name="Suppress Inf" size="1" start="0:19" type="bool"/>
+    <field name="Requires helper threads" size="1" start="0:28" type="bool"/> <!-- Fragment only -->
+    <field name="Shader contains JUMP_EX" size="1" start="0:29" type="bool"/>
     <field name="Register allocation" size="2" start="0:30" type="Shader Register Allocation"/>
     <field name="Preload" size="16" start="1:0" type="Preload"/>
     <field name="Binary" size="64" start="2:0" type="address"/>



More information about the mesa-commit mailing list