Vulkan: Clean up object releasing APIs.
This cleans up the confusing releaseResource/releaseObject pair in the
RendererVk class. It also makes getQueueSerial private in ResourceVk
but keeps a public isResourceInUse API for external use.
Bug: angleproject:2539
Change-Id: I6b4f24db16e36130a85ef03fc2c3b26d8d9e1fba
Reviewed-on: https://chromium-review.googlesource.com/1069291
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Frank Henigman <fjhenigman@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/CommandGraph.cpp b/src/libANGLE/renderer/vulkan/CommandGraph.cpp
index e9c20d4..dd240b5 100644
--- a/src/libANGLE/renderer/vulkan/CommandGraph.cpp
+++ b/src/libANGLE/renderer/vulkan/CommandGraph.cpp
@@ -142,7 +142,12 @@
}
}
-Serial CommandGraphResource::getQueueSerial() const
+bool CommandGraphResource::isResourceInUse(RendererVk *renderer) const
+{
+ return renderer->isSerialInUse(mStoredQueueSerial);
+}
+
+Serial CommandGraphResource::getStoredQueueSerial() const
{
return mStoredQueueSerial;
}
@@ -250,7 +255,7 @@
CommandGraphNode *writingNode = writingResource->mCurrentWritingNode;
ASSERT(writingNode);
- onWriteImpl(writingNode, writingResource->getQueueSerial());
+ onWriteImpl(writingNode, writingResource->getStoredQueueSerial());
}
void CommandGraphResource::onWriteImpl(CommandGraphNode *writingNode, Serial currentSerial)
@@ -274,7 +279,7 @@
void CommandGraphResource::addReadDependency(CommandGraphResource *readingResource)
{
- updateQueueSerial(readingResource->getQueueSerial());
+ updateQueueSerial(readingResource->getStoredQueueSerial());
CommandGraphNode *readingNode = readingResource->mCurrentWritingNode;
ASSERT(readingNode);