diff options
| author | 2023-12-19 16:15:40 +0100 | |
|---|---|---|
| committer | 2023-12-19 16:15:40 +0100 | |
| commit | efe52db69021f94e3c23ee7bc7e4a6ca7e92ecc6 (patch) | |
| tree | 92c1dec54debb493358a58e4e899a1a86ba7d183 /src | |
| parent | Merge pull request #12387 from liamwhite/oboe (diff) | |
| parent | renderer_vulkan: allow up to 7 swapchain images (diff) | |
| download | yuzu-efe52db69021f94e3c23ee7bc7e4a6ca7e92ecc6.tar.gz yuzu-efe52db69021f94e3c23ee7bc7e4a6ca7e92ecc6.tar.xz yuzu-efe52db69021f94e3c23ee7bc7e4a6ca7e92ecc6.zip | |
Merge pull request #12382 from liamwhite/image-limit
renderer_vulkan: allow up to 7 swapchain images
Diffstat (limited to '')
| -rw-r--r-- | src/video_core/fence_manager.h | 2 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_present_manager.cpp | 6 | ||||
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_update_descriptor.h | 2 | ||||
| -rw-r--r-- | src/video_core/texture_cache/texture_cache_base.h | 2 |
4 files changed, 6 insertions, 6 deletions
diff --git a/src/video_core/fence_manager.h b/src/video_core/fence_manager.h index 805a89900..c3eda6893 100644 --- a/src/video_core/fence_manager.h +++ b/src/video_core/fence_manager.h | |||
| @@ -270,7 +270,7 @@ private: | |||
| 270 | 270 | ||
| 271 | std::jthread fence_thread; | 271 | std::jthread fence_thread; |
| 272 | 272 | ||
| 273 | DelayedDestructionRing<TFence, 6> delayed_destruction_ring; | 273 | DelayedDestructionRing<TFence, 8> delayed_destruction_ring; |
| 274 | }; | 274 | }; |
| 275 | 275 | ||
| 276 | } // namespace VideoCommon | 276 | } // namespace VideoCommon |
diff --git a/src/video_core/renderer_vulkan/vk_present_manager.cpp b/src/video_core/renderer_vulkan/vk_present_manager.cpp index a59e2d2d1..5e7518d96 100644 --- a/src/video_core/renderer_vulkan/vk_present_manager.cpp +++ b/src/video_core/renderer_vulkan/vk_present_manager.cpp | |||
| @@ -293,10 +293,10 @@ void PresentManager::RecreateSwapchain(Frame* frame) { | |||
| 293 | } | 293 | } |
| 294 | 294 | ||
| 295 | void PresentManager::SetImageCount() { | 295 | void PresentManager::SetImageCount() { |
| 296 | // We cannot have more than 5 images in flight at any given time. | 296 | // We cannot have more than 7 images in flight at any given time. |
| 297 | // FRAMES_IN_FLIGHT is 7, and the cache TICKS_TO_DESTROY is 6. | 297 | // FRAMES_IN_FLIGHT is 8, and the cache TICKS_TO_DESTROY is 8. |
| 298 | // Mali drivers will give us 6. | 298 | // Mali drivers will give us 6. |
| 299 | image_count = std::min<size_t>(swapchain.GetImageCount(), 5); | 299 | image_count = std::min<size_t>(swapchain.GetImageCount(), 7); |
| 300 | } | 300 | } |
| 301 | 301 | ||
| 302 | void PresentManager::CopyToSwapchain(Frame* frame) { | 302 | void PresentManager::CopyToSwapchain(Frame* frame) { |
diff --git a/src/video_core/renderer_vulkan/vk_update_descriptor.h b/src/video_core/renderer_vulkan/vk_update_descriptor.h index e77b576ec..82fce298d 100644 --- a/src/video_core/renderer_vulkan/vk_update_descriptor.h +++ b/src/video_core/renderer_vulkan/vk_update_descriptor.h | |||
| @@ -31,7 +31,7 @@ struct DescriptorUpdateEntry { | |||
| 31 | class UpdateDescriptorQueue final { | 31 | class UpdateDescriptorQueue final { |
| 32 | // This should be plenty for the vast majority of cases. Most desktop platforms only | 32 | // This should be plenty for the vast majority of cases. Most desktop platforms only |
| 33 | // provide up to 3 swapchain images. | 33 | // provide up to 3 swapchain images. |
| 34 | static constexpr size_t FRAMES_IN_FLIGHT = 7; | 34 | static constexpr size_t FRAMES_IN_FLIGHT = 8; |
| 35 | static constexpr size_t FRAME_PAYLOAD_SIZE = 0x20000; | 35 | static constexpr size_t FRAME_PAYLOAD_SIZE = 0x20000; |
| 36 | static constexpr size_t PAYLOAD_SIZE = FRAME_PAYLOAD_SIZE * FRAMES_IN_FLIGHT; | 36 | static constexpr size_t PAYLOAD_SIZE = FRAME_PAYLOAD_SIZE * FRAMES_IN_FLIGHT; |
| 37 | 37 | ||
diff --git a/src/video_core/texture_cache/texture_cache_base.h b/src/video_core/texture_cache/texture_cache_base.h index cbe56e166..6caf75b46 100644 --- a/src/video_core/texture_cache/texture_cache_base.h +++ b/src/video_core/texture_cache/texture_cache_base.h | |||
| @@ -474,7 +474,7 @@ private: | |||
| 474 | }; | 474 | }; |
| 475 | Common::LeastRecentlyUsedCache<LRUItemParams> lru_cache; | 475 | Common::LeastRecentlyUsedCache<LRUItemParams> lru_cache; |
| 476 | 476 | ||
| 477 | static constexpr size_t TICKS_TO_DESTROY = 6; | 477 | static constexpr size_t TICKS_TO_DESTROY = 8; |
| 478 | DelayedDestructionRing<Image, TICKS_TO_DESTROY> sentenced_images; | 478 | DelayedDestructionRing<Image, TICKS_TO_DESTROY> sentenced_images; |
| 479 | DelayedDestructionRing<ImageView, TICKS_TO_DESTROY> sentenced_image_view; | 479 | DelayedDestructionRing<ImageView, TICKS_TO_DESTROY> sentenced_image_view; |
| 480 | DelayedDestructionRing<Framebuffer, TICKS_TO_DESTROY> sentenced_framebuffers; | 480 | DelayedDestructionRing<Framebuffer, TICKS_TO_DESTROY> sentenced_framebuffers; |