diff options
Diffstat (limited to 'src/gallium/drivers/zink/zink_draw.cpp')
-rw-r--r-- | src/gallium/drivers/zink/zink_draw.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/gallium/drivers/zink/zink_draw.cpp b/src/gallium/drivers/zink/zink_draw.cpp index 875b45ab992..c3f5ab16134 100644 --- a/src/gallium/drivers/zink/zink_draw.cpp +++ b/src/gallium/drivers/zink/zink_draw.cpp @@ -134,16 +134,16 @@ zink_bind_vertex_buffers(struct zink_batch *batch, struct zink_context *ctx) return; for (unsigned i = 0; i < elems->hw_state.num_bindings; i++) { - const unsigned buffer_id = ctx->element_state->binding_map[i]; - struct pipe_vertex_buffer *vb = ctx->vertex_buffers + buffer_id; + struct pipe_vertex_buffer *vb = ctx->vertex_buffers + ctx->element_state->binding_map[i]; assert(vb); if (vb->buffer.resource) { - buffers[i] = ctx->vbufs[buffer_id]; - assert(buffers[i]); + struct zink_resource *res = zink_resource(vb->buffer.resource); + assert(res->obj->buffer); + buffers[i] = res->obj->buffer; + buffer_offsets[i] = vb->buffer_offset; + buffer_strides[i] = vb->stride; if (DYNAMIC_STATE == ZINK_DYNAMIC_VERTEX_INPUT) elems->hw_state.dynbindings[i].stride = vb->stride; - buffer_offsets[i] = ctx->vbuf_offsets[buffer_id]; - buffer_strides[i] = vb->stride; zink_batch_resource_usage_set(&ctx->batch, zink_resource(vb->buffer.resource), false); } else { buffers[i] = zink_resource(ctx->dummy_vertex_buffer)->obj->buffer; |