From a27570326f7607964f2d84f6f1cae0071e678c2a Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Mon, 28 Sep 2020 14:13:12 -0400 Subject: [PATCH] zink: reorder zink_bind_vertex_buffers() we should be making this a no-op if we have no bindings (somehow) Reviewed-by: Dave Airlie Part-of: --- src/gallium/drivers/zink/zink_draw.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/gallium/drivers/zink/zink_draw.c b/src/gallium/drivers/zink/zink_draw.c index 18114ce4c38..1904eaf112c 100644 --- a/src/gallium/drivers/zink/zink_draw.c +++ b/src/gallium/drivers/zink/zink_draw.c @@ -160,6 +160,10 @@ zink_bind_vertex_buffers(struct zink_batch *batch, struct zink_context *ctx) VkBuffer buffers[PIPE_MAX_ATTRIBS]; VkDeviceSize buffer_offsets[PIPE_MAX_ATTRIBS]; const struct zink_vertex_elements_state *elems = ctx->element_state; + + if (!elems->hw_state.num_bindings) + return; + for (unsigned i = 0; i < elems->hw_state.num_bindings; i++) { struct pipe_vertex_buffer *vb = ctx->buffers + ctx->element_state->binding_map[i]; assert(vb); @@ -174,10 +178,9 @@ zink_bind_vertex_buffers(struct zink_batch *batch, struct zink_context *ctx) } } - if (elems->hw_state.num_bindings > 0) - vkCmdBindVertexBuffers(batch->cmdbuf, 0, - elems->hw_state.num_bindings, - buffers, buffer_offsets); + vkCmdBindVertexBuffers(batch->cmdbuf, 0, + elems->hw_state.num_bindings, + buffers, buffer_offsets); } static struct zink_compute_program *