asahi: Dump uniforms when decoding
authorAlyssa Rosenzweig <alyssa@rosenzweig.io>
Tue, 20 Dec 2022 19:22:00 +0000 (14:22 -0500)
committerAlyssa Rosenzweig <alyssa@rosenzweig.io>
Thu, 5 Jan 2023 16:48:13 +0000 (11:48 -0500)
These often have addresses in them.

Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20446>

src/asahi/lib/decode.c

index d48cc2a..cda57a2 100644 (file)
@@ -393,8 +393,17 @@ agxdecode_usc(const uint8_t *map, UNUSED uint64_t *link, UNUSED bool verbose)
       return AGX_USC_TEXTURE_LENGTH;
    }
 
+   case AGX_USC_CONTROL_UNIFORM: {
+      agx_unpack(agxdecode_dump_stream, map, USC_UNIFORM, temp);
+      DUMP_UNPACKED(USC_UNIFORM, temp, "Uniform\n");
+
+      uint8_t *raw = agxdecode_fetch_gpu_mem(temp.buffer, 2 * temp.size_halfs);
+      hexdump(agxdecode_dump_stream, raw, 2 * temp.size_halfs, false);
+
+      return AGX_USC_UNIFORM_LENGTH;
+   }
+
       USC_CASE(FRAGMENT_PROPERTIES, "Fragment properties");
-      USC_CASE(UNIFORM, "Uniform");
       USC_CASE(UNIFORM_HIGH, "Uniform high");
       USC_CASE(SHARED, "Shared");
       USC_CASE(REGISTERS, "Registers");