compiler-explorer / compiler-explorer/compiler-explorer
[COMPILER REQUEST]: Metal shader compiler
- Dominant language
- TypeScript
- Stars
- 19.1k
- Forks
- 2.1k
- Avg merge
- 3d 15h
- Merged PRs (30d)
- 67
Description
### Compiler name
Metal shader compiler
### Compiler version
6.0
### Compiler language
Metal
### Compiler homepage
https://developer.apple.com/download/all/?q=metal%20developer%20tools%20for%20windows
### Motivation
Hello folks. I'm in the process of [shutting down Shader Playground](http://timjones.io/blog/archive/2026/03/18/shutting-down-shader-playground), in part thanks to the increasing level of Compiler Explorer support for shader languages. This is a great outcome 😄
There are a few shader compilers that Shader Playground has, that Compiler Explorer doesn't. But of those, the one with the most usage (by a fair distance) is the Metal shader compiler.
Apple ships the Metal shader compiler as part of Metal Developer Tools. This is available both for macOS and Windows. For Shader Playground, I've been using the Windows version. I presume that, if it's possible at all, Compiler Explorer would also use the Windows version.
I'd like to bring Metal shader support to Compiler Explorer, and I'm happy to have a go at implementing it (I haven't contributed to Compiler Explorer before, just to level-set; it might take me a while). The main reason I'm opening an issue first, rather than going straight to a PR, is because I'm wondering whether the Windows requirement represents an obstacle. I know Matt has [written](https://xania.org/202407/msvc-on-ce) about Windows support.
Just for reference, [here's the implementation for Shader Playground](https://github.com/tgjones/shader-playground/blob/aca8b100cbfd8647bc65ec215461bc7b4924870c/src/ShaderPlayground.Core/Compilers/Metal/MetalCompiler.cs).
So I guess my questions are:
1. Does this sound like a good thing to add?
2. Do you see any obstacles with having Metal shader compiler running on Windows?
Contributor guide
Assessment
This issue has not been assessed yet.