aboutsummaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/panfrost/pandecode
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <[email protected]>2019-03-15 03:21:27 +0000
committerAlyssa Rosenzweig <[email protected]>2019-03-19 03:53:48 +0000
commitb517e3684286e909eb624117ddcc4481020f31b4 (patch)
tree36c927bcab22fba1496f16efa6de809c934c5577 /src/gallium/drivers/panfrost/pandecode
parent4f89e4437c548f616b43c3a285434fdbb2959ba8 (diff)
panfrost/decode: Respect primitive size pointers
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Diffstat (limited to 'src/gallium/drivers/panfrost/pandecode')
-rw-r--r--src/gallium/drivers/panfrost/pandecode/decode.c10
1 files 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);