Software 43889 Published by

MoltenVK 1.4.1 Release Candidate 1 is available for testing, with a focus on expanding Vulkan support for Apple platforms. The update adds four key extensions to help squeeze out extra performance and reduce latency: VK_KHR_maintenance9, VK_KHR_shader_fma, VK_KHR_surface_maintenance1, and VK_KHR_swapchain_maintenance1. Additionally, the development team made adjustments to Metal's private API options and improved performance in occlusion queries and descriptor state tracking. The update also includes CMake support, a working demo target for VisionOS, and various bug fixes and polish improvements.



MoltenVK 1.4.1 Release Candidate 1 released

Bill Hollings has announced that the release candidate for MoltenVK 1.4.1 is now available for testing.

This latest update focuses primarily on expanding Vulkan support for Apple platforms, building upon what makes MoltenVK great. A major part of that involves adding support for four key extensions: VK_KHR_maintenance9, VK_KHR_shader_fma, VK_KHR_surface_maintenance1, and VK_KHR_swapchain_maintenance1. These new additions are designed to squeeze out extra performance and help keep things snappy by reducing latency.

Beyond just the core Vulkan enhancements, the development team also made some adjustments related to Metal's private API options (MVK_USE_METAL_PRIVATE_API). When this flag is set, users will now find features like disabling primitive restart support, enabling legacy dithering settings, handling non-seamless cube maps, and supporting primitive topology list restarts.

Performance itself got a boost in other ways, too. They improved how occlusion queries work by allowing them across multiple render passes; think of that as letting the engine track visibility more flexibly during drawing. This feature's performance has also been optimized through parallel accumulation and support for untracked buffers, making it run smoother.

To make things faster still, they added a new implementation for tracking descriptor states. Simultaneously, our internal Vulkan code managing descriptors (the set/pool stuff) now enforces resource lifetimes more strictly to prevent crashes from poorly managed resources elsewhere. Developers wanting extra safety can use the MVK_CONFIG_LIVE_CHECK_ALL_RESOURCES=1 config flag or mark potentially destroyed descriptors with VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT.

For developers diving into builds, they included CMake support this time around. There's also a working demo target for VisionOS now available in our sample code (check out Cube Demo). The development team slightly bumped the minimum macOS/iOS/tvOS requirement needed to use MoltenVK; it now targets macOS 11.0/iOS 14.0/tvOS 14.0, reflecting some new capabilities. Plus, they added explicit support for VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT.

On the bug-fix side and general polish, there's plenty happening as well: The Vulkan API will now correctly reject image usages that don't match their format features; an out-of-pool-memory error (VK_ERROR_OUT_OF_POOL_MEMORY) is returned properly when you run into descriptor set limits. There are also some small updates, like making vkGetPhysicalDeviceToolProperties available at the instance level and enabling sample LOD bias for those Xcode 26 builds.

Other noteworthy changes include macOS users can now utilize host-coherent optimal tiling images with Apple GPUs; they added Metal4 and 'Apple10' GPU family logs to help developers understand what's happening under the hood. Some core logic op and depth bounds test implementations have been fixed, too. And they are paying attention to Mac Catalyst builds more closely.

Finally, for those keeping track of Vulkan deprecations, configuration options related to MVKConfiguration::supportLargeQueryPools are obsolete in 1.4.1 (both the parameter itself and the environment variable). Don't worry about it; large query pools work by default now!

Release MoltenVK v1.4.1-rc1

MoltenVK is a Vulkan Portability implementation. It layers a subset of the high-performance, industry-standard Vulkan graphics and compute API over Apple's Metal graphics framework, enabling Vulkan applications to run on macOS, iOS and tvOS. - Release v1.4.1-rc1 · KhronosGroup/MoltenVK

Release v1.4.1-rc1 · KhronosGroup/MoltenVK