From 1d019d2ab772ad72f4d3665e60f26de83f5cf29c Mon Sep 17 00:00:00 2001 From: Rhys Perry Date: Wed, 13 Jul 2022 16:33:04 +0100 Subject: [PATCH] radv: fix vbo_bound_mask indexing Signed-off-by: Rhys Perry Reviewed-By: Mike Blumenkrantz Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6812 Fixes: 1b8bdecf6e0 ("radv: add a mask of bound descriptor buffers for dynamic vertex input") Part-of: --- src/amd/vulkan/radv_cmd_buffer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 7c1c90d72f6..91e4932212d 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -5863,11 +5863,11 @@ radv_CmdSetVertexInputEXT(VkCommandBuffer commandBuffer, uint32_t vertexBindingD unsigned bit = 1u << loc; if (binding->stride & found->fmt_align_req_minus_1) { state->misaligned_mask |= bit; - if (cmd_buffer->state.vbo_bound_mask & bit) + if (cmd_buffer->state.vbo_bound_mask & BITFIELD_BIT(attrib->binding)) cmd_buffer->state.vbo_misaligned_mask |= bit; } else { state->possibly_misaligned_mask |= bit; - if (cmd_buffer->state.vbo_bound_mask & bit && + if (cmd_buffer->state.vbo_bound_mask & BITFIELD_BIT(attrib->binding) && ((vb[attrib->binding].offset + state->offsets[loc]) & found->fmt_align_req_minus_1)) cmd_buffer->state.vbo_misaligned_mask |= bit; }