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@whitecape.org>
Reviewed-by: Eduardo Lima Mitev <elima@igalia.com>
This commit is contained in:
Kenneth Graunke
2016-11-11 14:47:53 -08:00
parent f9edc550b2
commit ce89239294
3 changed files with 49 additions and 57 deletions
@@ -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);
}
+2
View File
@@ -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
*/
+1 -57
View File
@@ -717,62 +717,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)
{
@@ -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);
}