Mesa (main): panfrost: Remove blend shader return value on v9

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Feb 3 16:00:42 UTC 2022


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

Author: Alyssa Rosenzweig <alyssa at collabora.com>
Date:   Fri Jan 28 13:47:53 2022 -0500

panfrost: Remove blend shader return value on v9

Removed since there's a new ABI for blend shaders. Even if we always write 0,
it's better not to pack this at all, and to denoise the dumps.

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

---

 src/gallium/drivers/panfrost/pan_cmdstream.c | 9 ++++++---
 src/panfrost/lib/genxml/v9.xml               | 1 -
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pan_cmdstream.c b/src/gallium/drivers/panfrost/pan_cmdstream.c
index 569492e8816..c09bb95ea78 100644
--- a/src/gallium/drivers/panfrost/pan_cmdstream.c
+++ b/src/gallium/drivers/panfrost/pan_cmdstream.c
@@ -336,14 +336,17 @@ panfrost_emit_blend(struct panfrost_batch *batch, void *rts, mali_ptr *blend_sha
                                         (blend_shaders[i] & (0xffffffffull << 32)) ==
                                         (fs->bin.gpu & (0xffffffffull << 32)));
 
-                        unsigned ret_offset = fs->info.bifrost.blend[i].return_offset;
-                        assert(!(ret_offset & 0x7));
-
                         pan_pack(&packed->opaque[2], INTERNAL_BLEND, cfg) {
                                 cfg.mode = MALI_BLEND_MODE_SHADER;
                                 cfg.shader.pc = (u32) blend_shaders[i];
+
+#if PAN_ARCH <= 7
+                                unsigned ret_offset = fs->info.bifrost.blend[i].return_offset;
+                                assert(!(ret_offset & 0x7));
+
                                 cfg.shader.return_value = ret_offset ?
                                         fs->bin.gpu + ret_offset : 0;
+#endif
                         }
                 } else {
                         pan_pack(&packed->opaque[2], INTERNAL_BLEND, cfg) {
diff --git a/src/panfrost/lib/genxml/v9.xml b/src/panfrost/lib/genxml/v9.xml
index d9bb8b1a9bb..6918362d5fd 100644
--- a/src/panfrost/lib/genxml/v9.xml
+++ b/src/panfrost/lib/genxml/v9.xml
@@ -548,7 +548,6 @@
   </enum>
 
   <struct name="Blend Shader" size="2">
-    <field name="Return Value" size="29" start="0:3" type="uint" modifier="shr(3)"/>
     <field name="PC" size="28" start="1:4" type="uint" modifier="shr(4)"/>
   </struct>
 



More information about the mesa-commit mailing list