[Mesa-dev] [PATCH 6/7] panfrost/decode: Compute padded_num_vertices for MODULO
Alyssa Rosenzweig
alyssa.rosenzweig at collabora.com
Mon Jul 1 14:55:55 UTC 2019
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
---
src/gallium/drivers/panfrost/pandecode/decode.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/gallium/drivers/panfrost/pandecode/decode.c b/src/gallium/drivers/panfrost/pandecode/decode.c
index 129e769cace..4cc7ca03995 100644
--- a/src/gallium/drivers/panfrost/pandecode/decode.c
+++ b/src/gallium/drivers/panfrost/pandecode/decode.c
@@ -895,15 +895,25 @@ pandecode_replay_attributes(const struct pandecode_mapped_memory *mem,
pandecode_log("{\n");
pandecode_indent++;
- pandecode_prop("elements = (%s_%d_p) | %s", base, i, pandecode_attr_mode_name(attr[i].elements & 7));
+ unsigned mode = attr[i].elements & 7;
+ pandecode_prop("elements = (%s_%d_p) | %s", base, i, pandecode_attr_mode_name(mode));
pandecode_prop("shift = %d", attr[i].shift);
pandecode_prop("extra_flags = %d", attr[i].extra_flags);
pandecode_prop("stride = 0x%" PRIx32, attr[i].stride);
pandecode_prop("size = 0x%" PRIx32, attr[i].size);
+
+ /* Decode further where possible */
+
+ if (mode == MALI_ATTR_MODULO) {
+ unsigned odd = (2 * attr[i].extra_flags) + 1;
+ unsigned pot = (1 << attr[i].shift);
+ pandecode_msg("padded_num_vertices = %d\n", odd * pot);
+ }
+
pandecode_indent--;
pandecode_log("}, \n");
- if ((attr[i].elements & 7) == MALI_ATTR_NPOT_DIVIDE) {
+ if (mode == MALI_ATTR_NPOT_DIVIDE) {
i++;
pandecode_log("{\n");
pandecode_indent++;
--
2.20.1
More information about the mesa-dev
mailing list