Log

Author Commit Date CI Message
angle-autoroll 0feb9ed6 2025-04-07T07:02:39 Roll Chromium from f748acbd614f to 6a2660221a4c (648 revisions) https://chromium.googlesource.com/chromium/src.git/+log/f748acbd614f..6a2660221a4c 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 abdolrashidi@google.com,angle-team@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/303d67a359..38290a4010 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/f2adf9050d..5ed32accde * testing: https://chromium.googlesource.com/chromium/src/testing/+log/67e802f7d1..df390a2691 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/df9b88b552..c8d1e18466 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/7f8f85ae73..4e8b01e3c1 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/16e46844a2..aa5c758d87 * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/acc2c0d4d0..09ef5722d8 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/d42377337b..de3df440c0 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/eda5b50d9f..951584ca07 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7a5268f3f2..4f2c56de67 No update to Clang. Bug: None Tbr: abdolrashidi@google.com Change-Id: I686e458d71d0352c9c1d18550d577ec7af2a1828 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6435966 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 84056594 2025-03-28T00:00:00 Ensure ValidateCopyTextureCHROMIUM consistency Moved ValidImageSizeParameters out of IsValidCopyTextureDestinationLevel to not generate two errors for a single command call. Bug: angleproject:406922380 Change-Id: Ie96e1c51743d5973f258a49aa2613d72b47e1bfb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6433915 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 01d1c7b4 2025-03-28T00:00:00 Ensure EXT_debug_marker validation consistency * Moved no-op conditions handling to the Context. * Removed redundant comments. Bug: angleproject:406922380 Change-Id: I1064312b2e5940d6b97c95f22544bbc9749fc1ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6433224 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alex Dean 3818d37d 2025-04-04T15:07:59 CL: Add end_capture to capture/replay tool Many different applications don't explicitly make it clear the ending frame of what's being run. With the end_capture utility, when the user sets end_capture to 0, the application automatically finishes the capture immediately. Example OpenCL applications where this is useful: AI-Benchmark, Geekbench Compute, Geekbench AI Bug: angleproject:402174922 Change-Id: I1710ae1b1703f710865a9862c4cf3de753c2ccbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6339791 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Alexey Knyazev 2a4ea88e 2025-03-28T00:00:00 Simplify CopyImageSubData validation * Removed duplicated switch cases. * Reduced the number of enum conversions. * Used correct error message. Bug: angleproject:42262256 Change-Id: If686b5a0a0b29884b6b5c655df130f6ad918a61a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6433680 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 5462a528 2025-04-04T15:12:01 Add "likely" hints to glDrawElements validation ValidateDrawStates in particular is large (almost 3KB assembly), this appears to make a difference in synthetic benchmarks on Android. Bug: b/383305597 Change-Id: I4fd07d7080da70e370947b971e61f6d36c293c42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6431272 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c9e90490 2025-03-27T18:26:19 Capture: Keep binary data in memory in chunks This is needed for taking large captures out of Chromium, because its memory allocator refuses to allocate objects bigger than 1~2GB. Incidentally, it also optimizes taking large captures by avoiding frequent calls to `vector::resize` while the vector is very large. Bug: b/381284577 Change-Id: I4ccd3c8ea50df59520334f70e99083847da20c9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6406214 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuxin Hu 7d4c77b9 2025-04-04T11:15:51 Revert "Enable VVL on vulkan instance created in GetSystemInfoVulkanWithICD" This reverts commit 3f028fc158fac948723e8d535463eb80d0a85fed. Reason for revert: triggering asserts in fuchsia tests: https://crrev.com/c/6431747 Original change's description: > Enable VVL on vulkan instance created in GetSystemInfoVulkanWithICD > > This helps catching bugs for vulkan calls issued > during GetSystemInfoVulkanWithICD(). > > Also changed getProc() function to get vulkan function pointers by > calling vkGetInstanceProcAddr(), instead of calling dlsym(). Only use > dlsym() to get vkGetInstanceProcAddr() function pointer. > > Bug: angleproject:407116232 > Change-Id: I14dce3453c76a084db63fdb45a3db07b7b4d5294 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6374305 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> > Commit-Queue: Yuxin Hu <yuxinhu@google.com> Bug: angleproject:407116232 No-Presubmit: true No-Tree-Checks: true No-Try: true Change-Id: Ic81ebf77f3519cb6a4365dc57ea7753867ae086c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6433022 Auto-Submit: Yuxin Hu <yuxinhu@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Igor Nazarov f798b0d2 2025-04-04T08:17:57 Vulkan: Remove enablePreRotateSurfaces feature Removed to simplify the code and to avoid the problem for which `presentSubOptimalReturnedOnTransformChange` feature was added. Platforms without the per-rotation support always have `VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR` as the `currentTransform`, so the code will perform the same as when the feature was disabled. Add `warmUpPreRotatePipelineVariations` to explicitly control per-rotation pipeline warm up. Bug: angleproject:42262166 Change-Id: I44f6c221c11105f01f62f62622987b1955bc58aa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6433586 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov b77f8af7 2025-04-02T19:01:48 Vulkan: Ignore SUBOPTIMAL on Android without pre-rotate Android returns `VK_SUBOPTIMAL_KHR` when window orientation changes, while ignores size changes. When "enablePreRotateSurfaces" is disabled, each present will return `VK_SUBOPTIMAL_KHR` if `currentTransform` is not `VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR`, causing swapchain recreate on each swap. This behavior makes disabling "enablePreRotateSurfaces" on Android worse than suboptimal. New "presentSubOptimalReturnedOnTransformChange" feature is currently enabled only on Android for the reason described above. It may be enabled for other platforms in the future if required. Change also improves error handling, by moving `deferAcquireNextImage()` call right after the `queuePresent()`, before any other call that may fail. This will avoid repeated present of the same image if something fails after successful `queuePresent()` call. The `checkForOutOfDateSwapchain()` and `computePresentOutOfDate()` was combined into a single method to improve error handling and to simplify the code. Bug: angleproject:397848903 Bug: angleproject:42266082 Bug: angleproject:42262166 Change-Id: I7ba2389ad2ddafc0c77c3068cd85ac9b9251ccdd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6424753 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov 12dd42b8 2025-04-04T09:54:12 Reduce number of function calls in glVertexAttribPointer Small but noticeable improvement in a synthetic test on Android Bug: b/383305597 Change-Id: I6e88a06f4d3bf2e0b51ee1fd3f4f26bf55d9364e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6432611 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 9e3467c8 2025-04-04T09:58:05 Run end2end tests single process on Linux Intel Multi-process suspected for flaky WebGPU backend test failures. Bug: angleproject:408276172 Change-Id: I2813d49f1263eeefea7db6999b5452d4cf61db92 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6432449 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 0a61aa4a 2025-04-04T09:50:59 Roll Chromium from 7d6c9811c3ae to f748acbd614f (650 revisions) Set 'android_static_analysis = "on"' GN args explicitly on Android bots (this was the default before). https://chromium.googlesource.com/chromium/src.git/+log/7d6c9811c3ae..f748acbd614f 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,romanl@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/26ff83f048..303d67a359 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/4b3b2242db..f2adf9050d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/576e7554b9..67e802f7d1 * third_party/android_build_tools/manifest_merger/cipd: CsU9U9KptiCc6Y9kUTfQfM4CWrRw4W_SxhOt6SNdf7MC..vHfVYpJ8u72iZgoN6s-BvRweZgVkKP-j_QbT8eSgc3gC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/d69d75e4f8..f14985b465 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/8010a1b2f5..df9b88b552 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/723abbda20..7f8f85ae73 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/4b760d9a76..16e46844a2 * third_party/r8/cipd: lg4ep5S4K6V2zni9jgt42ga6U-8AR6aAWNSqbe2VdmoC..zwFzxlsxS07IH4Ed1SfJTUKKoelP1ZliLtFWZqW0OioC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/76986168fd..acc2c0d4d0 * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/788cb3c270..ce5a169f50 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/a1531f6aae..d42377337b * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/d05ab7b5b9..eda5b50d9f * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/98c476af7d..2aa6f329bf * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/4faaa52ad8..7a5268f3f2 * tools/skia_goldctl/mac_amd64: Ody7aR8OnFLweRhMIL774WL6ph95_ZTz9It5m9bzo8sC..yNIr-9hJd-v5rwyRRQk5z9eBz_Ru52p8YTOc-WHIoBgC Clang version changed llvmorg-21-init-5118-g52cd27e6:llvmorg-21-init-6681-g5b36835d Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/d05ab7b5b9eccb00b2a73a1d2d19c1b0594f762e..eda5b50d9f0af91694d27361cbdd9f3357878f04/scripts/update.py Bug: angleproject:342096132, chromium:404503040 Change-Id: I1c09b6b376caf6428616d16db12a026663b68d7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6433018 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll ce71fbaa 2025-04-04T10:01:16 Roll vulkan-deps from 48f50085fcda to f8cc64f338fb (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/48f50085fcda..f8cc64f338fb Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/9e702e25aa472c8528b49c874a3c03d514df1ede..54eddbe9fcf33a6b5e77b8044f332cea872fc704 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/b2fee806c378105400a1ed4bc4b63ee3c08ddc4e..5c62066bdf33a51ba8481ff16270f543c1f10076 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,romanl@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: romanl@google.com Change-Id: I78591195c2ff91b10c3c7a0f6fb83e29c827ef41 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6433019 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 87950668 2025-04-04T10:38:07 Suppress 5 dEQP EGL tests on Pixel 6 Vulkan Report VUID-vkGetDeviceFaultInfoEXT-device-07336 after VVL roll https://chromium-review.googlesource.com/c/angle/angle/+/6430461 Bug: angleproject:408225528 Change-Id: I5208e5b4a8eea598feb0a155a6dadb3e1e722143 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6432451 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuxin Hu 127aec7e 2025-04-03T13:54:17 Vulkan: Remove VVL error skips that have been fixed Test: --gtest_filter='MemoryBarrierBufferTest.TransformFeedbackBitWriteThenCapture*' Bug: angleproject:42266506 Change-Id: I0261a26157f6e44d25e6631faec96a55e470ea66 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6431825 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuxin Hu b8151923 2025-04-03T11:34:18 Vulkan: Remove VVL error skips that have been fixed Test: --gtest_filter='MemoryBarrierBufferTest.TransformFeedbackBitWriteThenCapture*' Bug: angleproject:42266506 Change-Id: I314ee10d9ee67f5871312d730f35c2232a9372b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6430466 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Alexey Knyazev 1f77aa6b 2025-03-28T00:00:00 Align GetValidShader and GetValidProgram usage * Added comments and made the error condition more obvious at all call sites. * Ensured that only one error is generated by GetActiveUniform, GetAttribLocation, and ProgramUniform* entry points. Bug: angleproject:406922380 Change-Id: I26244b86b44749488dd63b538a2e7f94873a87b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6430029 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Yuxin Hu 3f028fc1 2025-03-19T18:15:43 Enable VVL on vulkan instance created in GetSystemInfoVulkanWithICD This helps catching bugs for vulkan calls issued during GetSystemInfoVulkanWithICD(). Also changed getProc() function to get vulkan function pointers by calling vkGetInstanceProcAddr(), instead of calling dlsym(). Only use dlsym() to get vkGetInstanceProcAddr() function pointer. Bug: angleproject:407116232 Change-Id: I14dce3453c76a084db63fdb45a3db07b7b4d5294 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6374305 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
angle-autoroll 92cb669b 2025-04-03T15:26:42 Manual roll vulkan-deps from 12ef946decd5 to 48f50085fcda (21 revisions) Suppress VUID-vkQueueSubmit-pSignalSemaphores-00067 due to https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/9840 Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/12ef946decd5..48f50085fcda Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/e57f993cff981c8c3ffd38967e030f04d13781a9..c3d39de93955f884e443c39e9ffecf86e4aac883 https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/27e60d9cd9d68cfcb6ca597956a4e57ac330413b..9e702e25aa472c8528b49c874a3c03d514df1ede https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/8c88e0c4c94a21de825efccba5f99a862b049825..8e82b7cfeca98baae9a01a53511483da7194f854 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/056e3ed2c7ca7b30aa803685f806de7a2402aa85..4bd1536ed79003a5194a4bd8c9aa2fa17a84c15b https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/73d7d74bc979c8a16c823c4eae4ee881153e000a..b2fee806c378105400a1ed4bc4b63ee3c08ddc4e 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,romanl@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: angleproject:408190758 Change-Id: I835d826a71590c788c29cecd7958951e5b648df8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6430461 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Geoff Lang 4d478713 2025-04-03T08:10:40 Revert "Metal: Make StateCache descriptors hash consistent" This reverts commit 4334125be506e0c2c5dde4cfc29b31a7ff2bdec6. Reason for revert: Pipeline creation failures. Bug: chromium:407310859 Original change's description: > Metal: Make StateCache descriptors hash consistent > > Various descriptors would compare equality and do hashing based on the > underlying storage. The storage contains alignment padding and > bitfields. The contents of these are not defined, even when the > constructors tried to memset and memcpy. > > The various hash and compare functions also seemed to be missing some > elements, like rasterSampleCount. > > Missing == on fields and hashing unused memory may lead to inconsistency > where a==b is true but hash(a) != hash(b). > > Fix by: > Remove the memset/memcpy and write out the operator== and > hash() consistently. > > Initialize the members to their default values. > > Use uint32_t : 1 instead of bool if the struct tries to optimize for > size, since mixing types stops the packing. > > Use uint32_t to get the alignment to uint32_t, which is mostly what > is expected. > > Use uint32 someVar : N where N is payload bits + padding bits for > the last member. This way the assignment clears the padding bits. > The goal os to get the operator== to compare the padding bits, which > lets the compiler elide the memberwise compares and use word-wise > compares where it makes sense. > > This is an attempt to fix rare crashes related to map inserts > and lookups. std::unordered_map will crash if operator== is not > consistent with hash. > > Bug: angleproject:403372465 > Change-Id: I0a3a2ff327ac9f65e7d41bc9585cda54ce93ab86 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6355828 > Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> > Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> > Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: angleproject:403372465 Change-Id: Id111c0728b603776fd8085fd395819bb5aa14722 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6428466 Commit-Queue: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuly Novikov 9a3c3718 2025-04-03T09:45:37 Stop Mac Intel experiment 14.6 confirmed to not have the needed fix. Remove Intel testing from mac-exp-test, leaving only AMD testing on Radeon Pro 555X. Bug: chromium:355249262 Change-Id: I520bf2ce0f78c6962ac9e316a3ebf181d073a812 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6428765 Reviewed-by: Brian Sheedy <bsheedy@chromium.org> Commit-Queue: Brian Sheedy <bsheedy@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Alexey Knyazev 6631db11 2025-03-28T00:00:00 Ensure ValidateTexParameterBase consistency Invalid calls must not reach the context. Bug: angleproject:406922380 Change-Id: If514b57409ceebe52182fdb3af3807b4d6236201 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6428766 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 57b5f12f 2025-04-02T17:26:05 Move ANGLE wrangler documentation Update infra/README.md with relevant moved info and remove obsolete. Bug: b/407512213 Change-Id: Ia6e480b060d3bfae465974f76453d93790c93386 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6424754 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Alexey Knyazev eb52b568 2025-03-28T00:00:00 Remove unsupported 1D and DSA entry points OpenGL ES does not support 1D textures, removed TexStorage1DEXT. OpenGL ES does not support DSA, removed EGLImageTargetTextureStorageEXT. Added an explicit command blocklist. Added hashes for *_vulkan_secondaries_* def files. Fixed: angleproject:407932145 Change-Id: Iec34fa475f34a0fa832a49223c51ff1f87b1915d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6426049 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev f20c0c5e 2025-03-28T00:00:00 Remove obsolete desktop GL files Bug: angleproject:370937467 Change-Id: Ibd15c982b646627fb8154d92ad2e0e35f98fbd32 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6428567 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov a7e8c957 2025-04-01T17:08:01 Split SetUniform into inline and noinline path Makes a single smaller function for the common cases, and setting uniforms with a stride or boolean conversion is extracted to separate function calls. This results in the main SetUniform being about half in assembly size and yields a small but noticeable performance improvement in my tests on an Android device. Impact on the binary size is negligible. Bug: b/383305597 Change-Id: I630ff41cfeea6ce9e24e30cdebfbb58382e67de7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6422893 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll f276df66 2025-04-03T07:01:43 Roll Chromium from 7174c94754cb to 7d6c9811c3ae (593 revisions) https://chromium.googlesource.com/chromium/src.git/+log/7174c94754cb..7d6c9811c3ae 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,romanl@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/bcb43d769b..26ff83f048 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/299cb62c60..4b3b2242db * testing: https://chromium.googlesource.com/chromium/src/testing/+log/cbdef77aaa..576e7554b9 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/a34b6b0a58..d69d75e4f8 * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/4c4968f108..9b76875fb4 * third_party/fuchsia-sdk/sdk: version:27.20250326.5.1..version:27.20250402.5.1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/35a5aaad4a..723abbda20 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/23bef80461..4b760d9a76 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/5f7b95ef68..f2622a898c * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/58c91d0ae3..76986168fd * third_party/siso/cipd: git_revision:9e4e007a51fdfd51e809d2817a3d6bbd3ec3b648..git_revision:0dd559fac7db9d72c9cbee525ab596b8a10b79d0 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/8dc5380671..a1531f6aae * tools/luci-go: git_revision:7a44078a668bc9f75dd6e40a332450e76f2f7399..git_revision:cd0142e4e2f376bb0bd1b34a3b91167aff5226bf * tools/luci-go: git_revision:7a44078a668bc9f75dd6e40a332450e76f2f7399..git_revision:cd0142e4e2f376bb0bd1b34a3b91167aff5226bf * tools/luci-go: git_revision:7a44078a668bc9f75dd6e40a332450e76f2f7399..git_revision:cd0142e4e2f376bb0bd1b34a3b91167aff5226bf * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/d1c57e211b..98c476af7d * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/e53211ba36..4faaa52ad8 * tools/skia_goldctl/linux: mAk01oyt7P30KZ8p-gF-TU0M9dL73ZIC-I_tGTQa6KAC..Ygv7ZB2vTXUWbXtH1I2DNMSB1D7GkvpabMuyVEJpINAC * tools/skia_goldctl/mac_amd64: APuhNAZ7G50nWWPrYCk2prrPklE_TclJEz4gicnBaSwC..Ody7aR8OnFLweRhMIL774WL6ph95_ZTz9It5m9bzo8sC * tools/skia_goldctl/mac_arm64: Sfu8dXj0tJ8uWFOZr90L_rVRcp8Kcy8zLsfelpk6K2YC..zQOaSHuVEWVro28b0D6FdKiq5f8KhkMG_XOFqAdgoIUC * tools/skia_goldctl/win: xe_VroL0THL1s9UZb-GM9rfVmOK9xmX2rya2pwbfX-AC..DWI5tbnr7u5QE7UFkrzeJI3hqZyLqA8E_xOqOpNU0vgC No update to Clang. Bug: None Tbr: romanl@google.com Change-Id: Ia7ab1fa1b9c8194f2f08b44dae3e1dd2c7ef1cb8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6429307 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Le Hoang Quyen 0f9feb49 2025-03-15T23:51:04 Metal: Use render passes for B2T PBO copies. This would make it possible to avoid setting ShaderWrite usage to all textures in future. Bug: chromium:392521084 Change-Id: I25145f3578589c71ee469df08162d3a3f17c8cbe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6356129 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Yuxin Hu 9ee2c7e7 2025-04-02T16:01:45 Vulkan: Remove VVL error skips that have been fixed Bug: angleproject:42265220 Change-Id: I828f1d96a19efd0de9220b2168cfa9c3aab80912 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6427323 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kenneth Russell fd722f9a 2025-03-31T23:23:26 Avoid emitting SampleCmp in discontinuous loops. Apply fix by Mikkel Simonsen from Unity to use texture level 0 when using textureLod with a shadow sampler inside a discontinuous loop. Bug: angleproject:406190894 Change-Id: If02b687f15ec4c3e8bd1b8eece72098d498e2ce1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6421496 Auto-Submit: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Alexey Knyazev f56c8e02 2025-03-28T00:00:00 Fix & cleanup advanced blend equations support * Made advanced blend equation extensions enableable to facilitate better testing. * Made initial BLEND_ADVANCED_COHERENT state to be unconditionally true regardless of the extension support. If the coherent extension is unsupported, that state must not be observable anyway. * Ensured that advanced blend equation functionality is supported on unextended OpenGL ES 3.2 contexts. * Removed redundant ES 2.0+ context version checks because these extensions must never be enabled on ES 1.x contexts. * Fixed ValidateBlendBarrierKHR to set the correct error code and properly mark invalid calls. * Added more negative test cases and enabled tests on OpenGL ES 3.0 contexts. Bug: angleproject:42262258 Bug: angleproject:406922380 Change-Id: I709376ad40b09972a31a691ca3813e87dd2c8165 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6421857 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Robic Sun 45de9be0 2025-03-27T16:38:28 num_views layout qualifiers are allowed only in vs Bug: angleproject:385038758 Change-Id: I415c9d83b227673f9fbeeb30e8f51d69c34212ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6414749 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Robic Sun <Robic.Sun@arm.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Yuxin Hu a625043f 2025-04-01T16:09:14 Vulkan: Remove VVL error skips that have been fixed Bug: angleproject:42265220 Change-Id: Ia2048817c6238031c83aaa237c6c88b0e9a9ebf9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6423550 Auto-Submit: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi b64aa6d5 2025-03-27T18:31:19 Capture: Implement param capture for some Chromium entry points Bug: b/381284577 Change-Id: I3b019e795aecf989ad58e644dc8475d9c8740314 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6406216 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll c1ac75fd 2025-04-02T08:34:36 Roll Chromium from 9c50be5811be to 7174c94754cb (665 revisions) https://chromium.googlesource.com/chromium/src.git/+log/9c50be5811be..7174c94754cb 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,romanl@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/01729aa466..bcb43d769b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/810b107183..cbdef77aaa * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/3fbb10e80d..1e8b41f1ec * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/5bda0fdab9..8010a1b2f5 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/97989c1bfa..23bef80461 * third_party/r8/d8/cipd: f-Ka2tsB3j_I6-Av4qE9ftl6KddtjV-pRVcUUc9cgYQC..wvbyt_Mr06Bl4Rcv4zoX-sTk_keiEYxfspOMUufh5nIC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/0f7aa4a0bc..58c91d0ae3 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/c321e793a0..8dc5380671 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/0078c27c43..d05ab7b5b9 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/47050c4ced..e53211ba36 * tools/skia_goldctl/mac_amd64: pCkkLpPyiV-gWMQPUcghBJQnI8o55Ql5Litx-M4FZBUC..APuhNAZ7G50nWWPrYCk2prrPklE_TclJEz4gicnBaSwC * tools/skia_goldctl/mac_arm64: nPFIBSkoK5DC-UNkPXfSgIRWqJznIQ4uhmoBWYvKU20C..Sfu8dXj0tJ8uWFOZr90L_rVRcp8Kcy8zLsfelpk6K2YC No update to Clang. Bug: None Tbr: romanl@google.com Change-Id: I0c2ac366d739c23848cafdc42d8dc4bdf797e62f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6424521 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 1b95a5ae 2025-04-01T16:36:38 Capture: Fake surface size if no surface If a context never uses a surface, create a fake one for the sake of capture/replay. Bug: b/381284577 Change-Id: I42db06d52d0ad17ee9921542e7cb56c910810ae7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6422892 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c9956ce0 2025-04-01T16:35:32 Capture: unMakeCurrent before destroying a context In preparation for a change where unMakeCurrent can act like swap to capture contents in applications that don't actually call swap. Bug: b/381284577 Change-Id: I6449590f90964107c5f0feb82cbe29d26bbd0d9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6422891 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 23c1e11e 2025-04-01T11:27:02 Disable platform trace events by default, except Chromium build Observed overhead in perf builds is too significant, some workloads generate thousands of events per second. There does not seem to be a simple way to get around the overhead - it could be somewhat reduced but the event rate is just too high. ANGLE_TRACE_EVENT*(...) etc become a no-op by default. Can be re-enabled with angle_enable_platform_trace_events=true gn arg Bug: angleproject:404542398 Change-Id: I8d7363ee28d22226f1860e24f2399bb4129cfb84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6419308 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Feels: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Alexey Knyazev eec873ed 2025-03-28T00:00:00 Fix FramebufferTexture2DMultisampleEXT validation Generate an error when the samples value is negative. Bug: angleproject:406922380 Change-Id: I508f3ddf82e30291fdcc3086ab19ebfa4f84947c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6421716 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev f4386ce6 2025-03-28T00:00:00 Ensure ValidateEGLImageTargetTexStorage entry point consistency Invalid calls must not reach the context. Also fixed the cube map array support condition. Bug: angleproject:406922380 Change-Id: Ibc67c6b5ccddb7cf6c86b0c93589fe0b186bcdbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6418902 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev c51c1679 2025-03-28T00:00:00 Ensure ValidateEGLImageTargetTexture2D entry point consistency Invalid calls must not reach the context. Bug: angleproject:406922380 Change-Id: Id546e54faac68d1b47b32df701ec00cd6fba1d6d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6419042 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 9b471972 2025-03-28T00:00:00 Ensure ValidateTexStorageAttribs* entry points consistency Invalid calls must not reach the context. The corresponding extension requires OpenGL ES 3.0. Bug: angleproject:406922380 Change-Id: I8e19a192b536a384c36514e6cab226ee0663edd3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6419162 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
angle-autoroll 2ded15f2 2025-04-01T10:01:07 Roll vulkan-deps from 2b7c95ec76d5 to 12ef946decd5 (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/2b7c95ec76d5..12ef946decd5 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/6f355619b1b1bfce2b5fb1dcf2aca0d55f9606de..27e60d9cd9d68cfcb6ca597956a4e57ac330413b https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/2e83ad7e6f2cc51f7eaff3ffeb10e34351b3c157..056e3ed2c7ca7b30aa803685f806de7a2402aa85 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/78c359741d855213e8685278eb81bb62599f8e56..2ac81691baf291e7f4aad07596d7073974dbc4dd https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/0d5b49b80f17bca25e7f9321ad4e671a56f70887..551221d913cc56218fcaddce086ae293d375ac28 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/f05377bc6368b09065f2746eb2f5758ae98deb38..73d7d74bc979c8a16c823c4eae4ee881153e000a 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,romanl@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: romanl@google.com Change-Id: If9ee3a56f8f77eb38827ced12daa2fa70db422f1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6421498 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 4225a654 2025-04-01T03:01:12 Roll SwiftShader from e48c89759b6c to 4982425ff1bd (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/e48c89759b6c..4982425ff1bd 2025-03-31 swiftshader.regress@gmail.com Regres: Update test lists @ e48c8975 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,romanl@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: romanl@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: If7befb577eb46728aaf51648fd74ce214d1bd027 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6421940 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll aa80ab40 2025-04-01T07:00:44 Roll Chromium from 28cc0f7b2a08 to 9c50be5811be (604 revisions) https://chromium.googlesource.com/chromium/src.git/+log/28cc0f7b2a08..9c50be5811be 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,romanl@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/451ef881d7..01729aa466 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/6f359296da..299cb62c60 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/f46b86c7f1..810b107183 * third_party/android_build_tools/error_prone/cipd: 2cQ2nbgV3geU7-RincCggMgIe4NuUB_eW5Rm58CgMY8C..muHOjW6H-gb8j6gY4sUylWC1paxyWPRMAeYZ1Ok8KkwC * third_party/android_build_tools/lint/cipd: hwubetoXxz5wxh6e9dQGVJl1Ih69nM8m0tFi5cUGujIC..cpi5krkjlhoCfjDOZ3fIdPXDOqnCGMBVzm_yHg1WnWUC * third_party/android_build_tools/manifest_merger/cipd: Gv6-zTnY5Cj7i1ck5bS92diwCClFq1HHoTCf4kWr4SsC..CsU9U9KptiCc6Y9kUTfQfM4CWrRw4W_SxhOt6SNdf7MC * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/449310fe2e..35a5aaad4a * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/188329a7f2..97989c1bfa * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/ed57732033..0f7aa4a0bc * third_party/siso/cipd: git_revision:68bdc49e4e23aef066fc652cbdb1b4973aab1a31..git_revision:9e4e007a51fdfd51e809d2817a3d6bbd3ec3b648 * third_party/turbine/cipd: lnlrbUuImYl1BaRqVclTMOqA0KVYDYdym4ujLkPurbMC..scfGptWnO9bwzbg-jr0mcnVO3NG5KQJvlAQd_JSD5QUC * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/01d0ad994b..47050c4ced No update to Clang. Bug: None Tbr: romanl@google.com Change-Id: I8ce03fb2bafc08aa935d4915720756266a0a4d20 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6419667 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi bbf92d12 2025-03-21T12:43:14 Vulkan: Add workaround flag for extra submit fence This change is a workaround for some devices exhibiting a device-lost error related to the fence usage in the command batches when working with EGL sync objects, such as a cycle similar to below: - <Some GL work> - eglCreateSyncKHR() - glFlush() - eglDupNativeFenceFDANDROID() - eglDestroySyncKHR() - <More GL work> (The exact point of error and the reason for the device-lost remain unknown.) This change is meant to mitigate such errors on those devices if needed. However, for the rest, the feature will remain disabled. * Added a new feature flag: enableExtraSubmitFence * Modified the usage of mFence in CommandBatch * It is also used when enableExtraSubmitFence is enabled, even if there is an external fence. * When there is an external fence, this object is used to create an empty submission after the primary commands are submitted using the external fence. * Added the config to enable EnableExtraSubmitFence for the following suite: EGLSyncTest Bug: b/384477641 Change-Id: I05f8bdcc804967c4984416af802326d22afd7a46 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6378778 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Neil Zhang 0d1478f3 2025-03-27T18:40:05 Fix dFdx() dFdy() in frag shader not work as expected When render to FBO0, Y axis will flipping, Angle's compile module will handle this, but only when glsl version > 300, that's a mistake as glsl 100 also have dFdx/dFdy when have GL_OES_standard_derivatives. Bug: angleproject:406819301 Change-Id: I656cfcfdeff1e80db374cfa083578adda6064e69 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6407233 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Auto-Submit: Neil Zhang <Neil.Zhang@arm.com> Commit-Queue: Charlie Lao <cclao@google.com>
Alexey Knyazev 603fd115 2025-03-28T00:00:00 Ensure ValidateLoseContextCHROMIUM entry point consistency Invalid calls must not reach the context. Bug: angleproject:406922380 Change-Id: I5d0d74ea28ae16efba1bd447f6187a36c05c45c7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6417008 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev de71760b 2025-03-28T00:00:00 Ensure ValidateGetMemoryObjectParameter entry point consistency Invalid calls must not reach the context. Bug: angleproject:406922380 Change-Id: I6b4fadabe93215839fcd6c8d35952f37d5a6755b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6417007 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Alexey Knyazev a8c60a3e 2025-03-28T00:00:00 Ensure texture_border_clamp entry points consistency Invalid calls must not reach the context. Affects all entry points added by the texture_border_clamp extensions. Bug: angleproject:406922380 Change-Id: I5e2a58ef70396e27f1ae681595359690e1ca14f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6417005 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao ecc378cc 2025-03-03T16:43:33 Reland "Dont use Subject/Observer for SwapchainImageChanged" This is reland of the following CL https://chromium-review.googlesource.com/c/angle/angle/+/6319893 Because we do deferred ANI (VkAcquireNextImage) call until image is needed, we need a way to force Context to go through FramebufferVk::syncState call (FramebufferVk::syncState calls WindowSurfaceVk::getAttachmentRenderTarget, which end up calling ANI. Right now we uses subject/observer mechanism, by sending angle::SubjectMessage::SwapchainImageChanged to all observers of WindowSurfaceVk. In this case it is egl::Surface. Then eglSurface redirects this message to its observers, which are all gl::Framebuffer's attachments: color, depth, stencil. Even though only color attachment needs to be notified, but because we don't have a separate list of observers, depth/stencil attachment also receive the notification and they early out. Then gl::Framebuffer sets DIRTY_BIT_COLOR_BUFFER_CONTENTS_0 dirty bit and send the angle::SubjectMessage::DirtyBitsFlagged to Context, which dirty DrawFBO and ReadFBO and dirty cached state. Note that this is specific for swap image changed case, there is no surface property change (surface property change will still trigger the subject/observer message with SubjectMessage::SubjectChanged message, but this occurs rarely). This gets worse for apps that uses multiple contexts, for the example pokemon_masters_ex has three contexts, each context has its own default frame buffer that attach to the same surface, and we never remove non-current context from the observer list. This end up with egl::Surface has 12 observers and for every frame, it loop over the list of 12 observers and send message (virtual function call) to each of them. Color attachment also ends up sending two messages to Context, one for Read FBO and another for Draw FBO. There are total 21 virtual function calls. Even for single context usage, you have 6 virtual function calls, for every frame. EGL spec says "an EGLSurface must be current on only one thread at a time", any other context must call EGLMakeCurrent in order to use this surface, which will add all necessary dirty bits at that time. So we really only need to notify current context. In this CL, SwapchainImageChanged no longer uses subject/observer mechanism, so this message is removed. This CL still uses subject/observer mechanism to send DirtyBitsFlagged from Framebuffer back to context. We could call setDrawFramebufferDirty and setReadFramebufferDirty directly, but that will require to remove the "const" decoration out of gl::Context which generates too much code diff, so onStateChange(angle::SubjectMessage::DirtyBitsFlagged) is still used. Bug: angleproject:400711938 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6319893 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Change-Id: I017b0e8934b5194a520828fa5c4af1d6e3ef9aac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6404621
Roman Lavrov cbfa8e38 2025-03-31T09:51:33 Add "likely" hints to common validation paths This makes the hot path assembly more local. I can't tell if there is an observable effect of just doing this on the regular build performance, but this generally makes sense and reduces the assembly difference with PGO builds. Bug: b/383305597 Change-Id: Icb191e8e927217d9db4cb505d5cd6f76536403e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6416263 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi 362161fa 2025-03-28T11:22:46 Translator: Use unsized int for swizzle components Bug: angleproject:349994211 Change-Id: Ibee2c664f159960cf9bf860496038bbb32ae355a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6408391 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 4536457b 2025-03-28T00:00:00 Ensure ValidateCompressedTex[Sub]Image*Robust consistency Invalid calls must not reach the context. Bug: angleproject:406922380 Change-Id: I3c3849c08f17fda76f4cf1f2b4ec989d3da81431 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6415818 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 7eb57729 2025-03-31T10:01:22 Roll vulkan-deps from 23bc8dbadec2 to 2b7c95ec76d5 (6 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/23bc8dbadec2..2b7c95ec76d5 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/393d5c7df150532045c50affffea2df22e8231b0..2e83ad7e6f2cc51f7eaff3ffeb10e34351b3c157 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/10054abc9804429e754c89e086479ec02fbc1f41..f05377bc6368b09065f2746eb2f5758ae98deb38 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,romanl@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: romanl@google.com Change-Id: Ib645791db6cd0726d338d4a43a2608e17a1b5588 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6414633 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 87b40ed7 2025-03-31T08:01:13 Roll Chromium from 00f326e47697 to 28cc0f7b2a08 (867 revisions) https://chromium.googlesource.com/chromium/src.git/+log/00f326e47697..28cc0f7b2a08 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,romanl@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/69a0df1110..451ef881d7 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/244e7cf445..6f359296da * testing: https://chromium.googlesource.com/chromium/src/testing/+log/f04b724022..f46b86c7f1 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/f4cca3dc40..3fbb10e80d * third_party/android_build_tools/lint/cipd: DGEQcQfbonqqmrtaKLbu7qkNhJgyZ5ONzcseAUFVX08C..hwubetoXxz5wxh6e9dQGVJl1Ih69nM8m0tFi5cUGujIC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/058fc7baf2..a34b6b0a58 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/5b409767f0..5bda0fdab9 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/4f05e20cbe..449310fe2e * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/ffdeea1ab2..188329a7f2 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/b714f7890b..5f7b95ef68 * tools/skia_goldctl/linux: vazjtxPs2ne3diaKMZlh4oRw0uOc0QRtGX1ef8Mk1XwC..mAk01oyt7P30KZ8p-gF-TU0M9dL73ZIC-I_tGTQa6KAC * tools/skia_goldctl/mac_amd64: 2r-pYYyfAsqSnHU2lu_Wks4oYZe25O8BkIr57nrTkxYC..pCkkLpPyiV-gWMQPUcghBJQnI8o55Ql5Litx-M4FZBUC * tools/skia_goldctl/mac_arm64: 3Y8BzQv26tXLWIz4Yxmu5__U7FuZI-Lj6sGFEHe3jA4C..nPFIBSkoK5DC-UNkPXfSgIRWqJznIQ4uhmoBWYvKU20C * tools/skia_goldctl/win: Bmh87jeaHatj39PYjQrF4wz1Ly2FIHp_11IwqQKX_KkC..xe_VroL0THL1s9UZb-GM9rfVmOK9xmX2rya2pwbfX-AC No update to Clang. Bug: None Tbr: romanl@google.com Change-Id: Ie91d8037fb27db30ad5eee07329dc0fed1892088 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6414631 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll b0d8fe89 2025-03-31T08:01:37 Roll VK-GL-CTS from 57854cfe3f6c to b6bb4bab7b4a (12 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/57854cfe3f6c..b6bb4bab7b4a 2025-03-28 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.2 into vk-gl-cts/main 2025-03-28 lorenzo@khronosgroup.org Notice of withdrawal of Vulkan CTS 1.3.8.x 2025-03-27 javed@igalia.com Add coverage for indirect after base dispatch 2025-03-27 javed@igalia.com Add test for OpArrayLength 2025-03-27 ziga@lunarg.com Add simple xfb test with triangles 2025-03-27 ziga@lunarg.com Test using a swapchain with acquired image in .oldSwapchain 2025-03-27 zzoon@igalia.com Fix validation errors in Vulkan Video encoding tests. 2025-03-27 rgarcia@igalia.com Add depth/stencil <-> color copy variants with attachment usage 2025-03-27 rgarcia@igalia.com Add tests for depth-only pre-passes and post-passes 2025-03-27 rgarcia@igalia.com Add callable shaders to RT VK_KHR_pipeline_binary tests 2025-03-27 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.12 into vk-gl-cts/main 2025-03-26 rgarcia@igalia.com Remove unused classes and methods that were causing compiler warnings 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,romanl@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: romanl@google.com Change-Id: I9bc130703471b4d2d414a177b05dee03ee462607 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6414632 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 1b34d2a1 2025-03-28T00:00:00 Ensure ValidateUniform* consistency Uniform calls are valid when location is -1 or ignored. Bug: angleproject:406922380 Change-Id: I7f829f7f8a67ba6bac39ff8ee06c7f26c1421417 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6408952 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 64dc6096 2025-03-28T00:00:00 Ensure ValidateDelete{Program|Shader} consistency Deleting program zero is valid. Deleting shader zero is valid. Bug: angleproject:406922380 Change-Id: I2a26be8200585fae3a70c0a904be96ff590ebe7b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6409251 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Yuxin Hu eb8deecd 2025-03-28T14:03:50 Remove VVL error skips that have been fixed Bug: angleproject:42265220 Change-Id: I1588db6ec2846faf92eef9042ba483547c0f5127 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6410511 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
angle-autoroll 406f9217 2025-03-28T19:01:21 Manual roll vulkan-deps from 525b5b9d77ef to 23bc8dbadec2 (10 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/525b5b9d77ef..23bc8dbadec2 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/0e710677989b4326ac974fd80c5308191ed80965..8c88e0c4c94a21de825efccba5f99a862b049825 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/6b3cbe3f81357a47cdcac896bd9b145bcd3fa14e..10054abc9804429e754c89e086479ec02fbc1f41 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: I4127b1d4165da7c07248e678b6f9ad3b0640c676 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6408893 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 05d15800 2025-03-28T00:00:00 Ensure ValidatePixelStorei consistency Added missing return and frontend assertion for the GL_PACK_REVERSE_ROW_ORDER_ANGLE parameter. Covered by WebGLCompatibilityTest.EnablePackReverseRowOrderExtension Bug: angleproject:406922380 Change-Id: Iafa7646c0429d1269315e1003fac98d61231af55 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6409831 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov b1eecd41 2025-03-28T16:54:49 Skip flaky BlitFramebufferTest on Linux Intel GL Bug: angleproject:404958319 Change-Id: I287723feeb7ba3a526a9b4eab91ef53d16f436bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6409092 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuly Novikov 9542be7f 2025-03-28T16:37:15 Allow uninstantiated ContextNoErrorTestES31 No ES31 on iOS Metal. Bug: angleproject:406935597 Change-Id: I754c8bb7ba6a1798f7c55411ad5332eca8c7b86a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6409091 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 8c26988a 2025-03-28T13:56:40 Manual roll vulkan-deps from 436b13b0fc28 to 525b5b9d77ef (1 revision) Manual roll requested by ynovikov@google.com Update export_targets.py due to http://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/9790 conditionally including "parallel_hashmap/phmap.h" instead of "robin_hood.h" behind USE_CUSTOM_HASH_MAP. https://chromium.googlesource.com/vulkan-deps.git/+log/436b13b0fc28..525b5b9d77ef Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/2e6787d498d65bc20c195d667b8cd3c63e1a8aa9..6b3cbe3f81357a47cdcac896bd9b145bcd3fa14e 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: angleproject:42264327 Change-Id: I05b9511948e35f98d332ac70984eda7c6af5978e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6407871 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi 33b9c065 2025-03-27T18:22:30 Capture/Replay: Fix sample build It still doesn't correctly run however, it looks like loading the entry points is broken. Bug: angleproject:42264451 Change-Id: I946b07ea622145e62410d9739541e074904b7a6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6406213 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 184a389f 2025-03-27T00:00:00 Ensure program state for indirect draw entry points If the currently bound program is being relinked, Context::prepareForDraw needs to wait until it's ready before syncing the backend state. Added the required logic and no-op handling to indirect draw entry points. Fixed: angleproject:406935597 Change-Id: I82fb426b02a275bc67f71f9bd07484fa5802bc09 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6404481 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxiang Qian 0bd4e4fe 2025-03-20T17:34:47 Add EGL siblings check in eglCreateImage If a renderbuffer/texture is created from an EGL image, then it is an EGL target and considered as an EGL sibling. If it is used to create EGL image, then it would also be an EGL source. EGL_BAD_ACCESS should be returned. An end2end test is also added. Bug: angleproject:406029225 Change-Id: I51fe5b70d8a6d1939ae1defc02edfe5cf8167684 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6389218 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll ba74a1f3 2025-03-28T11:12:40 Manual roll vulkan-deps from 7f9757f8082d to 436b13b0fc28 (4 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/7f9757f8082d..436b13b0fc28 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/a48b473403b0990c62ff3175f1e63cbd8c906184..393d5c7df150532045c50affffea2df22e8231b0 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/32ee3e6e333a4bc4064fe64cfdfdcf6e71a92743..289efccc7560f2b970e2b4e0f50349da87669311 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/52b492f11e74dcd44ad3e906125feae79d440c99..2e6787d498d65bc20c195d667b8cd3c63e1a8aa9 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: I224054b58825dbaeaaee494f582fee4951c41b54 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6407315 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kimmo Kinnunen 4334125b 2025-03-14T16:12:32 Metal: Make StateCache descriptors hash consistent Various descriptors would compare equality and do hashing based on the underlying storage. The storage contains alignment padding and bitfields. The contents of these are not defined, even when the constructors tried to memset and memcpy. The various hash and compare functions also seemed to be missing some elements, like rasterSampleCount. Missing == on fields and hashing unused memory may lead to inconsistency where a==b is true but hash(a) != hash(b). Fix by: Remove the memset/memcpy and write out the operator== and hash() consistently. Initialize the members to their default values. Use uint32_t : 1 instead of bool if the struct tries to optimize for size, since mixing types stops the packing. Use uint32_t to get the alignment to uint32_t, which is mostly what is expected. Use uint32 someVar : N where N is payload bits + padding bits for the last member. This way the assignment clears the padding bits. The goal os to get the operator== to compare the padding bits, which lets the compiler elide the memberwise compares and use word-wise compares where it makes sense. This is an attempt to fix rare crashes related to map inserts and lookups. std::unordered_map will crash if operator== is not consistent with hash. Bug: angleproject:403372465 Change-Id: I0a3a2ff327ac9f65e7d41bc9585cda54ce93ab86 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6355828 Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll ddb625e1 2025-03-28T08:24:43 Roll Chromium from ec4e9eb8075e to 00f326e47697 (674 revisions) https://chromium.googlesource.com/chromium/src.git/+log/ec4e9eb8075e..00f326e47697 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/c78c56ad7e..69a0df1110 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/4eaf4a392d..f04b724022 * third_party/android_build_tools/manifest_merger/cipd: YS3S6_AiCf06beDfeUId4rgDQEi9n0QGN_dUHdUiMx4C..Gv6-zTnY5Cj7i1ck5bS92diwCClFq1HHoTCf4kWr4SsC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/d405938e5a..058fc7baf2 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/5b44c1060a..5b409767f0 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/225cbadd34..ffdeea1ab2 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/b370f51abd..b714f7890b * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/64b6cce205..ed57732033 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/1c3ff5c90c..0078c27c43 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/20b7955065..d1c57e211b * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/a3f52bfa9f..01d0ad994b No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: Ib21ab9efd433a324495bc8e6f3afc5980abbc093 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6405728 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev 799d301f 2025-03-27T00:00:00 Ensure program state for multi-draw entry points If the currently bound program is being relinked, Context::prepareForDraw needs to wait until it's ready before syncing the backend state. Aligned all three no-op draw context helpers. Fixed: angleproject:406814763 Change-Id: I10eed90bb2fe853b558291fc8fe17d13652e0420 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6405536 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Robic Sun 7fb1ac40 2025-03-10T20:28:56 Support EGLImageTargetTexture2DOES + GenerateMipmap According to the spec, If an application adds mipmap levels to a texture originally created with EGLImageTargetTexture2D, OpenGL will allocate new memory for the updated texture, copying existing data, including from the EGLImage source. So, relevant support is added. Bug: angleproject:405840226 Change-Id: I4495df2d8ee1e18b4482808a290dcd861ef85b77 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6335305 Auto-Submit: Robic Sun <Robic.Sun@arm.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Igor Nazarov 8cf89716 2025-03-14T20:17:07 Vulkan: Remove perFrameWindowSizeQuery feature Feature was enabled for all platforms in order for surface to be resized before acquire next image (not only after swap). Remove it, as if it's always enabled to simplify the code. Bug: angleproject:397848903 Bug: angleproject:42262287 Bug: angleproject:42262286 Bug: angleproject:40096601 Change-Id: I768772e30f5f38f68992e5b82c84430732aa77d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6354166 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu e4bfa483 2025-03-27T10:54:19 Remove VVL error skips that have been fixed Bug: angleproject:42265220 Change-Id: I9d6cb7ee4ace27cad5ef3db84d83ded6ca9095f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6404613 Auto-Submit: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Igor Nazarov 081934f6 2025-03-12T15:22:31 Vulkan: Add avoidInvisibleWindowSwapchainRecreate feature There is a bug on some NVIDIA drivers on Linux X11 when `vkAcquireNextImageKHR()` constantly returns `VK_ERROR_OUT_OF_DATE_KHR` if recreate the swapchain while window is not visible. If not recreate the swapchain after window resize - nothing happens, acquire and present works without errors. But if recreate the swpahchain to the `VkSurfaceCapabilitiesKHR::currentExtent` the next `vkAcquireNextImageKHR()` will return `VK_ERROR_OUT_OF_DATE_KHR`. ANGLE will retry to recreate the swapchain one more time and fail the call. Enabling the "avoidInvisibleWindowSwapchainRecreate" feature will avoid swapchain recreation when window size changes while it is not visible. Test: angle_end2end_tests --gtest_filter=EGLSurfaceTest.ResizeInvisibleWindow/* Bug: angleproject:397848903 Bug: angleproject:42264022 Bug: angleproject:42263074 Change-Id: I48588bf467d15c0e84b923092e06a42c22084dcc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6348739 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov caf14998 2025-02-25T17:28:05 Vulkan: Fix window surface resize and size query Added `mSizeState` enum member. When it is not `Resolved`, surface size is not yet resolved and may change any time in response to native window resize. Otherwise, surface size is resolved and will not change until next swap. Updated `getUserWidth()`/`getUserHeight()` methods. They return current window size when surface size is not resolved, or current surface size, otherwise. Window size is queried either by `getCurrentWindowSize()`, when surface is sized by swapchain, or by querying vulkan surface capabilities. The "perFrameWindowSizeQuery" feature controls when `mSizeState` is updated. Initially it is not resolved. Marked as not resolved in `invalidateSwapchain()`, and in `deferAcquireNextImage()` when the feature is enabled. It is marked as resolved after swapchain is created when feature is disabled, or in `AcquireNextImageUnlocked()` function after acquire next image, otherwise. Enabled some tests that were previously failing. Replaced old resize tests with new versions. Test: angle_end2end_tests --gtest_filter=EGLSurfaceTest.Resize*/* Bug: angleproject:397848903 Bug: angleproject:373659619 Bug: angleproject:153329980 Bug: angleproject:42266013 Bug: angleproject:42265843 Bug: angleproject:42265529 Bug: angleproject:42264022 Bug: angleproject:42263074 Bug: angleproject:42261800 Bug: angleproject:40096826 Change-Id: I3ad836960a68229fab6c94624022f1a0aaf2c3e5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6300645 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
Igor Nazarov e44357c6 2025-03-25T15:50:15 Vulkan: Do not defer ANI in shared present mode Calling ANI in shared present mode is not necessary after the initial acquire. Skip calling `deferAcquireNextImage()` in that mode. For code simplicity and as a preparation for (anglebug.com/400711938), the `invalidateSwapchain()` method is now also defers ANI and notifies `SubjectMessage::SurfaceChanged` to the parent class. `Framebuffer` message handling was updated to also reset color buffer dirty bit and to notify `SubjectMessage::DirtyBitsFlagged` if needed, as in the `SubjectMessage::SwapchainImageChanged` message case (which will be removed in future CL). This way, single `SubjectMessage::SurfaceChanged` message is enough to handle swapchain recreate. The `VK_SUBOPTIMAL_KHR` is no longer treaded as OUT_OF_DATE when in shared present mode. Added for consistency (since we are already skipping "perFrameWindowSizeQuery" checks), to preserve content, and to match the Android native GLES driver behavior. Call `invalidateSwapchain()` when swapchain operations fail to avoid repeated swapchain use and to be able to recover from the error. The `checkForOutOfDateSwapchain()` was split into two methods: - checkForOutOfDateSwapchain(): - Called only after present. - Checks present out of date result and present mode compatibility. - Invalidates the swapchain and updates the present mode if the above checks fails. - prepareSwapchainForAcquireNextImage(): - Calls `queryAndAdjustSurfaceCaps()` and `recreateSwapchain()` if swapchain is invalid. - Calls `queryAndAdjustSurfaceCaps()` and checks surface properties when "perFrameWindowSizeQuery" is enabled. Then calls `recreateSwapchain()` if something changed. Other changes: - The `prepareForAcquireNextSwapchainImage()` method was replaced with `prepareSwapchainForAcquireNextImage()`. - Removed `doDeferredAcquireNextImageWithUsableSwapchain()` and `postProcessUnlockedAcquire()` methods because of redundancy. - Move image invalidation code into `acquireNextSwapchainImage()` to make `doDeferredAcquireNextImage()` simpler. - Convert `resizeSwapchainImages()` into `createSwapchainImages()` for simplicity. Updated old and added new tests. Test: angle_end2end_tests --gtest_filter=EGLSurfaceTest.ReadFramebufferBindingSyncState/* Test: angle_end2end_tests --gtest_filter=EGLSingleBufferTest.OnCreateWindowSurface/* Test: angle_end2end_tests --gtest_filter=EGLSingleBufferTest.OnSetSurfaceAttrib/* Test: angle_end2end_tests --gtest_filter=EGLSingleBufferTest.WindowResize/* Test: angle_end2end_tests --gtest_filter=EGLSingleBufferTest.WindowRotation/* Bug: angleproject:400711938 Bug: angleproject:397848903 Bug: angleproject:42262606 Change-Id: I2247417aa8b7b5afc10a8420083aeb845895aec9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6387920 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov a0f54ac0 2025-03-26T21:44:38 Remove DIRTY_BIT_READ_FRAMEBUFFER_BINDING sync during draw Remove `state::DIRTY_BIT_READ_FRAMEBUFFER_BINDING` synchronization from `prepareForDraw()`, since it does not synchronize the `DIRTY_OBJECT_READ_FRAMEBUFFER`. This is to avoid synchronizing with invalid read framebuffer state. It seems that in the current code this bug does not cause any real problems and it is not possible to write test that will fail. On Vulkan back-end, this is because `DIRTY_BIT_READ_FRAMEBUFFER_BINDING` is always reset after new swapchain is created (`SubjectMessage::SurfaceChanged`). Therefore, each time `DIRTY_OBJECT_READ_FRAMEBUFFER` is synchronized, `DIRTY_BIT_READ_FRAMEBUFFER_BINDING` will be also set. However, in the follow up CL the problem becomes possible. Without this change some gold trace tests will fail. Bug: angleproject:400711938 Change-Id: I375578a848a7cee044ca4d768266f3d3efa97e44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6396863 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Charlie Lao e339f91c 2025-03-21T10:22:59 Vulkan: Split asyncCommandBufferResetAndGarbageCleanup into two Right now this one feature flag controls garbage clean up and command buffer reset. If this is enabled, we are seeing command buffer reset some times runs on small core and some times gets blocked by mutex lock inside vulkan driver. This could take quite long while main rendering thread is blocked by ANGLE's CommandPoolAccess lock. This CL splits this feature flag into two separate feature flag: asyncGarbageCleanup controls garbage clean up in the async thread or not. asyncCommandBufferReset controls commandBuffer.reset in the async thread or not. This CL also disables commandBuffer.reset in async thread only on ARM given there is no data shows other GPUs suffer form the same problem. Bug: angleproject:378718508 Change-Id: Ice87b5b91568a0a95e0064da2b70243516ff6753 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6381893 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 9fbadee2 2025-03-27T07:01:41 Roll Chromium from c26f9f13bc34 to ec4e9eb8075e (527 revisions) https://chromium.googlesource.com/chromium/src.git/+log/c26f9f13bc34..ec4e9eb8075e 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/4d887a18bf..c78c56ad7e * testing: https://chromium.googlesource.com/chromium/src/testing/+log/e7c9cf6679..4eaf4a392d * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/cc230bcfdb..f4cca3dc40 * third_party/android_build_tools/error_prone/cipd: TKp0LDZjoG40SrElfQevGD9zDvVypBnRPWTzv8bnTw4C..2cQ2nbgV3geU7-RincCggMgIe4NuUB_eW5Rm58CgMY8C * third_party/fuchsia-sdk/sdk: version:27.20250315.3.1..version:27.20250326.5.1 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/0976d379ac..225cbadd34 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/3dc91fddac..b370f51abd * third_party/r8/cipd: ndWIWvDcLevC5ncEMCecbP5P2I14hzX-vXJYZ8nXca0C..lg4ep5S4K6V2zni9jgt42ga6U-8AR6aAWNSqbe2VdmoC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/3725f19664..c321e793a0 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/0a2cc8e6bd..a3f52bfa9f * tools/skia_goldctl/linux: 0ps-l8mRTTN201wtV06SE9BQ8acDQepzTQuKGwjdx7UC..vazjtxPs2ne3diaKMZlh4oRw0uOc0QRtGX1ef8Mk1XwC * tools/skia_goldctl/mac_amd64: 1MzaLm4dpkO6GOWIo9DgFQ8siBuNIkgvvYvc3Re90BkC..2r-pYYyfAsqSnHU2lu_Wks4oYZe25O8BkIr57nrTkxYC * tools/skia_goldctl/mac_arm64: 7Z9bgZEeJIsLcQgy1Ja_awD0_LBNFwXQs83sUKD6oSAC..3Y8BzQv26tXLWIz4Yxmu5__U7FuZI-Lj6sGFEHe3jA4C * tools/skia_goldctl/win: KaIz2j3UBqXW6_YWBbcFxtP09hi_NxrrF19F6evtH2UC..Bmh87jeaHatj39PYjQrF4wz1Ly2FIHp_11IwqQKX_KkC No update to Clang. Bug: None Tbr: ynovikov@google.com Change-Id: I456cf88f2ccf3a996c07150004f1bb8ec1be8935 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6400433 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov a3d8058e 2025-03-27T15:21:20 Stop rolling more deps into Android Remove not needed dependencies: third_party/bazel third_party/colorama third_party/proguard third_party/turbine Bug: None Change-Id: I6da1610b7fcb700decbf7f6778e920030a419dc9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6402455 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Xinyu Fang 94e93cb5 2025-03-14T10:24:02 Add validation of type mismatch for glQueryCounterEXT The list of modified validation API: - ValidateQueryCounterEXT Bug: angleproject:403313561 Change-Id: Iff0b5c90417df7c1ae6ecf871892fa5bad7533d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6355765 Auto-Submit: Xinyu Fang <xinyu.fang@arm.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 1a24f8f8 2025-03-26T17:34:26 Update formatting in EGLPrintEGLinfoTest Replace all occurrences of "\t" with 4 spaces and remove trailing whitespace Bug: angleproject:42262676 Change-Id: I7378669a7d080a9db10ac100d00a3d3aa5292abb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6396628 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov e265a38d 2025-03-26T09:32:47 Tests: Update ChangeFBOSizeWithNoAttachments test Replace `GL_DRAW_FRAMEBUFFER` with `GL_FRAMEBUFFER`. This should not make any difference, since test does not use the read framebuffer, but it causes failure on Intel GPU on Window. Test works as expected if bind default framebuffer to the `GL_READ_FRAMEBUFFER` binding. GL beck-end internally uses `GL_FRAMEBUFFER` in many places. Correct draw and read framebuffers are restored at draw time. Note, that syncing `DIRTY_BIT_READ_FRAMEBUFFER_BINDING ` during draw is unnecessary and may even cause bugs (because `DIRTY_OBJECT_READ_FRAMEBUFFER` is not also synchronized). This may be fixed in future CL, which will cause this test to fail even if keep it as-is. It is because read framebuffer binding will be left in dirty state after internal `GL_FRAMEBUFFER` bindings. Test: angle_end2end_tests --gtest_filter=FramebufferTest_ES31.ChangeFBOSizeWithNoAttachments/* Bug: angleproject:42266132 Change-Id: Ic6b7cdc2f0c94905f8387624d514a1d18e5b2572 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6396635 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
angle-autoroll 3666fd3e 2025-03-27T10:01:45 Roll vulkan-deps from 0260be706411 to 7f9757f8082d (10 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/0260be706411..7f9757f8082d Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/7c88b13b5de594847b48206ce52781282b1b719f..6f355619b1b1bfce2b5fb1dcf2aca0d55f9606de https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/6a6693d1c88670ed96968b09fde8ddff10ce3cd5..a48b473403b0990c62ff3175f1e63cbd8c906184 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/04e2efb904a224bd7014cd4b0a8539bdc85e4658..0d5b49b80f17bca25e7f9321ad4e671a56f70887 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/a7e57c3645e2aec6bd62599bfd7d85702f6c63e7..52b492f11e74dcd44ad3e906125feae79d440c99 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: I8a674a276497444369f31bd25640030e65609a2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6400135 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 253ceef5 2025-03-27T10:38:17 Skip PixelLocalStorageTest.TextureCubeFaces on iOS Metal Fails since it was added https://chromium-review.googlesource.com/c/angle/angle/+/6394235 https://ci.chromium.org/ui/p/chromium/builders/ci/ios-angle-intel/75904/overview Bug: angleproject:40096838 Change-Id: I850ca3c9abe9548c0ff04ec3dbec7a660ea4d4ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6400617 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuxin Hu f841d12a 2025-03-26T14:22:16 Remove VVL error skips that have been fixed Bug: angleproject:42265220 Change-Id: Ieb0638e3c28dd4dacaeebdcc45de381c994f4bdb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6397943 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Alexey Knyazev f94b8ed1 2025-03-24T00:00:00 Allow PLS planes backed by cube map faces Adjusted extension validation and spec language. Bug: angleproject:40096838 Change-Id: I6e36fe63ed9d9d91a92298e3471b084b225ecfd9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6394235 Reviewed-by: Chris Dalton <chris@rive.app> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Kimmo Kinnunen c2679dbc 2025-03-10T12:15:08 Key vertex array index range cache on restart Key vertex array index range cache on primitive restart enablement. Add the test to WebGLCompatibilityTest as otherwise the VertexArray::getIndexRange() is not testable. Currently WebGL compatibility contexts allow changing primitive restart. Bug: angleproject:401284933 Change-Id: I48a53770d7dcb2276b89fd743f4834c53c8d8d1e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6333538 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Alexey Knyazev 09c7dc63 2025-03-24T00:00:00 Fix cube map array dimensions validation * Used correct caps for width, height, and depth limits in TexImage entry points with cube map arrays. * Used correct dimensions for checking max possible level in TexStorage3D entry point with cube map arrays. * Used correct caps for width, height, and depth limits in TexStorage3D entry point with cube map arrays. Fixed: angleproject:406012438 Change-Id: I935de34db0854627a8a0b00cfc0bfa8cf0de06e9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6387919 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 1d950a16 2025-03-26T13:28:28 Manual roll Chromium from e8041ceda959 to c26f9f13bc34 (719 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/e8041ceda959..c26f9f13bc34 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/1a16d344c9..4d887a18bf * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5ca98fb591..e7c9cf6679 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/1a4a71635b..d405938e5a * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/ca135ac1f3..5b44c1060a * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/b0d88e0a49..0976d379ac * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/7c4f21608b..3dc91fddac * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/c317d3babd..64b6cce205 * third_party/siso/cipd: git_revision:ae99e5f46d1fbc718ad9c28bb82c16883d7de99b..git_revision:68bdc49e4e23aef066fc652cbdb1b4973aab1a31 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/8906101b9e..3725f19664 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/e8e9310bb0..1c3ff5c90c * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b853958162..0a2cc8e6bd * tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/f26c92c0db..7cdd3d9540 No update to Clang. Bug: angleproject:389733590,angleproject:40096838 Tbr: ynovikov@google.com Change-Id: I3a5b4f5822df8e861c6b780b1b5ffafd8b3acb6d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6394500 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 3fac2cff 2025-03-26T12:32:49 Roll vulkan-deps from 566482d283d6 to 0260be706411 (8 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/566482d283d6..0260be706411 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/ada1771a9f7a125573aa94fe551fdc44b45769bd..6a6693d1c88670ed96968b09fde8ddff10ce3cd5 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/8aa9d7eac04a356782e91b49c4b65f1905c8329b..a7e57c3645e2aec6bd62599bfd7d85702f6c63e7 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: I0266e927ee99aa3ac4ebe2663dae3d79a13943a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6394778 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 3bedb294 2025-03-26T13:04:52 Skip flaky BlitSmallColorLargeDepthAttachments on Mac Intel GL Bug: angleproject:404959032 Change-Id: Idf972e36a0f10b14e89df54fd94572e2c6cede1e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6394382 Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 7831e2ad 2025-03-25T19:45:58 Allow uninstantiated ClearTextureEXTTest tests on iOS ClearTextureEXTTestES31Renderable ClearTextureEXTTestES31Unrenderable Not instantiated, since iOS Metal backend doesn't support ES3.1 https://ci.chromium.org/ui/p/chromium/builders/ci/ios-angle-intel/73740/overview Bug: angleproject:384967031 Change-Id: If01cdcd40224856233dde836cbd8a76129172052 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6394256 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Liza Burakova 5024ccef 2025-03-25T11:37:19 WebGPU: Emulate line loops with primitive restarts Bug: angleproject:383356846 Change-Id: Iab1d658cb3c5e32f88241f6757d1c2e5a84bf8ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6297524 Commit-Queue: Liza Burakova <liza@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov d671a625 2025-03-25T18:55:43 Further remove r8 and android_system_sdk from Android rolls https://chromium-review.googlesource.com/c/angle/angle/+/6387225 removed them from third_party, but some files were still referenced by Android.bp Bug: None Change-Id: I18a208e60239320b1315590e8e967ee996f3e4d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6393655 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 6bb1576c 2025-03-25T16:36:49 Remove not needed third_party deps from Android rolls Bug: None Change-Id: Icc12f3f6c84c21fcb8c76881f8849c7cad358dde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6387225 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Hans Wennborg 66914aac 2025-03-25T02:03:18 Revert "Tests: suppress -Wunused-private-field warning" This reverts commit 6808ef839ad26a21465e877e810792ff8b6ebf06. Reason for revert: The unused member variable was removed in https://github.com/KhronosGroup/VK-GL-CTS/commit/d07776ce3fe452cd22f28acd82325e82d4ca07ac which was rolled into Angle in https://chromium-review.googlesource.com/c/angle/angle/+/6342525 Original change's description: > Tests: suppress -Wunused-private-field warning > > The latest version of Clang warns about an unused member variable in > es31fSRGBDecodeTests.cpp. Suppress it for now. > > Bug: chromium:393942204 > Change-Id: Ic03c2f8f2710ff3ccf44c102d1fd991bc4d1d380 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6226805 > Auto-Submit: Hans Wennborg <hans@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> > Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Bug: chromium:393942204 Change-Id: I92ac62b708c72b24c9909b047165466c8eb94da5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6388618 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com>