# khronosgroup/moltenvk

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/khronosgroup-moltenvk).**

5,491 stars · 472 forks · Objective-C++ · apache-2.0

## Links

- GitHub: https://github.com/KhronosGroup/MoltenVK
- awesome-repositories: https://awesome-repositories.com/repository/khronosgroup-moltenvk.md

## Description

MoltenVK is a Vulkan implementation for macOS that acts as a cross-API graphics wrapper. It serves as a translation layer that maps Vulkan graphics and compute API calls to corresponding Metal commands for execution on Apple hardware.

The project enables the translation of Vulkan rendering pipelines to the native Metal framework, allowing cross-platform graphics and compute applications to run on Apple operating systems. This facilitates the porting of games and applications developed for other platforms to macOS.

The implementation includes capabilities for advanced graphics feature implementation by accessing private provider interfaces to enable specialized hardware effects. It also utilizes a translation engine to track state and resource mapping between Vulkan handles and Metal buffers.

## Tags

### Graphics & Multimedia

- [Graphics API Translation](https://awesome-repositories.com/f/graphics-multimedia/graphics-api-translation.md) — Translates Vulkan graphics and compute API calls into Metal commands for execution on Apple hardware. ([source](https://cdn.jsdelivr.net/gh/khronosgroup/moltenvk@main/README.md))
- [Graphics API Translators](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/graphics-rendering-apis/graphics-api-translators.md) — Acts as a bridge that translates Vulkan API commands into Metal framework calls for hardware-accelerated rendering.
- [Vulkan API Support](https://awesome-repositories.com/f/graphics-multimedia/vulkan-api-support.md) — Provides a Vulkan compatible interface that enables cross-platform graphics and compute applications to run on macOS.
- [Private API Integrations](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/graphics-api-integrations/private-api-integrations.md) — Implements advanced hardware effects by accessing undocumented system interfaces not exposed in public frameworks.
- [Advanced Rendering Features](https://awesome-repositories.com/f/graphics-multimedia/graphics-engines-rendering/rendering/graphics-apis-bindings/graphics-rendering-apis/advanced-rendering-features.md) — Accesses specialized hardware capabilities and private interfaces to enable advanced rendering effects on Apple devices.

### Operating Systems & Systems Programming

- [Resource Handle Mapping](https://awesome-repositories.com/f/operating-systems-systems-programming/resource-handle-mapping.md) — Tracks the relationship between Vulkan memory handles and Metal buffers to ensure consistent data access.

### Software Engineering & Architecture

- [Desktop Graphics Abstractions](https://awesome-repositories.com/f/software-engineering-architecture/development-methodologies/application-targets-domains/cross-platform-desktop-development/desktop-graphics-abstractions.md) — Enables a single graphics codebase to run across different operating systems via a Vulkan abstraction layer.
- [Pipeline State Translation](https://awesome-repositories.com/f/software-engineering-architecture/pipeline-state-translation.md) — Maintains a mapping of Vulkan pipeline states and descriptors to equivalent Metal shader and buffer configurations.

### Game Development

- [Native Game Ports](https://awesome-repositories.com/f/game-development/native-game-ports.md) — Facilitates porting Windows or Linux games to macOS by mapping Vulkan pipelines to the Metal framework.
