Skip to content
Snippets Groups Projects
Commit 281a8bf2 authored by ReinUsesLisp's avatar ReinUsesLisp
Browse files

vk_resource_manager: Minor VKFenceWatch changes

parent f7090bac
No related branches found
No related tags found
No related merge requests found
...@@ -125,11 +125,12 @@ void VKFence::Protect(VKResource* resource) { ...@@ -125,11 +125,12 @@ void VKFence::Protect(VKResource* resource) {
protected_resources.push_back(resource); protected_resources.push_back(resource);
} }
void VKFence::Unprotect(const VKResource* resource) { void VKFence::Unprotect(VKResource* resource) {
const auto it = std::find(protected_resources.begin(), protected_resources.end(), resource); const auto it = std::find(protected_resources.begin(), protected_resources.end(), resource);
if (it != protected_resources.end()) { ASSERT(it != protected_resources.end());
protected_resources.erase(it);
} resource->OnFenceRemoval(this);
protected_resources.erase(it);
} }
VKFenceWatch::VKFenceWatch() = default; VKFenceWatch::VKFenceWatch() = default;
...@@ -141,12 +142,11 @@ VKFenceWatch::~VKFenceWatch() { ...@@ -141,12 +142,11 @@ VKFenceWatch::~VKFenceWatch() {
} }
void VKFenceWatch::Wait() { void VKFenceWatch::Wait() {
if (!fence) { if (fence == nullptr) {
return; return;
} }
fence->Wait(); fence->Wait();
fence->Unprotect(this); fence->Unprotect(this);
fence = nullptr;
} }
void VKFenceWatch::Watch(VKFence& new_fence) { void VKFenceWatch::Watch(VKFence& new_fence) {
......
...@@ -63,7 +63,7 @@ public: ...@@ -63,7 +63,7 @@ public:
void Protect(VKResource* resource); void Protect(VKResource* resource);
/// Removes protection for a resource. /// Removes protection for a resource.
void Unprotect(const VKResource* resource); void Unprotect(VKResource* resource);
/// Retreives the fence. /// Retreives the fence.
operator vk::Fence() const { operator vk::Fence() const {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment