[Mesa-dev] [PATCH 4/5] panfrost/decode: Respect primitive size pointers

Alyssa Rosenzweig alyssa at rosenzweig.io
Fri Mar 15 04:25:17 UTC 2019


Signed-off-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
---
 src/gallium/drivers/panfrost/pandecode/decode.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/gallium/drivers/panfrost/pandecode/decode.c b/src/gallium/drivers/panfrost/pandecode/decode.c
index e6932744939..28bc0509feb 100644
--- a/src/gallium/drivers/panfrost/pandecode/decode.c
+++ b/src/gallium/drivers/panfrost/pandecode/decode.c
@@ -1692,7 +1692,11 @@ pandecode_replay_primitive_size(union midgard_primitive_size u, bool constant)
         pandecode_log(".primitive_size = {\n");
         pandecode_indent++;
 
-        pandecode_prop("constant = %f", u.constant);
+        if (constant) {
+                pandecode_prop("constant = %f", u.constant);
+        } else {
+                MEMORY_PROP((&u), pointer);
+        }
 
         pandecode_indent--;
         pandecode_log("},\n");
@@ -1802,8 +1806,8 @@ pandecode_replay_vertex_or_tiler_job_mdg(const struct mali_job_descriptor_header
         pandecode_log("struct midgard_payload_vertex_tiler payload_%d = {\n", job_no);
         pandecode_indent++;
 
-        /* TODO: gl_PointSize */
-        pandecode_replay_primitive_size(v->primitive_size, true);
+        bool has_primitive_pointer = v->prefix.unknown_draw & MALI_DRAW_VARYING_SIZE;
+        pandecode_replay_primitive_size(v->primitive_size, !has_primitive_pointer);
 
         pandecode_log(".prefix = ");
         pandecode_replay_vertex_tiler_prefix(&v->prefix, job_no);
-- 
2.20.1



More information about the mesa-dev mailing list