Mesa (master): i965: Move program cache printing to brw_program_cache.c.

Kenneth Graunke kwg at kemper.freedesktop.org
Wed Jan 18 05:55:48 UTC 2017


Module: Mesa
Branch: master
Commit: ce892392948e18241a872878873dbdd46e546fb2
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce892392948e18241a872878873dbdd46e546fb2

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Fri Nov 11 14:47:53 2016 -0800

i965: Move program cache printing to brw_program_cache.c.

It makes sense to put a function which prints out the entire contents
of the program cache in the file that implements the program cache.

Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eduardo Lima Mitev <elima at igalia.com>

---

 src/mesa/drivers/dri/i965/brw_program_cache.c | 46 +++++++++++++++++++++
 src/mesa/drivers/dri/i965/brw_state.h         |  2 +
 src/mesa/drivers/dri/i965/brw_state_dump.c    | 58 +--------------------------
 3 files changed, 49 insertions(+), 57 deletions(-)

diff --git a/src/mesa/drivers/dri/i965/brw_program_cache.c b/src/mesa/drivers/dri/i965/brw_program_cache.c
index 3d95372..8939fb1 100644
--- a/src/mesa/drivers/dri/i965/brw_program_cache.c
+++ b/src/mesa/drivers/dri/i965/brw_program_cache.c
@@ -480,3 +480,49 @@ brw_destroy_caches(struct brw_context *brw)
 {
    brw_destroy_cache(brw, &brw->cache);
 }
+
+static const char *
+cache_name(enum brw_cache_id cache_id)
+{
+   switch (cache_id) {
+   case BRW_CACHE_VS_PROG:
+      return "VS kernel";
+   case BRW_CACHE_TCS_PROG:
+      return "TCS kernel";
+   case BRW_CACHE_TES_PROG:
+      return "TES kernel";
+   case BRW_CACHE_FF_GS_PROG:
+      return "Fixed-function GS kernel";
+   case BRW_CACHE_GS_PROG:
+      return "GS kernel";
+   case BRW_CACHE_CLIP_PROG:
+      return "CLIP kernel";
+   case BRW_CACHE_SF_PROG:
+      return "SF kernel";
+   case BRW_CACHE_FS_PROG:
+      return "FS kernel";
+   case BRW_CACHE_CS_PROG:
+      return "CS kernel";
+   default:
+      return "unknown";
+   }
+}
+
+void
+brw_print_program_cache(struct brw_context *brw)
+{
+   const struct brw_cache *cache = &brw->cache;
+   struct brw_cache_item *item;
+
+   drm_intel_bo_map(cache->bo, false);
+
+   for (unsigned i = 0; i < cache->size; i++) {
+      for (item = cache->items[i]; item; item = item->next) {
+         fprintf(stderr, "%s:\n", cache_name(i));
+         brw_disassemble(&brw->screen->devinfo, cache->bo->virtual,
+                         item->offset, item->size, stderr);
+      }
+   }
+
+   drm_intel_bo_unmap(cache->bo);
+}
diff --git a/src/mesa/drivers/dri/i965/brw_state.h b/src/mesa/drivers/dri/i965/brw_state.h
index bd82212..f2349d8 100644
--- a/src/mesa/drivers/dri/i965/brw_state.h
+++ b/src/mesa/drivers/dri/i965/brw_state.h
@@ -245,6 +245,8 @@ void brw_program_cache_check_size(struct brw_context *brw);
 void brw_init_caches( struct brw_context *brw );
 void brw_destroy_caches( struct brw_context *brw );
 
+void brw_print_program_cache(struct brw_context *brw);
+
 /***********************************************************************
  * brw_state_batch.c
  */
diff --git a/src/mesa/drivers/dri/i965/brw_state_dump.c b/src/mesa/drivers/dri/i965/brw_state_dump.c
index 1ed8aaa..13e76ec 100644
--- a/src/mesa/drivers/dri/i965/brw_state_dump.c
+++ b/src/mesa/drivers/dri/i965/brw_state_dump.c
@@ -718,62 +718,6 @@ static void dump_binding_table(struct brw_context *brw, uint32_t offset,
 }
 
 static void
-dump_prog_cache(struct brw_context *brw)
-{
-   struct brw_cache *cache = &brw->cache;
-   unsigned int b;
-
-   drm_intel_bo_map(brw->cache.bo, false);
-
-   for (b = 0; b < cache->size; b++) {
-      struct brw_cache_item *item;
-
-      for (item = cache->items[b]; item; item = item->next) {
-	 const char *name;
-
-	 switch (item->cache_id) {
-	 case BRW_CACHE_VS_PROG:
-	    name = "VS kernel";
-	    break;
-         case BRW_CACHE_TCS_PROG:
-            name = "TCS kernel";
-            break;
-         case BRW_CACHE_TES_PROG:
-            name = "TES kernel";
-            break;
-	 case BRW_CACHE_FF_GS_PROG:
-	    name = "Fixed-function GS kernel";
-	    break;
-         case BRW_CACHE_GS_PROG:
-            name = "GS kernel";
-            break;
-	 case BRW_CACHE_CLIP_PROG:
-	    name = "CLIP kernel";
-	    break;
-	 case BRW_CACHE_SF_PROG:
-	    name = "SF kernel";
-	    break;
-	 case BRW_CACHE_FS_PROG:
-	    name = "FS kernel";
-	    break;
-         case BRW_CACHE_CS_PROG:
-            name = "CS kernel";
-            break;
-	 default:
-	    name = "unknown";
-	    break;
-	 }
-
-         fprintf(stderr, "%s:\n", name);
-         brw_disassemble(&brw->screen->devinfo, brw->cache.bo->virtual,
-                         item->offset, item->size, stderr);
-      }
-   }
-
-   drm_intel_bo_unmap(brw->cache.bo);
-}
-
-static void
 dump_state_batch(struct brw_context *brw)
 {
    int i;
@@ -880,5 +824,5 @@ void brw_debug_batch(struct brw_context *brw)
    drm_intel_bo_unmap(brw->batch.bo);
 
    if (0)
-      dump_prog_cache(brw);
+      brw_print_program_cache(brw);
 }




More information about the mesa-commit mailing list