vk-bootstrap/example
Charles Giessen 4a30810a87 Added DelayedDeletionQueue and SwapchainManager to abstract presentation
The DelayedDeletionQueue is a general utility for queueing up things to delete at a future time.
This simplifies swapchain recreation by making the deletion of in-use objects to be done later when they are no longer in use.

The SwapchainManager handles all aspects of a swapchain:
 * Creation - Pass a SwapchainBuilder to specify how the swapchain should be created.
 * Recreation - Recreates the swapchain without introducing a pipeline stall through the use of an internal DelayedDeletionQueue.
 * Semaphores - Handles setting up the semaphores for acquiring a swapchain image, submitting work to draw to it, then presenting it.
 * Fences - Owns the fences associated with the command buffer submissions which write to the swapchain image.

Optionally, the SwapchainManager can also provide command buffers in which to record with for ease of use in simple situations.

There is a ImagelessFramebufferBuilder to simplify creating imageless framebuffers into a few lines of code. Nothing special,
but is a nice thing to have

Also in these changes
Fixed issue with image usage flags inheriting the wrong flags and causing validation message spam.
2021-06-29 23:57:25 -06:00
..
shaders moved triangle.cpp to its own folder, updated readme & license 2020-02-03 20:34:46 -07:00
CMakeLists.txt example: Add config file to locate shaders 2021-04-16 10:30:04 -06:00
example_config.h.in example: Add config file to locate shaders 2021-04-16 10:30:04 -06:00
triangle.cpp Added DelayedDeletionQueue and SwapchainManager to abstract presentation 2021-06-29 23:57:25 -06:00