vc4: Add dumping of VC4_PACKET_GL_INDEXED_PRIMITIVE.
authorEric Anholt <eric@anholt.net>
Fri, 23 Oct 2015 14:26:12 +0000 (15:26 +0100)
committerEric Anholt <eric@anholt.net>
Fri, 23 Oct 2015 17:11:21 +0000 (18:11 +0100)
src/gallium/drivers/vc4/vc4_cl_dump.c

index 5a24e025d06af7c17d1f83c08073c4da51fa8e99..476d2b5b0b1bdac7b31a65de8863bf5afc8f9d2b 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,26 @@ 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_FLAT_SHADE_FLAGS(void *cl, uint32_t offset, uint32_t hw_offset)
 {
@@ -358,7 +379,7 @@ 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_DUMP(VC4_PACKET_GL_INDEXED_PRIMITIVE),
         PACKET(VC4_PACKET_GL_ARRAY_PRIMITIVE),
 
         PACKET(VC4_PACKET_COMPRESSED_PRIMITIVE),