From c8bfbc592bdfe8919e8547954127942038217189 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Fri, 13 Sep 2024 13:05:56 +0100 Subject: [PATCH] Added consumed signal to RecordAndSubmitTask submission. --- src/vsg/app/RecordAndSubmitTask.cpp | 14 +++++++++++--- src/vsg/app/TransferTask.cpp | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/vsg/app/RecordAndSubmitTask.cpp b/src/vsg/app/RecordAndSubmitTask.cpp index cd3b1701b..3f8928be9 100644 --- a/src/vsg/app/RecordAndSubmitTask.cpp +++ b/src/vsg/app/RecordAndSubmitTask.cpp @@ -84,7 +84,7 @@ VkResult RecordAndSubmitTask::submit(ref_ptr frameStamp) { CPU_INSTRUMENTATION_L1_NC(instrumentation, "RecordAndSubmitTask submit", COLOR_RECORD); - //info("RecordAndSubmitTask::submit()"); + info("\nRecordAndSubmitTask::submit()"); if (VkResult result = start(); result != VK_SUCCESS) return result; @@ -96,6 +96,7 @@ VkResult RecordAndSubmitTask::submit(ref_ptr frameStamp) { //info(" adding early transfer dataTransferredSemaphore ", transfer.dataTransferredSemaphore); transientWaitSemaphores.push_back(transfer.dataTransferredSemaphore); + dataTransferred = true; } } else @@ -153,7 +154,7 @@ VkResult RecordAndSubmitTask::finish(ref_ptr recordedCom { CPU_INSTRUMENTATION_L1_NC(instrumentation, "RecordAndSubmitTask finish", COLOR_RECORD); - //info("RecordAndSubmitTask::finish()"); + info("RecordAndSubmitTask::finish()"); auto current_fence = fence(); @@ -167,6 +168,7 @@ VkResult RecordAndSubmitTask::finish(ref_ptr recordedCom if (transfer.dataTransferredSemaphore) { //info(" adding late transfer dataTransferredSemaphore ", transfer.dataTransferredSemaphore); + dataTransferred = true; transientWaitSemaphores.push_back(transfer.dataTransferredSemaphore); } } @@ -239,9 +241,15 @@ VkResult RecordAndSubmitTask::finish(ref_ptr recordedCom vk_signalSemaphores.emplace_back(*semaphore); current_fence->dependentSemaphores().push_back(semaphore); } - transientSignalSemaphores.clear(); + if (dataTransferred) + { + vk_signalSemaphores.emplace_back(transferConsumerCompletedSemaphore->vk()); + } + + + VkSubmitInfo submitInfo = {}; submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO; diff --git a/src/vsg/app/TransferTask.cpp b/src/vsg/app/TransferTask.cpp index 9c72d6a5b..9898e8ea1 100644 --- a/src/vsg/app/TransferTask.cpp +++ b/src/vsg/app/TransferTask.cpp @@ -36,7 +36,7 @@ TransferTask::TransferTask(Device* in_device, uint32_t numBuffers) : _lateDataToCopy.frames.emplace_back(TransferBlock::create()); } - // level = Logger::LOGGER_INFO; + level = Logger::LOGGER_INFO; } void TransferTask::advance()