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.h b/src/libANGLE/renderer/vulkan/CommandGraph.h
index d8f3501..00ef436 100644
--- a/src/libANGLE/renderer/vulkan/CommandGraph.h
+++ b/src/libANGLE/renderer/vulkan/CommandGraph.h
@@ -31,7 +31,8 @@
CommandGraphResource();
virtual ~CommandGraphResource();
- Serial getQueueSerial() const;
+ // Returns true if the resource is in use by the renderer.
+ bool isResourceInUse(RendererVk *renderer) const;
// Sets up dependency relations. 'this' resource is the resource being written to.
void addWriteDependency(CommandGraphResource *writingResource);
@@ -71,6 +72,9 @@
// Called when 'this' object changes, but we'd like to start a new command buffer later.
void onResourceChanged(RendererVk *renderer);
+ // Get the current queue serial for this resource. Only used to release resources.
+ Serial getStoredQueueSerial() const;
+
private:
void onWriteImpl(CommandGraphNode *writingNode, Serial currentSerial);