diff --git a/GPU/Vulkan/FramebufferVulkan.cpp b/GPU/Vulkan/FramebufferVulkan.cpp index d1def5a71f..3e2767061e 100644 --- a/GPU/Vulkan/FramebufferVulkan.cpp +++ b/GPU/Vulkan/FramebufferVulkan.cpp @@ -1463,6 +1463,8 @@ VkCommandBuffer FramebufferManagerVulkan::AllocFrameCommandBuffer() { void FramebufferManagerVulkan::BeginFrameVulkan() { BeginFrame(); + vulkan2D_.BeginFrame(); + FrameData &frame = frameData_[curFrame_]; vkResetCommandPool(vulkan_->GetDevice(), frame.cmdPool_, 0); frame.numCommandBuffers_ = 0; @@ -1534,6 +1536,8 @@ void FramebufferManagerVulkan::EndFrame() { FrameData &frame = frameData_[curFrame_]; frame.push_->End(); + vulkan2D_.EndFrame(); + curFrame_++; curFrame_ &= 1; } diff --git a/GPU/Vulkan/VulkanUtil.cpp b/GPU/Vulkan/VulkanUtil.cpp index 650c2d2a90..6d1be59a30 100644 --- a/GPU/Vulkan/VulkanUtil.cpp +++ b/GPU/Vulkan/VulkanUtil.cpp @@ -47,7 +47,7 @@ void VulkanFBO::Create(VulkanContext *vulkan, VkRenderPass rp_compatible, int wi vkCreateFramebuffer(vulkan->GetDevice(), &fb, nullptr, &framebuffer_); } -Vulkan2D::Vulkan2D(VulkanContext *vulkan) : vulkan_(vulkan) { +Vulkan2D::Vulkan2D(VulkanContext *vulkan) : vulkan_(vulkan), curFrame_(0) { InitDeviceObjects(); } @@ -110,7 +110,7 @@ void Vulkan2D::InitDeviceObjects() { dp.maxSets = 1500; dp.pPoolSizes = dpTypes; dp.poolSizeCount = ARRAY_SIZE(dpTypes); - for (int i = 0; i < 2; i++) { + for (int i = 0; i < ARRAY_SIZE(frameData_); i++) { VkResult res = vkCreateDescriptorPool(vulkan_->GetDevice(), &dp, nullptr, &frameData_[i].descPool); assert(VK_SUCCESS == res); }