diff options
author | Kenneth Graunke <[email protected]> | 2018-11-08 15:32:59 -0800 |
---|---|---|
committer | Kenneth Graunke <[email protected]> | 2019-02-21 10:26:09 -0800 |
commit | 587e4381280852977182e63e08b2c00f20a82145 (patch) | |
tree | fec9aa609d3226df67e42b73ae668f3b82b120b1 /src/gallium/drivers/iris | |
parent | 2727a942a483648135ad9fdb310e70304eb7617e (diff) |
iris: Print the batch name when decoding
Diffstat (limited to 'src/gallium/drivers/iris')
-rw-r--r-- | src/gallium/drivers/iris/iris_batch.c | 6 | ||||
-rw-r--r-- | src/gallium/drivers/iris/iris_batch.h | 4 | ||||
-rw-r--r-- | src/gallium/drivers/iris/iris_context.c | 3 |
3 files changed, 10 insertions, 3 deletions
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, |