summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/iris
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2018-11-08 15:32:59 -0800
committerKenneth Graunke <[email protected]>2019-02-21 10:26:09 -0800
commit587e4381280852977182e63e08b2c00f20a82145 (patch)
treefec9aa609d3226df67e42b73ae668f3b82b120b1 /src/gallium/drivers/iris
parent2727a942a483648135ad9fdb310e70304eb7617e (diff)
iris: Print the batch name when decoding
Diffstat (limited to 'src/gallium/drivers/iris')
-rw-r--r--src/gallium/drivers/iris/iris_batch.c6
-rw-r--r--src/gallium/drivers/iris/iris_batch.h4
-rw-r--r--src/gallium/drivers/iris/iris_context.c3
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,