panfrost: decode: Use pan_{unpack,print}() when applicable

Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com>
Reviewed-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/6797>
diff --git a/src/panfrost/lib/decode.c b/src/panfrost/lib/decode.c
index 803461f..12f9f8e 100644
--- a/src/panfrost/lib/decode.c
+++ b/src/panfrost/lib/decode.c
@@ -1044,15 +1044,16 @@
         MAP_ADDR(ATTRIBUTE_BUFFER, addr, cl);
 
         for (int i = 0; i < count; ++i) {
-                struct MALI_ATTRIBUTE_BUFFER temp;
-                MALI_ATTRIBUTE_BUFFER_unpack(cl + i * MALI_ATTRIBUTE_BUFFER_LENGTH, &temp);
+                pan_unpack(cl + i * MALI_ATTRIBUTE_BUFFER_LENGTH, ATTRIBUTE_BUFFER, temp);
                 DUMP_UNPACKED(ATTRIBUTE_BUFFER, temp, "%s:\n", prefix);
 
-                if (temp.type == MALI_ATTRIBUTE_TYPE_1D_NPOT_DIVISOR) {
-                        struct MALI_ATTRIBUTE_BUFFER_CONTINUATION_NPOT temp2;
-                        MALI_ATTRIBUTE_BUFFER_CONTINUATION_NPOT_unpack(cl + (i + 1) * MALI_ATTRIBUTE_BUFFER_LENGTH, &temp2);
-                        MALI_ATTRIBUTE_BUFFER_CONTINUATION_NPOT_print(pandecode_dump_stream, &temp2, 2);
-                }
+                if (temp.type != MALI_ATTRIBUTE_TYPE_1D_NPOT_DIVISOR)
+                        continue;
+
+                pan_unpack(cl + (i + 1) * MALI_ATTRIBUTE_BUFFER_LENGTH,
+                           ATTRIBUTE_BUFFER_CONTINUATION_NPOT, temp2);
+                pan_print(pandecode_dump_stream, ATTRIBUTE_BUFFER_CONTINUATION_NPOT,
+                          temp2, (pandecode_indent + 1) * 2);
         }
 }
 
@@ -1224,9 +1225,8 @@
         /* Decode invocation_count. See the comment before the definition of
          * invocation_count for an explanation.
          */
-        struct MALI_INVOCATION invocation;
         struct mali_invocation_packed invocation_packed = p->invocation;
-        MALI_INVOCATION_unpack((const uint8_t *) &invocation_packed, &invocation);
+        pan_unpack(&invocation_packed, INVOCATION, invocation);
 
         unsigned size_x = bits(invocation.invocations, 0, invocation.size_y_shift) + 1;
         unsigned size_y = bits(invocation.invocations, invocation.size_y_shift, invocation.size_z_shift) + 1;
@@ -1257,9 +1257,8 @@
                       size_x, size_y, size_z,
                       groups_x, groups_y, groups_z);
 
-        struct MALI_PRIMITIVE primitive;
         struct mali_primitive_packed prim_packed = p->primitive;
-        MALI_PRIMITIVE_unpack((const uint8_t *) &prim_packed, &primitive);
+        pan_unpack(&prim_packed, PRIMITIVE, primitive);
         DUMP_UNPACKED(PRIMITIVE, primitive, "Primitive:\n");
 
         /* Validate an index buffer is present if we need one. TODO: verify
@@ -1447,8 +1446,7 @@
         struct pandecode_mapped_memory *mapped_mem = pandecode_find_mapped_gpu_mem_containing(u);
         const uint8_t *cl = pandecode_fetch_gpu_mem(mapped_mem, u, MALI_MIDGARD_TEXTURE_LENGTH);
 
-        struct MALI_MIDGARD_TEXTURE temp;
-        MALI_MIDGARD_TEXTURE_unpack(cl, &temp);
+        pan_unpack(cl, MIDGARD_TEXTURE, temp);
         DUMP_UNPACKED(MIDGARD_TEXTURE, temp, "Texture:\n")
 
         pandecode_indent++;
@@ -1464,8 +1462,7 @@
                 unsigned job_no,
                 unsigned tex)
 {
-        struct MALI_BIFROST_TEXTURE temp;
-        MALI_BIFROST_TEXTURE_unpack(cl, &temp);
+        pan_unpack(cl, BIFROST_TEXTURE, temp);
         DUMP_UNPACKED(BIFROST_TEXTURE, temp, "Texture:\n")
 
         struct pandecode_mapped_memory *tmem = pandecode_find_mapped_gpu_mem_containing(temp.surfaces);
@@ -1626,11 +1623,7 @@
                         .uniform_buffer_count = 0
                 };
 
-                struct MALI_STATE state;
-                struct MALI_MIDGARD_PROPERTIES midg_props;
-                struct MALI_BIFROST_PROPERTIES bi_props;
-
-                MALI_STATE_unpack((const uint8_t *) cl, &state);
+                pan_unpack(cl, STATE, state);
 
                 if (state.shader.shader & ~0xF)
                         info = pandecode_shader_disassemble(state.shader.shader & ~0xF, job_no, job_type, is_bifrost, gpu_id);
@@ -1646,13 +1639,13 @@
 
                 fprintf(pandecode_dump_stream, "  Properties\n");
                 if (is_bifrost) {
-                        MALI_BIFROST_PROPERTIES_unpack((const uint8_t *) &state.properties, &bi_props);
+                        pan_unpack(&state.properties, BIFROST_PROPERTIES, bi_props);
                         DUMP_UNPACKED(BIFROST_PROPERTIES, bi_props, "Properties:\n");
 
                         uniform_count = state.preload.uniform_count;
                         uniform_buffer_count = bi_props.uniform_buffer_count;
                 } else {
-                        MALI_MIDGARD_PROPERTIES_unpack((const uint8_t *) &state.properties, &midg_props);
+                        pan_unpack(&state.properties, MIDGARD_PROPERTIES, midg_props);
                         DUMP_UNPACKED(MIDGARD_PROPERTIES, midg_props, "Properties:\n")
 
                         uniform_count = midg_props.uniform_count;
@@ -1887,10 +1880,9 @@
 {
         struct bifrost_payload_vertex *PANDECODE_PTR_VAR(v, mem, payload);
 
-        struct MALI_DRAW draw;
         struct mali_draw_packed draw_packed;
         memcpy(&draw_packed, &v->postfix, sizeof(draw_packed));
-        MALI_DRAW_unpack((const uint8_t *) &draw_packed, &draw); \
+        pan_unpack(&draw_packed, DRAW, draw);
         pandecode_vertex_tiler_postfix_pre(&draw, job_no, h->job_type, "", true, gpu_id);
 
         pandecode_vertex_tiler_prefix(&v->prefix, job_no, false);
@@ -1906,10 +1898,9 @@
 {
         struct bifrost_payload_tiler *PANDECODE_PTR_VAR(t, mem, payload);
 
-        struct MALI_DRAW draw;
         struct mali_draw_packed draw_packed;
         memcpy(&draw_packed, &t->postfix, sizeof(draw_packed));
-        MALI_DRAW_unpack((const uint8_t *) &draw_packed, &draw); \
+        pan_unpack(&draw_packed, DRAW, draw);
         pandecode_vertex_tiler_postfix_pre(&draw, job_no, h->job_type, "", true, gpu_id);
         pandecode_tiler_meta(t->tiler_meta, job_no);
 
@@ -1942,18 +1933,16 @@
         struct midgard_payload_vertex_tiler *PANDECODE_PTR_VAR(v, mem, payload);
         bool is_graphics = (h->job_type == MALI_JOB_TYPE_VERTEX) || (h->job_type == MALI_JOB_TYPE_TILER);
 
-        struct MALI_DRAW draw;
         struct mali_draw_packed draw_packed;
         memcpy(&draw_packed, &v->postfix, sizeof(draw_packed));
-        MALI_DRAW_unpack((const uint8_t *) &draw_packed, &draw); \
+        pan_unpack(&draw_packed, DRAW, draw);
         pandecode_vertex_tiler_postfix_pre(&draw, job_no, h->job_type, "", false, gpu_id);
 
         pandecode_vertex_tiler_prefix(&v->prefix, job_no, is_graphics);
         DUMP_CL(DRAW, &draw_packed, "Draw:\n");
 
-        struct MALI_PRIMITIVE primitive;
         struct mali_primitive_packed prim_packed = v->prefix.primitive;
-        MALI_PRIMITIVE_unpack((const uint8_t *) &prim_packed, &primitive);
+        pan_unpack(&prim_packed, PRIMITIVE, primitive);
 
         pandecode_primitive_size(v->primitive_size, primitive.point_size_array == 0);