Source code
Revision control
Copy as Markdown
Other Tools
From fa417326ae4ddb95ced0ce30b6585e3735f50da5 Mon Sep 17 00:00:00 2001
From: Jamie Nicol <jnicol@mozilla.com>
Date: Wed, 27 May 2026 15:48:47 +0100
Subject: [PATCH] Disable Metal internal shader compilation
This disables building ANGLE's internal shaders at build-time. We
cannot currently support this in Firefox for a few reasons:
1) Firefox's vendored fork of the chromium build repo does not contain
the required xcode toolchains, meaning the generated moz.build files
will attempt to execute a `metallib` binary that does not exist.
2) We could alternatively attempt to configure gn_processor use the
system xcode, but this would require developers to have the Metal
toolchain installed in order to build Firefox.
3) This results in a chain of GeneratedFile declarations, each one
generating a file that is used as an input to the next, spread across
several different moz.build files. Mozbuild does not currently handle
the dependencies between GeneratedFiles located separate moz.build
files.
So for now we disable the compilation of ANGLE's internal shaders at
build time. They will be compiled at run time instead.
---
src/libANGLE/renderer/metal/metal_backend.gni | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libANGLE/renderer/metal/metal_backend.gni b/src/libANGLE/renderer/metal/metal_backend.gni
index d8ab289..5125de8 100644
--- a/src/libANGLE/renderer/metal/metal_backend.gni
+++ b/src/libANGLE/renderer/metal/metal_backend.gni
@@ -102,7 +102,7 @@ declare_args() {
# precompiling the internal shaders anyway, which enables prebuilt internal
# shaders for iOS as well.
metal_internal_shader_compilation_supported =
- angle_has_build &&
+ false && angle_has_build &&
(angle_metal_toolchain_dir != "" || (!is_ios && target_os == host_os))
metal_internal_shaders_header =
--
2.43.0