diff options
| author | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-10-20 18:04:07 -0600 |
|---|---|---|
| committer | Courtney Goeltzenleuchter <courtney@LunarG.com> | 2015-10-23 17:31:15 -0600 |
| commit | 5fa898decb2f22b30693d89355c0e67be93288ab (patch) | |
| tree | 8a05cb1bdb46f62fe4c45402c2d16d7939bb5550 /layers/mem_tracker.cpp | |
| parent | 117eaebace3e05a27265db3f5a663a73806e98e5 (diff) | |
| download | usermoji-5fa898decb2f22b30693d89355c0e67be93288ab.tar.xz | |
bug-14746: add batched submit for semaphores and command buffers
Diffstat (limited to 'layers/mem_tracker.cpp')
| -rw-r--r-- | layers/mem_tracker.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/layers/mem_tracker.cpp b/layers/mem_tracker.cpp index 4a1e85f6..704e007e 100644 --- a/layers/mem_tracker.cpp +++ b/layers/mem_tracker.cpp @@ -1141,8 +1141,8 @@ VK_LAYER_EXPORT void VKAPI vkGetDeviceQueue( 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 @@ VK_LAYER_EXPORT VkResult VKAPI vkQueueSubmit( 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; } |
