- Update Cereal Archive for CompilerMSL::Options to fix cache misses.
- Add validation functions to report if Cereal Archive definitions
deviate from struct definitions in the future.
- Replace unused variable warning suppression with [[maybe_unused]]
compilation attribute (unrelated).
Several proc addr for VK_MVK_moltenvk extension functions
were erroneously hidden by commit 70db7651.
- Handle the proc addrs for functions vkGetPhysicalDeviceMetalFeaturesMVK()
and vkSetMoltenVKConfigurationMVK() consistently with all other functions,
by replacing these functions under the deprecated VK_MVK_moltenvk extension,
and requiring that extension to be enabled to use the functions.
- Handle the proc addr for function vkGetPerformanceStatisticsMVK() as a
core function so that enabling the VK_MVK_moltenvk extension is not
required. The intention is to deprecate this once a suitable Vulkan
extension like VK_KHR_performance_query is supported.
- Move vkGetPhysicalDeviceMetalFeaturesMVK() from
mvk_private_api.h to mvk_deprecated_api.h.
- Remove ADD_INST_OPEN_ENTRY_POINT(func) and ADD_DVC_OPEN_ENTRY_POINT(func) macros.
- Improve warning message output when extension VK_MVK_moltenvk is enabled.
- When using resource residency sets, abort descriptor layout binding
checking as soon as it is determined that the Metal argument buffer
for the descriptor set needs to be bound. Previous code continued
to needlessly iterate through all layout bindings.
- Document the logic better in code comments.
Multi-extension configuration on proc-addrs really wasn't doing what
it was being used for. It really only had once specialized purpose,
so it's been removed it altogether. The specialized device group
functions support is now handled more explicitly with a clean test
for existence of a function either within a version or extension.
- Remove multi-extension testing when determine function support.
- Ensure entry point API version is set before comparing it.
- Add the ability to test the special case of an extension function in core,
or an extension, under the same function name (promoted but not renamed).
- Populate VkPhysicalDeviceVulkan14Properties layout structs dynamically.
Static population caused crash because content sizing is determined dynamically.
- Add missing switch breaks during feature struct population.
- Revert to simpler mechanism for retaining pNexts
during version feature and property structs.
- Clear and populate MVKPhysicalDevice::_vulkan14NoExtFeatures and
_enabledVulkan14NoExtFeatures.
- Add VkPhysicalDeviceVulkan14Features and
VkPhysicalDeviceVulkan14Properties as SSOT for promoted features
and properties, and populate extension structs from them.
- Add MVKPhysicalDeviceVulkan14NoExtFeatures.
- Rename MVKPhysicalDeviceVulkan12FeaturesNoExt to
MVKPhysicalDeviceVulkan12NoExtFeatures for consistency.
- Rename promoted extension structs and enum values used internally.
- Clean up some minor compiler warnings.
- MVKSwapchain minor member reorg to close struct alignment gaps.
- Replace lost (but useful) code comment from long ago.
- Update Whats_New.md document.