bug-14746: add batched submit for semaphores and command buffers
diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp
index 4a1e85f..704e007 100644
--- a/layers/mem_tracker.cpp
+++ b/layers/mem_tracker.cpp
@@ -1141,8 +1141,8 @@
 
 VK_LAYER_EXPORT VkResult VKAPI vkQueueSubmit(
     VkQueue             queue,
-    uint32_t            cmdBufferCount,
-    const VkCmdBuffer  *pCmdBuffers,
+    uint32_t            submitCount,
+    const VkSubmitInfo *pSubmitInfo,
     VkFence             fence)
 {
     VkResult result = VK_ERROR_VALIDATION_FAILED;
@@ -1155,17 +1155,20 @@
 
     print_mem_list(queue);
     printCBList(queue);
-    for (uint32_t i = 0; i < cmdBufferCount; i++) {
-        pCBInfo = get_cmd_buf_info(pCmdBuffers[i]);
-        pCBInfo->fenceId = fenceId;
-        pCBInfo->lastSubmittedFence = fence;
-        pCBInfo->lastSubmittedQueue = queue;
+    for (uint32_t submit_idx = 0; submit_idx < submitCount; submit_idx++) {
+        const VkSubmitInfo *submit = &pSubmitInfo[submit_idx];
+        for (uint32_t i = 0; i < submit->cmdBufferCount; i++) {
+            pCBInfo = get_cmd_buf_info(submit->pCommandBuffers[i]);
+            pCBInfo->fenceId = fenceId;
+            pCBInfo->lastSubmittedFence = fence;
+            pCBInfo->lastSubmittedQueue = queue;
+        }
     }
 
     loader_platform_thread_unlock_mutex(&globalLock);
     if (VK_FALSE == skipCall) {
         result = get_dispatch_table(mem_tracker_device_table_map, queue)->QueueSubmit(
-            queue, cmdBufferCount, pCmdBuffers, fence);
+            queue, submitCount, pSubmitInfo, fence);
     }
     return result;
 }