6#include <vulkan/vulkan_core.h>
52 VkPipelineStageFlags2 waitStages,
53 uint64_t frameNumber);
64 VkPipelineStageFlags2 waitStages);
75 VkPipelineStageFlags2 waitStages);
88 VkPipelineStageFlags2 waitStages);
98 VkSemaphore semaphore,
99 VkPipelineStageFlags2 waitStages);
140 VkResult
submit(VkQueue queue, VkFence fence = VK_NULL_HANDLE);
const TimelineSynchronizer & sync_
QueueSubmitBuilder & withCommandBuffers(const std::vector< VkCommandBuffer > &cmdBuffers)
Adds multiple command buffers to be executed.
VkResult submit(VkQueue queue, VkFence fence=VK_NULL_HANDLE)
Builds and submits to the specified queue.
QueueSubmitBuilder(const TimelineSynchronizer &sync, uint64_t frameNumber)
Constructs a submit builder.
std::vector< VkCommandBufferSubmitInfo > cmdBufferInfos_
QueueSubmitBuilder & waitForResourceReuse(PipelineStage stage, VkPipelineStageFlags2 waitStages)
Convenience: wait for resource reuse (frames-in-flight pattern)
std::vector< VkSemaphoreSubmitInfo > waitInfos_
uint64_t lastSignalValue_
QueueSubmitBuilder & withCommandBuffer(VkCommandBuffer cmdBuffer)
Adds a command buffer to be executed.
QueueSubmitBuilder & signalBinary(VkSemaphore semaphore)
Signals a binary semaphore at completion (for present)
std::vector< VkSemaphoreSubmitInfo > signalInfos_
QueueSubmitBuilder & waitForBinary(VkSemaphore semaphore, VkPipelineStageFlags2 waitStages)
Adds a binary semaphore wait (for swapchain acquire, etc.)
uint64_t getLastSignalValue() const
Gets the signal value for the last stage added Useful for debugging or for CPU-side waits.
QueueSubmitBuilder & waitForPrevious(PipelineStage stage, VkPipelineStageFlags2 waitStages)
Convenience: wait for previous frame's stage.
QueueSubmitBuilder & waitFor(PipelineStage stage, VkPipelineStageFlags2 waitStages, uint64_t frameNumber)
Adds a timeline wait for a specific frame's stage (GPU-GPU sync)
QueueSubmitBuilder & signalStage(PipelineStage stage)
Signals the timeline semaphore at a specific stage.
QueueSubmitBuilder & waitForCurrent(PipelineStage stage, VkPipelineStageFlags2 waitStages)
Convenience: wait for same frame's earlier stage.
Centralized timeline semaphore management for the rendering pipeline.
Log category system implementation.
PipelineStage
Extensible pipeline stages for timeline semaphore synchronization.