Mesa (master): panfrost: Emit special varyings

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Jun 12 14:59:54 UTC 2020


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

Author: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
Date:   Mon Jun  8 13:52:38 2020 -0400

panfrost: Emit special varyings

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

---

 src/gallium/drivers/panfrost/pan_cmdstream.c | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/src/gallium/drivers/panfrost/pan_cmdstream.c b/src/gallium/drivers/panfrost/pan_cmdstream.c
index fa82844ff1b..aad66bc9fe0 100644
--- a/src/gallium/drivers/panfrost/pan_cmdstream.c
+++ b/src/gallium/drivers/panfrost/pan_cmdstream.c
@@ -1866,6 +1866,24 @@ pan_emit_vary_only(unsigned present, unsigned quirks)
         return pan_emit_vary(present, 0, quirks, MALI_VARYING_DISCARD, 0);
 }
 
+/* Special records */
+
+static const enum mali_format pan_varying_formats[PAN_VARY_MAX] = {
+        [PAN_VARY_POSITION]     = MALI_VARYING_POS,
+        [PAN_VARY_PSIZ]         = MALI_R16F,
+        [PAN_VARY_PNTCOORD]     = MALI_R16F,
+        [PAN_VARY_FACE]         = MALI_R32I,
+        [PAN_VARY_FRAGCOORD]    = MALI_RGBA32F
+};
+
+static struct mali_attr_meta
+pan_emit_vary_special(unsigned present, enum pan_special_varying buf,
+                unsigned quirks)
+{
+        assert(buf < PAN_VARY_MAX);
+        return pan_emit_vary(present, buf, quirks, pan_varying_formats[buf], 0);
+}
+
 void
 panfrost_emit_varying_descriptor(struct panfrost_batch *batch,
                                  unsigned vertex_count,



More information about the mesa-commit mailing list