Vulkan-Samples icon indicating copy to clipboard operation
Vulkan-Samples copied to clipboard

Minor cleanup in classes vkb[::core::HPP]::Swapchain

Open asuessenbach opened this issue 1 year ago • 2 comments

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 batch command 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

asuessenbach avatar May 02 '24 12:05 asuessenbach

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.

SaschaWillems avatar May 02 '24 16:05 SaschaWillems

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.

asuessenbach avatar May 06 '24 09:05 asuessenbach