summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/video_core/renderer_vulkan/vk_buffer_cache.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp
index 60a6ac651..e15865d16 100644
--- a/src/video_core/renderer_vulkan/vk_buffer_cache.cpp
+++ b/src/video_core/renderer_vulkan/vk_buffer_cache.cpp
@@ -529,17 +529,20 @@ void BufferCacheRuntime::BindVertexBuffers(VideoCommon::HostBindings<Buffer>& bi
529 buffer_handles.push_back(handle); 529 buffer_handles.push_back(handle);
530 } 530 }
531 if (device.IsExtExtendedDynamicStateSupported()) { 531 if (device.IsExtExtendedDynamicStateSupported()) {
532 scheduler.Record([bindings_ = std::move(bindings), 532 scheduler.Record([this, bindings_ = std::move(bindings),
533 buffer_handles_ = std::move(buffer_handles)](vk::CommandBuffer cmdbuf) { 533 buffer_handles_ = std::move(buffer_handles)](vk::CommandBuffer cmdbuf) {
534 cmdbuf.BindVertexBuffers2EXT(bindings_.min_index, 534 cmdbuf.BindVertexBuffers2EXT(bindings_.min_index,
535 bindings_.max_index - bindings_.min_index, 535 std::min(bindings_.max_index - bindings_.min_index,
536 device.GetMaxVertexInputBindings()),
536 buffer_handles_.data(), bindings_.offsets.data(), 537 buffer_handles_.data(), bindings_.offsets.data(),
537 bindings_.sizes.data(), bindings_.strides.data()); 538 bindings_.sizes.data(), bindings_.strides.data());
538 }); 539 });
539 } else { 540 } else {
540 scheduler.Record([bindings_ = std::move(bindings), 541 scheduler.Record([this, bindings_ = std::move(bindings),
541 buffer_handles_ = std::move(buffer_handles)](vk::CommandBuffer cmdbuf) { 542 buffer_handles_ = std::move(buffer_handles)](vk::CommandBuffer cmdbuf) {
542 cmdbuf.BindVertexBuffers(bindings_.min_index, bindings_.max_index - bindings_.min_index, 543 cmdbuf.BindVertexBuffers(bindings_.min_index,
544 std::min(bindings_.max_index - bindings_.min_index,
545 device.GetMaxVertexInputBindings()),
543 buffer_handles_.data(), bindings_.offsets.data()); 546 buffer_handles_.data(), bindings_.offsets.data());
544 }); 547 });
545 } 548 }