diff --git a/src/panfrost/genxml/decode.c b/src/panfrost/genxml/decode.c
index d255d6e499b..a0dfbca06a0 100644
--- a/src/panfrost/genxml/decode.c
+++ b/src/panfrost/genxml/decode.c
@@ -455,9 +455,14 @@ pandecode_resources(struct pandecode_context *ctx, uint64_t addr, unsigned size)
assert((size % 0x20) == 0);
for (unsigned i = 0; i < size; i += 0x20) {
- unsigned type = (cl[i] & 0xF);
-
- switch (type) {
+ pan_unpack((const struct mali_descriptor_header_packed *)&cl[i],
+ DESCRIPTOR_HEADER, header)
+ ;
+ switch (header.type) {
+ case MALI_DESCRIPTOR_TYPE_NULL:
+ DUMP_CL(ctx, NULL_DESCRIPTOR, cl + i, "NullDescriptor @%" PRIx64 "\n",
+ addr + i);
+ break;
case MALI_DESCRIPTOR_TYPE_SAMPLER:
DUMP_CL(ctx, SAMPLER, cl + i, "Sampler @%" PRIx64 ":\n", addr + i);
break;
@@ -472,7 +477,7 @@ pandecode_resources(struct pandecode_context *ctx, uint64_t addr, unsigned size)
DUMP_CL(ctx, BUFFER, cl + i, "Buffer @%" PRIx64 ":\n", addr + i);
break;
default:
- fprintf(ctx->dump_stream, "Unknown descriptor type %X\n", type);
+ fprintf(ctx->dump_stream, "Unknown descriptor type %X\n", header.type);
break;
}
}
diff --git a/src/panfrost/genxml/v10.xml b/src/panfrost/genxml/v10.xml
index 35cfb6ff73e..2e87965e1c0 100644
--- a/src/panfrost/genxml/v10.xml
+++ b/src/panfrost/genxml/v10.xml
@@ -35,6 +35,7 @@
+
@@ -920,6 +921,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/panfrost/genxml/v12.xml b/src/panfrost/genxml/v12.xml
index 53cf6efa501..46abc421279 100644
--- a/src/panfrost/genxml/v12.xml
+++ b/src/panfrost/genxml/v12.xml
@@ -35,6 +35,7 @@
+
@@ -1156,6 +1157,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/panfrost/genxml/v13.xml b/src/panfrost/genxml/v13.xml
index c29e6b45003..f01b5f5d99b 100644
--- a/src/panfrost/genxml/v13.xml
+++ b/src/panfrost/genxml/v13.xml
@@ -35,6 +35,7 @@
+
@@ -1465,6 +1466,15 @@
+
+
+
+
+
+
+
+
+
diff --git a/src/panfrost/genxml/v9.xml b/src/panfrost/genxml/v9.xml
index 4b53a101644..23f5172ecb3 100644
--- a/src/panfrost/genxml/v9.xml
+++ b/src/panfrost/genxml/v9.xml
@@ -47,6 +47,7 @@
+
@@ -467,6 +468,15 @@
+
+
+
+
+
+
+
+
+