radv: fix vbo_bound_mask indexing

Signed-off-by: Rhys Perry <pendingchaos02@gmail.com>
Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6812
Fixes: 1b8bdecf6e ("radv: add a mask of bound descriptor buffers for dynamic vertex input")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17521>
This commit is contained in:
Rhys Perry 2022-07-13 16:33:04 +01:00 committed by Marge Bot
parent ae003ef78c
commit 1d019d2ab7
1 changed files with 2 additions and 2 deletions

View File

@ -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;
}