vk-bootstrap/tests
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
..
bootstrap_tests.cpp Move debug callback into header and allow adding user pointer 2021-06-14 15:17:37 -07:00
CMakeLists.txt Add queue selection tests and refactor internal code a bit 2021-05-21 14:04:28 -06:00
common.h Added DelayedDeletionQueue and SwapchainManager to abstract presentation 2021-06-29 23:57:25 -06:00
error_code_tests.cpp Error handling with std::error_code 2020-05-17 09:19:12 -06:00
main.cpp Migrate to Catch2 & CMake file structural change 2020-03-26 10:40:47 -06:00
unit_tests.cpp Format internal queue selection functions 2021-05-21 14:04:28 -06:00