diff options
Diffstat (limited to 'src/gallium/drivers/iris/iris_batch.c')
-rw-r--r-- | src/gallium/drivers/iris/iris_batch.c | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/src/gallium/drivers/iris/iris_batch.c b/src/gallium/drivers/iris/iris_batch.c index cc346ca0029..b9fa6d6dc2d 100644 --- a/src/gallium/drivers/iris/iris_batch.c +++ b/src/gallium/drivers/iris/iris_batch.c @@ -166,8 +166,8 @@ iris_init_batch(struct iris_batch *batch, struct iris_screen *screen, struct iris_vtable *vtbl, struct pipe_debug_callback *dbg, - struct iris_batch **all_batches, - const char *name, + struct iris_batch *all_batches, + enum iris_batch_name name, uint8_t engine) { batch->screen = screen; @@ -201,8 +201,8 @@ iris_init_batch(struct iris_batch *batch, memset(batch->other_batches, 0, sizeof(batch->other_batches)); for (int i = 0, j = 0; i < IRIS_BATCH_COUNT; i++) { - if (all_batches[i] != batch) - batch->other_batches[j++] = all_batches[i]; + if (&all_batches[i] != batch) + batch->other_batches[j++] = &all_batches[i]; } if (unlikely(INTEL_DEBUG)) { @@ -520,6 +520,16 @@ submit_batch(struct iris_batch *batch) return ret; } +static const char * +batch_name_to_string(enum iris_batch_name name) +{ + const char *names[IRIS_BATCH_COUNT] = { + [IRIS_BATCH_RENDER] = "render", + [IRIS_BATCH_COMPUTE] = "compute", + }; + return names[name]; +} + /** * Flush the batch buffer, submitting it to the GPU and resetting it so * we're ready to emit the next batch. @@ -549,7 +559,7 @@ _iris_batch_flush(struct iris_batch *batch, const char *file, int line) } fprintf(stderr, "%19s:%-3d: %s batch [%u] flush with %5d+%5db (%0.1f%%) " "(cmds), %4d BOs (%0.1fMb aperture)\n", - file, line, batch->name, batch->hw_ctx_id, + file, line, batch_name_to_string(batch->name), batch->hw_ctx_id, batch->primary_batch_size, second_bytes, 100.0f * bytes_for_commands / BATCH_SZ, batch->exec_count, |