cell: add new debug flag (cache) to report texture cache stats on exit
authorBrian Paul <brian.paul@tungstengraphics.com>
Fri, 17 Oct 2008 02:25:28 +0000 (20:25 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Fri, 17 Oct 2008 20:14:23 +0000 (14:14 -0600)
src/gallium/drivers/cell/common.h
src/gallium/drivers/cell/ppu/cell_context.c
src/gallium/drivers/cell/spu/spu_command.c
src/gallium/drivers/cell/spu/spu_dcache.c

index 469d56cda8002636f53db3490f21433c80c8fc26..9ca4e9d67e7fa4f81dc0982acab461f3bf57f051 100644 (file)
 #define CELL_DEBUG_FRAGMENT_OPS         (1 << 3)
 #define CELL_DEBUG_FRAGMENT_OP_FALLBACK (1 << 4)
 #define CELL_DEBUG_CMD                  (1 << 5)
+#define CELL_DEBUG_CACHE                (1 << 6)
 
 /** Max instructions for doing per-fragment operations */
 #define SPU_MAX_FRAGMENT_OPS_INSTS 64
index 4dad490ce1a51002216dd7289cb4e1c54c807163..7a2d93ecb4f2f5e0e263ece1e12977da4d277d7a 100644 (file)
@@ -94,6 +94,7 @@ static const struct debug_named_value cell_debug_flags[] = {
    {"fragops", CELL_DEBUG_FRAGMENT_OPS}, /**< SPUs emit fragment ops debug messages*/
    {"fragopfallback", CELL_DEBUG_FRAGMENT_OP_FALLBACK}, /**< SPUs use reference implementation for fragment ops*/
    {"cmd", CELL_DEBUG_CMD},       /**< SPUs dump command buffer info */
+   {"cache", CELL_DEBUG_CACHE},   /**< report texture cache stats on exit */
    {NULL, 0}
 };
 
index ff4a52d79a431a751d20a0b9d39d6496f8a792fb..9c853c0961ab44d2980ddf8e39301b25a3e282b3 100644 (file)
@@ -720,5 +720,6 @@ command_loop(void)
 
    D_PRINTF(CELL_DEBUG_CMD, "Exit command loop\n");
 
-   spu_dcache_report();
+   if (spu.init.debug_flags & CELL_DEBUG_CACHE)
+      spu_dcache_report();
 }
index 167404cdc54b05c24aacb1d40177583e6abc0dbe..a6d67634fd8182274c328fbaf1a1113579666920 100644 (file)
@@ -36,7 +36,9 @@
 #define CACHE_SET_TAGID(set)  (((set) & 0x03) + TAG_DCACHE0)
 #define CACHE_LOG2NNWAY       2
 #define CACHE_LOG2NSETS       6
-/*#define CACHE_STATS           1*/
+#ifdef DEBUG
+#define CACHE_STATS           1
+#endif
 #include <cache-api.h>
 
 /* Yes folks, this is ugly.