summaryrefslogtreecommitdiffstats
path: root/src/video_core/renderer_vulkan/vk_resource_manager.h
diff options
context:
space:
mode:
authorReinUsesLisp <reinuseslisp@airmail.cc>2019-12-19 06:13:32 +0100
committerReinUsesLisp <reinuseslisp@airmail.cc>2019-12-19 20:31:34 +0100
commit6ddffa010a86698543e2d0ecc07d1b93d8700e53 (patch)
treefa706a001d3ec81c919479ec2785f5b95ed0a8ea /src/video_core/renderer_vulkan/vk_resource_manager.h
parentvk_device: Add entry to catch device losses (diff)
downloadyuzu-6ddffa010a86698543e2d0ecc07d1b93d8700e53.tar
yuzu-6ddffa010a86698543e2d0ecc07d1b93d8700e53.tar.gz
yuzu-6ddffa010a86698543e2d0ecc07d1b93d8700e53.tar.bz2
yuzu-6ddffa010a86698543e2d0ecc07d1b93d8700e53.tar.lz
yuzu-6ddffa010a86698543e2d0ecc07d1b93d8700e53.tar.xz
yuzu-6ddffa010a86698543e2d0ecc07d1b93d8700e53.tar.zst
yuzu-6ddffa010a86698543e2d0ecc07d1b93d8700e53.zip
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_resource_manager.h')
-rw-r--r--src/video_core/renderer_vulkan/vk_resource_manager.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/video_core/renderer_vulkan/vk_resource_manager.h b/src/video_core/renderer_vulkan/vk_resource_manager.h
index 08ee86fa6..3a9683f95 100644
--- a/src/video_core/renderer_vulkan/vk_resource_manager.h
+++ b/src/video_core/renderer_vulkan/vk_resource_manager.h
@@ -65,6 +65,9 @@ public:
/// Removes protection for a resource.
void Unprotect(VKResource* resource);
+ /// Redirects one protected resource to a new address.
+ void RedirectProtection(VKResource* old_resource, VKResource* new_resource) noexcept;
+
/// Retreives the fence.
operator vk::Fence() const {
return *handle;
@@ -97,8 +100,13 @@ private:
class VKFenceWatch final : public VKResource {
public:
explicit VKFenceWatch();
+ VKFenceWatch(VKFence& initial_fence);
+ VKFenceWatch(VKFenceWatch&&) noexcept;
+ VKFenceWatch(const VKFenceWatch&) = delete;
~VKFenceWatch() override;
+ VKFenceWatch& operator=(VKFenceWatch&&) noexcept;
+
/// Waits for the fence to be released.
void Wait();