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);