[vulkan] Remove extraneous queue submit if no pre signal semaphores

bug: 111137294
Change-Id: I86013c9dad70eee1ca4585c729b507e0c487046d
diff --git a/system/vulkan_enc/ResourceTracker.cpp b/system/vulkan_enc/ResourceTracker.cpp
index 523ca99..f55f577 100644
--- a/system/vulkan_enc/ResourceTracker.cpp
+++ b/system/vulkan_enc/ResourceTracker.cpp
@@ -1808,6 +1808,8 @@
         std::vector<zx_handle_t> post_wait_events;
         VkDevice device = VK_NULL_HANDLE;
 
+        VkEncoder* enc = (VkEncoder*)context;
+
 #ifdef VK_USE_PLATFORM_FUCHSIA
         AutoLock lock(mLock);
 
@@ -1840,16 +1842,16 @@
         lock.unlock();
 #endif
 
-        VkEncoder* enc = (VkEncoder*)context;
-
-        VkSubmitInfo submit_info = {
-            .sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,
-            .waitSemaphoreCount = 0,
-            .pWaitSemaphores = nullptr,
-            .pWaitDstStageMask = nullptr,
-            .signalSemaphoreCount = static_cast<uint32_t>(pre_signal_semaphores.size()),
-            .pSignalSemaphores = pre_signal_semaphores.data()};
-        enc->vkQueueSubmit(queue, 1, &submit_info, VK_NULL_HANDLE);
+        if (!pre_signal_semaphores.empty()) {
+            VkSubmitInfo submit_info = {
+                .sType = VK_STRUCTURE_TYPE_SUBMIT_INFO,
+                .waitSemaphoreCount = 0,
+                .pWaitSemaphores = nullptr,
+                .pWaitDstStageMask = nullptr,
+                .signalSemaphoreCount = static_cast<uint32_t>(pre_signal_semaphores.size()),
+                .pSignalSemaphores = pre_signal_semaphores.data()};
+            enc->vkQueueSubmit(queue, 1, &submit_info, VK_NULL_HANDLE);
+        }
 
         input_result = enc->vkQueueSubmit(queue, submitCount, pSubmits, fence);