Minor cleanup in classes vkb[::core::HPP]::Swapchain
Description
Fixes #972
Build tested on Win10 with VS2022. Run tested on Win10 with NVidia GPU.
General Checklist:
Please ensure the following points are checked:
- [x] My code follows the coding style
- [x] I have reviewed file licenses
- [x] I have commented any added functions (in line with Doxygen)
- [x] I have commented any code that could be hard to understand
- [x] My changes do not add any new compiler warnings
- [x] My changes do not add any new validation layer errors or warnings
- [x] I have used existing framework/helper functions where possible
- [x] My changes do not add any regressions
- [x] I have tested every sample to ensure everything runs correctly
- [x] This PR describes the scope and expected impact of the changes I am making
Note: The Samples CI runs a number of checks including:
- [x] I have updated the header Copyright to reflect the current year (CI build will fail if Copyright is out of date)
- [ ] My changes build on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions
If this PR contains framework changes:
- [ ] I did a full batch run using the
batchcommand line argument to make sure all samples still work properly
Sample Checklist
If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist:
- [ ] I have tested the sample on at least one compliant Vulkan implementation
- [ ] If the sample is vendor-specific, I have tagged it appropriately
- [ ] I have stated on what implementation the sample has been tested so that others can test on different implementations and platforms
- [ ] Any dependent assets have been merged and published in downstream modules
- [ ] For new samples, I have added a paragraph with a summary to the appropriate chapter in the readme of the folder that the sample belongs to e.g. api samples readme
- [ ] For new samples, I have added a tutorial README.md file to guide users through what they need to know to implement code using this feature. For example, see conditional_rendering
- [ ] For new samples, I have added a link to the Antora navigation so that the sample will be listed at the Vulkan documentation site
Stupid question, but is the non-hpp swapchain.cpp actually used anymore? I'm working on a PR that changes a few minor things in the swapchain units (among others) and even the non-hpp api samples end up using the hpp_swapchain.cpp instead? Not sure why, or if that's intentional at all.
Indeed, the Swapchain isn't used that often any more.
The "unified" class VulkanSample holds a vkb::core::HPPSwapchain as a member, no matter whether it's providing the C- or the C++-bindings-based interface. Therefore, all the samples effectively use the HPPSwapchain now.
But there's a function VulkanSample::get_render_context, that depending on the used binding returns a RenderContext or an HPPRenderContext, and via that route, you can also get a Swapchain.
And there are a couple of classes, that actually use a RenderContext (All the PostProcessing* classes, for example), and thus a Swapchain could still be used.