vc4: Add CL dumping for GL_ARRAY_PRIMITIVE.
[mesa.git] / src / gallium / drivers / vc4 / vc4_cl_dump.c
index 5a24e025d06af7c17d1f83c08073c4da51fa8e99..a719f276b2e669b46b457063d177dd58637ce0b6 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 #include "util/u_math.h"
+#include "util/u_prim.h"
 #include "util/macros.h"
 #include "vc4_context.h"
 
@@ -162,6 +163,41 @@ dump_VC4_PACKET_LOAD_TILE_BUFFER_GENERAL(void *cl, uint32_t offset, uint32_t hw_
         dump_loadstore_general(cl, offset, hw_offset);
 }
 
+static void
+dump_VC4_PACKET_GL_INDEXED_PRIMITIVE(void *cl, uint32_t offset, uint32_t hw_offset)
+{
+        uint8_t *b = cl + offset;
+        uint32_t *count = cl + offset + 1;
+        uint32_t *ib_offset = cl + offset + 5;
+        uint32_t *max_index = cl + offset + 9;
+
+        fprintf(stderr, "0x%08x 0x%08x:      0x%02x %s %s\n",
+                offset, hw_offset,
+                b[0], (b[0] & VC4_INDEX_BUFFER_U16) ? "16-bit" : "8-bit",
+                u_prim_name(b[0] & 0x7));
+        fprintf(stderr, "0x%08x 0x%08x:           %d verts\n",
+                offset + 1, hw_offset + 1, *count);
+        fprintf(stderr, "0x%08x 0x%08x:      0x%08x IB offset\n",
+                offset + 5, hw_offset + 5, *ib_offset);
+        fprintf(stderr, "0x%08x 0x%08x:      0x%08x max index\n",
+                offset + 9, hw_offset + 9, *max_index);
+}
+
+static void
+dump_VC4_PACKET_GL_ARRAY_PRIMITIVE(void *cl, uint32_t offset, uint32_t hw_offset)
+{
+        uint8_t *b = cl + offset;
+        uint32_t *count = cl + offset + 1;
+        uint32_t *start = cl + offset + 5;
+
+        fprintf(stderr, "0x%08x 0x%08x:      0x%02x %s\n",
+                offset, hw_offset, b[0], u_prim_name(b[0] & 0x7));
+        fprintf(stderr, "0x%08x 0x%08x:      %d verts\n",
+                offset + 1, hw_offset + 1, *count);
+        fprintf(stderr, "0x%08x 0x%08x:      0x%08x start\n",
+                offset + 5, hw_offset + 5, *start);
+}
+
 static void
 dump_VC4_PACKET_FLAT_SHADE_FLAGS(void *cl, uint32_t offset, uint32_t hw_offset)
 {
@@ -358,8 +394,8 @@ static const struct packet_info {
         PACKET_DUMP(VC4_PACKET_STORE_TILE_BUFFER_GENERAL),
         PACKET_DUMP(VC4_PACKET_LOAD_TILE_BUFFER_GENERAL),
 
-        PACKET(VC4_PACKET_GL_INDEXED_PRIMITIVE),
-        PACKET(VC4_PACKET_GL_ARRAY_PRIMITIVE),
+        PACKET_DUMP(VC4_PACKET_GL_INDEXED_PRIMITIVE),
+        PACKET_DUMP(VC4_PACKET_GL_ARRAY_PRIMITIVE),
 
         PACKET(VC4_PACKET_COMPRESSED_PRIMITIVE),
         PACKET(VC4_PACKET_CLIPPED_COMPRESSED_PRIMITIVE),