From: Kenneth Graunke Date: Thu, 8 Nov 2018 23:32:59 +0000 (-0800) Subject: iris: Print the batch name when decoding X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=587e4381280852977182e63e08b2c00f20a82145;p=mesa.git iris: Print the batch name when decoding --- diff --git a/src/gallium/drivers/iris/iris_batch.c b/src/gallium/drivers/iris/iris_batch.c index 45fda4cd0b5..203ca139f66 100644 --- a/src/gallium/drivers/iris/iris_batch.c +++ b/src/gallium/drivers/iris/iris_batch.c @@ -140,11 +140,13 @@ iris_init_batch(struct iris_batch *batch, struct iris_vtable *vtbl, struct pipe_debug_callback *dbg, struct iris_batch **all_batches, + const char *name, uint8_t engine) { batch->screen = screen; batch->vtbl = vtbl; batch->dbg = dbg; + batch->name = name; /* engine should be one of I915_EXEC_RENDER, I915_EXEC_BLT, etc. */ assert((engine & ~I915_EXEC_RING_MASK) == 0); @@ -456,9 +458,9 @@ _iris_batch_flush_fence(struct iris_batch *batch, second_bytes = bytes_for_commands; bytes_for_commands += batch->primary_batch_size; } - fprintf(stderr, "%19s:%-3d: Batchbuffer flush with %5d+%5db (%0.1f%%) " + fprintf(stderr, "%19s:%-3d: %s batch [%u] flush with %5d+%5db (%0.1f%%) " "(cmds), %4d BOs (%0.1fMb aperture)\n", - file, line, + file, line, batch->name, batch->hw_ctx_id, batch->primary_batch_size, second_bytes, 100.0f * bytes_for_commands / BATCH_SZ, batch->exec_count, diff --git a/src/gallium/drivers/iris/iris_batch.h b/src/gallium/drivers/iris/iris_batch.h index 17f2a581d97..c8efee2015a 100644 --- a/src/gallium/drivers/iris/iris_batch.h +++ b/src/gallium/drivers/iris/iris_batch.h @@ -49,6 +49,9 @@ struct iris_batch { struct iris_vtable *vtbl; struct pipe_debug_callback *dbg; + /** The name of this batch for debug info (e.g. "render") */ + const char *name; + /** Current batchbuffer being queued up. */ struct iris_bo *bo; void *map; @@ -109,6 +112,7 @@ void iris_init_batch(struct iris_batch *batch, struct iris_vtable *vtbl, struct pipe_debug_callback *dbg, struct iris_batch **other_batches, + const char *name, uint8_t ring); void iris_chain_to_new_batch(struct iris_batch *batch); void iris_batch_free(struct iris_batch *batch); diff --git a/src/gallium/drivers/iris/iris_context.c b/src/gallium/drivers/iris/iris_context.c index 9283bff6311..981b7dd8b88 100644 --- a/src/gallium/drivers/iris/iris_context.c +++ b/src/gallium/drivers/iris/iris_context.c @@ -215,10 +215,11 @@ iris_create_context(struct pipe_screen *pscreen, void *priv, unsigned flags) &ice->render_batch, &ice->compute_batch, }; + const char *batch_names[IRIS_BATCH_COUNT] = { "render", "compute", }; for (int i = 0; i < IRIS_BATCH_COUNT; i++) { iris_init_batch(batches[i], screen, &ice->vtbl, &ice->dbg, - batches, I915_EXEC_RENDER); + batches, batch_names[i], I915_EXEC_RENDER); } ice->vtbl.init_render_context(screen, &ice->render_batch, &ice->vtbl,