From fca72beb2db658e84ceac6e1f46f682bcacf8f25 Mon Sep 17 00:00:00 2001 From: Fernando Sahmkow Date: Sat, 15 Apr 2023 00:03:48 +0200 Subject: Fence Manager: implement async fence management in a sepparate thread. --- src/video_core/renderer_vulkan/vk_fence_manager.cpp | 2 ++ src/video_core/renderer_vulkan/vk_fence_manager.h | 11 ++++++++++- 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'src/video_core/renderer_vulkan') diff --git a/src/video_core/renderer_vulkan/vk_fence_manager.cpp b/src/video_core/renderer_vulkan/vk_fence_manager.cpp index 0214b103a..3bba8aeb0 100644 --- a/src/video_core/renderer_vulkan/vk_fence_manager.cpp +++ b/src/video_core/renderer_vulkan/vk_fence_manager.cpp @@ -5,10 +5,12 @@ #include "video_core/renderer_vulkan/vk_buffer_cache.h" #include "video_core/renderer_vulkan/vk_fence_manager.h" +#include "video_core/renderer_vulkan/vk_query_cache.h" #include "video_core/renderer_vulkan/vk_scheduler.h" #include "video_core/renderer_vulkan/vk_texture_cache.h" #include "video_core/vulkan_common/vulkan_device.h" + namespace Vulkan { InnerFence::InnerFence(Scheduler& scheduler_, bool is_stubbed_) diff --git a/src/video_core/renderer_vulkan/vk_fence_manager.h b/src/video_core/renderer_vulkan/vk_fence_manager.h index 7fe2afcd9..145359d4e 100644 --- a/src/video_core/renderer_vulkan/vk_fence_manager.h +++ b/src/video_core/renderer_vulkan/vk_fence_manager.h @@ -40,7 +40,16 @@ private: }; using Fence = std::shared_ptr; -using GenericFenceManager = VideoCommon::FenceManager; +struct FenceManagerParams { + using FenceType = Fence; + using BufferCacheType = BufferCache; + using TextureCacheType = TextureCache; + using QueryCacheType = QueryCache; + + static constexpr bool HAS_ASYNC_CHECK = true; +}; + +using GenericFenceManager = VideoCommon::FenceManager; class FenceManager final : public GenericFenceManager { public: -- cgit v1.2.3