iris: Drop 'engine' from iris_batch.

For the moment, everything is I915_EXEC_RENDER, so this isn't necessary.
But even should that change, I don't think we want to handle multiple
engines in this manner.

Nowadays, we have batch->name (IRIS_BATCH_RENDER, IRIS_BATCH_COMPUTE,
possibly an IRIS_BATCH_BLIT for blorp batches someday), which describes
the functional usage of the batch.  We can simply check that and select
an engine for that class of work (assuming there ever is more than one).

Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/merge_requests/3613>
This commit is contained in:
Kenneth Graunke 2019-09-03 07:19:32 -07:00 committed by Marge Bot
parent 06b13dfed2
commit afcb6625e3
3 changed files with 2 additions and 13 deletions

View File

@ -181,7 +181,6 @@ iris_init_batch(struct iris_batch *batch,
struct hash_table_u64 *state_sizes,
struct iris_batch *all_batches,
enum iris_batch_name name,
uint8_t engine,
int priority)
{
batch->screen = screen;
@ -191,11 +190,6 @@ iris_init_batch(struct iris_batch *batch,
batch->state_sizes = state_sizes;
batch->name = name;
/* engine should be one of I915_EXEC_RENDER, I915_EXEC_BLT, etc. */
assert((engine & ~I915_EXEC_RING_MASK) == 0);
assert(util_bitcount(engine) == 1);
batch->engine = engine;
batch->hw_ctx_id = iris_create_hw_context(screen->bufmgr);
assert(batch->hw_ctx_id);
@ -587,7 +581,7 @@ submit_batch(struct iris_batch *batch)
.batch_start_offset = 0,
/* This must be QWord aligned. */
.batch_len = ALIGN(batch->primary_batch_size, 8),
.flags = batch->engine |
.flags = I915_EXEC_RENDER |
I915_EXEC_NO_RELOC |
I915_EXEC_BATCH_FIRST |
I915_EXEC_HANDLE_LUT,

View File

@ -75,9 +75,6 @@ struct iris_batch {
uint32_t hw_ctx_id;
/** Which engine this batch targets - a I915_EXEC_RING_MASK value */
uint8_t engine;
/** The validation list */
struct drm_i915_gem_exec_object2 *validation_list;
struct iris_bo **exec_bos;
@ -138,7 +135,6 @@ void iris_init_batch(struct iris_batch *batch,
struct hash_table_u64 *state_sizes,
struct iris_batch *all_batches,
enum iris_batch_name name,
uint8_t ring,
int priority);
void iris_chain_to_new_batch(struct iris_batch *batch);
void iris_batch_free(struct iris_batch *batch);

View File

@ -307,8 +307,7 @@ iris_create_context(struct pipe_screen *pscreen, void *priv, unsigned flags)
for (int i = 0; i < IRIS_BATCH_COUNT; i++) {
iris_init_batch(&ice->batches[i], screen, &ice->vtbl, &ice->dbg,
&ice->reset, ice->state.sizes,
ice->batches, (enum iris_batch_name) i,
I915_EXEC_RENDER, priority);
ice->batches, (enum iris_batch_name) i, priority);
}
ice->vtbl.init_render_context(&ice->batches[IRIS_BATCH_RENDER]);