From: Dave Airlie <airl...@redhat.com> This isn't required to be cleared, since buffers are only linked by vertex elements, so if elements are clear then no buffers should be referenced.
Signed-off-by: Dave Airlie <airl...@redhat.com> --- src/amd/vulkan/radv_cmd_buffer.c | 6 +++--- src/amd/vulkan/radv_private.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 43505a3372a..85d6b57e8ad 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -1790,13 +1790,13 @@ radv_cmd_buffer_update_vertex_descriptors(struct radv_cmd_buffer *cmd_buffer, bo uint32_t *desc = &((uint32_t *)vb_ptr)[i * 4]; uint32_t offset; int vb = velems->binding[i]; - struct radv_buffer *buffer = cmd_buffer->state.vertex_bindings[vb].buffer; + struct radv_buffer *buffer = cmd_buffer->vertex_bindings[vb].buffer; uint32_t stride = cmd_buffer->state.pipeline->binding_stride[vb]; device->ws->cs_add_buffer(cmd_buffer->cs, buffer->bo, 8); va = radv_buffer_get_va(buffer->bo); - offset = cmd_buffer->state.vertex_bindings[vb].offset + velems->offset[i]; + offset = cmd_buffer->vertex_bindings[vb].offset + velems->offset[i]; va += offset + buffer->offset; desc[0] = va; desc[1] = S_008F04_BASE_ADDRESS_HI(va >> 32) | S_008F04_STRIDE(stride); @@ -2256,7 +2256,7 @@ void radv_CmdBindVertexBuffers( const VkDeviceSize* pOffsets) { RADV_FROM_HANDLE(radv_cmd_buffer, cmd_buffer, commandBuffer); - struct radv_vertex_binding *vb = cmd_buffer->state.vertex_bindings; + struct radv_vertex_binding *vb = cmd_buffer->vertex_bindings; bool changed = false; /* We have to defer setting up vertex buffer since we need the buffer diff --git a/src/amd/vulkan/radv_private.h b/src/amd/vulkan/radv_private.h index 15cd5eee7df..d236588621a 100644 --- a/src/amd/vulkan/radv_private.h +++ b/src/amd/vulkan/radv_private.h @@ -822,7 +822,6 @@ struct radv_cmd_state { struct radv_render_pass * pass; const struct radv_subpass * subpass; struct radv_dynamic_state dynamic; - struct radv_vertex_binding vertex_bindings[MAX_VBS]; struct radv_descriptor_set * descriptors[MAX_SETS]; struct radv_attachment_state * attachments; VkRect2D render_area; @@ -871,6 +870,7 @@ struct radv_cmd_buffer { VkCommandBufferLevel level; struct radeon_winsys_cs *cs; struct radv_cmd_state state; + struct radv_vertex_binding vertex_bindings[MAX_VBS]; uint32_t queue_family_index; uint8_t push_constants[MAX_PUSH_CONSTANTS_SIZE]; -- 2.14.2 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev