Vulkan: refactor CommandGraphResource

Merged back RecordableGraphResource into CommandGraphResource.  Queries
didn't really need to be a resource, as they always inserted separate
single-command nodes in the graph.  The CommandGraph class is augmented
with a few functions that generate such nodes.

This is in preparation for debug markers, as they too require such
nodes.

Bug: angleproject:2853
Change-Id: I5251a0e0fdd42ed1126921b4acc13687a14af9cd
Reviewed-on: https://chromium-review.googlesource.com/c/1422549
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
diff --git a/src/libANGLE/renderer/vulkan/QueryVk.cpp b/src/libANGLE/renderer/vulkan/QueryVk.cpp
index 9e21117..c321402 100644
--- a/src/libANGLE/renderer/vulkan/QueryVk.cpp
+++ b/src/libANGLE/renderer/vulkan/QueryVk.cpp
@@ -50,13 +50,11 @@
                 contextVk, &mQueryHelperTimeElapsedBegin));
         }
 
-        mQueryHelperTimeElapsedBegin.writeTimestamp(contextVk,
-                                                    mQueryHelperTimeElapsedBegin.getQueryPool(),
-                                                    mQueryHelperTimeElapsedBegin.getQuery());
+        mQueryHelperTimeElapsedBegin.writeTimestamp(contextVk);
     }
     else
     {
-        mQueryHelper.beginQuery(contextVk, mQueryHelper.getQueryPool(), mQueryHelper.getQuery());
+        mQueryHelper.beginQuery(contextVk);
     }
 
     return angle::Result::Continue;
@@ -68,12 +66,11 @@
 
     if (getType() == gl::QueryType::TimeElapsed)
     {
-        mQueryHelper.writeTimestamp(contextVk, mQueryHelper.getQueryPool(),
-                                    mQueryHelper.getQuery());
+        mQueryHelper.writeTimestamp(contextVk);
     }
     else
     {
-        mQueryHelper.endQuery(contextVk, mQueryHelper.getQueryPool(), mQueryHelper.getQuery());
+        mQueryHelper.endQuery(contextVk);
     }
 
     return angle::Result::Continue;
@@ -92,7 +89,7 @@
 
     ASSERT(getType() == gl::QueryType::Timestamp);
 
-    mQueryHelper.writeTimestamp(contextVk, mQueryHelper.getQueryPool(), mQueryHelper.getQuery());
+    mQueryHelper.writeTimestamp(contextVk);
 
     return angle::Result::Continue;
 }
@@ -123,7 +120,7 @@
     // may not have been performed by the GPU yet.  To avoid a race condition in this case, wait
     // for the batch to finish first before querying (or return not-ready if not waiting).
     ANGLE_TRY(renderer->checkCompletedCommands(contextVk));
-    if (mQueryHelper.isResourceInUse(renderer))
+    if (renderer->isSerialInUse(mQueryHelper.getStoredQueueSerial()))
     {
         if (!wait)
         {