|
@@ -65,6 +65,9 @@ public:
|
|
|
/// Removes protection for a resource.
|
|
/// Removes protection for a resource.
|
|
|
void Unprotect(VKResource* 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.
|
|
/// Retreives the fence.
|
|
|
operator vk::Fence() const {
|
|
operator vk::Fence() const {
|
|
|
return *handle;
|
|
return *handle;
|
|
@@ -97,8 +100,13 @@ private:
|
|
|
class VKFenceWatch final : public VKResource {
|
|
class VKFenceWatch final : public VKResource {
|
|
|
public:
|
|
public:
|
|
|
explicit VKFenceWatch();
|
|
explicit VKFenceWatch();
|
|
|
|
|
+ VKFenceWatch(VKFence& initial_fence);
|
|
|
|
|
+ VKFenceWatch(VKFenceWatch&&) noexcept;
|
|
|
|
|
+ VKFenceWatch(const VKFenceWatch&) = delete;
|
|
|
~VKFenceWatch() override;
|
|
~VKFenceWatch() override;
|
|
|
|
|
|
|
|
|
|
+ VKFenceWatch& operator=(VKFenceWatch&&) noexcept;
|
|
|
|
|
+
|
|
|
/// Waits for the fence to be released.
|
|
/// Waits for the fence to be released.
|
|
|
void Wait();
|
|
void Wait();
|
|
|
|
|
|