This library is a utility which tracks all the required details so that applications
can have a simplified interface to the swapchain.
* Creation - Pass a SwapchainBuilder to specify how the swapchain should be created.
* Recreation - Recreates the swapchain upon request.
* Semaphores - Handles creation and usage of them, a particularly thorny part of swapchain management.
Additional Libraries:
- DelayedDeletionQueue; for easy deletion of objects currently in flight
- ImagelessFramebufferBuilder; for easy creation of imageless framebuffers
The new code lives in VkSwapchainManager.h, so its easier to distinguish the core parts of vk-bootstrap
from the optional.
This allows the image views to be created with the same usage flags as
the swapchain. This necessitated passing in version information down
the object creation chain because to add the usage flags requires 1.1
to be enabled.
Previously, tests would always be enabled if the repo was the top
level project, which isn't desireable for users. This alters the logic
to, by default, only enabling tests when its a top level project, but
still allowing users to *not* enable tests by setting VK_BOOTSTRAP_TEST
to off.
Some alias types are not pure promotional types, and need to be excluded from the
code which replaces types with their alias.
This may be a stopgap solution for a larger underlying problem of not being able to
determine if an alias is promoted or not.
Makes it easy to use vulkan on macOS since vk-bootstrap will auto-enable it if
the extension is available.
This can be disabled by calling `disable_portability_subset`.
This lets applications see all the devices which meet a set of requirements
then pick whichever of these devices is most appropriate for them. The intent
is for applications that want to find all the suitable devices and let the
user of the application pick the physical device from a list.
The version macro selector was looking for the constant VK_API_VERSION instead of the correct macro VK_MAKE_VERSION. Replaced the preprocessors accordingly.