Branch: refs/heads/webkitglib/2.54
Home: https://github.com/WebKit/WebKit
Commit: 2ae71edc6c0f0a77a489f8c32c0111d8f3c44fc9
https://github.com/WebKit/WebKit/commit/2ae71edc6c0f0a77a489f8c32c0111d8f3c44fc9
Author: Kimmo Kinnunen <[email protected]>
Date: 2026-10-14 (Wed, 14 Oct 2026)
Changed paths:
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/RenderBufferMtl.mm
Log Message:
-----------
Cherry-pick 323297@main (0598ff890815).
https://bugs.webkit.org/show_bug.cgi?id=326983
ANGLE: Metal: Renderbuffers are initialized with CPU
https://bugs.webkit.org/show_bug.cgi?id=326983
rdar://189606864
Reviewed by Mike Wyrzykowski.
With robust resource initialization enabled, ANGLE zero-fills an
uninitialized renderbuffer before it is read, drawn to or partially
cleared. RenderbufferMtl::initializeContents() did this through
mtl::InitializeTextureContents(), which writes CPU-accessible textures
from the CPU, one -[MTLTexture replaceRegion:...] call per row.
Single-sampled color renderbuffers have Shared storage, so they took
this path. The GPU may store such a texture in a tiled, compressed
layout, so the driver converts each row on the CPU. Profiling the
webgl/default-framebuffer-size-limits-*.html tests showed about 3.6
seconds of GPU process CPU time in the AGX driver's
processCompressedRegion2D, reached from
RenderbufferMtl::initializeContents().
Upstream ANGLE avoids this path with the Metal feature
alwaysPreferStagedTextureUploads, which also makes texture data uploads
go through staging buffers. WebKit disables that feature because of the
staging buffer allocations.
Clear color renderbuffers with a render pass instead, through
mtl::InitializeTextureContentsGPU(), when the format is
color-renderable. Depth and stencil renderbuffers are not CPU-accessible
and were already cleared on the GPU. Initialization and uploads of
textures are unchanged.
* Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/RenderBufferMtl.mm:
(rx::RenderbufferMtl::initializeContents):
Canonical link: https://commits.webkit.org/323297@main
Canonical link: https://commits.webkit.org/317695.444@webkitglib/2.54
Commit: 7c236ee04cec390084a2f52ccc8a1319b7f435fb
https://github.com/WebKit/WebKit/commit/7c236ee04cec390084a2f52ccc8a1319b7f435fb
Author: Kimmo Kinnunen <[email protected]>
Date: 2026-10-14 (Wed, 14 Oct 2026)
Changed paths:
M Source/ThirdParty/ANGLE/src/libANGLE/Framebuffer.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/FramebufferAttachment.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/FramebufferAttachment.h
M Source/ThirdParty/ANGLE/src/tests/gl_tests/RobustResourceInitTest.cpp
Log Message:
-----------
Cherry-pick 323300@main (29f6e01b9654).
https://bugs.webkit.org/show_bug.cgi?id=326798
ANGLE: Full clears of renderbuffers are treated as partial clears under in
WebGL
https://bugs.webkit.org/show_bug.cgi?id=326798
rdar://189506198
Reviewed by Mike Wyrzykowski.
With robust resource initialization, ANGLE
skips zero-filling an uninitialized attachment when a clear overwrites
it completely. Every clear of an uninitialized renderbuffer was instead
treated as a partial clear, so ANGLE first zero-filled every attachment
that needed initialization and then performed the clear. This includes
the full clear that WebGLDefaultFramebuffer::reshape() issues right
after allocating the drawing buffer. On Metal the zero-fill of a color
renderbuffer is done from the CPU, one replaceRegion() call per row.
The bug is in gl::Framebuffer::partialClearNeedsInit():
if (depth && mState.mDepthAttachment.hasLayer())
{
*needsInitOut = true;
return angle::Result::Continue;
}
if (stencil && mState.mStencilAttachment.hasLayer())
...
if (mState.mColorAttachments[colorIndex].hasLayer())
FramebufferAttachment::hasLayer() returned ImageIndex::hasLayer(), which
is mLayerIndex != kEntireLevel. Renderbuffer and default framebuffer
attachments use a default-constructed ImageIndex, whose layer index is
0, so hasLayer() was true for every renderbuffer. It was also true for
cube map faces, whose layer index is the face index.
The check came from upstream ANGLE commit
2c0fcdce8c915937764f57c70a30c5e07432645a "Fix robust init vs arrayed
textures vs glClear" (crbug.com/492131521), imported in 8153a3994db5
"Update ANGLE to 2026-03-30 (c5641af1a29a5569f096baba2675e2290865ad14)".
It is meant for single layers of 3D and array textures, because
gl::Texture tracks initialization per mip level and cannot record that
only one layer was cleared.
Rename FramebufferAttachment::hasLayer() to has3DLayer() and make it
return true only for texture attachments whose index is a 3D layer,
using ImageIndex::has3DLayer(). Cube map faces are excluded as well:
gl::Texture tracks initialization per face, so a full clear of a face
can mark just that face initialized. The new name matches the ImageIndex
function it uses, so it no longer reads as ImageIndex::hasLayer(), which
is true for cube map faces.
Speeds up large WebGL default framebuffer creation considerably.
Tests: RobustResourceInitTest.CubeMapFaceCleared
RobustResourceInitTest.RenderbufferColorClearWithDepthInit
* Source/ThirdParty/ANGLE/src/libANGLE/Framebuffer.cpp:
(gl::Framebuffer::partialClearNeedsInit):
* Source/ThirdParty/ANGLE/src/libANGLE/FramebufferAttachment.cpp:
(gl::FramebufferAttachment::has3DLayer const):
(gl::FramebufferAttachment::hasLayer const): Deleted.
* Source/ThirdParty/ANGLE/src/libANGLE/FramebufferAttachment.h:
* Source/ThirdParty/ANGLE/src/tests/gl_tests/RobustResourceInitTest.cpp:
(TEST_P):
Canonical link: https://commits.webkit.org/323300@main
Canonical link: https://commits.webkit.org/317695.445@webkitglib/2.54
Commit: 0fcdeb6f1b79252bd6c0dc1d827fc0fe3350ac6c
https://github.com/WebKit/WebKit/commit/0fcdeb6f1b79252bd6c0dc1d827fc0fe3350ac6c
Author: Roberto Rodriguez <[email protected]>
Date: 2026-10-14 (Wed, 14 Oct 2026)
Changed paths:
M Source/ThirdParty/ANGLE/changes.diff
M Tools/Scripts/update-angle
Log Message:
-----------
Cherry-pick 323571@main (7121e50df4d5).
https://bugs.webkit.org/show_bug.cgi?id=327298
[ANGLE] Fix update-angle script to generate valid changes.diff
https://bugs.webkit.org/show_bug.cgi?id=327298
rdar://189846138
Reviewed by Kimmo Kinnunen.
Tools/Scripts/update-angle has produced an invalid changes.diff since
315732@main. git
rejects it and it won't apply to the corresponding upstream ANGLE checkout,
because:
- trailing whitespace is stripped, which removes the diff's last line
- the zlib files (compression_utils_portable.{cc,h}) show up as new files
and fail to
apply to a synced checkout
Fix by not stripping the whitespace and by treating the zlib files as
vendored. Add a
check to update-angle that fails if the produced changes.diff can't be
parsed by git.
Regenerate changes.diff for the current revision (322989@main):
"Update ANGLE to 2026-09-28 (7d496316db8acd84887dae75231c5ddb4729e0a6)"
* Source/ThirdParty/ANGLE/changes.diff:
* Tools/Scripts/update-angle:
(phase_bookkeep):
Canonical link: https://commits.webkit.org/323571@main
Canonical link: https://commits.webkit.org/317695.446@webkitglib/2.54
Commit: 643093f75b1a6f72a2fb4c131c23c2acd73b1027
https://github.com/WebKit/WebKit/commit/643093f75b1a6f72a2fb4c131c23c2acd73b1027
Author: Roberto Rodriguez <[email protected]>
Date: 2026-10-14 (Wed, 14 Oct 2026)
Changed paths:
M Source/ThirdParty/ANGLE/ANGLE.plist
M Source/ThirdParty/ANGLE/ANGLE.xcodeproj/project.pbxproj
M Source/ThirdParty/ANGLE/DEPS
M Source/ThirdParty/ANGLE/WebKit/ANGLEShaderProgramVersion.h
M Source/ThirdParty/ANGLE/WebKit/angle_commit.h
M Source/ThirdParty/ANGLE/changes.diff
M Source/ThirdParty/ANGLE/include/platform/autogen/FeaturesGL_autogen.h
M Source/ThirdParty/ANGLE/include/platform/autogen/FeaturesMtl_autogen.h
M Source/ThirdParty/ANGLE/include/platform/gl_features.json
M Source/ThirdParty/ANGLE/include/platform/mtl_features.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/roll_chromium_deps_v2.py
M Source/ThirdParty/ANGLE/src/common/string_utils.cpp
M Source/ThirdParty/ANGLE/src/common/string_utils.h
M Source/ThirdParty/ANGLE/src/common/string_utils_unittest.cpp
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/IntermNode.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/ParseContext.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/SymbolTable.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/SymbolTable.h
M Source/ThirdParty/ANGLE/src/compiler/translator/ValidateAST.h
M Source/ThirdParty/ANGLE/src/compiler/translator/hlsl/OutputHLSL.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/hlsl/ResourcesHLSL.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/hlsl/UtilsHLSL.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/hlsl/UtilsHLSL.h
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/compile.cpp
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/compile.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/ir.rs
M
Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/output/ir_to_legacy.cpp
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/transform.rs
A
Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/transform/add_driver_uniforms.rs
M
Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/transform/dead_code_eliminate.rs
M
Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/transform/rewrite_array_of_array_of_opaque_uniforms.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/ir/src/validator.rs
M Source/ThirdParty/ANGLE/src/compiler/translator/msl/DriverUniformMetal.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/ClampIndirectIndices.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/tree_util/IntermNode_util.cpp
M
Source/ThirdParty/ANGLE/src/compiler/translator/tree_util/IntermNode_util.h
M Source/ThirdParty/ANGLE/src/compiler/translator/wgsl/TranslatorWGSL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/CLCommandQueue.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/CLMemory.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/CLMemory.h
M Source/ThirdParty/ANGLE/src/libANGLE/Context.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Display.h
M Source/ThirdParty/ANGLE/src/libANGLE/Framebuffer.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Surface.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/Surface.h
M Source/ThirdParty/ANGLE/src/libANGLE/capture/FrameCapture.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/cl_types.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/CLCommandQueueImpl.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/ContextImpl.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/FramebufferImpl.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/cl/CLCommandQueueCL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/cl/CLCommandQueueCL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/DynamicHLSL.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/d3d11/Buffer11.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/d3d/d3d11/PixelTransfer11.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/BlitGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/BufferGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/ContextGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/ContextGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/QueryGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/QueryGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/RendererGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/StateManagerGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/StateManagerGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/SyncGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/SyncGL.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/TextureGL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/gl/VertexArrayGL.cpp
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/renderergl_utils.cpp
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/libANGLE/renderer/metal/DisplayMtl.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/FrameBufferMtl.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/FrameBufferMtl.mm
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ProvokingVertexHelper.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/VertexArrayMtl.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_buffer_pool.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_buffer_pool.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_command_buffer.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_resources.mm
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_state_cache.mm
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/ContextVk.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/FramebufferVk.cpp
M
Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/SecondaryCommandBuffer.h
M Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/UtilsVk.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_wrapper.h
M Source/ThirdParty/ANGLE/src/libANGLE/validationCL.cpp
M Source/ThirdParty/ANGLE/src/libANGLE/validationEGL.cpp
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/tests/angle_end2end_tests.gni
M Source/ThirdParty/ANGLE/src/tests/angle_end2end_tests_expectations.txt
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_ActiveTextures_ES3_Vulkan.json
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_ActiveTextures_ES3_Vulkan_0001.cpp
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_ClientWaitSync_ES3_Vulkan.json
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_ClientWaitSync_ES3_Vulkan_0001.cpp
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_ExternalAHB_ES3_Vulkan.json
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_ExternalAHB_ES3_Vulkan_0001.cpp
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_ExternalEGLSync_ES3_Vulkan.json
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_ExternalEGLSync_ES3_Vulkan_0001.cpp
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_MultiFrame_ES3_Vulkan.json
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_MultiFrame_ES3_Vulkan_0001.cpp
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_NoBinaryData_ES3_Vulkan.json
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_NoBinaryData_ES3_Vulkan_0001.cpp
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_NonFrameBoundarySwaps_ES3_Vulkan.json
M
Source/ThirdParty/ANGLE/src/tests/capture_tests/expected/CapturedTest_NonFrameBoundarySwaps_ES3_Vulkan_0001.cpp
M Source/ThirdParty/ANGLE/src/tests/compiler_tests/UnrollFlatten_test.cpp
M
Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_gles2_test_expectations.txt
M
Source/ThirdParty/ANGLE/src/tests/deqp_support/deqp_gles3_test_expectations.txt
M
Source/ThirdParty/ANGLE/src/tests/deqp_support/tcuANGLENativeDisplayFactory.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/AttributeLayoutTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/BufferPoolTestMetal.mm
M Source/ThirdParty/ANGLE/src/tests/gl_tests/ClearTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/ComputeShaderTest.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/CubeMapTextureTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/D3DTextureTest.cpp
M
Source/ThirdParty/ANGLE/src/tests/gl_tests/DXTSRGBCompressedTextureTest.cpp
M
Source/ThirdParty/ANGLE/src/tests/gl_tests/DXTSRGBCompressedTextureTestData.inl
A Source/ThirdParty/ANGLE/src/tests/gl_tests/DeleteBuffersTest.cpp
M
Source/ThirdParty/ANGLE/src/tests/gl_tests/DrawBaseVertexBaseInstanceTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/FramebufferRenderMipmapTest.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/GLSLValidationTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/ImageTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/IndexedPointsTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/InstancingTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/LineLoopTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/MipmapTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/MultiviewDrawTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/ProgramBinaryTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/ProgramInterfaceTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/RobustResourceInitTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/ShaderStorageBufferTest.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/VertexAttributeTest.cpp
M Source/ThirdParty/ANGLE/src/tests/gl_tests/VulkanExternalImageTest.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/preprocessor_tests/char_test.cpp
M Source/ThirdParty/ANGLE/src/tests/restricted_traces/restricted_traces.json
M Source/ThirdParty/ANGLE/src/tests/test_utils/VulkanHelper.cpp
M Source/ThirdParty/ANGLE/src/tests/test_utils/VulkanHelper.h
M
Source/ThirdParty/ANGLE/third_party/VK-GL-CTS/src/external/openglcts/data/gl_cts/data/mustpass/gles/aosp_mustpass/main/gles3-main.txt
M
Source/ThirdParty/ANGLE/third_party/VK-GL-CTS/src/framework/common/tcuCommandLine.cpp
M
Source/ThirdParty/ANGLE/third_party/VK-GL-CTS/src/framework/common/tcuCommandLine.hpp
M
Source/ThirdParty/ANGLE/third_party/VK-GL-CTS/src/framework/common/tcuSubprocessTestExecutor.cpp
M
Source/ThirdParty/ANGLE/third_party/VK-GL-CTS/src/framework/common/tcuSubprocessTestExecutor.hpp
M
Source/ThirdParty/ANGLE/third_party/VK-GL-CTS/src/framework/common/tcuTestSessionExecutor.cpp
M
Source/ThirdParty/ANGLE/third_party/VK-GL-CTS/src/framework/delibs/decpp/deCommandLine.cpp
M
Source/ThirdParty/ANGLE/third_party/VK-GL-CTS/src/framework/delibs/decpp/deCommandLine.hpp
M
Source/ThirdParty/ANGLE/third_party/VK-GL-CTS/src/framework/platform/lnx/tcuLnxVulkanPlatform.cpp
M
Source/ThirdParty/ANGLE/third_party/VK-GL-CTS/src/modules/gles3/functional/es3fFboInvalidateTests.cpp
M
Source/ThirdParty/ANGLE/third_party/VK-GL-CTS/src/modules/gles3/functional/es3fOcclusionQueryTests.cpp
M
Source/ThirdParty/ANGLE/third_party/VK-GL-CTS/src/modules/gles3/functional/es3fTextureSpecificationTests.cpp
M Source/ThirdParty/ANGLE/third_party/clspv/gn/build/llvm_buildflags.gni
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/capture/scoped_capture_exclude.h
M Source/ThirdParty/ANGLE/util/linux/x11/X11Window.cpp
M Source/ThirdParty/ANGLE/util/shader_utils.cpp
M Source/ThirdParty/ANGLE/util/shader_utils.h
Log Message:
-----------
Cherry-pick 323758@main (197262d44fb9).
https://bugs.webkit.org/show_bug.cgi?id=327472
Update ANGLE to 2026-10-05 (628f3fa5003d5b80a9ba64a850882d9d244bd020)
https://bugs.webkit.org/show_bug.cgi?id=327472
rdar://189965632
Reviewed by Kimmo Kinnunen
Contains upstream commits:
628f3fa5003d IR: Declare driver uniforms
54b571c6322f Trace/Replay: Add retrace marker debug messages
7b78f1ad5011 Remove third_party/r8/d8 from SYNCED_CIPD_DEPS
4f696266375b Use shared Starlark helper for presubmit builders
ed4af189c9d1 D3D11: Set mImmutable before updateStorage in setStorage
d362ad461130 Replaces mIsCurrentOnAnyContext (bool) with mCurrentRefCount
(uint)
f00b5a572604 third_party/clspv: Check current_os for llvm_enable_zlib
651bae5ec748 Skip InvalidateAfterDrawAndClearZeroDepth on Win Qualcomm D3D11
445b1b4e7e8b CL/Vulkan: Stage only the region for map/unmap
9820753a28bb Metal: Eagerly drop cached attachment textures upon detachment
906ad3fd3071 D3D11: Fix UNPACK_ROW_LENGTH handling in fast PBO unpack
2f45aa5074d5 Roll vulkan-deps from 1b7ced3670c3 to b36b0c80377e (26
revisions)
5210c83ee6a9 Roll VK-GL-CTS from 31807adf6dc7 to 9335a4e4e455 (15 revisions)
756d31051f12 Add Plants vs Zombies restricted trace
e09ad0646df7 OpenCL: Add object for memory region tracking
6718824695d4 Translator: Fix SelectedFields build failure with libstdc++
c553b337ecaf GL: add defer_gl_delete_buffers workaround.
6355a613587a GL: Fix flush tracking for indexed draws and EGL fences
009fdf4fc20f [dawn] Unsuppress ANGLE tests and roll Dawn.
707a87d65c67 Fixes X11 errors on Linux Intel.
e0e5a9bc99a7 Change semantic of limitOutputVaryingsTo256 workaround.
df410eae0b6e Suppress flaky TransformFeedbackTest on Windows Intel Vulkan
0ed62f49b5e0 Tests: Add Guns of Glory Lost Island restricted trace
22e0ca0439d3 Revert "Enable dangling pointer detector in ANGLE test runner"
85e50e76a6db GL: Double clear for robust resource init on Mali and Adreno
36e0c9ebb4c4 Tests: Add DoubleU Casino Vegas Slots restricted trace
451ec737878a Vulkan: Remove Xclipse VK_GOOGLE_surfaceless_query workaround
c5f6c4a8faa4 HLSL: Fix interface vs private variable name collision
a3652ae344eb D3D11: Use effective base level in getBaseLevel
e3284f862638 Roll vulkan-deps from f81f794229ec to 1b7ced3670c3 (19
revisions)
5790b6c7e95c Roll Chromium from a98036c2795d to 738956cca47a (1079
revisions)
4ca72bdf5bc0 Tests: Add Zombie Waves restricted trace
0855dd00f9c0 GL: forcefullyFlush in useTempForNonZeroBaseLevelGenmipmap
7450efb46f32 Remove unused BuildCounterNameToValueMap
e022dfe4614d Tests: Use incompatible level 0 size in a mipmap test
869cd0b89e67 Vulkan: Fix update pruning vs clears vs 3D images
d6e523ee5e34 IR: Improve function add API for transformations
0de18fabb59f Revert "Standalone: Enable PartitionAlloc on Windows"
de3b57c0e726 D3D11: Preserve EGLImage storage on base level change
b5bab166e6a7 D3D11: Sync image from storage before CPU CopyTexSubImage
44e2ac4bc02a Roll vulkan-deps from 0a79ed256e54 to f81f794229ec (17
revisions)
f0b9ec8306df Standalone: Enable PartitionAlloc on Windows
698d56269824 Roll VK-GL-CTS from 3905c821f43d to 31807adf6dc7 (1 revision)
28a43a7f7294 Enable dangling pointer detector in ANGLE test runner
68c5598bd501 Roll Chromium from 33ae25a3d667 to a98036c2795d (841 revisions)
bae3c5d66a8d Vulkan: Add initial VMA memory pools
e89876974fc2 Vulkan: Chunk large vertex conversions
8f1c9f81de2c Revert "Request robust access on native EGL contexts."
24d72e67e6ed Traces: Upgrade last_shelter_survival
8cd050f07ebd Vulkan: Use vkCmdCopyImage for tile memory fallback on Qualcomm
b5762e77fea1 Suppress dEQP-GLES3 flakes on S24
bdb1eba329cc Roll vulkan-deps from 9d65e6a96a1a to 0a79ed256e54 (17
revisions)
67691470653a D3D11: Fix uniform and structured buffer partial update and
zeroing
c3e419e66849 [Metal] Make BufferPool freelist entries purgeable
2b989a4fb22e Arrayify C-style arrays to std::array
5aae22ebc78b Roll Chromium from ea64be3da861 to 33ae25a3d667 (1043
revisions)
1ee726c5c039 Roll VK-GL-CTS from d6740da66ddc to 3905c821f43d (10 revisions)
db2666831c28 Capture/Replay: Reset unpack alignment
b80d964edbab Tests: Add WWE supercard restricted trace
ac5075b3ab32 D3D11: Fix immutable level-0 size and enable base-level tests
aca0a3317306 tests: vulkan: pass tiling flag to createImage2DExternal
7923b5740a79 SPIR-V: Fix `(side_effect, struct_with_only_samplers)`
a1550b2077bf Translator: Fix name collision for long struct names
43af4e71d4c5 Vulkan: Fix vkCmdClearAttachments bug with tile memory on
Qualcomm
909b5799e6c1 Manual roll VK-GL-CTS from 93bca01861b0 to d6740da66ddc (28
revisions)
0abe29721a61 Roll vulkan-deps from 2a23ccd2664e to 9d65e6a96a1a (7
revisions)
9e2513be4eb8 Suppress ASTCCompressedWithBaseLevelRobustInitTest on iOS
1e54a587602e Roll Chromium from 21335fbf8f58 to ea64be3da861 (949 revisions)
Canonical link: https://commits.webkit.org/323758@main
Canonical link: https://commits.webkit.org/317695.447@webkitglib/2.54
Compare: https://github.com/WebKit/WebKit/compare/9cbbf052922e...643093f75b1a
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications