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);
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,
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;
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);
&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,