Branch: refs/heads/webkitglib/2.54
Home: https://github.com/WebKit/WebKit
Commit: 0bef12fd44bd6976b427800db7465a3e0898e586
https://github.com/WebKit/WebKit/commit/0bef12fd44bd6976b427800db7465a3e0898e586
Author: Jon Butler <[email protected]>
Date: 2026-10-05 (Mon, 05 Oct 2026)
Changed paths:
M Source/ThirdParty/ANGLE/src/compiler/translator/tree_ops/RewriteDfdy.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/GLSLTest.cpp
Log Message:
-----------
Cherry-pick 321241@main (ff7b5ea1d735).
https://bugs.webkit.org/show_bug.cgi?id=321288
[ANGLE] Nested dFdx/dFdy calls reaches an ASSERT during derivative rewriting
https://bugs.webkit.org/show_bug.cgi?id=321288
rdar://181803233
Reviewed by Kimmo Kinnunen.
In debug builds, compiling a fragment shader in which one dFdx/dFdy call is
the
immediate argument of another, such as dFdy(dFdy(u)), hits ASSERT(replaced)
in
TIntermTraverser::updateTree().
RewriteDfdy replaces each call with the sum of dFdx(operand) and
dFdy(operand)
scaled by the rotation and flip multipliers, queueing the replacement with
OriginalNode::IS_DROPPED, and keeps traversing into the operand. A
derivative
operand then queues its own replacement with the outer call as parent. The
updater retargets that parent to the replacement expression, where the
operand is
not an immediate child, so the replacement cannot be applied.
Fix by not traversing into a dFdx/dFdy operand. The derivatives under it
are then
left unrotated and unflipped, which only affects the value of a derivative
of a
derivative.
* Source/ThirdParty/ANGLE/src/compiler/translator/tree_ops/RewriteDfdy.cpp:
* Source/ThirdParty/ANGLE/src/tests/gl_tests/GLSLTest.cpp:
Canonical link: https://commits.webkit.org/321241@main
Canonical link: https://commits.webkit.org/317695.408@webkitglib/2.54
Commit: 8826aeb6f20111e4a35c8af9a4e7ebaf328e1adf
https://github.com/WebKit/WebKit/commit/8826aeb6f20111e4a35c8af9a4e7ebaf328e1adf
Author: Roberto Rodriguez <[email protected]>
Date: 2026-10-05 (Mon, 05 Oct 2026)
Changed paths:
M Source/ThirdParty/ANGLE/src/tests/test_utils/runner/TestSuite.cpp
Log Message:
-----------
Cherry-pick 321627@main (b4ed7dac25c8).
https://bugs.webkit.org/show_bug.cgi?id=321300
[ANGLE] Fix --bot-mode crash by writing a results file instead of scraping
stdout
https://bugs.webkit.org/show_bug.cgi?id=321300
rdar://184340969
Reviewed by Kimmo Kinnunen.
When running ANGLEEnd2EndTests in bot mode, the parent runs each batch of
tests
in a child process and merges the child's results back, normally by reading
a
JSON results file the child writes via RapidJSON. WebKit builds ANGLE
without
RapidJSON, so the JSON results writer and reader are compiled out and the
parent
falls back to scraping the child's stdout. That parsing mishandles gtest's
summary and parameterized-test status lines, creating malformed and
duplicate
identifiers that crash the merge whenever a test is skipped or failed.
Fix by writing a results file instead of scraping stdout. Collecting each
test's
status and duration already works without RapidJSON, since the test event
listener records them, so only reading and writing the file needs a
non-RapidJSON path. The child now writes a CSV results file and the parent
reads
and merges it like with JSON. Here's a snippet:
testSuiteName,testName,result,flakyFailures,elapsedTimeSeconds
ActiveTextureCacheTest,UniformChangeUpdatesActiveTextureCache/ES2_Metal,Pass,0,0.099299
dEQP-GLES3,functional.prerequisite.clear_color,Fail,0,0.259352
The stdout-scraping code and its helpers are removed, and the default
bot-mode
results file is output.csv.
Overall this makes bot mode usable for running the ANGLE suites on CI,
where batched
parallel execution is required for the large dEQP suites. Serial runs are
unaffected, and the CSV writer and reader are confined to the non-RapidJSON
path.
* Source/ThirdParty/ANGLE/src/tests/test_utils/runner/TestSuite.cpp:
(angle::TestSuite::TestSuite):
(angle::TestSuite::finishProcess):
(angle::ParseTestIdentifierAndSetResult): Deleted.
Canonical link: https://commits.webkit.org/321627@main
Canonical link: https://commits.webkit.org/317695.409@webkitglib/2.54
Commit: 9a77271b84c3127668d559061f15615ad0d1f652
https://github.com/WebKit/WebKit/commit/9a77271b84c3127668d559061f15615ad0d1f652
Author: Roberto Rodriguez <[email protected]>
Date: 2026-10-05 (Mon, 05 Oct 2026)
Changed paths:
M LayoutTests/platform/gtk/TestExpectations
M LayoutTests/platform/wpe/TestExpectations
M Source/ThirdParty/ANGLE/.gn
M Source/ThirdParty/ANGLE/ANGLE.plist
M Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj
M Source/ThirdParty/ANGLE/BUILD.gn
M Source/ThirdParty/ANGLE/CONTRIBUTORS
M Source/ThirdParty/ANGLE/DEPS
M Source/ThirdParty/ANGLE/GLESv2.cmake
M Source/ThirdParty/ANGLE/PRESUBMIT.py
M Source/ThirdParty/ANGLE/WebKit/ANGLEShaderProgramVersion.h
M Source/ThirdParty/ANGLE/WebKit/TranslatorFuzzerSupport.h
M Source/ThirdParty/ANGLE/WebKit/angle_commit.h
M Source/ThirdParty/ANGLE/changes.diff
M Source/ThirdParty/ANGLE/extensions/ANGLE_shader_pixel_local_storage.txt
R
Source/ThirdParty/ANGLE/extensions/EGL_ANGLE_platform_angle_device_context_volatile_cgl.txt
R
Source/ThirdParty/ANGLE/extensions/EGL_ANGLE_platform_angle_device_context_volatile_eagl.txt
M Source/ThirdParty/ANGLE/include/EGL/eglext_angle.h
M Source/ThirdParty/ANGLE/include/GLSLANG/ShaderLang.h
M Source/ThirdParty/ANGLE/include/platform/autogen/FeaturesGL_autogen.h
M Source/ThirdParty/ANGLE/include/platform/autogen/FeaturesVk_autogen.h
M Source/ThirdParty/ANGLE/include/platform/gl_features.json
M Source/ThirdParty/ANGLE/include/platform/vk_features.json
M Source/ThirdParty/ANGLE/samples/shader_translator/shader_translator.cpp
M Source/ThirdParty/ANGLE/scripts/angle_presubmit_utils.py
M Source/ThirdParty/ANGLE/scripts/angle_presubmit_utils_unittest.py
M
Source/ThirdParty/ANGLE/scripts/code_generation_hashes/Extension_files.json
M
Source/ThirdParty/ANGLE/scripts/code_generation_hashes/GL_EGL_WGL_loader.json
M
Source/ThirdParty/ANGLE/scripts/code_generation_hashes/GL_EGL_entry_points.json
M
Source/ThirdParty/ANGLE/scripts/code_generation_hashes/interpreter_utils.json
M Source/ThirdParty/ANGLE/scripts/code_generation_hashes/proc_table.json
M
Source/ThirdParty/ANGLE/scripts/code_generation_hashes/restricted_traces.json
M Source/ThirdParty/ANGLE/scripts/egl_angle_ext.xml
M Source/ThirdParty/ANGLE/scripts/generate_entry_points.py
M Source/ThirdParty/ANGLE/scripts/roll_aosp.sh
M Source/ThirdParty/ANGLE/src/common/angleutils.h
A Source/ThirdParty/ANGLE/src/common/com_utils.h
M Source/ThirdParty/ANGLE/src/common/matrix_utils_unittest.cpp
M Source/ThirdParty/ANGLE/src/common/platform.h
M Source/ThirdParty/ANGLE/src/compiler/fuzz/translator_fuzzer.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/hlsl/TranslatorHLSL.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/BUILD.gn
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/builder.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/debug.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/instruction.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/ir.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/output/glsl.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/output/hlsl.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/output/legacy.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/output/msl.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/output/spirv.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/output/wgsl.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/reflection.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/transform.rs
M
Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/transform/emulate_instanced_multiview.rs
M
Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/transform/monomorphize_unsupported_functions.rs
A
Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/transform/rewrite_array_of_array_of_opaque_uniforms.rs
A
Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/transform/rewrite_struct_samplers.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/util.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/validator.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/msl/DriverUniformMetal.h
M Source/ThirdParty/ANGLE/src/compiler/translator/msl/SymbolEnv.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/msl/TranslatorMSL.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/spirv/TranslatorSPIRV.cpp
M
Source/ThirdParty/ANGLE/src/compiler/translator/tree_ops/RewriteStructSamplers.cpp
M
Source/ThirdParty/ANGLE/src/compiler/translator/tree_util/DriverUniform.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/tree_util/DriverUniform.h
M Source/ThirdParty/ANGLE/src/compiler/translator/wgsl/TranslatorWGSL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Caps.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Caps.h
M Source/ThirdParty/ANGLE/src/libANGLE/Context.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Context.h
M Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Display.h
M Source/ThirdParty/ANGLE/src/libANGLE/EGLSync.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/EGLSync.h
M Source/ThirdParty/ANGLE/src/libANGLE/ErrorStrings.h
M Source/ThirdParty/ANGLE/src/libANGLE/GlobalMutex.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/GlobalMutex.h
M Source/ThirdParty/ANGLE/src/libANGLE/PixelLocalStorage.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/PixelLocalStorage.h
M Source/ThirdParty/ANGLE/src/libANGLE/capture/FrameCapture.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/queryutils.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/queryutils.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/DisplayImpl.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/DisplayImpl.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/HLSLCompiler.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/HLSLCompiler.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/ShaderD3D.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SwapChainD3D.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/TextureD3D.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/TextureD3D.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/VertexDataManager.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Blit11.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/DebugAnnotator11.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/ExternalImageSiblingImpl11.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Fence11.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Fence11.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/NativeWindow11.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/RenderTarget11.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/ResourceManager11.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/ResourceManager11.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/StateManager11.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/StreamProducerD3DTexture.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/StreamProducerD3DTexture.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/SwapChain11.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Trim11.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/converged/CompositorNativeWindow11.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/renderer11_utils.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/win32/NativeWindow11Win32.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/winrt/CoreWindowNativeWindow_unittest.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/winrt/InspectableNativeWindow.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/winrt/NativeWindow11WinRT.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/winrt/SwapChainPanelNativeWindow_unittest.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/TextureGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/DisplayCGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/DisplayCGL.mm
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/D3DTextureSurfaceWGL.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/D3DTextureSurfaceWGL.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ProgramExecutableMtl.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ProgramExecutableMtl.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/TextureMtl.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_common.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_msl_utils.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_msl_utils.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/renderer_utils.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/renderer_utils.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLDeviceVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLKernelVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLKernelVk.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLMemoryVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLMemoryVk.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLProgramVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLProgramVk.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/ContextVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/DisplayVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/DriverUniforms.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/MemoryTracking.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/ShaderVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/SurfaceVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/TextureVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/TextureVk.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/UtilsVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/UtilsVk.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/VertexArrayVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/VertexArrayVk.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/android/HardwareBufferImageSiblingVkAndroid.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/clspv_utils.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/clspv_utils.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/linux/DmaBufImageSiblingVkLinux.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/spv_utils.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_caps_utils.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_format_utils.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_helpers.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_helpers.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_renderer.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/validationEGL_autogen.h
M Source/ThirdParty/ANGLE/src/libANGLE/validationES.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/validationES.h
M Source/ThirdParty/ANGLE/src/libANGLE/validationES2.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/validationESEXT.cpp
M Source/ThirdParty/ANGLE/src/libGLESv2.gni
M Source/ThirdParty/ANGLE/src/libGLESv2/egl_context_lock_impl.h
M Source/ThirdParty/ANGLE/src/libGLESv2/egl_ext_stubs.cpp
M Source/ThirdParty/ANGLE/src/libGLESv2/egl_ext_stubs_autogen.h
M Source/ThirdParty/ANGLE/src/libGLESv2/egl_stubs.cpp
M Source/ThirdParty/ANGLE/src/libGLESv2/egl_stubs_autogen.h
M Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_autogen.cpp
M Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext_autogen.cpp
M Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_gles_2_0_autogen.cpp
M Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_gles_3_1_autogen.cpp
M
Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_gles_ext_explicit_context_autogen.cpp
M Source/ThirdParty/ANGLE/src/libGLESv2/global_state.cpp
M Source/ThirdParty/ANGLE/src/libGLESv2/global_state.h
M Source/ThirdParty/ANGLE/src/tests/angle_end2end_tests_expectations.txt
M Source/ThirdParty/ANGLE/src/tests/cl_support/openclcts_mustpass.txt
M Source/ThirdParty/ANGLE/src/tests/compiler_tests/WGSLOutput_test.cpp
M
Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_egl_test_expectations.txt
M
Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_khr_gles3_test_expectations.txt
M Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLBufferAgeTest.cpp
M Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLDeviceTest.cpp
M Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLDirectCompositionTest.cpp
M Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLPresentPathD3D11Test.cpp
M Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLStreamTest.cpp
M Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLSurfaceTest.cpp
M Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLSyncControlTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/BlitFramebufferANGLETest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/BuiltinVariableTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/ClearTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/CopyTexImageTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/CopyTextureTest.cpp
M
Source/ThirdParty/ANGLE/src/tests/gl_tests/D3DImageFormatConversionTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/D3DTextureTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/DebugMarkerTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/DepthStencilFormatsTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/DiscardFramebufferEXTTest.cpp
M
Source/ThirdParty/ANGLE/src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/ETCTextureTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/FramebufferFetchTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/FramebufferTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/GLSLTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/ImageTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/MaxTextureSizeTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/MipmapTest.cpp
M
Source/ThirdParty/ANGLE/src/tests/gl_tests/MultisampleCompatibilityTest.cpp
M
Source/ThirdParty/ANGLE/src/tests/gl_tests/MultisampledRenderToTextureTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/MultiviewDrawTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/PixelLocalStorageTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/ReadOnlyFeedbackLoopTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/RobustResourceInitTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/SRGBTextureTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/SamplersTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/SimpleOperationTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/StateChangeTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/SwizzleTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/TextureMultisampleTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/TextureRectangleTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/TextureTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/TextureUploadFormatTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/VertexAttributeTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/ViewportTest.cpp
M
Source/ThirdParty/ANGLE/src/tests/gl_tests/VulkanPerformanceCounterTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/WebGLCompatibilityTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/WebGLFramebufferTest.cpp
M Source/ThirdParty/ANGLE/src/tests/perf_tests/ANGLEPerfTest.cpp
M Source/ThirdParty/ANGLE/src/tests/perf_tests/BlitFramebufferPerf.cpp
M Source/ThirdParty/ANGLE/src/tests/perf_tests/BufferSubData.cpp
M Source/ThirdParty/ANGLE/src/tests/perf_tests/MultisampleResolvePerf.cpp
M Source/ThirdParty/ANGLE/src/tests/perf_tests/TracePerfTest.cpp
M
Source/ThirdParty/ANGLE/src/tests/perf_tests/angle_trace_tests_expectations.txt
M Source/ThirdParty/ANGLE/src/tests/restricted_traces/restricted_traces.json
M
Source/ThirdParty/ANGLE/src/tests/restricted_traces/retrace_restricted_traces.py
M
Source/ThirdParty/ANGLE/src/tests/test_expectations/GPUTestExpectationsParser.cpp
M
Source/ThirdParty/ANGLE/src/tests/test_expectations/GPUTestExpectationsParser.h
M Source/ThirdParty/ANGLE/src/tests/test_utils/ANGLETest.cpp
M
Source/ThirdParty/ANGLE/src/tests/test_utils/third_party/vulkan_command_buffer_utils.cpp
M Source/ThirdParty/ANGLE/util/BUILD.gn
M Source/ThirdParty/ANGLE/util/EGLWindow.cpp
M Source/ThirdParty/ANGLE/util/autogen/angle_features_autogen.cpp
M Source/ThirdParty/ANGLE/util/autogen/angle_features_autogen.h
A Source/ThirdParty/ANGLE/util/capture/scoped_capture_exclude.h
M Source/ThirdParty/ANGLE/util/capture/trace_fixture.cpp
R Source/ThirdParty/ANGLE/util/com_utils.h
M Source/WebCore/platform/graphics/GraphicsContextGL.h
Log Message:
-----------
Cherry-pick 321707@main (bbbbf05fd58e).
https://bugs.webkit.org/show_bug.cgi?id=324374
Update ANGLE to 2026-09-14 (3c00aca547d853c37abe1980d989b6c73f15da8d)
https://bugs.webkit.org/show_bug.cgi?id=324374
rdar://187608929
Reviewed by Kimmo Kinnunen
Contains upstream commits:
3c00aca547d8 IR: Validate block variable name sources are temporary
c888f37c3042 Trace/Replay: Extend ScopedCaptureExclude to EGL harness calls
b5aaab55f7f8 Vulkan: Never recreate image due to sRGB override
29a1025ba3f0 Use EXPECT/ASSERT_GL_FRAMEBUFFER_COMPLETE in tests
a1962ac29d86 GL: apply host-twiddled TexSubImage2D workaround to all
formats.
8194b221b014 Vulkan: Fall back to external format on unsupported AHB import
5b76a919d430 Presubmit: Robustly locate ANGLE root in presubmit unittests
039991be1fa3 Roll vulkan-deps from 26b97616e7b4 to 8bcad2f78f55 (16
revisions)
748d1ec06732 Roll VK-GL-CTS from 659bbe698719 to 1942832354c9 (34 revisions)
df75ba985c64 Roll Chromium from 2ca8e87c5294 to 8d4c1b2a3b2e (1066
revisions)
9d4f4abe5c5c Refactor EGLImageTargetRenderbufferStorageOES validation
927129a81b04 Use move constructor for ScopedSyncRef in ClientWaitSync
4d2818ad499e Windows: Use ComPtr for COM resource ownership
d778c8969d4a Replace global lock with per Display lock
bda08bc8e84b Vulkan: Make VK_KHR_image_format_list a min requirement
244770375093 PLS: Refine attachment redefinition validation
acdd4c9f77e0 Fix texture target test typos
f383177b0f60 Fix UAF when dynamic buffer is resized while a different VAO
is bound.
29046ad27989 Gracefully fail tests if AHardwareBuffer_allocate fails
d200389cbc68 CL/Vulkan: Separate clspv argument info
4f38545e688c Vulkan: Initialize parameter structs in UtilsVk.h
15d020ae4792 Suppress arm64/iOS failures
c2b3395143b5 D3D11: fixing robust init for self copy same mip lvl
819e8c405b13 GL: enable adjustSrcDstRegionForBlitFramebuffer on Mali GPUs.
94d4f6704238 Add Win/AMD RX 5500 XT tester
a913c254758f Roll vulkan-deps from 3ea3494efcaa to 26b97616e7b4 (12
revisions)
b9f2e4295af4 Roll Chromium from 3456e6373121 to 2ca8e87c5294 (797 revisions)
40110e8775e9 IR: Validate unique interface variable names
3a04bee97336 Correctly lose hardened contexts on backend error
fb28881b5fde OpenCL: Remove redundant CLBufferVk::setDataImpl
dc092ca3d40d OpenCL: Set handle to nullptr on null buffer arg
48b652a0a1af PLS: Add GenerateMipmap to implicit disable list
a3c141519153 Traces: Upgrade trace pack 5 for merged attribs
e1dc141db2ba Refactor EGLImageTargetTexture2DOES validation
3a5099af2fab D3D: Report validation error for dynamic buffer out-of-bounds
e5e53c2bc948 IR: validate misuse of built-in names
0fc5fbbe4950 Add presubmit checks for unsafe buffer macros
de814eda83a0 Roll vulkan-deps from d98563169fc9 to 3ea3494efcaa (17
revisions)
275fe2dca5cf Roll Chromium from f9f4cf3cc657 to 3456e6373121 (834 revisions)
6f40e52de87a PLS: Disallow image units overlapping with planes
9fda9a70a68c Fix ClearTextureActiveRenderAttachmentColorOtherLevel
b713b87f96f9 Remove leftover EAGL extension
d8fbcbf5daa7 IR: Add precise argument in rewrite_struct_samplers
fc6d82499075 Parse test expectations without copying large strings.
a1eb4c0d5768 CL/Vulkan: Make fp64 support experimental
4e0a024f7ce8 GL: Enable recreateMipmapLevelsBeforeGenerate on Mali
9ebe6aecc5d8 Metal: Avoid using stale render target in
TextureMtl::getRenderTarget
e40a110d8b1e Remove prepareForCall
3e88857d92eb Cap GLES debug marker length
b2bc8a2e5ec2 OpenGL: Skip CopyTexImageOutOfBoundsAcrossMips on Win Intel
5aaa642831a2 D3D: Release 2D array storage on base level layer count change
b8037078f217 Metal: Remove sampler compare modes driver uniform
d2ee22024bf3 Enable Linux/GTX 1660 experiment
6ab2d16c77f8 IR: Port RewriteArrayOfArrayOfOpaqueUniforms
f5d1b5f993c6 Roll vulkan-deps from e08b7c743954 to d98563169fc9 (17
revisions)
3a6a5c88f08a Modernize C-style arrays to std::array
dfa67386b323 Roll Chromium from 87756ca204ef to f9f4cf3cc657 (784 revisions)
147caf2299c1 IR: Move Precise out of Decorations
533f31483041 IR: Port RewriteStructSamplers
041e83047db3 OpenGL: Robust-init OOB glCopyTexImage2D on same texture
e67f41a8d5c1 HLSL / WGSL: Remove inactive variables
732b5976727e D3D: Suppress failing tests
64f01768538a Translator: Optimise transformation code added to vertex shader
59229fef1fb2 Reland "Enable building with Perfetto in Android"
a220f97e8886 Fix 2D ImageIndex usage in pixel local storage
d02ee5a83ec4 Metal: out/inout fails to compile on newer Metal
98655d2aacd1 Perf tests: Fix perf-counters "_sum" metric typo
178f4584c0eb Vulkan: Remove imageLayerCount from subresource update helpers
6ad3289516af Roll vulkan-deps from 0893c1342a8b to e08b7c743954 (9
revisions)
45c55079f225 DEPS: replace internal python3 usage with DEPS provided one.
d63ac3c3e43c Roll Chromium from b00bf0a0920d to 87756ca204ef (442 revisions)
Canonical link: https://commits.webkit.org/321707@main
Canonical link: https://commits.webkit.org/317695.410@webkitglib/2.54
Commit: 0059a2341a7b2d034565632d581b7844a49d85da
https://github.com/WebKit/WebKit/commit/0059a2341a7b2d034565632d581b7844a49d85da
Author: Kimmo Kinnunen <[email protected]>
Date: 2026-10-05 (Mon, 05 Oct 2026)
Changed paths:
M Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj
M Source/ThirdParty/ANGLE/CMakeLists.txt
M Source/ThirdParty/ANGLE/Configurations/BaseTarget.xcconfig
A Source/ThirdParty/ANGLE/WebKit/dawn/dawn_proc.h
A Source/ThirdParty/ANGLE/WebKit/dawn/dawn_proc_table.h
A Source/ThirdParty/ANGLE/WebKit/dawn/native/DawnNative.h
A Source/ThirdParty/ANGLE/WebKit/dawn/native/DawnNativeWebGPUFramework.cpp
A Source/ThirdParty/ANGLE/WebKit/dawn/webgpu.h
A Source/ThirdParty/ANGLE/WebKit/webgpu/webgpu.h
A Source/ThirdParty/ANGLE/Wgpu.cmake
M
Source/ThirdParty/ANGLE/src/compiler/translator/wgsl/RewritePipelineVariables.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/ProgramWgpu.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_wgsl_util.cpp
Log Message:
-----------
Cherry-pick 321880@main (caff9f3583a8).
https://bugs.webkit.org/show_bug.cgi?id=325140
ANGLE: Build WebGPU backend if ENABLE_WEBGL_WEBGPU is passed to build
https://bugs.webkit.org/show_bug.cgi?id=325140
rdar://188274494
Reviewed by Dan Glastonbury and Mike Wyrzykowski.
Build ANGLE WebGPU backend:
build-webkit --cmake --debug --cmakeargs="-DENABLE_WEBGL_WEBGPU=ON"
Or:
echo "ENABLE_WEBGL_WEBGPU = YES" >> LocalOverrides.xcconfig
make debug
Only builds the backend and links with empty WebGPU integration.
Tests can be run once WebGPU.framework is fixed enough.
Browser can run once proc table is filled with the IPC implementation.
* Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:
* Source/ThirdParty/ANGLE/CMakeLists.txt:
* Source/ThirdParty/ANGLE/Configurations/BaseTarget.xcconfig:
* Source/ThirdParty/ANGLE/WebKit/dawn/dawn_proc.h: Added.
* Source/ThirdParty/ANGLE/WebKit/dawn/dawn_proc_table.h: Added.
* Source/ThirdParty/ANGLE/WebKit/dawn/native/DawnNative.h: Added.
* Source/ThirdParty/ANGLE/WebKit/dawn/native/DawnNativeWebGPUFramework.cpp:
Added.
(dawn::native::GetProcs):
* Source/ThirdParty/ANGLE/WebKit/dawn/webgpu.h: Added.
* Source/ThirdParty/ANGLE/WebKit/webgpu/webgpu.h: Added.
* Source/ThirdParty/ANGLE/Wgpu.cmake: Added.
*
Source/ThirdParty/ANGLE/src/compiler/translator/wgsl/RewritePipelineVariables.cpp:
* Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/ProgramWgpu.cpp:
* Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/wgpu_wgsl_util.cpp:
Canonical link: https://commits.webkit.org/321880@main
Canonical link: https://commits.webkit.org/317695.411@webkitglib/2.54
Commit: 64630268fc7a84cf2479a308c8536df50067255d
https://github.com/WebKit/WebKit/commit/64630268fc7a84cf2479a308c8536df50067255d
Author: Jon Butler <[email protected]>
Date: 2026-10-05 (Mon, 05 Oct 2026)
Changed paths:
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/TextureMtl.mm
M Source/ThirdParty/ANGLE/src/tests/gl_tests/ReadPixelsTest.cpp
Log Message:
-----------
Cherry-pick 322145@main (1f316fb5ae9c).
https://bugs.webkit.org/show_bug.cgi?id=320737
[ANGLE] Reset Metal render targets when a texture image is redefined
https://bugs.webkit.org/show_bug.cgi?id=320737
rdar://180731265
Reviewed by Kimmo Kinnunen.
Re-specifying a texture level with the same format and size discards the
level's image,
but leaves the render targets that point at it. A render target holds only
a weak
reference, and the framebuffer's cached render pass keeps the discarded
image alive, so
the next framebuffer sync does not rebuild the render target. The
framebuffer then
releases the image when it prepares the read, and glReadPixels reads a
render target with
no texture. The texture-to-buffer read traps on a -1 shader index, and the
blit read
dereferences null.
Clear the render targets for the image that redefineImage discards. The
next use rebuilds
them from the new image, and the read returns the re-specified contents.
* Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/TextureMtl.mm:
(rx::TextureMtl::redefineImage):
* Source/ThirdParty/ANGLE/src/tests/gl_tests/ReadPixelsTest.cpp:
(ReadPixelsPBOTest::testReadFromRespecifiedAttachment):
(TEST_P(ReadPixelsPBOTest, ReadFromRespecifiedAttachment)):
(TEST_P(ReadPixelsPBOTest,
ReadFromRespecifiedAttachmentWithMatchingFormat)):
Canonical link: https://commits.webkit.org/322145@main
Canonical link: https://commits.webkit.org/317695.412@webkitglib/2.54
Commit: 1fb3562f75e7ea14472ba3eabe9566b8ce095e5b
https://github.com/WebKit/WebKit/commit/1fb3562f75e7ea14472ba3eabe9566b8ce095e5b
Author: Roberto Rodriguez <[email protected]>
Date: 2026-10-05 (Mon, 05 Oct 2026)
Changed paths:
M Source/ThirdParty/ANGLE/.gitattributes
R Source/ThirdParty/ANGLE/.vpython3
M Source/ThirdParty/ANGLE/ANGLE.plist
M Source/ThirdParty/ANGLE/Compiler.cmake
M Source/ThirdParty/ANGLE/DEPS
M Source/ThirdParty/ANGLE/WebKit/ANGLEShaderProgramVersion.h
M Source/ThirdParty/ANGLE/WebKit/angle_commit.h
M Source/ThirdParty/ANGLE/build_overrides/build.gni
M Source/ThirdParty/ANGLE/changes.diff
M Source/ThirdParty/ANGLE/extensions/ANGLE_shader_pixel_local_storage.txt
M Source/ThirdParty/ANGLE/include/platform/autogen/FeaturesGL_autogen.h
M
Source/ThirdParty/ANGLE/include/platform/autogen/FrontendFeatures_autogen.h
M Source/ThirdParty/ANGLE/include/platform/frontend_features.json
M Source/ThirdParty/ANGLE/include/platform/gl_features.json
M
Source/ThirdParty/ANGLE/scripts/code_generation_hashes/GL_EGL_entry_points.json
M Source/ThirdParty/ANGLE/scripts/code_generation_hashes/SPIR-V_helpers.json
M
Source/ThirdParty/ANGLE/scripts/code_generation_hashes/Vulkan_mandatory_format_support_table.json
M
Source/ThirdParty/ANGLE/scripts/code_generation_hashes/restricted_traces.json
M Source/ThirdParty/ANGLE/scripts/generate_android_bp.py
M Source/ThirdParty/ANGLE/scripts/generate_entry_points.py
M Source/ThirdParty/ANGLE/scripts/roll_chromium_deps_v2.py
A Source/ThirdParty/ANGLE/scripts/roll_chromium_deps_v2.py.uv.lock
R Source/ThirdParty/ANGLE/scripts/roll_chromium_deps_v2.py.vpython3
M Source/ThirdParty/ANGLE/src/common/mathutil.h
M Source/ThirdParty/ANGLE/src/common/mathutil_unittest.cpp
M Source/ThirdParty/ANGLE/src/common/vulkan/vulkan_icd.cpp
A Source/ThirdParty/ANGLE/src/common/vulkan/vulkan_icd_unittest.cpp
M Source/ThirdParty/ANGLE/src/compiler.gni
M Source/ThirdParty/ANGLE/src/compiler/translator/CollectVariables.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/CollectVariables.h
M Source/ThirdParty/ANGLE/src/compiler/translator/Compiler.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/Compiler.h
M Source/ThirdParty/ANGLE/src/compiler/translator/ParseContext.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/ParseContext.h
M Source/ThirdParty/ANGLE/src/compiler/translator/hlsl/UtilsHLSL.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/builder.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/builder.h
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/builder.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/ir.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/reflection.rs
M
Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/transform/monomorphize_unsupported_functions.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/validator.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/msl/ModifyStruct.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/spirv/TranslatorSPIRV.cpp
M
Source/ThirdParty/ANGLE/src/compiler/translator/tree_ops/MonomorphizeUnsupportedFunctions.cpp
R
Source/ThirdParty/ANGLE/src/compiler/translator/tree_ops/spirv/FlagSamplersWithTexelFetch.cpp
R
Source/ThirdParty/ANGLE/src/compiler/translator/tree_ops/spirv/FlagSamplersWithTexelFetch.h
M Source/ThirdParty/ANGLE/src/libANGLE/AttributeMap.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/AttributeMap.h
M Source/ThirdParty/ANGLE/src/libANGLE/CLObject.h
M Source/ThirdParty/ANGLE/src/libANGLE/Caps.h
M Source/ThirdParty/ANGLE/src/libANGLE/Context.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Display.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Display.h
M Source/ThirdParty/ANGLE/src/libANGLE/EGLSync.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/EGLSync.h
M Source/ThirdParty/ANGLE/src/libANGLE/ErrorStrings.h
M Source/ThirdParty/ANGLE/src/libANGLE/Framebuffer.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Framebuffer.h
M Source/ThirdParty/ANGLE/src/libANGLE/Shader.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/ShareGroup.h
M Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Surface_unittest.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Texture.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Texture.h
M Source/ThirdParty/ANGLE/src/libANGLE/cl_types.h
M Source/ThirdParty/ANGLE/src/libANGLE/queryutils.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/queryutils.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/DisplayImpl.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/EGLImplFactory.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/EGLReusableSync.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/EGLReusableSync.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/EGLSyncImpl.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/EGLSyncImpl.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/SurfaceImpl.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DisplayD3D.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/SurfaceD3D.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/TextureD3D.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/TextureD3D.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/TextureStorage.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Buffer11.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Buffer11.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Image11.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/Renderer11.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/TextureStorage11.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/DisplayGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/SurfaceGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/SurfaceGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/TextureGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/DisplayCGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/DisplayCGL.mm
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/PbufferSurfaceCGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/cgl/WindowSurfaceCGL.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/DisplayEGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/DisplayEGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/SyncEGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/egl/SyncEGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/glx/DisplayGLX.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/renderergl_utils.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/D3DTextureSurfaceWGL.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/D3DTextureSurfaceWGL.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DXGISwapChainWindowSurfaceWGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/wgl/DisplayWGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/DisplayMtl.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/SurfaceMtl.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/SurfaceMtl.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/SyncMtl.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/SyncMtl.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/null/DisplayNULL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/null/DisplayNULL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/null/SurfaceNULL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/null/SurfaceNULL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLCommandQueueVk.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/CLDeviceVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/ContextVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/DisplayVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/DisplayVk.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/SurfaceVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/SurfaceVk.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/SyncVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/SyncVk.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/TextureVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_helpers.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_helpers.h
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_mem_alloc_wrapper.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_renderer.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_renderer.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_utils.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/vk_wrapper.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/DisplayWgpu.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/DisplayWgpu.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/SurfaceWgpu.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/wgpu/SurfaceWgpu.h
M Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/validationEGL_autogen.h
M Source/ThirdParty/ANGLE/src/libANGLE/validationES.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/validationES.h
M Source/ThirdParty/ANGLE/src/libANGLE/validationES2.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/validationES3.cpp
M Source/ThirdParty/ANGLE/src/libGLESv2/egl_ext_stubs.cpp
M Source/ThirdParty/ANGLE/src/libGLESv2/egl_ext_stubs_autogen.h
M Source/ThirdParty/ANGLE/src/libGLESv2/egl_stubs.cpp
M Source/ThirdParty/ANGLE/src/libGLESv2/egl_stubs_autogen.h
M Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_autogen.cpp
M Source/ThirdParty/ANGLE/src/libGLESv2/entry_points_egl_ext_autogen.cpp
M Source/ThirdParty/ANGLE/src/tests/angle_end2end_tests_expectations.txt
M Source/ThirdParty/ANGLE/src/tests/angle_unittests.gni
M Source/ThirdParty/ANGLE/src/tests/capture_replay_tests.py
M
Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_gles3_test_expectations.txt
M
Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLContextPassthroughShadersTest.cpp
M Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLDisplaySelectionTest.cpp
M Source/ThirdParty/ANGLE/src/tests/egl_tests/EGLMultiContextTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/CopyTextureTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/FramebufferFetchTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/GLSLTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/GLSLValidationTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/MipmapTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/PixelLocalStorageTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/RobustResourceInitTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/SRGBTextureTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/TextureTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/UniformBufferTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/WebGLCompatibilityTest.cpp
M Source/ThirdParty/ANGLE/src/tests/perf_tests/TracePerfTest.cpp
M Source/ThirdParty/ANGLE/src/tests/restricted_traces/README.md
M
Source/ThirdParty/ANGLE/src/tests/restricted_traces/gen_restricted_traces.py
M
Source/ThirdParty/ANGLE/src/tests/restricted_traces/restricted_trace_perf.py
M Source/ThirdParty/ANGLE/src/tests/restricted_traces/restricted_traces.json
M
Source/ThirdParty/ANGLE/src/tests/test_expectations/GPUTestExpectationsParser.cpp
M
Source/ThirdParty/ANGLE/src/tests/test_expectations/GPUTestExpectationsParser.h
M Source/ThirdParty/ANGLE/third_party/mesa/mesa_build.py
M Source/ThirdParty/ANGLE/util/autogen/angle_features_autogen.cpp
M Source/ThirdParty/ANGLE/util/autogen/angle_features_autogen.h
M Source/ThirdParty/ANGLE/util/posix/crash_handler_posix.cpp
M Source/ThirdParty/ANGLE/util/test_utils.cpp
M Source/ThirdParty/ANGLE/util/test_utils.h
M Source/ThirdParty/ANGLE/util/windows/win32/test_utils_win32.cpp
A Source/ThirdParty/ANGLE/vpython.toml
A Source/ThirdParty/ANGLE/vpython.toml.uv.lock
Log Message:
-----------
Cherry-pick 322169@main (a8180a263d1a).
https://bugs.webkit.org/show_bug.cgi?id=325514
Update ANGLE to 2026-09-21 (eb725ace1839eecf0828286e483b1dfaad667267)
https://bugs.webkit.org/show_bug.cgi?id=325514
rdar://188603662
Reviewed by Kimmo Kinnunen
Contains upstream commits:
eb725ace1839 Translator: Fix tracking of samplers used with texelFetch
7c4ce32df88b D3D11: Release storage on zero-dimension base level transition
180d44f8fd83 Manual roll vulkan-deps from 382253a51f8c to dbabb135ea05 (28
revisions)
7718b6a1b96c IR: validate sampler operand is compatible with the tex opcode
e1d22eff1e8f D3D11: Do not sync incomplete texture images from storage
3adcc064145b HLSL: Fix name collision due to lack of delimiter
8a7372bfdf3f Vulkan: Custom VMA pools for image suballocation
fd9ac29c6973 Remove unused distutils import in capture_replay_tests.py
bea9f5ec4d25 Translator: Fix off-by-one error in variable-size check
2bb28bbcef76 IR: Validate internal name prefixes
97389890be65 Vulkan: Add more casts to size calculations
97941c8fa290 Vulkan: Don't ghost images if base level has changed
56fb7d3295fc Remove Scoped(Const)DisplayRefAndLock type aliases
40b709be4f1f Add round_up_3d_texture_size_to_POT_for_limit for PowerVR
fb7f451c0870 [vpython] Migrate legacy .vpython3 to modern vpython.toml (UV)
f0fea6e82ebe Roll vulkan-deps from ce04da14800a to 382253a51f8c (21
revisions)
2dcb87759d63 Roll Chromium from 40a71e004321 to ef3359c076e1 (970 revisions)
c5ec3fabc84f Vulkan: Fix barrier level tracking in blit-based mipgen
dc3cb44a9178 Vulkan: Skip descriptor set pool lookup for recently resolved
desc
7acd4fe29034 Vulkan: Don't use VK_KHR_vertex_attribute_divisor if
insufficient
9353ca1be29e Vulkan: Fix shader read stage mask updates
d3296ca2fd9d Add ThreadSafeDisplayImpl for backend
4ec0b5e00f5a EGL: Reset thread state on makeCurrent error
f93135b2e16e Pack the initialized flag into ThreadSafeDisplay::mRefCount
cdea97f48c9f GL: Change mipmap workaround from flush to forcefullyFlush
d127415737e0 Restrict EGLSync API to only use ThreadSafeDisplay
7132c0928d7d CL/Vulkan: Track memory using const refs
5bafad4847ef Vulkan: Remove duplicate onWrite() in blit-based mipgen path
d0667dc558be D3D11: Include size in uniform and structured buffer range
cache keys
4a3c651efee7 Fix D/S framebuffer fetch tests not initializing renderbuffers
714eedd84be1 Add --cold-run to restricted_trace_perf.py
d299c51cfc12 GL: revise size checks for compressed texture workarounds.
6ea6e00892cd Roll SwiftShader from 694585a05946 to 1e80438d2b93 (1 revision)
17c57c6066ac D3D11: Backup texture storage contents on base level changes
8de3dc2a7e13 Roll vulkan-deps from 0bd3b3284048 to ce04da14800a (11
revisions)
73ef3f171b87 Roll Chromium from 235529f39312 to 40a71e004321 (578 revisions)
64cc2e072729 Tests: Index test expectations for fast exact match lookup
d3f5cab1aeba Traces: Upgrade trace pack 6 for merged attribs
ad72ad15e2c8 D3D11: Fix stale swizzle cache on robust resource init
bbb8cd2399aa CL/Vulkan: Set default vector widths
0dce7b319528 Hardened contexts: Warn non-zero base + incompatible levels
2eab350dae06 Make surface-framebuffer attach/detach functions void
cd26970bfada Vulkan: Fix VMA vkGetPhysicalDeviceProperties2KHR check
d219c4f45f93 Always robust init all levels of immutable textures
8c0da6c7d8b7 Roll chromium_revision 32586b65db..235529f393
a5804ada06ac GL: Reset base level for ASTC compressed image uploads
cabcbfef31c5 Spanify helpers in mathutil.h
9e87f592e951 Remove cpufeatures from scripts/generate_android_bp.py.
94e010815a2c Translator: Fix monomorphize vs unnamed function params
c53267d4866d Roll vulkan-deps from 831bf5d88ec1 to 0bd3b3284048 (12
revisions)
2db891493f26 util: Support ANGLE_DISABLE_STACK_TRACES env var
314cb711e226 Differentiate shader keys between passthrough and not
004240bb278c GL: Apply layered texture reattachment more boardly
7aa119cbd31a Vulkan: Fix device UUID display keying and pointer lifetime
ad38586fc1d6 Tests: Add Tiles Hop Music Ball Game trace
947cd4af1906 Vulkan: Make PCI IDs the lowest-priority device criterion
5bb0c9951910 MSL: Zero-initialize widened synthetic fragment outputs
43893c761f40 Further suppress Linux/NVIDIA GTX 1660 exp failures
abfd97807a16 Infra: Ensure new traces are included in representative
789ac8612946 PLS: Disallow EGL attachment redefinitions
d722014bc973 Suppress flakes on S24
513d6b0877d6 Roll vulkan-deps from 8bcad2f78f55 to 831bf5d88ec1 (14
revisions)
4b7308a36376 Roll Chromium from 8d4c1b2a3b2e to 32586b65db72 (780 revisions)
Canonical link: https://commits.webkit.org/322169@main
Canonical link: https://commits.webkit.org/317695.413@webkitglib/2.54
Commit: fee8769c9da8551d4e7e493841ba5f7b49a46857
https://github.com/WebKit/WebKit/commit/fee8769c9da8551d4e7e493841ba5f7b49a46857
Author: Kristian Monsen <[email protected]>
Date: 2026-10-05 (Mon, 05 Oct 2026)
Changed paths:
A LayoutTests/fast/canvas/webgl/line-loop-draw-no-op-crash-expected.txt
A LayoutTests/fast/canvas/webgl/line-loop-draw-no-op-crash.html
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm
M Source/ThirdParty/ANGLE/src/tests/gl_tests/LineLoopTest.cpp
Log Message:
-----------
Cherry-pick 322177@main (0914bda141cd).
https://bugs.webkit.org/show_bug.cgi?id=324491
ANGLE: Metal: LINE_LOOP closing segment is drawn with no render pipeline
state after a no-op draw
https://bugs.webkit.org/show_bug.cgi?id=324491
rdar://186898783
Reviewed by Kimmo Kinnunen.
LINE_LOOP is emulated as a line strip plus a separate indexed draw for the
closing segment. That segment's index buffer must be generated before the
render
pass starts, so LineLoopLastSegmentHelper builds it in begin() and drew it
from
its destructor, after the main draw -- unconditionally. When no enabled draw
buffer has an attachment (e.g. a complete framebuffer whose only attachment
is
COLOR_ATTACHMENT1 while draw buffer 0 is COLOR_ATTACHMENT0), setupDraw()
classifies the draw as a no-op and never sets a render pipeline state, so
the
closing segment was recorded as a draw call on an encoder with no pipeline
state.
Have drawArraysImpl()/drawElementsImpl() report whether they issued a draw
call,
and draw the closing segment from an explicit drawLastSegment() call on
that path
only. Inferring it from RenderCommandEncoder::hasPipelineState() is not
enough: a
transform feedback pass sets a pipeline state while rasterization is
disabled, so
an encoder can hold one even when later draws are no-ops.
Two ANGLE end2end tests cover both directions of the change.
LineLoopWithNothingBoundToDrawBufferZero is the crash case; it aborts in
LineLoopLastSegmentHelper's destructor without the fix.
LineLoopClosingSegmentIntoFramebuffer
guards against the inverse regression, where isNoOpOut comes back true when
a draw
was in fact issued and the closing segment silently disappears: it draws a
LINE_LOOP
square into an 8x8 FBO with the vertices ordered so that the left edge is
covered
only by the closing segment, and reads back two texels on that edge.
The isNoOpOut contract holds because every early return in drawArraysImpl()
and
drawElementsImpl() that bypasses the assignment is unreachable for the
nested
LineStrip draw: LineStrip is not a polygon mode, it is neither TriangleFan
nor
LineLoop, and requiresIndexRewrite() does not depend on the primitive mode
beyond
"not Points", so if it were true the outer LINE_LOOP call would have taken
drawArraysProvokingVertexImpl() and never reached the line loop helper.
Test: fast/canvas/webgl/line-loop-draw-no-op-crash.html
* LayoutTests/fast/canvas/webgl/line-loop-draw-no-op-crash-expected.txt:
Added.
* LayoutTests/fast/canvas/webgl/line-loop-draw-no-op-crash.html: Added.
* Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::drawLineLoopArraysNonInstanced):
(rx::ContextMtl::drawArraysImpl):
(rx::ContextMtl::drawLineLoopElementsNonInstancedNoPrimitiveRestart):
(rx::ContextMtl::drawElementsImpl):
* Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h:
* Source/ThirdParty/ANGLE/src/tests/gl_tests/LineLoopTest.cpp:
(TEST_P):
Canonical link: https://commits.webkit.org/322177@main
Canonical link: https://commits.webkit.org/317695.414@webkitglib/2.54
Commit: c4a3074a3f922e61a038bab7482ffca50280cdd7
https://github.com/WebKit/WebKit/commit/c4a3074a3f922e61a038bab7482ffca50280cdd7
Author: Pascoe <[email protected]>
Date: 2026-10-05 (Mon, 05 Oct 2026)
Changed paths:
M Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj
Log Message:
-----------
Cherry-pick 322308@main (4959b1648b53).
https://bugs.webkit.org/show_bug.cgi?id=325737
Fix Xcode null build regression caused by an unreachable group in
ANGLE.xcodeproj
rdar://problem/188763544
https://bugs.webkit.org/show_bug.cgi?id=325737
Reviewed by Elliott Williams, Megan Gardner, Richard Robinson, and Kimmo
Kinnunen.
321880@main added the "ANGLE wgpu backend" group to ANGLE.xcodeproj, but
never added it as a child of
another group. Xcode moves unreachable file references that are used by a
build phase into a
"Recovered References" group, and gives that group a new random identifier
every time the project is
loaded. This means Xcode's model of the ANGLE project is different in every
xcodebuild invocation, so
every build, including a null build, has to create a new build description
and rerun the tasks that
depend on it.
This regressed the Debug null build on the build-time bots by about 32%,
from 12.9s to 17.1s and from
21.6s to 28.6s. CMake builds do not use Xcode's project model and were not
affected.
To fix this, add the group to the main group of the project. The group's
file references are relative
to the project root, which is where Xcode already placed them, so all files
resolve to the same paths.
Verified that ANGLE.xcodeproj now loads with the same project model in
every xcodebuild invocation.
* Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/322308@main
Canonical link: https://commits.webkit.org/317695.415@webkitglib/2.54
Compare: https://github.com/WebKit/WebKit/compare/537776966344...c4a3074a3f92
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications