diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index cae08e1ca85..06bafb71c8c 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -7922,7 +7922,7 @@ radv_CmdBindVertexBuffers2(VkCommandBuffer commandBuffer, uint32_t firstBinding, } if (misaligned_mask_invalid != d->vertex_input.vbo_misaligned_mask_invalid) { - d->vertex_input.vbo_misaligned_mask_invalid = misaligned_mask_invalid; + d->vertex_input.vbo_misaligned_mask_invalid |= misaligned_mask_invalid; d->vertex_input.vbo_misaligned_mask &= ~misaligned_mask_invalid; d->vertex_input.vbo_unaligned_mask &= ~misaligned_mask_invalid; cmd_buffer->state.dirty |= RADV_CMD_DIRTY_VS_PROLOG_STATE; @@ -9302,6 +9302,9 @@ radv_CmdSetVertexInputEXT(VkCommandBuffer commandBuffer, uint32_t vertexBindingD if ((stride | addr) & component_align_req_minus_1) vertex_input.vbo_unaligned_mask |= BITFIELD_BIT(loc); } + else{ + vertex_input.vbo_misaligned_mask_invalid |= BITFIELD_BIT(loc); + } } radv_cmd_set_vertex_input(cmd_buffer, &vertex_input);