summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_present_manager.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2023-06-02 05:07:18 +0200
committerbunnei <bunneidev@gmail.com>2023-06-03 09:06:07 +0200
commit098e2c4077f62890f83c0785e858080e9e18296c (patch)
tree1b76d9222948d49fbaa1252471774e81aae1419b /src/video_core/renderer_vulkan/vk_present_manager.h
parentandroid: Fix presentation layout on foldable and tablet devices. (diff)
downloadyuzu-098e2c4077f62890f83c0785e858080e9e18296c.tar
yuzu-098e2c4077f62890f83c0785e858080e9e18296c.tar.gz
yuzu-098e2c4077f62890f83c0785e858080e9e18296c.tar.bz2
yuzu-098e2c4077f62890f83c0785e858080e9e18296c.tar.lz
yuzu-098e2c4077f62890f83c0785e858080e9e18296c.tar.xz
yuzu-098e2c4077f62890f83c0785e858080e9e18296c.tar.zst
yuzu-098e2c4077f62890f83c0785e858080e9e18296c.zip
Diffstat (limited to '')
-rw-r--r--src/video_core/renderer_vulkan/vk_present_manager.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_present_manager.h b/src/video_core/renderer_vulkan/vk_present_manager.h
index 3cbfce4ed..4ac2e2395 100644
--- a/src/video_core/renderer_vulkan/vk_present_manager.h
+++ b/src/video_core/renderer_vulkan/vk_present_manager.h
@@ -55,6 +55,9 @@ public:
/// Waits for the present thread to finish presenting all queued frames.
void WaitPresent();
+ /// This is called to notify the rendering backend of a surface change
+ void NotifySurfaceChanged();
+
private:
void PresentThread(std::stop_token token);
@@ -74,7 +77,9 @@ private:
std::queue<Frame*> free_queue;
std::condition_variable_any frame_cv;
std::condition_variable free_cv;
+ std::condition_variable recreate_surface_cv;
std::mutex swapchain_mutex;
+ std::mutex recreate_surface_mutex;
std::mutex queue_mutex;
std::mutex free_mutex;
std::jthread present_thread;