Skip to content
httperryPublic

About

A high-performance Direct3D 12 to Apple Metal translation layer designed to run advanced DirectX 12 applications (like Unreal Engine 5) natively on Apple Silicon with zero-overhead translation.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

Repository files navigation

Metalloid Icon

Metalloid

A high-performance Direct3D 12 to Apple Metal translation layer for Apple Silicon.

macOS Metal 4 CMake License

Overview

Metalloid is an advanced translation layer engineered specifically for Apple Silicon hardware. It maps Direct3D 12 API calls directly to Apple's Metal framework, allowing complex DirectX 12 engines to run natively on macOS with zero-overhead translation. By utilizing modern Metal 4 features and dynamic shader compilation, Metalloid delivers a fluid, high-fidelity gaming experience without the traditional emulation penalties.

Performance

Metalloid has been heavily optimized for complex rendering pipelines. When benchmarking demanding DirectX 12 workloads, Metalloid demonstrates a massive performance uplift compared to Apple's native D3DMetal translation layer on the exact same hardware. The architectural shift to zero-overhead caching and asynchronous pipeline dispatching completely eliminates compilation stutter after the first run.

Metalloid Performance

Issues in DX12

A major challenge in translating DirectX 12 to Metal has been state synchronization. DirectX 12 utilizes Enhanced Barriers for granular resource state transitions, which historically caused massive pipeline stalls when emulated on Metal. Metalloid implements a robust, fully compliant fix for DirectX 12 Enhanced Barriers, ensuring flawless synchronization and preventing these stalls entirely.

Compatibility

Metalloid acts as a drop-in replacement for d3d12.dll and dxgi.dll. It intercepts application rendering calls, manages GPU memory boundaries via Metal private storage modes, and dynamically orchestrates the asynchronous compilation of graphics and compute pipelines.

Build Requirements

  • macOS 26+ (Metal 4 supported hardware)
  • Xcode 15 or later (Apple Clang)
  • CMake 3.24+
  • metal_irconverter (Apple Metal Shader Converter toolkit)

Acknowledgments

Special thanks to Scans Labs for providing their incredibly detailed Unreal Engine 5 London demo world, which has been instrumental in benchmarking and testing this translation layer.

Disclaimer

This project is an independent translation layer and is not officially affiliated with, nor endorsed by, Microsoft Corporation or Apple Inc.

About

A high-performance Direct3D 12 to Apple Metal translation layer designed to run advanced DirectX 12 applications (like Unreal Engine 5) natively on Apple Silicon with zero-overhead translation.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages