From 37ee123063da2c679616248f0170d1dc38bc97f4 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Tue, 11 May 2021 16:33:29 -0400 Subject: [PATCH] zink: use drawid_offset directly during draw this used to be worth making a local variable for, now it's not Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_draw.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/gallium/drivers/zink/zink_draw.cpp b/src/gallium/drivers/zink/zink_draw.cpp index 30b8c6d7d34..13da3a6ddfb 100644 --- a/src/gallium/drivers/zink/zink_draw.cpp +++ b/src/gallium/drivers/zink/zink_draw.cpp @@ -682,14 +682,13 @@ zink_draw_vbo(struct pipe_context *pctx, zink_select_draw_vbo(ctx); } - unsigned draw_id = drawid_offset; bool needs_drawid = ctx->drawid_broken; batch->state->draw_count += num_draws; if (index_size > 0) { if (dindirect && dindirect->buffer) { assert(num_draws == 1); if (needs_drawid) - update_drawid(ctx, draw_id); + update_drawid(ctx, drawid_offset); struct zink_resource *indirect = zink_resource(dindirect->buffer); zink_batch_reference_resource_rw(batch, indirect, false); if (dindirect->indirect_draw_count) { @@ -702,14 +701,14 @@ zink_draw_vbo(struct pipe_context *pctx, vkCmdDrawIndexedIndirect(batch->state->cmdbuf, indirect->obj->buffer, dindirect->offset, dindirect->draw_count, dindirect->stride); } else { if (need_index_buffer_unref) - draw_indexed_need_index_buffer_unref(ctx, dinfo, draws, num_draws, draw_id, needs_drawid); + draw_indexed_need_index_buffer_unref(ctx, dinfo, draws, num_draws, drawid_offset, needs_drawid); else - draw_indexed(ctx, dinfo, draws, num_draws, draw_id, needs_drawid); + draw_indexed(ctx, dinfo, draws, num_draws, drawid_offset, needs_drawid); } } else { if (so_target && screen->info.tf_props.transformFeedbackDraw) { if (needs_drawid) - update_drawid(ctx, draw_id); + update_drawid(ctx, drawid_offset); zink_batch_reference_resource_rw(batch, zink_resource(so_target->base.buffer), false); zink_batch_reference_resource_rw(batch, zink_resource(so_target->counter_buffer), true); screen->vk.CmdDrawIndirectByteCountEXT(batch->state->cmdbuf, dinfo->instance_count, dinfo->start_instance, @@ -718,7 +717,7 @@ zink_draw_vbo(struct pipe_context *pctx, } else if (dindirect && dindirect->buffer) { assert(num_draws == 1); if (needs_drawid) - update_drawid(ctx, draw_id); + update_drawid(ctx, drawid_offset); struct zink_resource *indirect = zink_resource(dindirect->buffer); zink_batch_reference_resource_rw(batch, indirect, false); if (dindirect->indirect_draw_count) { @@ -730,7 +729,7 @@ zink_draw_vbo(struct pipe_context *pctx, } else vkCmdDrawIndirect(batch->state->cmdbuf, indirect->obj->buffer, dindirect->offset, dindirect->draw_count, dindirect->stride); } else { - draw(ctx, dinfo, draws, num_draws, draw_id, needs_drawid); + draw(ctx, dinfo, draws, num_draws, drawid_offset, needs_drawid); } }