Task Brief
Currently, there is the vk::device_present_queue which acts as a way to perform queue submissions that relies on being supplied for performing submission to the display.
We should have a similar functionality but for vk::device_queue, with the only difference is this queue does not provide an API to perform queue submissions.
API Design
The form for vk::device_queue is going to look quite similar. I am still unsure whether to go this route of having two separate implementations or simply just have a singular implementation to combine vk::device_present_queue and vk::device_queue under a single implementation for simplicity.
The way this would work is also introduce a better way of controlling how semaphores are specified for queue submissions.
vk::device_queue graphics_queue(logical_device, { .family = 0, .index = 0});
// Specify the semaphroes for wait and signaling for the current workload
std::array<VkSemaphore, 1> wait_semaphores = { wait };
std::array<VkSemaphore, 1> signal_semaphores = { signal_sem };
std::array<VkCommandBuffer, 1> commands = { current };
graphics_queue.submit(commands, wait_semaphores, signal_semaphores);
graphics_queue.wait(); // performing vkQueueWaitIdle
Task Completion
There are still discussions whether we should go about this or if it make sense to have this be separated. As this issue is to keep track of this idea as it is TBD, currently.
Task Brief
Currently, there is the
vk::device_present_queuewhich acts as a way to perform queue submissions that relies on being supplied for performing submission to the display.We should have a similar functionality but for
vk::device_queue, with the only difference is this queue does not provide an API to perform queue submissions.API Design
The form for
vk::device_queueis going to look quite similar. I am still unsure whether to go this route of having two separate implementations or simply just have a singular implementation to combinevk::device_present_queueandvk::device_queueunder a single implementation for simplicity.The way this would work is also introduce a better way of controlling how semaphores are specified for queue submissions.
Task Completion
There are still discussions whether we should go about this or if it make sense to have this be separated. As this issue is to keep track of this idea as it is TBD, currently.