gfxstream: move staging reset to end of reset command buffer

BUG=334105422
TEST=verified multi-threaded reset test passes

Change-Id: Id31179f2f1673b897f7c796c92b4ff9dea4bbce9
diff --git a/guest/vulkan_enc/ResourceTracker.cpp b/guest/vulkan_enc/ResourceTracker.cpp
index 955f5b4..8c70b17 100644
--- a/guest/vulkan_enc/ResourceTracker.cpp
+++ b/guest/vulkan_enc/ResourceTracker.cpp
@@ -6812,17 +6812,19 @@
 VkResult ResourceTracker::on_vkResetCommandBuffer(void* context, VkResult input_result,
                                                   VkCommandBuffer commandBuffer,
                                                   VkCommandBufferResetFlags flags) {
-    resetCommandBufferStagingInfo(commandBuffer, true /* also reset primaries */,
-                                  true /* also clear pending descriptor sets */);
-
-    VkEncoder* enc = ResourceTracker::getCommandBufferEncoder(commandBuffer);
+    VkEncoder* enc = (VkEncoder*)context;
     (void)input_result;
 
     if (!supportsDeferredCommands()) {
-        return enc->vkResetCommandBuffer(commandBuffer, flags, true /* do lock */);
+        VkResult res = enc->vkResetCommandBuffer(commandBuffer, flags, true /* do lock */);
+        resetCommandBufferStagingInfo(commandBuffer, true /* also reset primaries */,
+                                    true /* also clear pending descriptor sets */);
+        return res;
     }
 
     enc->vkResetCommandBufferAsyncGOOGLE(commandBuffer, flags, true /* do lock */);
+    resetCommandBufferStagingInfo(commandBuffer, true /* also reset primaries */,
+                                  true /* also clear pending descriptor sets */);
     return VK_SUCCESS;
 }