diff --git a/auto_vk b/auto_vk index 88a16c57..61fa5373 160000 --- a/auto_vk +++ b/auto_vk @@ -1 +1 @@ -Subproject commit 88a16c57ecf764a41a0beb29e346a1f1f714977d +Subproject commit 61fa537317bb0308e4fb10cab6fa5cb90e03b4ad diff --git a/auto_vk_toolkit/include/context_vulkan.hpp b/auto_vk_toolkit/include/context_vulkan.hpp index 81bf3853..f10c0fa3 100644 --- a/auto_vk_toolkit/include/context_vulkan.hpp +++ b/auto_vk_toolkit/include/context_vulkan.hpp @@ -167,9 +167,23 @@ namespace avk avk::command_buffer record_and_submit(std::vector aRecordedCommandsAndSyncInstructions, const avk::queue& aQueue, vk::CommandBufferUsageFlags aUsageFlags = vk::CommandBufferUsageFlagBits::eOneTimeSubmit); avk::semaphore record_and_submit_with_semaphore(std::vector aRecordedCommandsAndSyncInstructions, const avk::queue& aQueue, avk::stage::pipeline_stage_flags aSrcSignalStage, vk::CommandBufferUsageFlags aUsageFlags = vk::CommandBufferUsageFlagBits::eOneTimeSubmit); - + /** \brief Records and submits commands to a queue together with a newly created timeline semaphore, which is signalled upon completion. + * \param aRecordedCommandsAndSyncInstructions List of commands to record and submit. + * \param aQueue The queue to submit the commands to. + * \param aSrcSignalStage Defines in which stage it is safe to signal the created timeline semaphore. + * \param aSignalValue The value to SIGNAL the timeline semaphore to. + * \param aInitialValue (optional) The value to INITIALIZE the newly created timeline semaphore with. + * \param aUsageFlags (optional) CommandBuffer usage flags. + * \return The newly created timeline semaphore. + */ avk::semaphore record_and_submit_with_timeline_semaphore(std::vector aRecordedCommandsAndSyncInstructions, const avk::queue& aQueue, avk::stage::pipeline_stage_flags aSrcSignalStage, uint64_t aSignalValue, uint64_t aInitialValue = 0, vk::CommandBufferUsageFlags aUsageFlags = vk::CommandBufferUsageFlagBits::eOneTimeSubmit); + /** \brief Records and submits commands to a queue together with the given timeline semaphore, which is signalled upon completion. + * \param aRecordedCommandsAndSyncInstructions List of commands to record and submit. + * \param aQueue The queue to submit the commands to. + * \param aSignalInfo Used to specify the timeline semaphore, after which stage it's supposed to be triggered, and to which value it should be set. + * \param aUsageFlags (optional) CommandBuffer usage flags. + */ void record_and_submit_with_timeline_semaphore(std::vector aRecordedCommandsAndSyncInstructions, const avk::queue& aQueue, avk::semaphore_signal_info aSignalInfo, vk::CommandBufferUsageFlags aUsageFlags = vk::CommandBufferUsageFlagBits::eOneTimeSubmit); avk::fence record_and_submit_with_fence(std::vector aRecordedCommandsAndSyncInstructions, const avk::queue& aQueue, vk::CommandBufferUsageFlags aUsageFlags = vk::CommandBufferUsageFlagBits::eOneTimeSubmit);