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

Reply via email to