This PR replaces Vulkan 1.1 API support functions with Vulkan 1.0 equivalents within samples that specify Vulkan API 1.0: _memorybudget and _dynamicblending. It also does the same within VulkanStatsProvider::is_supported(), which is a utility that can be used with any Vulkan sample. This prevents runtime failures (undefined functions) on Vulkan drivers that enforce the specified API version.
I did not up-version the 2 samples to Vulkan API 1.1 since it appears that Vulkan API 1.0 was the intended API version, with extensions enabled by VK_KHR_get_physical_device_properties2.
[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)
[X] My changes build on Windows, Linux, macOS and Android. Otherwise I have documented any exceptions
If this PR contains framework changes:
[X] 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:
[X] I have tested the sample on at least one compliant Vulkan implementation
[X] I have stated on what implementation the sample has been tested so that others can test on different implementations and platforms. Tested on macOS Ventura 13.6.6 with Vulkan SDK 1.3.290 and MoltenVK 1.2.10 standalone.
Description
This PR replaces Vulkan 1.1 API support functions with Vulkan 1.0 equivalents within samples that specify Vulkan API 1.0: _memorybudget and _dynamicblending. It also does the same within
VulkanStatsProvider::is_supported()
, which is a utility that can be used with any Vulkan sample. This prevents runtime failures (undefined functions) on Vulkan drivers that enforce the specified API version.I did not up-version the 2 samples to Vulkan API 1.1 since it appears that Vulkan API 1.0 was the intended API version, with extensions enabled by
VK_KHR_get_physical_device_properties2
.Fixes #1123
General Checklist:
Please ensure the following points are checked:
[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:
If this PR contains framework changes:
batch
command line argument to make sure all samples still work properlySample Checklist
If your PR contains a new or modified sample, these further checks must be carried out in addition to the General Checklist: