summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_update_descriptor.cpp
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2021-01-19 01:35:47 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2021-02-13 21:46:24 +0100
commit21b40de318898a15dee5baa9849cdd2d8cbdd379 (patch)
tree814c911eafb6a635f295649ac700651e471d06c1 /src/video_core/renderer_vulkan/vk_update_descriptor.cpp
parentMerge pull request #5921 from ameerj/srgb-views (diff)
downloadyuzu-21b40de318898a15dee5baa9849cdd2d8cbdd379.tar
yuzu-21b40de318898a15dee5baa9849cdd2d8cbdd379.tar.gz
yuzu-21b40de318898a15dee5baa9849cdd2d8cbdd379.tar.bz2
yuzu-21b40de318898a15dee5baa9849cdd2d8cbdd379.tar.lz
yuzu-21b40de318898a15dee5baa9849cdd2d8cbdd379.tar.xz
yuzu-21b40de318898a15dee5baa9849cdd2d8cbdd379.tar.zst
yuzu-21b40de318898a15dee5baa9849cdd2d8cbdd379.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_vulkan/vk_update_descriptor.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/video_core/renderer_vulkan/vk_update_descriptor.cpp b/src/video_core/renderer_vulkan/vk_update_descriptor.cpp
index f99273c6a..dc45fdcb1 100644
--- a/src/video_core/renderer_vulkan/vk_update_descriptor.cpp
+++ b/src/video_core/renderer_vulkan/vk_update_descriptor.cpp
@@ -20,20 +20,20 @@ VKUpdateDescriptorQueue::VKUpdateDescriptorQueue(const Device& device_, VKSchedu
VKUpdateDescriptorQueue::~VKUpdateDescriptorQueue() = default;
void VKUpdateDescriptorQueue::TickFrame() {
- payload.clear();
+ payload_cursor = payload.data();
}
void VKUpdateDescriptorQueue::Acquire() {
// Minimum number of entries required.
// This is the maximum number of entries a single draw call migth use.
- static constexpr std::size_t MIN_ENTRIES = 0x400;
+ static constexpr size_t MIN_ENTRIES = 0x400;
- if (payload.size() + MIN_ENTRIES >= payload.max_size()) {
+ if (std::distance(payload.data(), payload_cursor) + MIN_ENTRIES >= payload.max_size()) {
LOG_WARNING(Render_Vulkan, "Payload overflow, waiting for worker thread");
scheduler.WaitWorker();
- payload.clear();
+ payload_cursor = payload.data();
}
- upload_start = &*payload.end();
+ upload_start = payload_cursor;
}
void VKUpdateDescriptorQueue::Send(VkDescriptorUpdateTemplateKHR update_template,