diff --git a/rpcs3/Emu/RSX/VK/VKDraw.cpp b/rpcs3/Emu/RSX/VK/VKDraw.cpp index bf919daddb..563ec9260f 100644 --- a/rpcs3/Emu/RSX/VK/VKDraw.cpp +++ b/rpcs3/Emu/RSX/VK/VKDraw.cpp @@ -975,8 +975,10 @@ void VKGSRender::emit_geometry(u32 sub_index) const auto allocation_size = subranges_count * sizeof(VkMultiDrawIndexedInfoEXT); m_multidraw_parameters_buffer.resize(allocation_size); - auto _ptr = utils::bless(m_multidraw_parameters_buffer.data()); + auto base_ptr = utils::bless(m_multidraw_parameters_buffer.data()); + u32 vertex_offset = 0; + auto _ptr = base_ptr; for (const auto& range : subranges) { @@ -988,7 +990,7 @@ void VKGSRender::emit_geometry(u32 sub_index) _ptr++; vertex_offset += count; } - _vkCmdDrawMultiIndexedEXT(*m_current_command_buffer, subranges_count, _ptr, 1, 0, sizeof(u32) * 3, nullptr); + _vkCmdDrawMultiIndexedEXT(*m_current_command_buffer, subranges_count, base_ptr, 1, 0, sizeof(VkMultiDrawIndexedInfoEXT), nullptr); } else {