Skip to content

Comments

Merge upstream#2

Merged
ShirosakiMio merged 1315 commits intoFCL-Team:mainfrom
BZLZHH:main
Feb 12, 2026
Merged

Merge upstream#2
ShirosakiMio merged 1315 commits intoFCL-Team:mainfrom
BZLZHH:main

Conversation

@BZLZHH
Copy link

@BZLZHH BZLZHH commented Feb 11, 2026

No description provided.

akihikodaki and others added 30 commits January 7, 2026 09:47
ES3 requires MAX_VERTEX_UNIFORM_BLOCKS to be at least 12, but the Metal
renderer cannot bind that many uniform blocks with Apple3.

The Metal renderer encodes each UBO with a buffer passes it to a
graphics function that implements a shader. On Apple3, the maximum
combined number of buffer entries set within an argument buffer and set
individually, per graphics or compute function, is limited to 31.

Furthermore, there are buffer entries used for other purposes:

- 16 for VBOs
- 1 for driver uniforms
- 1 for default uniforms
- 4 for Transform Feedback Buffers
- 1 for shadow samplers' compare modes
- 1 for an argument buffer that encodes the buffers for UBOs.
  (The argument buffer entries are also counted against the maximum
   buffer entries.)

Therefore, the maximum number of buffers that encode UBOs and be
passed to a vertex shader is 31 - (16 + 1 + 1 + 4 + 1 + 1) = 7 < 12.

This means the Metal renderer cannot satisfy the requirement of ES3 with
Apple3. Reflect the situation by stop advertising the ES3 support with
Apple3.

Bug: angleproject:471257334
Change-Id: I57c43fb04bb761cc606682208d5d599e9f4db049
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7373674
Auto-Submit: 小田喜陽彦 <akihiko.odaki@gmail.com>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Fixed in recent drivers

Bug: angleproject:42262161
Change-Id: Ie6f2ad64703d3793a929d5780fdfc3828c8d6cc4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2636934
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Provide spans-based access, and ensure implicit conversion to
span types.

Bug: angleproject:436880895
Change-Id: I5ac369c0a7e7e0b660c93f3d1090df480e9bb77b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7274935
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
https://chromium.googlesource.com/chromium/src.git/+log/dd5886bca81b..cc89f622c384

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,syoussefi@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/0e66ce51fb..5f91e762c6
* buildtools/linux64: git_revision:aac7c279c65fac36b116b0ebcf77e88581b60071..git_revision:5550ba0f4053c3cbb0bff3d60ded9d867b6fa371
* buildtools/mac: git_revision:aac7c279c65fac36b116b0ebcf77e88581b60071..git_revision:5550ba0f4053c3cbb0bff3d60ded9d867b6fa371
* buildtools/win: git_revision:aac7c279c65fac36b116b0ebcf77e88581b60071..git_revision:5550ba0f4053c3cbb0bff3d60ded9d867b6fa371
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/255888536d..da902d0e59
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/3ad54e4fef..72926f8e78
* third_party/flatbuffers/src: https://chromium.googlesource.com/external/github.com/google/flatbuffers.git/+log/1872409707..a86afae939
* third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/8529e19e04..4d1d71696f
* tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/e697bc6907..26256b305f
No update to Clang.

Bug: None
Tbr: syoussefi@google.com
Change-Id: Ib11217601d8eccf288a551924778d4a1f0995281
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7414678
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
https://swiftshader.googlesource.com/SwiftShader.git/+log/e391edb818fe..e5b3afce6d92

2026-01-07 sharjeelkhan@google.com Pin targets using LLVM10 and LLVM16
to C++20
2026-01-07 chengyangyang-hf@loongson.cn Support cmake build for
loongarch64.

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,syoussefi@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: syoussefi@google.com
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: I25cbb86eab7e6d6d7a13fda5293df5d973c2859c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7414820
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/2e03601bd4ee..4d3bedc74e22

2026-01-07 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.5
into vk-gl-cts/main
2026-01-07 rgarcia@igalia.com Remove duplicate #include <array>
2025-12-19 ziga@lunarg.com Use nullptr in no_queues tests for
pQueueCreateInfos
2025-12-19 jingwewa@amd.com Add KHR-GL*.fragment_shading_rate tests
2025-12-19 michal.jakubek@cognizant.com Test variable pointers with
MUTABLE_EXT descriptors
2025-12-19 ziga@lunarg.com Test storage buffer writes when not using
color attachment
2025-12-19 piotr.byszewski@cognizant.com Test clearing some attachments
but not all
2025-12-19 jbolz@nvidia.com Better NV_coopmat2 setTensorViewClipNV
testing.
2025-12-19 piotr.byszewski@cognizant.com Additional coverage for
capture/replay with custom border color
2025-12-19 ziga@lunarg.com Fix enabling features in wsi
incremental_present tests
2025-12-19 benjamin.cheng@amd.com Provide non-NULL setup slot for B
frame tests
2025-12-19 mateusz.bahyrycz@cognizant.com Fix issues in untyped pointers
cooperative matrix tests
2025-12-19 mateusz.bahyrycz@cognizant.com Split
vktApiCopiesAndBlittingTests.cpp into more files
2025-12-19 rgarcia@igalia.com Fix reading case list files with no EOL at
EOF
2025-12-19 rgarcia@igalia.com Add run modes to print case lists in trie
format
2025-12-19 rgarcia@igalia.com Fix stats query tests with tessellation
and geometry
2025-12-19 rgarcia@igalia.com Test more interactions of custom resolves
and FDM
2025-12-19 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.5
into vk-gl-cts/main
2025-12-17 scerveau@igalia.com video: add AV1 golden frame decode test
2025-12-17 ziga@lunarg.com Add missing includes
2025-12-16 michal.jakubek@cognizant.com Cannot build CTS with Visual
Studio
2025-12-12 lorenzo@khronosgroup.org Merge vk-gl-cts/github-main into
vk-gl-cts/main

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,syoussefi@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: syoussefi@google.com
Change-Id: I7ddec59f2bce899307ec8c17a5d38fc755b6dddd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7414315
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/102e3b63b7c5..c0fe12c8d4ae

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/1399733f1b769b98a90e9a354892bfeaf62bbffa..b937eae5e2ae1e29efe8f8775feaa434239806d2
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/0a7f626a6ae86284a413d105b47a6fb413bf6c92..babee77020ff82b571d723ce2c0262e2ec0ee3f1
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/f6b34fe0abad58ca725893efd71202c7461906bb..6a1c3fe937dc7334a6703dafae6dae8d38408c07
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/b24c118732afddbbcc5a98583841c59d8e041042..1912dc78542c9731a9a1547bd08d967dc71b8930

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,syoussefi@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: syoussefi@google.com
Change-Id: I53809de0b9de9790126c4bc9f7be5b616975ccbf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7412919
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Avoid unsafe indexing if we are returned an out-of-range &count via
the check that occurs as part of first().

Bug: angleproject:436880895
Change-Id: I7ac720a86b8902a6ed0b0cfe420fd1590014a8ea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7279151
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
This CL adds `enum class TileMemory` for RenderBuffer and
WindowSurfaceVk to tell ImageHelper it should try use tile memory or
not. Right now only RenderBuffer and WindowSurfaceVk's depthStencil
buffer will request tile memory.

ImageHelper::initExternal implements the check of ImageHelper's
parameters to see if it is truly can use tile memory or not. To data
members added mTileMemoryCompatible tracks if it can use tile memory or
not, and mUseTileMemory tracks if it is using tile memory or not. mUsage
is changed to mRequestedUsage since with tie memory, the requested usage
maybe different from the actual usage bit (the difference are transfer
bits).

ImageHelper::initMemory is modified to support tile memory allocation.

Tests added for good tile memory usage (i.e., a depth buffer starts with
invalid data and end with invalid data during single command buffer
submission). The actual feature is still disabled until we implements
all fallback cases.

Bug: b/447633563
Change-Id: I7362b5fd46f3217a05be1908dd38ac7c3e006268
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7200067
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
This CL adds vkCmdBindTileMemoryQCOM call for tiled memory used in
VkCommandBuffer. Per ContextVk std::vector of ImageHelper * (i.e,
mImagesWithTileMemory) is added to track all ImageHelpers that uses tile
memory in the current command buffer. Since tile memory starts with
undefined content, and they can't write to it other than renderPass,
right now they are added to mImagesWithTileMemory during
onDepthStencilDraw() call. It has to be the first call that uses this
image, otherwise you will be accessing the undefined data.
ContextVk::submiCOmmands will clear the mImagesWithTileMemory vector
(which will used in later CL to fall back from tile memory as well).
ContextVk::finalizeImageLayout() also will issue bind tile memory to
command buffer. un-bind is implicit at endCommandBuffer call.

Fallback from tile memory is still unimplemented in this CL.

Bug: b/447633563
Change-Id: Ied8305409f10efe0a679b8259e67a03967eefeb2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7200068
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
The existing basic-DCE pass returned a list of referenced variables,
types and constants, which the AST generator used as filter to know
which entities to generate.  This works only when this pass is the last
one, which is too limiting as some transformations are best done after
DCE.  For example, an upcoming change would initialize uninitialized
variables, and that has to be done after unused variables are
eliminated, otherwise it's harder to detect when a variable is unused
for example if a loop is used to initialize it.

Bug: angleproject:349994211
Change-Id: I83a507b4be4403c2bda5920f72d9eb75367c33b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7409280
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
  In the current Vulkan context implementation, both popDebugGroup()
and popGroupMarker() call popDebugGroupImpl() to append the command
EndDebugUtilsLabelEXT to the command buffer. However, according to
the spec, if there are no group markers to pop, glPopGroupMarkerEXT()
should be ignored, whereas for glPopDebugGroup(), in this case there
should be a stack underflow error. This means that calling the former
should be treated as a no-op, but it is still adding the end label to
the command buffer, which results in a VVL error.

* Added the following to PrivateState: mGroupMarkerCount
  * It is updated with pushing/popping group markers.
  * Context::popGroupMarker() returns early if the count is 0.
  * Also, Context::pushGroupMarker() will issue an stack overflow error
    if the count exceeds maxDebugGroupStackDepth.

* Unsuppressed the following VVL message:
  VUID-vkCmdEndDebugUtilsLabelEXT-commandBuffer-01912

  * Also unsuppressed the related dEQP test.

* Added unit tests for pushing too many group markers and popping a
  group marker from an empty stack.

Bug: angleproject:42266920
Change-Id: I62e64355f474e55dabe2621faedfe96171202f4e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7404543
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
https://chromium.googlesource.com/chromium/src.git/+log/cc89f622c384..e6726962eff0

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,syoussefi@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/5f91e762c6..fdd2f03166
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/da902d0e59..771d29aa97
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/72926f8e78..7c837b993a
* third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/8cfe74b30d..a320b008de
* tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/26256b305f..7ffeb868db
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/be193c7ef7..3240f2283a
* tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/d500250668..60d6f6fb67
No update to Clang.

Bug: None
Tbr: syoussefi@google.com
Change-Id: If7dce9ec07a4e17c8d799fbbc2c78f077bea04ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7419269
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
It will be used by Blink to override the WGPUInstance used by ANGLE so
that it can proxy it to correctly handle blocking calls to
wgpuInstanceWaitAny.

Bug: chromium:413078308
Change-Id: I32c8df54d70b81fd2a0fa2ceaa5e4fec2c2a4877
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7416170
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
This lets createWgpuDevice work in Blink when hosted on top of
dawn::wire (which cannot have synchronous calls like CreateDevice).

Also only create the wgpu::Instance if it doesn't exist yet (for example
when it is provided with EGL_PLATFORM_ANGLE_WEBGPU_INSTANCE_ANGLE).

Bug: chromium:413078308
Change-Id: I1aefede6fe1cbe8f4aeb6c30678f723ba728a5ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7414845
Commit-Queue: Corentin Wallez <cwallez@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Test: angle_trace_tests --gtest_filter=*pokemon_go_combat
Bug: b/466200609
Bug: angleproject:474664078
Change-Id: I569a21cedd6e6c1db9d832c7bc9f276c6a194d9c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7420285
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
The value IMPLEMENTATION_MAX_ACTIVE_TEXTURES is currently set to 96,
which is the minimum value required by OpenGL ES 3.2. However, some
Android games assume there are more available (without querying the
limit first) which leads to crashes.

Increase the value of IMPLEMENTATION_MAX_ACTIVE_TEXTURES to 192, which
has the side effect of increasing IMPLEMENTATION_MAX_IMAGE_UNITS to the
same value. The value 192 matches the largest value reported by gpuinfo
(excluding the 8192 outlier), so it should be a reasonable 'max' value
for now.

https://opengles.gpuinfo.org/displaycapability.php?name=GL_MAX_IMAGE_UNITS&esversion=31

Bug: b/432056393
Test: Launch com.miHoYo.GenshinImpact, verify no crashes
Change-Id: I959c2abdb83e5349afc2f3dc8910a3c2939713b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7373932
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
https://chromium.googlesource.com/chromium/src.git/+log/e6726962eff0..5a4bda99585f

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,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/fdd2f03166..d747365c05
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/771d29aa97..3052f51ada
* third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/4dc4457406..43f9147aeb
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/7c837b993a..fb0b652edb
* third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/4d1d71696f..e9f0fd9932
* third_party/r8/cipd: t5yDKEhQrTH2WsWjR0CtCMih5wa2FYqRSKr15HCQjpAC..TXlzDJEcatuD9PYDocJSKkHs3M9Y2S_UV-gOLe3PGh8C
* third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/a320b008de..c39a70c914
* third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/e00f703871..2182f37a08
* tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/7ffeb868db..590ba047c7
No update to Clang.

Bug: None
Tbr: ynovikov@google.com
Change-Id: Icd9060343b48da4e99239d10cc782fadcfa2e33b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7448118
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/4d3bedc74e22..70cfd2061d44

2026-01-08 rgarcia@igalia.com Tests for VK_QCOM_multiview_per_view*
extensions
2026-01-08 mateusz.bahyrycz@cognizant.com Adds compute-only variant of
explicit lod tests
2026-01-08 rgarcia@igalia.com Test more interesting values for alpha in
dual blending
2026-01-08 michal.jakubek@mobica.com Shader component decorated
interface matching tests
2026-01-08 ziga@lunarg.com Test different payload types in task and mesh
shaders
2026-01-08 rgarcia@igalia.com Rework multisampled render to single
sampled tests synchronization
2026-01-08 mateusz.bahyrycz@cognizant.com Adds support for compute only
for robustness
2026-01-08 marcin.zajac@cognizant.com Fix validation errors found on
qualcomm turnip
2026-01-08 piotr.byszewski@cognizant.com Check requirements in
checkSupport, part 1 (renderpass module)
2026-01-08 piotr.byszewski@cognizant.com Check requirements in
checkSupport, part 2 (spirv_assembly module)
2026-01-08 piotr.byszewski@cognizant.com Check requirements in
checkSupport, part 4 (draw module)
2026-01-08 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.5
into vk-gl-cts/main
2026-01-08 vifextech@foxmail.com Fixed the error in the return value
type of deProcess_create

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,ynovikov@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: ynovikov@google.com
Change-Id: I9ef2f607c36d6b265f762e96b6badbc486bc0690
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7449793
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/c0fe12c8d4ae..6a0031fd6e79

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/6a1c3fe937dc7334a6703dafae6dae8d38408c07..31a9403f7a96336545467fc7949fe4a67678179f
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/1912dc78542c9731a9a1547bd08d967dc71b8930..10b70c4231f6f175f527617c171b08a07c66f530

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,syoussefi@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
Change-Id: Ic8a76a0bdd1ced28c30a606bde48e6c559c7cc4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7436117
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Manual roll requested by ynovikov@google.com

https://chromium.googlesource.com/vulkan-deps.git/+log/6a0031fd6e79..64b598b99190

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/31a9403f7a96336545467fc7949fe4a67678179f..539a11dff0ef8d8fbc4fe4c85a4cc4765b543859
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/0aae9c6b5f99d63a5eb7d69a3a1a95e2fa239bc2..0777a3ad88bad5f4b11cfd509458bbc0ddadc773
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/10b70c4231f6f175f527617c171b08a07c66f530..8ed3670413231e7257d6498deccb16c361356dae

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,ynovikov@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: ynovikov@google.com
Change-Id: I28e9d030c357739189cfbdde16032e190cda2a06
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7451059
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
This CL implements VkImage fallback from tile memory. The tile memory
storage is transient in nature, it's life time only lasts within one
command buffer (in our usage model). If right before we submitCommands,
we realize that it has valid data, we must re-allocate VkImage and
VkDeviceMemory in VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT and then copy the
data out. Once fall back, we never try to re-allocate back to tile
memory again (for now, subject to future tuning). The owner object
(RenderBuffer or WindowSurfaceVk) is notified so that they can clear the
views. Views are recreated later as needed.

Bug: b/447633563
Change-Id: Ic2beb8c3bed8776b5faa3bc5a786aff083dfc95e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7229204
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Non deterministic results on Win Intel UHD 770 driver 31.0.101.5333

Bug: angleproject:474664078
Change-Id: Idedc5e1968efb0c1abe515667adaa5382db26829
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7451620
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
With this flag, checks and workarounds that are normally applied to
WebGL can be applied to non-WebGL contexts.  The purpose of this flag is
to aid in security of browsers by creating their non-WebGL contexts with
this flag; if the browser is compromised into using a non-WebGL context,
it still cannot trigger driver bugs or leak information by disabling
these hardening measures.

Bug: angleproject:349994211
Change-Id: Ib989195e87cc69979caf132484c36c524bac69b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7454239
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
This CL adds check whether ImageHelper has
VK_IMAGE_USAGE_TRANSFER_SRC_BIT or VK_IMAGE_USAGE_TRANSFER_DST_BIT
capability for the required transfer operation. The tile memory may not
have any transfer capability or not have TRANSFER_SRC capability
(depends on driver and GPU version). The assert is added to catch any of
such violations in ANGLE (VVL will also catch it, but in much later
stage which is not as obvious as ANGLE assertion). framebufferV::blit,
readPixels, and readFramebuffer sync may get into this transfer usage,
so fallbackFromTileMemory is explicitly called if needed.

SimulateTileMemoryForTesting is expanded to cover all tests that
instaniate using ANGLE_ALL_TEST_PLATFORMS_ES3.

Bug: b/447633563
Change-Id: I4753f5b2c9a61d71cc09b9ae34a90fde5e18aea7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7239926
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
These two callbacks were called back-to-back, and typically all that
pre-visit did was to record something about the function for use by the
second callback.  This change consolidates the two to obviate that.

Bug: angleproject:349994211
Change-Id: I7529c63ee4ec79daf306ac8357d6360d13ebac7d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7408682
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Changed the implementation to bind array texture layers
and cubemap texture faces separately instead of binding
the whole texture and selecting the image dynamically
to avoid D3D11 validation errors.

Fixed: angleproject:474583528
Change-Id: I453a0169a4185443b0c51a72682f92caae711293
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7415543
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
For YUV external textures ImageHelper::readPixelsImpl() , we copy them
to staging image and then copy from staging image to buffer. We use
"src" image pointer to point to "this" image or "staging" image. So when
we check if canTransferFrom, we should also check "src" instead of
"this".

Bug: b/447633563
Change-Id: I67890a87b2d14e35097dc0e8a9933f3597ecbfa1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7453411
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
While the Desktop GL renderer on M2 MacBook Air can have 16 shader UBOs
at most, the Metal renderer has a hardcoded limit of 12. This
discrepancy causes a compatibility issue.

For instance, when using ANGLE for virglrenderer[1], which provides
OpenGL for virtual machines, VMs see OpenGL ES 3.0 available with the
Desktop GL renderer, but they see it unavailable with the Metal
renderer. This is because virglrenderer reservers one UBO and the VMs
only see 11 UBOs, while OpenGL ES 3.0 requires 12.

Bump the limit hardcoded in the Metal renderer to 16 to match with the
Desktop renderer. It enables the virtualization use case and also avoids
potential problems for other workloads when migrating from the Desktop
GL renderer to the Metal renderer.

[1] https://gitlab.freedesktop.org/virgl/virglrenderer

Bug: angleproject:471257334
Change-Id: I8200d226812f87a8272220cd4122d5c1972a817b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7319861
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
This CL refactors some of the existing
VulkanPerformanceCounterTest_TileMemory tests so that we can reuse the
code to test other depth stencil formats. This CL also added test for
GL_DEPTH_COMPONENT24 and GL_DEPTH_COMPONENT16 formats.

This CL also added verification of stencil value.

Also addressed some other nit in earlier CLs.

Bug: b/447633563
Change-Id: I3f6d71c33afa57a083bb065ac488e55330fc2ca2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7423111
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
y-novikov and others added 29 commits February 6, 2026 08:49
Bug: angleproject:362486580
Change-Id: I02a40066b80990eae87a8a1e1362fdd8b803e050
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7550413
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Extends Utils::clearWithDraw() for scissored clears of depth.
Adds a correction of depth to the WGSL translator because
OpenGLES and WebGPU have different ranges for depth in NDC,
with WebGPU from 0.0 to 1.0 and OpenGLES from -1.0 to 1.0.

Bug: angleproject:474131922
Change-Id: I0b2cb6470dea75be6cba7db131d7994d7c57c970
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7529780
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Bug: angleproject:349994211
Change-Id: Ia545248034d5920d26bd69a680c45001a0675c5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7518127
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Enable enableMergeClientAttribBuffer on newer Samsung drivers

Bug: b/477725737
Change-Id: I215950aa846859112e9d00af6748e1b1872f9466
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7548709
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: mohan maiya <m.maiya@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: mohan maiya <m.maiya@samsung.com>
* Aligned parameter names with upstream headers.

* Moved the NULL data checks into the common code;
  this enabled them for the following commands:
    * glGetFixedv
    * glGetInteger64v
    * glGetInteger64vEXT
    * glGetBooleanvRobustANGLE
    * glGetFloatvRobustANGLE
    * glGetIntegervRobustANGLE
    * glGetInteger64vRobustANGLE

* Moved writing the output length parameter of
  the updated robust commands to the Context.

* Updated error messages.

Bug: angleproject:410069485
Change-Id: I23db4786e234626bf2d790f14b35f1b31e5e32c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7548150
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
The required extension was missing caps, so the traces
weren't running anywhere.

GL_EXT_srgb_write_control
vs.
GL_EXT_sRGB_write_control

Tests: minecraft_bedrock, dota_underlords, etc.
Bug: angleproject:386688871
Change-Id: Id802122d8385cae8d76548f62359acba14144fdc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7552910
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
* Aligned parameter names with upstream headers.

* Added NULL data checks to the common code;
  this enabled them for the following commands:
    * glGetBooleani_v
    * glGetIntegeri_v
    * glGetInteger64i_v
    * glGetIntegeri_vRobustANGLE
    * glGetInteger64i_vRobustANGLE

* Moved writing the output length parameter of
  the updated robust commands to the Context.

* Removed unused parameter from State::getIntegeri_v.

Bug: angleproject:410069485
Change-Id: I1d4d8fd9516f0406bf6da8181efc2b5067b657e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7551956
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Instead of being specifically about MSAA, these ancillary objects
(image, view, framebuffer) can also be used to emulate the PRESERVED
swap behavior.

Bug: angleproject:42266772
Change-Id: Ibf5ce8e859ba00948dc5980ede56cfeb09df9ea4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7551396
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
EXTBlendFuncExtendedDrawTestES31.UseTwoProgramStages/ES3_1_Vulkan

Bug: angleproject:362486580
Change-Id: Id8c9974e3c6004654acf72a03de4850aa47cf9b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7552751
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Every backend that currently exposes EGL_SWAP_BEHAVIOR_PRESERVED_BIT in
configs does so because its backbuffer is always preserved regardless of
the swap behavior set via EGL_SWAP_BEHAVIOR.

As such, the implementation of eglSurfaceAttrib(EGL_SWAP_BEHAVIOR) was
marked UNIMPLEMENTED() because it didn't really do anything other than
track the state.

At the same time, when querying EGL_BUFFER_AGE_EXT, a special case was
made in the front-end when the behavior is PRESERVED, where age was
always returned as 1.  This is actually incorrect for the very first
frame, where age must be 0.

This has currently been ok because the intersection of platforms that
expose PRESERVED configs (d3d, wgl) and the platforms that support
buffer age queries (egl, vk) is empty, but will not be true in a follow
up where the Vulkan backend gains support for the PRESERVED behavior.

This change sets up the machinery to communicate changes to swap
behavior to the backend, although the implementation is still
UNIMPLEMENTED().  Additionally, similar to setting the swap interval,
updating this property is delayed until swap.

The hack to short circuit buffer age when PRESERVED is simply removed.

Bug: angleproject:42266772
Change-Id: Iebe776c9d95d0d2659f17d669cef4944efdc0ab3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7553955
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/4ad54c61ba6e..1698899cb078

2026-02-05 zzoon@igalia.com Add new CTS tests to validate video profiles
and formats queried from implementations.
2026-02-05 mateusz.bahyrycz@cognizant.com Adds compute-only variant of
depth stencil sampling tests
2026-02-05 ziga@lunarg.com Test using ViewIndex when multiview is
disabled
2026-02-05 ziga@lunarg.com Test OpLogicalCopy of a struct
2026-02-05 rgarcia@igalia.com More coverage for clearing multisample
color images
2026-02-05 javed@igalia.com Add tests for 1 draw count
2026-02-05 rgarcia@igalia.com Improve sample locations error message
2026-02-05 zzoon@igalia.com Skip video secondary_command_buffer
execution tests if the queue doesn't have COMPUTE, GRAPHICS or TRANSFER.
2026-02-05 javed@igalia.com Fix waiver file messaging
2026-02-05 benjamin.cheng@amd.com Add constructor for DecodedFrame
2026-02-04 lorenzo@khronosgroup.org Update to Vulkan 1.4.342
2026-02-04 lorenzo@khronosgroup.org Update SPIR-V sources
2026-02-04 dkoch@nvidia.com Fix enum sorting in gen_framework.py to
handle None values
2026-02-03 rgarcia@igalia.com Fix build warning on main

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,geofflang@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: geofflang@google.com
Change-Id: Iac570a0014acdc8d5b03f8e72041a00584a722b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7556433
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/chromium/src.git/+log/365ea4f3cdac..8724363de7cf

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,geofflang@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/17b369ad87..6efd145f25
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/2ae45eb1ec..67ba60aaf8
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/adc1a6bfa6..65439a49b6
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/9fd48a305e..06b8759218
* third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/d99c56d4b9..5705ee75b1
* third_party/siso/cipd: git_revision:73b1681189a8d8a4d922cd84246dcec2494142a5..git_revision:2599cc0037d82d9187beea5c13349ce05716817b
* tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/f696c7bf77..1af0f89237
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/c9cac29ea4..7fd7d7092f
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/4d8f938af2..0ae85181ad
* tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/58b9c3ae45..a8d07a67ce
No update to Clang.

Bug: None
Tbr: geofflang@google.com
Change-Id: Icc04d10377bee77c8197e792023fbf4182df68bb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7556434
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/ddee81faaf9c..2f6156bf1b61

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/d9d2ec123c1b92de48c12fd084fc278cd99c6fce..f139c64525c7c449c83d299a9fda4e1657bf37ab
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/075488ccd6600fea664e10ee2f946c76086827d2..5ad4fe5f3eaf7db453b8719ba170021b6c4ddbab
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/7aa95f41d4b787e205a1ae845901ffc7ff96e49e..39a19dccf79d28951516c3c7c9f1ee4a606fb733
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/906b27a77f4857fae6da3062df4cf6ab0c06e8d4..50af38b6cd43afb1462f9ad26b8d015382d11a3d
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/07668200c4fa731a5306fd999487191b158924e9..c03d37fb7b4d873d4af7ad8cec46bf168f3ddf59

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,geofflang@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: geofflang@google.com
Change-Id: Ibc2b5be7b46f5dddfe73ce78db1988ffd4aa07de
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7558070
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
After `UpdateFullTexturesDescriptorSet()` was used for cache misses
`DescriptorDescHandles:sampler` is no longer used and was removed in
this change. Also removed handling of `VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE`
and `VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE` from
`UpdateDescriptorSetsBuilder::updateWriteDescriptorSet()` method.

Bug: angleproject:372268711
Change-Id: Ia42c89ba23497b9e4010f36102c6d9aa82b6b622
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7548787
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
The `GarbageObject::destroy()` handles `HandleType::Sampler` while it
is not possible since the implementation of the `SamplerCache`. Replace
case handling with `UNREACHABLE()` and also enforce with static_assert
in `GarbageObject::Get()`. Removed dead code will simplify debugging
possible bugs in the future.

Bug: angleproject:42263106
Change-Id: I0ed4e11387d6441593ba10db1cee92d37c4d9681
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7548788
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
* Removed the redundant error case.

* Removed the unused pointerVersion parameter.

* Renamed the error constant to match the message.

Bug: angleproject:410069485
Change-Id: I526f7d247e79fb55d499a87d8385d143ea758c62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7552752
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
This helps transformations easily append code to main to run at the end
of the shader without having to worry about early returns.

Bug: angleproject:349994211
Change-Id: I08e09491118a487f5133c9ccace156d112cece65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7546286
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Right now we always update the entire GraphicsDriverUniforms struct.
This is done at pushConstants() call time, which we always update entire
GraphicsDriverUniforms regardless it has changed or not. This CL added
mGraphicsDriverUniforms variable to ContextVk so that we could separate
mGraphicsDriverUniforms update from pushConstants call. Most constants
not change that often, so we can only update when the state dirty bit is
set.

This CL also moved the transform feedback driver uniform update into its
own struct and handleDirtyGraphicsDriverUniformsWithXFBEmulation()
function so that code are better separated. VK_EXT_transform_feedback
extension is very well supported, so we can focus on the non-emulated
code path.

This CL also moves most driver uniform code to its own file.

Bug: b/478274695
Change-Id: I8e23b1f9affd10d5053883cd5f77f81bebb20eed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7536635
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Bug: angleproject:481181904
Change-Id: Ied949304fc28c4b1427f4fed35212e82a7edb57f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7546097
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
* Ensured integrity of robust queries validation.

* Added consistent early exits to Context commands.

* Removed unused placeholder variables.

Bug: angleproject:410069485
Change-Id: I26504f67cec99a85b9061ccfd4191df53af915e6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7552873
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Bug: angleproject:410108264
Change-Id: Iec55c005972342db3c131d49723ab3e45eb0f04c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7560690
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
https://chromium.googlesource.com/chromium/src.git/+log/8724363de7cf..31a539d3330c

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,geofflang@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/6efd145f25..8ea67bb19a
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/67ba60aaf8..78f1b4debb
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/675d3d37ec..6ee40bbc15
* third_party/android_build_tools/aapt2/cipd: s6POXpUalcnuPehDsORiojCpgbNXT4LYq7DVUYgsfxEC..vUP1cs7krVsNHbUJpwSDR7rvWuYLGzINVa9xopPpt74C
* third_party/android_build_tools/manifest_merger/cipd: YgbGvXYO4RiQ7zH0QiMCxe_f9hE2k9JW8lUOKTkYC70C..xxaa38R0ED95Wxo8P29BC-mB7bjFPi2HKMpiIJn-UhAC
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/65439a49b6..2ec23d1684
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/39805a224b..a476f554f8
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/06b8759218..42786f6e46
* third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/5705ee75b1..4f89a98f36
* third_party/r8/cipd: kCLXGwoL10sgeyycuTLyDhesWICC0DSVfVf-a6U6_yUC..TozMGRBtGJuZp31wJjyY7VkLaQ6SI8lsRnLVsSlmmogC
* third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/7649ef4b38..600a9985b2
* third_party/turbine/cipd: j49Y1F_PAMGZdDf53rGaEzVXdT6jXWDhEm7UMfGhjswC..BMHNhxMhr7uGz1rh_Od_JE4kAdP9K5MXr6GN2R9tQkAC
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/0ae85181ad..c4c4ece921
* tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/a8d07a67ce..d500a4211d
* tools/skia_goldctl/linux: -kBgGbJiTOk-cPfW3Hk9s0VTgDJ_LLFD0GjjiFdxQxMC..Pmeqk2GE8EPaFHImXB43sbddhs7boJ3FRwY9MQe8xYwC
* tools/skia_goldctl/mac_amd64: CQxD5gOiwSWT8BsyHNRT_nSFsuEWa4vCOhp5f4y671IC..pfV760o24fdgQHreCUW90Ftxt2ecQKU5cKqP5NvJ6WUC
* tools/skia_goldctl/mac_arm64: hVuIUdzKbmoh8bsK3MXRkoft8ghayRtE4w9OtjBbj1wC..wPNH76jhzj9x_oNHf4RnK1CjwHJTOz0wAzAuJb4m7CkC
* tools/skia_goldctl/win: jiWTOkjhFa2tprYOeBlBcIT1t1DjHBu9wUwZ--4BhxkC..608Octuvmyl6pZRwVJnZ1owwK4epupg55w3zeL7RdisC
No update to Clang.

Bug: None
Tbr: geofflang@google.com
Change-Id: Ie46be581c852967657c570720853127905ba15b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7561054
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
https://swiftshader.googlesource.com/SwiftShader.git/+log/3b5edab3497f..b7b7fd22e5f2

2026-02-09 gurchetansingh@google.com swiftshader: llvm-16.0: remove
unnecessary virtual specifier

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,geofflang@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: geofflang@google.com
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: I4011544171532b67fc5be03517461573691a18f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7561888
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Instead of updating mGraphcsDriverUniforms at pushConstants() time, this
CL update them while we process context state dirty bits.

Bug: b/478274695
Change-Id: I66dd0400bbcb74d14dc2fc9be72e52ff212d605f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7551565
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Bug: angleproject:349994211
Change-Id: I36dfdb4c49ece694bacb69b35c75cd6bed0d08d5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7562594
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
The `isReferenced()`, `getRefCount()`, and `isLastReferenceCount()` of
`AtomicRefCounted<>` class are only intended to be used from asserts and
has unreachable implementations when asserts are disabled. On the other
hand, similar methods in `RefCounted<>` class are used in the code as
normal methods. This may be a problem if `RefCounted<>` will be replaced
with `AtomicRefCounted<>` in the future. New code will still compile but
will throw runtime errors, and will require other changes in the code
to fix them.

The `AtomicRefCounted<>::isLastReferenceCount()` was also made only to
be used from assertions, because "Vulkan: Remove vk::BindingPointer"
change (https://crrev.com/c/angle/angle/+/6045024) "made `unique()` only
available when assert is enabled since it is not thread safe to make
decisions based on reference count". However in the current code,
`SharedSamplerPtr::unique()` is used normally in the
`Renderer::cleanupOrphanedSamplers()` method. While making decisions
based on reference count may be not safe in many cases, it is still
safe to use in some cases, like in the `cleanupOrphanedSamplers()`
method (to check if there are no more references in other threads).

This change attempts to make interfaces of `RefCounted<>` and
`AtomicRefCounted<>` classes not only to look similar, but to behave
the same:
- removed `releaseRef()` method to use `getAndReleaseRef()` instead.
- the `isLastReferenceCount()` method is now a normal method, but made
  private to only use from the `SharedPtr<>::unique()` method.
- removed unused `getRefCount()` method.
- the `isReferenced()` and `isRefCountAsExpected()` methods are replaced
  with `void assert*()` form in `RefCounted<>`. As the result, dependant
  functions were also converted to this form.
- the `AtomicRefCounted<>::isReferenced()` is removed because it is not
  safe and only used inside `AtomicRefCounted<>` assert. This and lack
  of `AtomicRefCounted<>::isRefCountAsExpected()` is the only difference
  between `RefCounted<>` class.

Bug: angleproject:372268711
Bug: angleproject:440364873
Change-Id: Ie45d755fbd4a956e5f44186b66b487c3a8185bc0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7543639
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
https://chromium.googlesource.com/chromium/src.git/+log/31a539d3330c..d3b7c541a709

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,geofflang@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/8ea67bb19a..d0790d1596
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/78f1b4debb..265c79ac1a
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/6ee40bbc15..7ef32bbaca
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/42786f6e46..6c6a6572eb
* third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/4f89a98f36..2f7df07563
* tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/1af0f89237..e36d13d26b
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c4c4ece921..36734d224e
* tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/d500a4211d..e3d65bfb06
No update to Clang.

Bug: None
Tbr: geofflang@google.com
Change-Id: If2467071474730e687126e1722fa4c5b2a9300d0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7564759
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
https://chromium.googlesource.com/vulkan-deps.git/+log/2f6156bf1b61..851236b172ef

Also rolling transitive DEPS:
  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/968eb87c07f957520b7a96433933bb8d2bb0fc3c..f5f664dee8146676b04a332a7233959fc3ce9681
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/5ad4fe5f3eaf7db453b8719ba170021b6c4ddbab..ec72bb42d494700bb240fcf14f39cb36930e3355
  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/c03d37fb7b4d873d4af7ad8cec46bf168f3ddf59..c24c2843cbede436a609f1b04ff94b78c29e69f0

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,geofflang@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: geofflang@google.com
Change-Id: If53df945dd039c97f108e298749f850b6ae9b9dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/7566347
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
@ShirosakiMio ShirosakiMio merged commit 5c08343 into FCL-Team:main Feb 12, 2026
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.