The Vulkan Portability Technical Subgroup is seeking to reduce the number of CTS failures in MoltenVK under Vulkan 1.0 with no extensions. MoltenVK provides Vulkan functionality layered on top of the Metal graphics API on Apple devices. All RFP responses are due by 5p.m. PDT on Friday, June 24, 2022.
Today, the functionality of the Vulkan SDK gets a major upgrade for Vulkan developers targeting Apple platforms. LunarG is now shipping Device Simulation (DevSim) and Validation layers for the Vulkan SDK on macOS in addition to Linux and Windows. DevSim layers enable Vulkan application development on a highly-capable development system by “simulating” a less-capable target Vulkan implementation through constraining the reported features and resources on the more-capable platform. Validation layers verify that applications are correctly using the reported Vulkan functionality. The validation layers and associated Vulkan loader on macOS also now support Apple Silicon via Universal Binaries.
The MoltenVK development team is pleased to announce that the latest release of MoltenVK supports Vulkan 1.1 functionality.
This release also embraces the Vulkan Portability Initiative, adding support for the new VK_KHR_portability_subset extension, which allows application developers to further embrace platform portability by enumerating the subset of Vulkan functionality available on platforms that don’t natively support Vulkan, such as macOS and iOS.
This release is part of the ongoing evolution of MoltenVK to add additional advanced Vulkan functionality, work towards conformance with the Vulkan standard, and continue to play an important role in a broad and vibrant Vulkan eco-system.
Khronos has shipped the provisional version of the Vulkan Portability Extension version 1.0 and it is shipping today in both MoltenVK and gfx-portability. If you want to try out the extension, build MoltenVK or download gfx-portability-0.8.1 and redirect the Vulkan loader to a JSON manifest using the regular ICD logic, as if MoltenVK and gfx-portability were native Vulkan drivers. Learn more about the Vulkan Portability Initiative and explore the value of layered implementations to the graphics community in this blog.
Diligent Engine was just tagged 2.4.e on Github. With this release comes support for Vulkan on Android. Last October Diligent Engine 2.4.c saw support for macOS via MoltenVK.
A new release of MoltenVK is now available that is updated against Vulkan 1.1.121 for allowing much of this graphics/compute API to function under Apple’s macOS and iOS platforms by remapping the Vulkan calls to Metal. More details are available on Phoronix and the MoltenVK repository on GitHub.
MoltenVK 1.0.35 is this new release based on the Vulkan SDK 1.1.108 milestone. This MoltenVK update brings various new extensions like VK_EXT_debug_report, VK_NV_glsl_shader, VK_EXT_debug_utils, and others. More details on MoltenVK 1.0.35 can be found via GitHub. (source: Phoronix)
The new MoltenVK now allows run-time configuration of MoltenVK via environment variables, support for GPU switching was added and is enabled by default, queue family specialization was added but currently disabled by default, synchronous queue submits was added and enabled by default, there is now support for four queue families, support for the VK_AMD_gpu_shader_half_float and VK_KHR_variable_pointers extensions, and updated against the latest SPIR-V Cross. There is also some fixes and other internal improvements. Checkout the Change Log on GitHub and read more about this update on Phoronix.
Diligent Engine is a modern cross-platform abstraction layer for Vulkan, OpenGL, OpenGL ES, Direct3D11 and Direct3D12. In the latest release, Diligent Engine added support for Vulkan on MacOS, enabled by MoltenVK.
This Rust crate by @gwihlidal, a Senior Rendering Engineer II at Electronic Arts (EA), provides an FFI layer and idiomatic rust wrappers for the AMD Vulkan Memory Allocator (VMA) C/C++ library. Designed to help game developers to manage memory allocations and resource creation by offering some higher-level functions. vk-mem is Cross-platform: Windows, Linux and macOS (MoltenVK).
Forsaken Remastered was just updated with Vulkan support! If you’re on Linux, you’re probably hitting 60fps with the existing OpenGL renderer, but it’s good to be future proof. If you’re on a Mac, though, you definitely want to switch. On my MacBook, the framerate goes from around 15 to a solid 60! On macOS, Vulkan support is supplied by MoltenVK, which we now ship with the game. It should work on any Mac that supports Apple’s Metal API, which MoltenVK uses to make Vulkan work. You can change from OpenGL to Vulkan in-game in the “Video” options menu.
MoltenVK 1.0.20 is out as the latest feature update to this Vulkan-over-Metal layer. With the MoltenVK 1.0.20 release there is support for several new extensions including VK_KHR_maintenance1, VK_KHR_shader_draw_parameters, VK_KHR_get_physical_device_properties2, and VK_KHR_push_descriptor. MoltenVK 1.0.20 also adds the ability to track and access supported/enabled extensions and has re-based its SPIRV-Cross code against upstream.
Earlier this month there was a report on a game studio finding their MoltenVK-using game rejected from Apple’s App Store. The situation is now resolved and Apple has allowed this Vulkan-over-Metal game into their iOS marketplace. Details on the issue and how it was resolved are set out in this Phoronix story.
A new pull request has been submitted to MoltenVK, the open-source project for mapping the Vulkan graphics/compute API over Apple’s Metal to run on iOS/macOS. This pull request is working to address the issue that caused at least one MoltenVK-using iPhone/iPad game to be rejected from the Apple App Store.
The QtBase dev branch, which will become Qt 5.12, now has experimental Vulkan support, courtesy of MoltenVK and prior work in Qt. When the MoltenVK Vulkan to Metal translation library was open sourced earlier this year, this opened the question of how to make this work with Qt. Check out the Qt blog to learn how support for MoltenVK was accomplished.