Skip to content

Comments

[Chore] Merge upstream ANGLE.#1

Merged
ShirosakiMio merged 867 commits intoFCL-Team:mainfrom
BZLZHH:main
Jul 13, 2025
Merged

[Chore] Merge upstream ANGLE.#1
ShirosakiMio merged 867 commits intoFCL-Team:mainfrom
BZLZHH:main

Conversation

@BZLZHH
Copy link

@BZLZHH BZLZHH commented Jul 13, 2025

No description provided.

angle-autoroll and others added 30 commits May 20, 2025 01:49
https://chromium.googlesource.com/chromium/src.git/+log/a343631b79de..021bccde4594

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/4523ca62d9..79fe614714
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/e9b36e9ffb..cd169314af
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/26a050e9cd..c25e306ec3
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/f810dae272..196d941610
* third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/36e2b378de..cc4087cfb1
* third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/158e62527c..0d8d1c842f
* third_party/turbine/cipd: PbV7UFdzFIl6b_4lNwsj4VnlvnoULNAZRDwsndTGXTsC..VGtOG2ivl1SJR7Lai5FQddIu15mWCYDnp47QtozMQeoC
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/246a9e4b12..22750d081b
No update to Clang.

Bug: None
Tbr: cnorthrop@google.com
Change-Id: Ibf6dcdfac5c022ea3f81727ff431532f38cb4c3c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6567407
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
This test would make a renderbuffer as an EGLImage source and a texture
as the target. It would then try to verify the data in the texture by
sampling but the renderbuffer was currently bound to the framebuffer
creating a feedback loop.

Bug: angleproject:418022112
Change-Id: I456eb541c84d98d99e6b8d8be817ce67d7b1d519
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6556610
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Instead of relying on the global WebGPU functions, pass the proc table
to the object wrappers.

Bug: angleproject:342213844
Change-Id: I79a5e819ffac5b366fed0a159a6cef116b5e82b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6514676
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
* Fixed null name error messages
  to refer to correct parameters.

* BindUniformLocation

  * Added name checks for null
    and all reserved prefixes.

  * Fixed error code for reserved prefixes.

* GetAttribLocation & GetUniformLocation

  * Moved reserved prefixes check to the Context.

* Fixed and expanded tests.

Fixed: angleproject:418986804
Change-Id: I62760b3010fd38ee2e31e4ff88d9910647b329dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6568552
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Define WGPU_SKIP_DECLARATIONS so that errors are generated when using
the global c or cpp functions.

The default proc table getter requires the cpp API is visible. Hide this
in a new wgpu_proc_utils so the rest of the WebGPU backend cannot see
those APIs.

Bug: angleproject:342213844
Change-Id: Ia1e9bfd25b0bb538cebeaa0efe7b9d2eeabc990d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6534317
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
https://chromium.googlesource.com/vulkan-deps.git/+log/8f94220fd61f..4f278f1c8646

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/963588074b26326ff0426c8953c1235213309bdb..5cffd9a796210165631c995f9f58787ea0527eea
  https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/876fe5bdd694c5b1118450a35af8bc874016fce5..ac9b0b4a1c587ce4a31f2380fba8dc76d5815b0d
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/66fe610946a6d98169f8ebe9ca483f64c4009fa5..736e415ebaa4290d21e42e370db5e933b9dff06d
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/0f4bd6649d19b5df4e76381725ab6f5a2eeb9f30..c913466fdc5004584890f89ff91121bdb2ffd4ba

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I9e9f81f754bc71b2528cacda8889719c23801d6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6572900
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bug: angleproject:42266898, angleproject:414827222
Change-Id: Ibf381461881244c9a874f2d24d3248995ea0760c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6496389
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Implement the RenderbufferWgpu class. Add the concept of a non-owned
webgpu::ImageHelper for supporting EGLImage in the future.

Fix some missing texture formats that now get tested with dEQP.

Bug: angleproject:418022112
Change-Id: Ie1239ec581e62044e7c8723fc33cb7565d50575c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6557129
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
When vertex array needs to convert buffer's data, right now it uses
Subject/Observer to subscribe notifications from buffers about the data
change.  Since we always dirty all binding point when we bind
VertexArray, or app has to rebind buffer to vertex array if its on the
other context, this notification really is only needed for the current
context's vertex array. In prior CLs we already moved notification from
buffer to the current context's vertex array away from Subject/Observer
usage pattern. This CL did similar things to
VertexArrayBufferContentsObservers::mContentsObservers.
VertexArrayBufferContentsObservers has been deleted in this CL. Each
VertexArrayImpl now tracks the need of content observer with a bit mask
of each bindingIndex (which is tracked by
mContentsObserverBindingsMask). When a buffer's content changes,
gl::Buffer will retrieve this bit mask from backend and pass it to the
current gl::Context, which sends to current VertexArray object, which
then set proper DATA dirty bits on VertexArray based on the binding bit
mask. If back end think it does not need any data conversion, then the
bit mask is zero and nothing will be done. This further removes
dependence on subject observer, which enables us to avoid taking shared
context lock for glEnableVertexAttribArray and
glDisableVertexAttribArray.

Bug: angleproject:400711938
Change-Id: Ieb0c09c042a560dd121242b63ec24478482399b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6549157
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Implement EGLImages for WebGPU. Cube maps, and non-zero mip sources
are not supported yet.

Bug: angleproject:418022112
Change-Id: I59955aee907167a1829f870b7d0730a6269d814c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6557130
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Used the same template for the always
supported entry points as for entry
points with conditional support.

No functional changes.

Bug: angleproject:409484297
Change-Id: I2077dec903a3bb52a69085acf5781c0df9ea935c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6574234
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Asserted that:

* Exactly one error is generated
  if validation fails.

* No error is generated
  if validation passes.

Supported only for entry points with
autogenerated context support checks.

Lockless entry points are excluded for now.

Bug: angleproject:406922380
Change-Id: I7549c8011768b1aa311d843b1658005ca3aba3b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6568559
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Right now, VertexArray's element buffer is always observing buffer's
change. In previous CLs, we have moved vertex array away from
subject/observer usage. This CL moves element buffer away from
subject/observer as well. Since the gl::Buffer tracks buffer's binding
to each context's current vertex array's binding point,
kElementArrayBufferIndex is added to VertexArrayBufferBindingMask bits
so that the element buffer is tracked exactly the same as other vertex
array buffer bindings. The VerextArray code has been modified to handle
this special bit, since element buffer has its own binding point
VertexArrayState::mElementArrayBuffer as opposed to
VertexArrayState::mVertexBindings. After this CL, VertexArray object
should be completely off subject/observer usages.

Bug: angleproject:400711938
Change-Id: I662ddfabc95034bdc7734939c944ab033f41801c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6552160
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
After this change
https://chromium-review.googlesource.com/c/chromium/src/+/6547915,
using android32_ndk_api_level and android64_ndk_api_level gn args
will results in a warning message generated at the top of the
gn desc json file:

WARNING Build argument has no effect.
android32_ndk_api_level = 26
                          ^-
Did you mean "android_ndk_api_level"?

This causes the json.load() function in generate_android_bp.py failing
when parsing the json file

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Update roll_aosp.sh to use the android_ndk_apk_level to remove the
warning message.

Also update the gn arg from android32_ndk_apk_level and
android64_ndk_api_level to android_ndk_apk_level in other files.

Bug: b/418837345
Change-Id: I12fa48dcb5638b37a9965d0adb339a2dee018297
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6576736
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Before this CL, VertexArray::onBufferChanged() loops over
bufferBindingMask bits and calls onSubjectStateChange. In this CL,
VertexArray::onSubjectStateChange is embedded into
VertexArray::onBufferChanged(). DIRTY_BIT_ELEMENT_ARRAY_BUFFER and
DIRTY_BIT_ELEMENT_ARRAY_BUFFER_DATA is re-arranged so that we can map
bufferBindingMask directly to VertexArray::mDirtyBits. This especially
useful when one buffer is bound to multiple indices in the VertexArray.

This CL also removes angle::ObserverInterface from VertexArray, since it
no longer observes anything.

ASSERT is added in gl::Buffer::mContentsObservers to ensure it only
contains BufferTexture, since vertexArray is no longer using the
subject/observer.

Bug: angleproject:400711938
Change-Id: Ie6e7159d7a89f0da5e1b7ca0a9dbe60a1e6c682f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6569638
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
https://chromium.googlesource.com/chromium/src.git/+log/021bccde4594..055e258e91fc

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/79fe614714..69dc3b19a1
* buildtools/linux64: git_revision:0c25d1bbde6ef17e1e6d3938011f56a00c02e457..git_revision:ebc8f16ca7b0d36a3e532ee90896f9eb48e5423b
* buildtools/mac: git_revision:0c25d1bbde6ef17e1e6d3938011f56a00c02e457..git_revision:ebc8f16ca7b0d36a3e532ee90896f9eb48e5423b
* buildtools/win: git_revision:0c25d1bbde6ef17e1e6d3938011f56a00c02e457..git_revision:ebc8f16ca7b0d36a3e532ee90896f9eb48e5423b
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/c25e306ec3..6a20ae4677
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/ec041c7391..2401283880
* third_party/android_build_tools/error_prone/cipd: bd18Z8-1Y85m4C8xYA3z1J_VIhAaE2qRbkrBzn4_200C..2jzgic7at7ZxQds7qXCsmkfC4bO7d3qnWU5Q7SFUiJwC
* third_party/android_build_tools/lint/cipd: 7xZFl5M3w3LIJvhKsJYDQoTh5JZ3vr3I_-VWYXiGJC0C..PaYB6553MH9GJfamUZLduJESRbN13Clv2N2beHR6IQAC
* third_party/android_build_tools/manifest_merger/cipd: Ym1eWXywKFRvxsgK0yC4bFj9SwZViDqGEPb_w3mAKqMC..0L0N3_u2ypIxEEtf0k_l36g_2CykW2BNuZBXm-v5qAUC
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/56c2a30762..4333e5ba90
* third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/3ad26ca9f4..20cf331dc7
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/41104509db..938fc9953b
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/196d941610..f73c587323
* third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/cc4087cfb1..d30c1f18b8
* third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/0d8d1c842f..b7156762f0
* third_party/siso/cipd: git_revision:3753a55d0911b4ea3dd000263088f60edb8d947b..git_revision:d9393c2115244b6e4a797189055e4a2b6769a64d
* third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/4821bf77c8..e8ff3f3555
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/4e2e7b926a..61859fe79e
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/22750d081b..ddbe6fbaf9
No update to Clang.

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I69612901868e87539448e4a408a7cf1e5e64a2dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6577908
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/4f278f1c8646..39d1c1ac45e3

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/d22cddc5c410f55093aa56f062a77ab963edaa63..da3df74a7982f54381b56126e7efc16b9e357df7

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I6b6beb582c8b0ea891a01c958d9d7b65e60fc0e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6575758
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Add EGL_ANGLE_device_webgpu which exposes the adapter and device used
by ANGLE internally.

Add EGL_ANGLE_webgpu_texture_client_buffer which allows importing
external WGPUTexture handles if they share the same device as ANGLE
(queried from EGL_ANGLE_device_webgpu).

Bug: angleproject:418022112
Change-Id: I0683d36b84a0f8e0e9b68a5ec0d3aa8b7a95152c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6553063
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Update EGL_ANGLE_platform_angle_webgpu with a new parameter which allows
initializing DisplayWgpu with a pre-existing WGPUDevice. The adapter and
instance are queried from this device.

Bug: angleproject:42266898, angleproject:414827222
Change-Id: I3159ebe19750e75c5cf9aa395332f48385fdb4d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578196
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Corentin Wallez <cwallez@chromium.org>
https://chromium.googlesource.com/vulkan-deps.git/+log/39d1c1ac45e3..a4af0bcda127

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/5cffd9a796210165631c995f9f58787ea0527eea..93231001597dad1149a5d035af30eda50b9e6b6c
  https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/ac9b0b4a1c587ce4a31f2380fba8dc76d5815b0d..e1218d0e9ff42234a1841443176d8ed24405ee93
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/736e415ebaa4290d21e42e370db5e933b9dff06d..01021466b5e71deaac9054f56082566c782bfd51
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/4f628210460c4df62029959cc7fb237ac75f7189..ae56bd6e65d9faa731150e931cb35f0d895223bc
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/da3df74a7982f54381b56126e7efc16b9e357df7..2cfeb90c13053a5003a8d5a2ee66fee4a0e0cdce

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: cnorthrop@google.com
Change-Id: If28dda4c042d1c103a7083d597eb7baeeab7ef73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6581469
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Clamp depth values to [0,1] for calls to glClearBufferfi and
glClearBufferfv.

Bug: angleproject:418030862
Change-Id: I6f5393da863a17c5fd1d78f1b800df0e61d3dc60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6552161
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Update ParseContext logic to handle redeclaration of gl_FragDepth.

Bug: angleproject:419066563
Change-Id: I774d036922ec75ca151f1c871afc243ca09a3061
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6573532
Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
The provoking vertex helper would encode the addresses of index count
and primitive count variables, not their values. This would cause
the provoking vertex conversion shader to read overly many indices.

Not testable easily from the API, as the excessive read is hard to
test. Would cause context loss on the existing tests when run with
validation.

Bug: angleproject:419755715
Change-Id: Id81ecc66513c0eac1e95d11937f12d9bebb5e11e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578202
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Clang has a `unique-object-duplication` warning that warns about objects
which are supposed to be unique (like static- or thread-local
variables), but may be accidentally duplicated across shared libraries
when they have hidden visibility.

This CL addresses instances of that warning by:
1. Ensuring that on non-windows systems, objects that need to be
   exported are unconditionally given "default" visibility
2. Satisfy the compiler by marking everything as default visibility when
   building a static library, since visibility only matters for shared
   libraries
3. Mark functions with static or thread local variables as exported.

Bug: chromium:368047728
Change-Id: Ic60265353bf2b0af2cd1fef884bfa85038e0db02
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6502093
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Change the error message to use the extraProperties field.
Set the messageContents1 and messageContents2 to nullptr for ease
of clean up later.

Bug: angleproject:394598470
Change-Id: I0b7aec0b7e9a6e5206c89caae712e76db3338c4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6581371
Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
An incorrect warning was issued about shared present mode being
requested without support for it, even if shared present mode was _not_
being requested.

Bug: b/412446258
Change-Id: I33f4ea9bcbd09695375010da93a68b375cfc8c8e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6578819
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Make sure we return a NativeWindowSystem in all branches.

Build the Metal window surface on iOS.

Bug: chromium:419793882
Change-Id: Ic829c83b71c18df9907ef729320377d82958f6ad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580168
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
We would always build with asserts enabled on our bots and missed that
this constructor did not match the ErrorScope constructor.

Bug: angleproject:342213844
Change-Id: Ieb73e6e1b0a0359b0ad336f14b7b9580c2ecc00b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6580169
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Set the sdkVersion to 35, which forces edge to edge mode.
Edge-to-edge mode without changes causes the ANGLE Preferences
settings page to render the title bar on top of the content.
The fix is to add an inset listener in the fragment, to adjust
the window's marginTop by the inset amount.

The preferences page that was being used had been deprecated as it used
the old ListView, so I updated it to the new way, using
PreferenceFragmentCompat which uses a RecyclerView.
This fragment change cascaded a few changes with the Activity itself,
and the theme, all of which are updated for this change
to use PreferenceFragmentCompat.

Tested: Built in the Android tree, flashed on a Pixel device.
Tested in portrait and landscape, light and dark modes.

Bug: b/403455598
Change-Id: I012b2ea2f9f0973f3e0a926a93d2c3b31daeccca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6581364
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Solti Ho <solti@google.com>
Auto-Submit: Brian Johnson <hibrian@google.com>
autoresizingMask is not a member on iOS builds. This mirrors the window
surface in the Metal backend.

Bug: angleproject:342213844
Change-Id: I8b5cfbb2b7f7af4f3284ddd7055e68e762c77883
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6584993
Reviewed-by: Colin Blundell <blundell@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
timvpGoogle and others added 29 commits July 8, 2025 11:58
ANGLE supports the extension GL_ANGLE_memory_size, which adds the new
parameter GL_MEMORY_SIZE_ANGLE. However, the parameter value is not
supported in ValidateGetTexLevelParameterBase(), so any calls using it
always fail with GL_INVALID_ENUM.

The parameter is supposed to be tested by
MemorySizeTest.BasicUsageTexture/*, but the portion of the test
validating GL_MEMORY_SIZE_ANGLE is never executed because it requires an
OpenGL ES 3.1+ context, but the test is only instantiated for GLES 2.0
and 3.0.

Based on all the above:

1. Add support for GL_MEMORY_SIZE_ANGLE to
   ValidateGetTexLevelParameterBase(), requiring GLES 2.0+ and the
   extension memorySizeANGLE is enabled.
2. Instantiate MemorySizeTest to run on GLES 2.0, 3.0, 3.1, and 3.2, so
   the entire test is run on devices that support GLES 3.1+ contexts.

Bug: b/409384875
Test: angle_end2end_tests --gtest_filter=MemorySizeTest.*
Change-Id: I70c5721c5da18cb8edbc9a7e18038d5d9fb486da
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6710993
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Previously, when usecases bind the zero texture, the vertex attrib
array was disabled. This made the following bound textures lose the
vertex attrib data.
In this change, updating vertex attrib array in prepareForDraw()
is skipped when the application binds zero texture but does not
activate the corresponding texture unit.
Also GLES1 tests using zero texture are added to make sure vertex
attrib array is enabled correctly.

Test: angle_end2end_tests --gtest_filter=DrawTextureTest.*
Bug: b/426740680
Change-Id: Ic5aad0a60c9d987edcb1d05cdb6b68dd93eac309
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6659335
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
On Android C++ compiler do more optimization and results different with
Linux, re-write code to correct the issue.

Bug: angleproject:352364583
Change-Id: I1863d2d255cd831d4ca9dd866c85e419f410bd9a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6687014
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Neil Zhang <Neil.Zhang@arm.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
- Descriptor logic is contained in ProgramExecutableVk and
  doesn't leak into ContextVk
- Reduces CPU overhead by not having to constantly copy and
  resize the DescriptorSetDescBuilder
- Simplifies decoupling of descriptor set of uniform buffers
  from that of other shader resources

Bug: angleproject:426412564
Change-Id: Ic0926d0d466ea21f611c2b2c7b844e0bb9027c1b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6702410
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/a7dbc48b7b02..46724b178e40

2025-07-08 lorenzo@khronosgroup.org Add JSON for
VK_KHR_surface_maintenance1
2025-07-08 lorenzo@khronosgroup.org Add JSON for
VK_KHR_present_mode_fifo_latest_ready
2025-07-07 lorenzo@khronosgroup.org Merge remote-tracking branch
'vk-gl-cts/dev/VK_KHR_present_mode_fifo_latest_ready' into main
2025-07-07 lorenzo@khronosgroup.org Merge remote-tracking branch
'vk-gl-cts/dev/VK_KHR_surface_maintenance1' into main
2025-07-07 lorenzo@khronosgroup.org Update external sources (Vulkan
1.4.321)

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I10a1e738142b60fc8a2bbb2135a48351a8470cd0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6717685
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
ProgramExecutableVk fully encapsulates interaction with
DescriptorSetDescBuilder with https:://crrev.com/c/6702410
which allows us to keep WriteDescriptorDescs members private.

Remove mDefaultUniformWriteDescriptorDescs and reuse
mDefaultUniformAndXfbWriteDescriptorDescs for both emulated and
extension based XFB codepaths

Bug: angleproject:426412564
Change-Id: Icf76440b6efbda93eb8d48c36591a99ccd1a5750
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6705152
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
https://chromium.googlesource.com/vulkan-deps.git/+log/7c32c6e7a3da..c91d04c5a3ae

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/a45e175a45fe2792bf62e3acebcc817fecfc8422..2e24222cd9d19e737f8c790a2f485d5ba0d62166
  https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/e1d9499713162ca7053844479d84f73860417d4c..9d0dbe9d59159ac936cdc56f9fc85e001afed183
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/edce8bd5e7275462709d4c6610c0caec5457f678..54fc95232ced45f39348c091f6f95545588e350a
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/ec329e2721921f79743b90307ee047d08e057788..cb20eb451cf2e272daaf40099e864a916d8b5542
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/a5639cedf4d9f6009d11a43865003bb889982d5e..2991293a9a1d1d3a9d87d7737dbe812252c1fb40

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I826c95da0f8c78ff26a80f2b295a12cb6fcc7120
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6718293
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Add missing brackets required for format style

Bug: angleproject:430338389
Change-Id: I4757f03c06bc25734c7492284160d04c8c8fd459
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6715884
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: mohan maiya <m.maiya@samsung.com>
https://chromium.googlesource.com/chromium/src.git/+log/ecafbee68f76..5e47731919d1

Manual change adds one new DEP for LLVM: llvm-objdump

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/2fbd9aa354..a6f8dde294
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/f7ada7bb31..4f8adf9e3a
* third_party/android_build_tools/error_prone/cipd: dFVMo_NVD5IoNgsCTx1nb8lGGNZNmY6xP94EJtjdm3sC..2lYOqu-UyPNYEMX0rO60MpXImuj6kMqnOlVshCO6JLEC
* third_party/android_build_tools/lint/cipd: vjJL0xmNT9EN1STXqXADApReB1GtO9U4OjJB03hfZG4C..SprQhm8ND7zXM2ZhH-8EwKeVUJiLGvzpriWfty0071cC
* third_party/android_build_tools/manifest_merger/cipd: mVbkvXY9mSO2xflwykvZDKapEa-3YQG4myL5jEizsbEC..nttKi291XL8l3g1B2tNCmfxEtDcCa9tfIghqosYX22oC
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/9c0f16eca6..c586b85d4d
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/7b82569dae..8bfd9f2e53
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/abc5109882..0d6837383d
* third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/02570151a8..33b29ab05d
* third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/cbedb1dbfa..e18275a956
* third_party/r8/cipd: EuC8PQbsjuCJyQ-BPbcNPedpvZDvZfR4uA5JGDjS6_gC..JPUb5oFXJVCZnmHps_x4jsuJNZzT4zTUYPDo0AsI1K0C
* third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/95fb7f7986..8bbd6f5553
* third_party/siso/cipd: git_revision:c46a6c9266d0685fa462694be456204ad243c030..git_revision:f96f46a8e4cf30c097110903d4b71516ef976fb6
* third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/4028ebf871..3102d2a0da
* tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/79aeafa6ee..93cad36976
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/9659fbf621..4c6ed84d48
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c761ecc240..f133d28292
No update to Clang.

Bug: None
Tbr: cnorthrop@google.com
Change-Id: Icd44b4254eedee58ad80081748a3f81fa42f4aa5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6715620
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bug: angleproject:426412564
Change-Id: Icdbb1e634fc543714d1e3b9cdba0530d400cb153
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6705153
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Clang recently expanded its thread safety analysis to check more things
by default. Angle doesn't have the annotations to support it, so make
sure the flag isn't passed or else we'll get warnings.

Bug: chromium:430317494
Change-Id: I39ea40bcc0023cdf08086ab97577c57a491ac767
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6716457
Auto-Submit: Devon Loehr <dloehr@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
The test ComputeShaderTestES3.NotSupported requires that the context
version is exactly OpenGL ES 3.0. However, if the system EGL does not
support the ANGLE extension
EGL_ANGLE_create_context_backwards_compatible, the maximum conformant
version the display supports will be returned instead. This causes the
test to fail, because OpenGL ES 3.1+ contexts *do* support creating
compute shaders.

Skip the test when testing the system EGL if the context version is
3.1+. Only skip when testing the system EGL, so we still fail if the
context version is not exactly 3.0, since that's (likely) a bug.

Bug: b/279980674
Change-Id: I38090d7f562c7760f2c1b1c3211d1e622b0e0ad4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6715721
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
Manual roll requested by ynovikov@google.com

https://chromium.googlesource.com/chromium/src.git/+log/5e47731919d1..be763f950c79

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com,ynovikov@google.com
on the revert to ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/a6f8dde294..f7a659bc4e
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/f30f8f10c9..5f058f2af1
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/4f8adf9e3a..c11db4cd92
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/5254207afe..cae4b6a399
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/c586b85d4d..209ab6791b
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8bfd9f2e53..09cd5e163e
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/0d6837383d..0f872505cc
* third_party/fuchsia-sdk/sdk: version:28.20250626.4.1..version:28.20250709.3.1
* third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/b5d83e70a1..7a36df3acb
* third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/33b29ab05d..4a1b486425
* third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/5bbf35ae68..634c609746
* third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/e18275a956..3f8818c405
* third_party/r8/d8/cipd: 9vZCRnASPSjh3_T-2AsumCO_8C5PuBJ5-e84K9b7-80C..JPUb5oFXJVCZnmHps_x4jsuJNZzT4zTUYPDo0AsI1K0C
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/4c6ed84d48..6eae421681
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/f133d28292..4410576c49
* tools/protoc_wrapper: https://chromium.googlesource.com/chromium/src/tools/protoc_wrapper/+log/502dcad523..bc02803b16
No update to Clang.

Bug: None
Tbr: cnorthrop@google.com,ynovikov@google.com
Change-Id: Ide70d658418fff65f692124b2f1a3956aa6529d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6719951
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bug: b/430501085
Change-Id: Iac5061c5d33642af1e53a990487833c26df45b30
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6717687
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
* Skipped the following KHR-GLES3 tests on the Vulkan backend:
  *.cull_distance.functional_test_item_{5/6}_*

Bug: angleproject:42264006
Bug: b/415288635
Bug: b/353358652
Change-Id: I0cc052a66fa91d2c8e4e9f433bec9a3db2962bb9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6720745
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
https://chromium.googlesource.com/chromium/src.git/+log/be763f950c79..c8f8677ca55f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/f7a659bc4e..777cde7d79
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/5f058f2af1..17bdad4a57
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/c11db4cd92..1a1b9975e2
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/209ab6791b..3c08e5e7d4
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/0f872505cc..7784911e43
* third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/3f8818c405..f37e727ed1
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6eae421681..b17ffb3e80
* tools/luci-go: git_revision:421eb17838d044c10a7cd661a68b5bfa2510f6af..git_revision:f703132ac353da666df180762f59ddac9c91594c
* tools/luci-go: git_revision:421eb17838d044c10a7cd661a68b5bfa2510f6af..git_revision:f703132ac353da666df180762f59ddac9c91594c
* tools/luci-go: git_revision:421eb17838d044c10a7cd661a68b5bfa2510f6af..git_revision:f703132ac353da666df180762f59ddac9c91594c
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/4410576c49..ede01d2603
* tools/protoc_wrapper: https://chromium.googlesource.com/chromium/src/tools/protoc_wrapper/+log/bc02803b16..3438d4183b
* tools/skia_goldctl/linux: 2v1Ogsr5B2ZzLTgxhDCUrs7f3QNdJAw0etD0NJPFkBwC..zqVpcU_pZ6eeM_4GIZzXgzy9VxI8afqtNPpRXxjqXWkC
* tools/skia_goldctl/mac_amd64: sB2C9nyKoe0aixRfQ9ociaa3TGzo8Pn5em_Md8a51a0C..T9oaospSraHP7PbSCu8LqHHz9MTeuISEv4PUGBnFkOgC
* tools/skia_goldctl/mac_arm64: yQbqw0wv-j0IsBpNmiZnivv8rVuM2ZfaKDm-2DoDw1kC..DTcviz1jGdq8E1HXhjV1G6jsKCX3lJ8gr5KW0F1n3iAC
* tools/skia_goldctl/win: YwoTmtJT_JKxB9mVFMCkzABlA_hIEw8P2qB3pTZ0azUC..R5dpE9jzORx6Rxc3KF5daqWnVsYylVOsaAd6G87eY4MC
No update to Clang.

Bug: None
Tbr: cnorthrop@google.com
Change-Id: Ic0eccaab44a328ce4ae86e2f3c51647e0f1aa967
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6721990
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
This was found while running tests for Dawn's "sized binding arrays"
(including arrays of textures) with ANGLE + Swiftshader.

Adds a test that ASSERTs without the change.

Bug: chromium:411573957
Change-Id: Ib7fad0f5c0b4f3aa70e6af5bf5977b82956e1986
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6695013
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
https://swiftshader.googlesource.com/SwiftShader.git/+log/be6ed66fa563..c1f7fbbec4e1

2025-07-09 swiftshader.regress@gmail.com Regres: Update test lists @
be6ed66f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in SwiftShader:
https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: cnorthrop@google.com
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: I51c0a81c4a2cca0cf4af3683c00dd7288504bc90
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6720934
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/c91d04c5a3ae..5f1b6fd3d9c3

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/9d0dbe9d59159ac936cdc56f9fc85e001afed183..cc0c28a22acce6de2ef77d41fd7d7b922f7c21e0
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/54fc95232ced45f39348c091f6f95545588e350a..7806d0a7006b51979b891d807ae285e1f3554b36
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/2991293a9a1d1d3a9d87d7737dbe812252c1fb40..8dec5f4c41b34e2895e57d3009da93ebadb9f831

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I13b6c4bae06e5d4df5be941e0bbd18617237ff26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6721311
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
This helps to decide whether it's really disjoint or not.

Bug: angleproject:426480610
Change-Id: I8ec9b352195ab16a7e11d2dab30e98138d9f5a6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6658648
Reviewed-by: mohan maiya <m.maiya@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
This CL addresses review comments in:
  https://crrev.com/c/6710993

1. Remove the ES_2_0 check for GL_MEMORY_SIZE_ANGLE in
ValidateGetTexLevelParameterBase() since the GL_ANGLE_memory_size
extension already requires OpenGL ES 2.0, making the version check
redundant.

2. Update the test MemorySizeTest.BasicUsageTexture to use the function
glGetTexLevelParameterivANGLE() if the context version is below OpenGL
ES 3.1 and the extension GL_ANGLE_get_tex_level_parameter is available.

Bug: b/409384875
Change-Id: I831d4b35eec20fcb4aff331c5a642a749bd52e67
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6715885
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Call invalidateCurrentShaderUniformBuffers iff current program
has active uniform buffers. Also add DIRTY_BIT_UNIFORM_BUFFERS bit
to mNew*CommandBufferDirtyBits

Bug: angleproject:426412564
Bug: angleproject:429585235
Tests: UniformBufferTest31.UniformBufferBinding*WithMultiplePrograms*
Change-Id: I88c37c8317205aecad638553846ffe3beff87f11
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6706537
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Remove the VVL that is no longer observed on bots.
Reformat the other VVL to use extraProperties only.

Bug: angleproject:40644740
Change-Id: I57da1259754d5eba18c8c11385872b3ec9527e09
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6719618
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
https://chromium.googlesource.com/chromium/src.git/+log/c8f8677ca55f..ddc3627f40bf

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/777cde7d79..9a0b74bfb0
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/1a1b9975e2..ab78562f47
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/3c08e5e7d4..2d708009cd
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/09cd5e163e..b3eb8f07c3
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/7784911e43..c2a6159a0d
* third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/f37e727ed1..8c999157a9
* third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/3102d2a0da..bf1e8de6cc
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/b17ffb3e80..d607298097
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/ede01d2603..11e9f8e093
* tools/skia_goldctl/mac_amd64: T9oaospSraHP7PbSCu8LqHHz9MTeuISEv4PUGBnFkOgC..kmLqktry2Sv-JeG-gufWzWWt9lyIEh1APpkDay-nvn0C
* tools/skia_goldctl/win: R5dpE9jzORx6Rxc3KF5daqWnVsYylVOsaAd6G87eY4MC..GaVdXTdDGGBHQdW6qHtziqhqR6RHk_az7g0BOtUg2nIC
No update to Clang.

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I9e2a787b8574bc31a29832492f2221646a57bd33
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6726364
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/5f1b6fd3d9c3..5e97ca13797b

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/2e24222cd9d19e737f8c790a2f485d5ba0d62166..f33fa78f889a176db127e323064f86501e7a679a
  https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/cc0c28a22acce6de2ef77d41fd7d7b922f7c21e0..2e434ffa1bb776fa2f613269daf6b267aa5e6d1f
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/8dec5f4c41b34e2895e57d3009da93ebadb9f831..e14ac8c7545d7397bc6e902fec716a8a10995f4d

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I6e514d8df5b6af850a2afc7de91db8a0d951242e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6725182
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
  Currently, the function ContextVk::submitCommands() takes the
following enum to indicate whether all command buffers or only
the outside command buffer is submitted: "Submit"
However, ContextVk::submitCommands() is only called twice. Also,
this enum is only used to manage a few things, such as garbage
collection, and finalizing foreign image layouts.
It is possible to move these operations to the respective callers
and remove this enum completely.

* Moved the operations relying on the enum "Submit" to the locations
  before submitCommands() as required.
* Removed the enum "Submit".

(Credit for the idea to move the ops up to the callers: cclao)

Bug: b/425987310
Change-Id: Ic0e1c15ee3d2e7cf22a4f7a57b6ac31acc38c861
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6724899
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
A warning has been added about behavior that will
change if VK_KHR_maintenance9 is enabled.

Since we can't make this change until drivers support
the feature, let's add warning that will fire when we
do decide to turn it on.

This CL:
- Adds a feature for maintenance9
- Adds a VVL skip if isn't enabled
- Updates our skip code to check for message IDs

Test: Traces
Bug: angleproject:429339330
Change-Id: I5763cbc5f343ef165ff8810b9b60b8c809075b8f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6724905
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
@ShirosakiMio ShirosakiMio merged commit c493c28 into FCL-Team:main Jul 13, 2025
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.