From 29923389f2f19a99a6cb08cd166b4035997b0ce1 Mon Sep 17 00:00:00 2001 From: psucien Date: Sat, 22 Jun 2024 01:03:30 +0200 Subject: [PATCH] renderer_vulkan: skip zero sized VBs from binding --- src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp index 89f3c086d..b3401ec1b 100644 --- a/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp +++ b/src/video_core/renderer_vulkan/vk_graphics_pipeline.cpp @@ -404,8 +404,11 @@ void GraphicsPipeline::BindVertexBuffers(StreamBuffer& staging) const { // Calculate buffers memory overlaps boost::container::static_vector ranges{}; for (const auto& input : vs_info.vs_inputs) { - const auto& buffer = guest_buffers.emplace_back( - vs_info.ReadUd(input.sgpr_base, input.dword_offset)); + const auto& buffer = vs_info.ReadUd(input.sgpr_base, input.dword_offset); + if (buffer.GetSize() == 0) { + continue; + } + guest_buffers.emplace_back(buffer); ranges.emplace_back(buffer.base_address.Value(), buffer.base_address.Value() + buffer.GetSize()); }