diff --git a/src/gallium/drivers/zink/zink_context.c b/src/gallium/drivers/zink/zink_context.c index af1a1e468d1..51acea8960b 100644 --- a/src/gallium/drivers/zink/zink_context.c +++ b/src/gallium/drivers/zink/zink_context.c @@ -844,6 +844,7 @@ zink_set_vertex_buffers(struct pipe_context *pctx, struct zink_resource *res = zink_resource(vb->buffer.resource); res->vbo_bind_count++; res->bind_count[0]++; + zink_batch_reference_resource_rw(&ctx->batch, res, false); zink_resource_buffer_barrier(ctx, NULL, res, VK_ACCESS_VERTEX_ATTRIBUTE_READ_BIT, VK_PIPELINE_STAGE_VERTEX_INPUT_BIT); } diff --git a/src/gallium/drivers/zink/zink_draw.c b/src/gallium/drivers/zink/zink_draw.c index d237a3a755e..7357c39a27c 100644 --- a/src/gallium/drivers/zink/zink_draw.c +++ b/src/gallium/drivers/zink/zink_draw.c @@ -143,7 +143,6 @@ zink_bind_vertex_buffers(struct zink_batch *batch, struct zink_context *ctx) buffers[i] = res->obj->buffer; buffer_offsets[i] = vb->buffer_offset; buffer_strides[i] = vb->stride; - zink_batch_reference_resource_rw(batch, res, false); } else { buffers[i] = zink_resource(ctx->dummy_vertex_buffer)->obj->buffer; buffer_offsets[i] = 0;