metal-rs
MoltenVK
| metal-rs | MoltenVK | |
|---|---|---|
| 5 | 108 | |
| 695 | 5,670 | |
| 0.6% | 1.4% | |
| 7.0 | 8.7 | |
| 8 days ago | 10 days ago | |
| Rust | Objective-C++ | |
| Apache License 2.0 | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
metal-rs
-
What's the best way to learn Metal?
I found working in rust with these bindings much easier https://github.com/gfx-rs/metal-rs
-
Unified memory on M1 macs
An alternative would be to use rust bindings for metal with gfx-rs/metal-rs. There is a metal compute example in the examples folder.
-
Low overhead C++ interface for Apple's Metal API
Thanks very much for this detailed information, it's very helpful. I've filed https://github.com/gfx-rs/metal-rs/issues/222 to track it in the Rust ecosystem side.
- Conditionally run some parts of build.rs
MoltenVK
-
Apple unleashes M5, the next big leap in AI performance for Apple Silicon
4. They could add the things needed for MoltenVK to support Vulkan 1.4 with those extensions on top of Metal:
https://github.com/KhronosGroup/MoltenVK/issues/203
It is a shame that they do not work with Valve on these things. If they did, Proton likely would be supported for MacOS from within Steam and the GPTK would benefit.
- MoltenVK now supports Vulkan 1.3 features for Metal
-
Ask HN: Resources for General Purpose GPU development on Apple's M* chips?
People have already mentioned Metal, but if you want cross platform, https://github.com/gfx-rs/wgpu has a vulkan-like API and cross compiles to all the various GPU frameworks. I believe it uses https://github.com/KhronosGroup/MoltenVK to run on Macs. You can also see the metal shader transpilation results for debugging.
-
AAA Gaming on Asahi Linux
MoltenVK doesn't support geometry shaders for ~3 years now[0]
[0] https://github.com/KhronosGroup/MoltenVK/issues/1524
-
Epic Games Store and Fortnite Arrive on EU iPhones
Games written with Vulkan can run on MacOS with the help of the MoltenVK [1]. You don't need to rewrite the game, just recompile for MacOS. The game can use Vulkan API but loads the MoltenVK shared library at runtime. It acts as a translation layer for Metal which is very similar to Vulkan. There are some gotchas, such as you can not use geometry shaders because Metal does not support them.
[1]: https://github.com/KhronosGroup/MoltenVK
- MoltenVK is a layered implementation of Vulkan 1.2
-
Valve Says Counter-Strike 2 for macOS Not Happening, There Aren't Enough Players
https://github.com/KhronosGroup/MoltenVK
Translating between rendering APIs is not really the problem. The GPU design is more different than the API is.
-
Meta Releases Intermediate Graphics Library
Khronos maintains MoltenVk though, which is "official" as it gets: https://github.com/KhronosGroup/MoltenVK
...technically, Vulkan on Windows is also only supported via 3rd-parties (the GPU vendors), Microsoft doesn't support Vulkan either ;)
-
I love the ally, but fuck Windows
MoltenVK implements large parts of Vulkan on top of Metal for Apple systems. It isn't full Vulkan but it makes porting Vulkan games to OS X easier.
- Apple releases a Game Porting Tool, based on open-source platform Wine, which can translate DirectX 12 into Metal 3, a potentially massive step for Mac gaming
What are some alternatives?
metal-cpp - Metal-cpp is a low-overhead C++ interface for Metal that helps developers add Metal functionality to graphics apps, games, and game engines that are written in C++.
dolphin - Dolphin is a GameCube / Wii emulator, allowing you to play games for these two platforms on PC with improvements.
particles-metal - demo integrating metal, swiftui, imgui in C++ CMake project
Vita3K - Experimental PlayStation Vita emulator
objc4
dxvk - Vulkan-based implementation of D3D9, D3D10 and D3D11 for Linux / Wine