Merge "[vulkan] Take codegen for vk.xml fix for structextends missing"
diff --git a/shared/OpenglCodecCommon/GLClientState.cpp b/shared/OpenglCodecCommon/GLClientState.cpp
index 1353a64..4375ef0 100644
--- a/shared/OpenglCodecCommon/GLClientState.cpp
+++ b/shared/OpenglCodecCommon/GLClientState.cpp
@@ -284,7 +284,7 @@
 
 void GLClientState::updateEnableDirtyArrayForDraw() {
     bool enableChanged;
-    auto& vaoState = m_currVaoState.vaoState();
+    VAOState& vaoState = m_currVaoState.vaoState();
 
     int k = 0;
     for (int i = 0; i < CODEC_MAX_VERTEX_ATTRIBUTES; ++i) {
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);