Log

Author Commit Date CI Message
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>
Yuly Novikov 3cf0e755 2025-03-24T18:37:30 Allow uninstantiated TextureFixedRateCompressionTest on iOS Not instantiated, since iOS Metal backend doesn't support ES3.1 https://ci.chromium.org/ui/p/chromium/builders/ci/ios-angle-intel/72008/overview Bug: angleproject:352364583 Change-Id: I8dc2c19d90ac2d78a71b365492676b9caf575826 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6388616 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 03fd8198 2025-03-25T10:01:56 Roll vulkan-deps from acafa2b3b5e2 to 566482d283d6 (11 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/acafa2b3b5e2..566482d283d6 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/80814c3ed544804f19d9fc4bd9992c6e3b59482a..7c88b13b5de594847b48206ce52781282b1b719f https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/47404470464709ed5c4b660f9ebc73c717e85a50..723d6b4aa35853315c6e021ec86388b3a2559fae https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/ccae111ac678adbc9c74be10c8384cd1af835710..04e2efb904a224bd7014cd4b0a8539bdc85e4658 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/c4bb30a8ac551a36e91d0e7caab13fe895c31157..8aa9d7eac04a356782e91b49c4b65f1905c8329b 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: Id09e5b4b9c564304c42a5377b1fae1d271932439 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6390835 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 1990780c 2025-03-25T03:01:26 Roll SwiftShader from 76ce2c6def3d to e48c89759b6c (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/76ce2c6def3d..e48c89759b6c 2025-03-24 syoussefi@google.com Update `bloat` third party metadata 2025-03-24 swiftshader.regress@gmail.com Regres: Update test lists @ 76ce2c6d 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,ynovikov@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: ynovikov@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I4ef641cc0d4940101dde3d5be54c939436a5d7ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6390778 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 1171812b 2025-03-25T07:51:59 Roll Chromium from 8ed024e3dd40 to e8041ceda959 (644 revisions) https://chromium.googlesource.com/chromium/src.git/+log/8ed024e3dd40..e8041ceda959 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/e23778d8c3..1a16d344c9 * buildtools/linux64: git_revision:18602f6cf1168cf78302024043edc02e8bad2ffb..git_revision:6e8e0d6d4a151ab2ed9b4a35366e630c55888444 * buildtools/mac: git_revision:18602f6cf1168cf78302024043edc02e8bad2ffb..git_revision:6e8e0d6d4a151ab2ed9b4a35366e630c55888444 * buildtools/win: git_revision:18602f6cf1168cf78302024043edc02e8bad2ffb..git_revision:6e8e0d6d4a151ab2ed9b4a35366e630c55888444 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/b484e2a530..5ca98fb591 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/07dc7b44dc..1a4a71635b * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/582e2efe2e..ca135ac1f3 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/cac770553a..b0d88e0a49 * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/d59893260d..c317d3babd * third_party/turbine/cipd: VDRfuS7ecfYWh2qfdysLpI-mb2ankqRuZ6fl6RSDgZYC..lnlrbUuImYl1BaRqVclTMOqA0KVYDYdym4ujLkPurbMC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/ad02f0438d..8906101b9e * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/30a3e20c3d..e8e9310bb0 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/56c4d7a185..20b7955065 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c4b39fbe30..b853958162 No update to Clang. Bug: angleproject:40096838 Tbr: ynovikov@google.com Change-Id: Iee75196368158fc30beea035ea08be8820b889bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6386423 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Aurora Zhang 34db1c20 2025-03-20T12:56:42 Vulkan: glReadPixels should nearest sample the YUV render target Vulkan backend uses texture except texelFetch to obtain the YUV image value for glReadPixels. According to the chroma filter set in the image, it may apply LINEAR sampling. * Change this filter to NEAREST inside glReadPixels to get the correct pixel values. * Modify the fragment shader used in glReadPixels to make sure sampling from the center of the pixel. * Add a new end2end test. Bug: angleproject:404394628 Change-Id: I0e574a464639e11671f0a09eee3e9f38b5abd919 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6366299 Auto-Submit: Aurora Zhang <Aurora.Zhang@arm.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Devon Loehr 99037f70 2025-03-24T08:51:58 Remove unnecessary virtual specifiers Clang has added a new warning for virtual specifiers on methods of `final` classes. This cleans them up in preparation for enabling that warning. Bug: chromium:403236787 Change-Id: I7acee9b2b99f13279d50ebe2cef832e734792546 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6388035 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Brandon Castellano d3c9719b 2025-03-24T19:48:17 [fuchsia] Simplify connecting to service Use helper function that automatically opens the service root and connects to the named service inside. This avoids the need to keep a handle around. This is being done as part of the io2 migration, where opening the /svc directory requires PERM_READABLE in most cases. Bug: fuchsia:324111518 Bug: fuchsia:376575307 Change-Id: I3731719f46b7b7cb028e03b936cdf9716f3a8f81 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6388875 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Yuly Novikov 316c99e1 2025-03-24T19:42:03 Suppress 3 PixelLocalStorageTest on iOS Metal PixelLocalStorageTest.ColorAttachment0Workaround PixelLocalStorageTest.CopyTexSubImage PixelLocalStorageTest.RasterizerDiscard Bug: angleproject:40096838 Change-Id: I92d403d67495907042b37ffc5a689eea8b18b1da Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6387040 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Shahbaz Youssefi dba77589 2025-03-21T14:02:29 Translator: Fix output-variable-init vs after-main declarations Bug: chromium:400504716 Change-Id: I105180cd10dda5238c228d16c9f4e15f1bf49e77 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6383079 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Dalton ea58cc5d 2025-03-21T10:06:18 PLS: Validate mip level bindings are within base/max range It is undefined behavior for imageLoad/imageStore to access a mipmap level outside the effective base/max range. Since PLS may be implemented with shader images, we need to require that the mip level bindings on active planes are within this range. Bug: angleproject:40096838 Change-Id: I539016d94db161f1af0ae1bd496a123b78fb51dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6382273 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Chris Dalton <chris@rive.app>
Yuly Novikov 22744d7e 2025-03-24T18:29:29 Skip GLSLTest_ES3.MaxVaryingWithFeedbackAndGLline on iOS Metal Bug: angleproject:375244081 Change-Id: Id29dc201ff93f880c4de104e3194d7b4c51b118f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6388615 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Yuly Novikov 3cfc0ce2 2025-03-24T07:41:33 Revert "Vulkan:Dont use Subject/Observer for SwapchainImageChanged" This reverts commit 48103cb2f2b292cb50cc5a29546b358b2e47fd29. Reason for revert: assert fails https://ci.chromium.org/ui/p/angle/builders/ci/android-arm64-exp-test/7085/overview I 22:27:33.697 77.533s _RunTestsOnDevice(17221FDF6000A4) [ RUN ] EGLAndroidAutoRefreshTest.SwapCPUThrottling/ES3_Vulkan_NoFixture INFO:root:ERR: SurfaceVk.cpp:3165 (getCurrentFramebuffer): ! Assert failed in getCurrentFramebuffer (../../src/libANGLE/renderer/vulkan/SurfaceVk.cpp:3165): mAcquireOperation.state == ImageAcquireState::Ready Original change's description: > Vulkan:Dont use Subject/Observer for SwapchainImageChanged > > 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 > Change-Id: I61354516fd0aa307714b7abd30c6b6e45ff7b496 > 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> Bug: angleproject:400711938 Change-Id: Ib7899d1ac63a1f86af0953a1d25922578c470fc9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6387755 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov ad3aa70d 2025-03-24T15:12:18 Skip TraceTest.respawnables also on Android Already skipped on Windows and Linux. Bug: angleproject:42266627 Change-Id: Ia0a50f3357d8f7e60a3bde669c87f66e994063be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6387159 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Jiaqi Li cbe26d0c 2025-03-04T16:56:26 Wrong texture coordinates sent to VULKAN for blit In ANGLE's Vulkan backend, complex blit operations are implemented using draw calls that utilize samplers and shaders, with texture coordinates passed via push constants. In this test case, texture coordinates are calculated based on the effective framebuffer size, which is determined by the smallest attachment dimensions. However, the draw call is executed on an attachment with its original size, leading to unexpected texture coordinates and incorrect sampling results. Use ReadImageExtent size instead of framebuffer effective size to calculate the sample texture coordinate. Bug: angleproject:400584608 Change-Id: I06f0a1e48463f36aef7189f772515561d2e752d1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6321348 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Jiaqi Li <Jiaqi.Li@arm.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi d314868d 2025-03-21T16:13:45 Translator: prune `side_effect,noop` to `side_effect` ... if the result is unused. If `noop` includes a reference to a struct that's entirely made of samplers, the transformation that removes samplers from structs doesn't know what to do with the empty expressions. Bug: chromium:390467743 Change-Id: I62ccce6031e1bb4a0c875d0f7dce9adefb7e208d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6383081 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 8bfcc47a 2025-03-23T12:21:19 Make cl format add braces to ifs and loops Use clang-format InsertBraces: true to add braces to ifs and loops as per the code style. Bug: angleproject:405654904 Change-Id: I6f4329fc3c7e19882db21db7b69aa384f0c493bc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6383365 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Igor Nazarov 1166eec4 2025-03-20T02:02:50 Move TRACE_EVENT inside acquireNextSwapchainImage() The `acquireNextSwapchainImage()` is no longer called from surface initialize, which allows to move the trance event inside the function. Change also uses loop to handle repeated ANI retry instead of call duplication. This is done to further reduce code duplication in the next CL. Additionally, fixed assert that was missed in recently merged CL: Vulkan: Remove recreateSwapchain ContextVk dependency https://crrev.com/c/angle/angle/+/6298733 Bug: angleproject:397848903 Bug: angleproject:42261625 Change-Id: Iae2ce35018d4fe105430271b56804af8c74152c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6372565 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll a4d4a773 2025-03-24T10:01:41 Roll vulkan-deps from d6d779f39976 to acafa2b3b5e2 (22 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/d6d779f39976..acafa2b3b5e2 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/db06346b03b5e01b8af58b842fe4b068f47f9e46..ada1771a9f7a125573aa94fe551fdc44b45769bd https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/54cbefd25dbcaeb2bb03da207afce6cad7fb5dd1..47404470464709ed5c4b660f9ebc73c717e85a50 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/072c8124dc6721df9b9c47f48830319b3218227a..32ee3e6e333a4bc4064fe64cfdfdcf6e71a92743 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/bc3a4d9fd9b46729651a3cec4f5226f6272b8684..ccae111ac678adbc9c74be10c8384cd1af835710 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/b817f36ef1995f328457a8d2cfca363ac67da810..c4bb30a8ac551a36e91d0e7caab13fe895c31157 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: I9831a82fc63deb43447a234cbc3e92d3691ac4e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6386775 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7a9e6af4 2025-03-24T08:00:59 Roll VK-GL-CTS from 3a44cb1c4ae9 to 57854cfe3f6c (9 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/3a44cb1c4ae9..57854cfe3f6c 2025-03-20 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.2 into vk-gl-cts/main 2025-03-20 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.6 into vk-gl-cts/main 2025-03-20 lionel.g.landwerlin@intel.com Test non buffer aligned descriptor buffer bindings 2025-03-20 macjurga@amd.com Add update to indirect AS build tests 2025-03-20 michal.jakubek@mobica.com Fix validation error in maximal reconvergence tests. 2025-03-20 piotr.byszewski@mobica.com Fix VUID-01197 in formats DR tests 2025-03-20 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.12 into vk-gl-cts/main 2025-03-19 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/vulkan-cts-1.4.2 2025-03-18 lorenzo@khronosgroup.org Allow conformance version Vulkan CTS 1.4.2.0 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: If9749a4b8290d512db4fe4455ecdd30c2809b19a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6385796 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 08b690bd 2025-03-24T07:01:04 Roll Chromium from 6651f6bac933 to 8ed024e3dd40 (569 revisions) https://chromium.googlesource.com/chromium/src.git/+log/6651f6bac933..8ed024e3dd40 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/4c7215770c..e23778d8c3 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/a0cb3f3cc4..b484e2a530 * third_party/android_build_tools/lint/cipd: MQDFXnhKbdeZPJ4I_uqwhEEJmTvS082X-fI65Z-izhgC..DGEQcQfbonqqmrtaKLbu7qkNhJgyZ5ONzcseAUFVX08C * third_party/android_build_tools/manifest_merger/cipd: tn0WN5WVlfko88RztSP0vzEJjavXf2mLfSzTkjiVu7sC..YS3S6_AiCf06beDfeUId4rgDQEi9n0QGN_dUHdUiMx4C * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/d39f0a066c..07dc7b44dc * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/30602c7d7e..582e2efe2e * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/9d6f545b23..cac770553a * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/d74ae094be..d59893260d * third_party/siso/cipd: git_revision:3a38836e06344016dce6092148a07a114807f9f0..git_revision:ae99e5f46d1fbc718ad9c28bb82c16883d7de99b * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/f96facd363..ad02f0438d * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/a16b6e1994..30a3e20c3d * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/e09270bb00..c4b39fbe30 * tools/skia_goldctl/linux: XLVBOTqppDs44VPShPq-LNUExilwozfsAFNwOvgHXyUC..0ps-l8mRTTN201wtV06SE9BQ8acDQepzTQuKGwjdx7UC * tools/skia_goldctl/mac_amd64: lFO_iqBQ3I_eIiHT9ZNm_gOlNWgujqau62cBmq8rnGQC..1MzaLm4dpkO6GOWIo9DgFQ8siBuNIkgvvYvc3Re90BkC * tools/skia_goldctl/mac_arm64: PR2de_0kpXcWK68pvIEWchG-qruUZKsuCgXvw-gUQAcC..7Z9bgZEeJIsLcQgy1Ja_awD0_LBNFwXQs83sUKD6oSAC * tools/skia_goldctl/win: oulgI4CSG9Ztg1BdF-1a5BIuFyw8GJXYoe_8xpU3Fh0C..KaIz2j3UBqXW6_YWBbcFxtP09hi_NxrrF19F6evtH2UC No update to Clang. Bug: angleproject:40096838 Tbr: ynovikov@google.com Change-Id: I1ec899b0020a85ca03db2439b8fa6330bf7e21d9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6385893 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 48103cb2 2025-03-03T16:43:33 Vulkan:Dont use Subject/Observer for SwapchainImageChanged 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 Change-Id: I61354516fd0aa307714b7abd30c6b6e45ff7b496 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>
Yuly Novikov d82f5f57 2025-03-21T17:23:59 Roll chromium_revision 915b95b37e..6651f6bac9 (1435305:1436129) Manual roll due to android_sdk 35->36 upgrade. Change log: https://chromium.googlesource.com/chromium/src/+log/915b95b37e..6651f6bac9 Full diff: https://chromium.googlesource.com/chromium/src/+/915b95b37e..6651f6bac9 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/bcaac35c14..4c7215770c * testing: https://chromium.googlesource.com/chromium/src/testing/+log/47fd9450d1..a0cb3f3cc4 * third_party/android_build_tools/lint/cipd: odcjZlUmjWZk6VZnsugQkE4nsFF-VdD-G135sycPHYgC..MQDFXnhKbdeZPJ4I_uqwhEEJmTvS082X-fI65Z-izhgC * third_party/android_build_tools/manifest_merger/cipd: OJahXQ5LdQI3cNQMiXIWeTPhSsH79erMnSSsuSMxRRsC..tn0WN5WVlfko88RztSP0vzEJjavXf2mLfSzTkjiVu7sC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/6f7e02c093..d39f0a066c * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/62e770d665..4c4968f108 * third_party/android_sdk/public: DxwAZ3hD551Neu6ycuW5CPnXFrdleRBd93oX1eB_m9YC..y3EsZLg4bxPmpW0oYsAHylywNyMnIwPS3kh1VbQLAFAC * third_party/android_sdk/public: WihaseZR6cojZbkzIqwGhpTp92ztaGfqq8njBU8eTXYC..mjFmRj7k_XR9yj60pYbr9mG38FyEbU5oWdU56bZQ5cwC * third_party/android_sdk/public: kIXA-9XuCfOESodXEdOBkW5f1ytrGWdbp3HFp1I8A_0C.._YHemUrK49JrE7Mctdf5DDNOHu1VKBx_PTcWnZ-cbOAC * third_party/android_system_sdk/cipd: XzzECzCzGLrccJS1U-HdmM5VMh9BotgQ_mWhFQ464PwC..Pfb3HDUW_uRir_VVTCYkGhf6bnPPF55NUJO2WXOxIe0C * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/d9c28e08e6..30602c7d7e * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/bf613fe20a..9d6f545b23 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/dbe04005a2..7c4f21608b * third_party/r8/cipd: f-Ka2tsB3j_I6-Av4qE9ftl6KddtjV-pRVcUUc9cgYQC..ndWIWvDcLevC5ncEMCecbP5P2I14hzX-vXJYZ8nXca0C * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/626d498fed..d74ae094be * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/0b05b2efc6..f96facd363 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6806d50dd4..a16b6e1994 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/61f390a8b5..56c4d7a185 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c7cb9ed3d7..e09270bb00 DEPS diff: https://chromium.googlesource.com/chromium/src/+/915b95b37e..6651f6bac9/DEPS No update to Clang. Bug: None Change-Id: Ib66c35696903d96f0270302490c81cde6e2a36f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6382104 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Geoff Lang b9567391 2025-03-20T14:10:21 Prefer Device type requests over adapter LUID in D3D11. When the user requests both a non-hardware device type and a specific DXGI adapter LUID, prefer to honor the device type request. Chrome always requests LUIDs of the first available GPU to make sure that it prefers integrated GPUs over discreet. It only requests non-hardware device types when software rendering is desired. This behaviour change satisfies Chrome's intentions in both cases. Bug: chromium:402163834 Change-Id: Idc714498260591cafc37d810c83de08a364a72f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6377165 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi c0001bcf 2025-03-21T10:09:26 Skip flaky test on SwiftShader Bug: angleproject:405286904 Change-Id: Id96b0603ccdd0237a06d334b7530974d2cff3d40 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6382799 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Chris Dalton ac37e500 2025-03-18T14:07:28 Validate PLS texture slice collisions Generate errors when: * A single texture slice is bound to more than one active pixel local storage plane. * A single texture slice is simultaneously bound to an active pixel local storage plane and attached to an enabled drawbuffer. Bug: angleproject:40096838 Change-Id: I51f7260a36df94ac35deaaa2fbf7e81f56f06563 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6370082 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Kenneth Russell <kbr@chromium.org>
angle-autoroll 7db33b6e 2025-03-20T09:58:36 Roll Chromium from d62198a2de3f to 915b95b37e94 (648 revisions) https://chromium.googlesource.com/chromium/src.git/+log/d62198a2de3f..915b95b37e94 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/1513dcffc9..bcaac35c14 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/788b34952d..47fd9450d1 * third_party/android_build_tools/lint/cipd: SNgndTNY5ykpS-NNEufM0w9iZM24PbSSOBbdx_yUVloC..odcjZlUmjWZk6VZnsugQkE4nsFF-VdD-G135sycPHYgC * third_party/android_build_tools/manifest_merger/cipd: VQPKwz2SsCFtkaIoLEhDQFjjWQOUFJsqeCyRF2vF_oUC..OJahXQ5LdQI3cNQMiXIWeTPhSsH79erMnSSsuSMxRRsC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/e85fe234b5..6f7e02c093 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/0917803d92..d9c28e08e6 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/ca33d503c4..bf613fe20a * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/a7e28930ec..626d498fed * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/97af65ca19..0b05b2efc6 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/c5329b3226..6806d50dd4 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/48d8a99958..c7cb9ed3d7 * tools/skia_goldctl/linux: APex8NBYOhnfjeFcEaMhYTOJRkoS_0rIMBOrzzyIlugC..XLVBOTqppDs44VPShPq-LNUExilwozfsAFNwOvgHXyUC * tools/skia_goldctl/mac_amd64: TnNNXsiS3KR_P2lbXUA1Yf0_6BSAS4pZX6WfGm0R4f8C..lFO_iqBQ3I_eIiHT9ZNm_gOlNWgujqau62cBmq8rnGQC * tools/skia_goldctl/mac_arm64: 0VoEF7F3q_sFg0ZxDGafQWFOf93vgILlQFhFaFS_2n8C..PR2de_0kpXcWK68pvIEWchG-qruUZKsuCgXvw-gUQAcC * tools/skia_goldctl/win: zn7BbUaaCQUaqIlhIh8wi36wjiIYc86G6LnxouR3j50C..oulgI4CSG9Ztg1BdF-1a5BIuFyw8GJXYoe_8xpU3Fh0C No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I6ae63557898f7eee4f655364213dea463feb06ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6374318 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 4b3fb1fa 2025-03-21T10:01:35 Roll vulkan-deps from 181443c3df2b to d6d779f39976 (13 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/181443c3df2b..d6d779f39976 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/9dc50c256f9a9f2794a6dfdccc8f5560e54ade1a..80814c3ed544804f19d9fc4bd9992c6e3b59482a https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/0c1ca5815ace3e4d84d3c7a1d59f0c06a189ea2b..db06346b03b5e01b8af58b842fe4b068f47f9e46 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/d64e9e156ac818c19b722ca142230b68e3daafe3..78c359741d855213e8685278eb81bb62599f8e56 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/006f10fb9ef19b7c7be7fc282cd53bca8a67946d..b817f36ef1995f328457a8d2cfca363ac67da810 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: Id3fea7959ee290be52c7b2c556fc47730072598e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6381892 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Igor Nazarov c0483900 2025-03-20T14:38:53 Tests: Add EGLSurfaceTest.MSAAResolveWithEGLConfig8880 test Test is for the fix: Vulkan: Use correct actual FormatID for MSAA swapchain image https://crrev.com/c/angle/angle/+/6275968 SM-G996B (Mali-G78) has these errors in the new test without the fix: VUID-vkCmdResolveImage-srcImage-01386: srcImage and dstImage must have been created with the same image format VUID-VkFramebufferCreateInfo-pAttachments-00880: If flags does not include VK_FRAMEBUFFER_CREATE_IMAGELESS_BIT, each element of pAttachments must have been created with a VkFormat value that matches the VkFormat specified by the corresponding VkAttachmentDescription in renderPass It looks like that in the CL with the fix, above device was incorrectly tested and commit message noted that the fix is cosmetic because RGB8 is generally emulated with RGBA8. Turns out, Mali-G78 can render into RGB8. Test: angle_end2end_tests --gtest_filter=EGLSurfaceTest.MSAAResolveWithEGLConfig8880/* Bug: angleproject:42265147 Change-Id: I7e90dd7f8c9138a439bc77ed5643214ac4260c73 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6375366 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Robic Sun 1b494f3d 2025-03-11T19:40:51 Add validation of null pointers for certain APIs Bug: angleproject:397315932 Change-Id: I1b4758e326efd2e28d5a4f589c7b156065594911 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6342394 Auto-Submit: Robic Sun <Robic.Sun@arm.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Yuxin Hu ac242c1a 2025-03-20T11:18:45 Vulkan: Fix the feature flag typo Bug: b/333987915 Change-Id: Iea21592532352d95c69c0cf8dfcad96b58563ec5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6377544 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Matthew Denton 00d99277 2025-03-19T17:22:24 [WGSL] Emit sampler types and texture lookup builtins The split texture/sampler WGSL variables will now have the correct types corresponding to their GLSL types. Texture builtins are translated as faithfully as possible. There are some issues with the translation: 1. Texture builtins using an implicit level-of-detail in a vertex shader are supposed to sample from the base mip level. Right now these are translated into WGSL functions that cannot be used in a vertex shader at all. 2. Some texture builtins that take integer samplers do not have corresponding WGSL versions, e.g. the sampling GLSL function texture() takes integer samplers but the mostly equivalent WGSL builtin, textureSample(), will only take float samplers. 3. A number of GLSL texture builtins are not supported in WGSL when uses on shadow samplers, e.g. anything with a bias parameter, an explicit LOD parameter, or explicit gradients, Bug: angleproject:389145696 Change-Id: Idfd75721f88181db9643235b954629ac477163e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6372082 Commit-Queue: Matthew Denton <mpdenton@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Liza Burakova <liza@chromium.org>
angle-autoroll b039e7f9 2025-03-20T10:01:39 Roll vulkan-deps from 6737c973130b to 181443c3df2b (15 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/6737c973130b..181443c3df2b Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/8842cf92e3de290f275c46d55cbfe42b7d0775a6..e57f993cff981c8c3ffd38967e030f04d13781a9 https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/d6ec71c7a4734af3e5c0d0fa809c57d7a9bb64de..9dc50c256f9a9f2794a6dfdccc8f5560e54ade1a https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/d5ee9ed2bbe96756a781bffb19c51d62a468049a..0e710677989b4326ac974fd80c5308191ed80965 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/ff4d8908292812814e380f1965371677f82817a4..0c1ca5815ace3e4d84d3c7a1d59f0c06a189ea2b https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/abfdbf73d37ca2e617fae79728f856b303585915..006f10fb9ef19b7c7be7fc282cd53bca8a67946d If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: I419e92e24394e6f81de8afc895b95349ee653181 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6370594 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7792638f 2025-03-20T03:01:08 Roll SwiftShader from 27b44046a577 to 76ce2c6def3d (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/27b44046a577..76ce2c6def3d 2025-03-19 swiftshader.regress@gmail.com Regres: Update test lists @ 27b44046 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I2a10a27a87e6be994d39cb302a35de71485d3880 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6374907 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kimmo Kinnunen c36d0cf0 2025-03-14T14:09:41 Metal: Improve ColorBlitUtils shader key hash Did not hash transformLinearToSrgb. Bug: angleproject:403372465 Change-Id: Ie06cf3535775f753e0468505e8b31fd513130b98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6356891 Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Yuxin Hu 6bd7a518 2025-03-19T13:35:48 Vulkan: Allow pipelineStatisticsQuery substitute PGO Some devices are missing VK_EXT_primitives_generated_query extension and primitivesGeneratedQuery (PGO) feature, which are required for GLES3.2 extensions geometryShaderEXT and tessellationShaderEXT. On such devices, when app requests to create a GLES 3.2 context, the eglCreateContext call will fail due to not able to support GLES 3.2. We add a new feature flag allowPipelineStaticsForPrimitivesGeneratedQuery, and enable it on devices where we can fallback to using pipelineStatisticsQuery (PSQ) as an approximation for VK_EXT_primitives_generated_query, to broaden support for GLES 3.2 contexts. This is an opt-in feature for vendors that can functionally substitute PGQ with PSQ. Expose geometryShaderEXT and tessellationShaderEXT extensions if allowPipelineStaticsForPrimitivesGeneratedQuery feature is enabled. Bug: b/333987915 Change-Id: I9f0affbc3cc383ed6c50bcfc5d4d6f7f8a708aaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6362627 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Mohan Maiya 05c491e1 2025-03-15T11:56:07 Vulkan: Optimize GraphicsDriverUniforms update Unless RP is closed there is no need to dirty GraphicsDriverUniforms when the program executable changes. Bug: angleproject:386749841 Test: VulkanPerformanceCounterTest.NoUpdatesToGraphicsDriverUniformsOnProgramChange* Change-Id: Id02e8a17de93e2b73103666fc6cc62ce3cdd8f43 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6358315 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu 5b5a5e21 2025-03-17T17:59:18 Reformat VVL error message part1 Remove the string entries from skipped VVL error message. TraceTest.manhattan_31 with SwiftShader no longer runs into VVL error, remove the corresponding comments. Bug: angleproject:316337308 Bug: angleproject:42265196 Change-Id: I113d2e7953b3f14ed9811df91204d046a5fe4fb4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6364335 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 0b98cf97 2025-03-14T16:42:32 Translator: Fix a bug with struct-with-sampler rewrite Bug: chromium:388884060 Change-Id: I8843e0ab9698224020628bedc7a528865d91d2bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6354207 Commit-Queue: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 98d4a537 2025-03-19T10:01:36 Roll vulkan-deps from bf9998679aee to 6737c973130b (20 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/bf9998679aee..6737c973130b Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/81fd2fce240f5cfaf94879df1e2c75872a321f96..d6ec71c7a4734af3e5c0d0fa809c57d7a9bb64de https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/ddd2c099be25e3fec7cdc14106c17aca99512082..d5ee9ed2bbe96756a781bffb19c51d62a468049a https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/ba1359d203e544bd458373ba249a47c44e97b071..ff4d8908292812814e380f1965371677f82817a4 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/cacef3039d277c448c89336290ec3937270b0996..d64e9e156ac818c19b722ca142230b68e3daafe3 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/b2c8bd421aa5c1502fd56c3c07fb2831a8ceb882..abfdbf73d37ca2e617fae79728f856b303585915 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: I9fb5dabfd9fca69124c1eb6487df6a1023a5953c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6371589 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 13a171d9 2025-03-19T03:01:06 Roll SwiftShader from 4c3426403b9c to 27b44046a577 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/4c3426403b9c..27b44046a577 2025-03-18 yikong@google.com Turn off -Wignored-qualifiers warning for third_party/llvm-16.0 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I6a2d8cd4ff8196d9e58954b30f7c791420a77c05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6371868 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll d92342a3 2025-03-19T08:01:44 Roll VK-GL-CTS from a10a27282b98 to 3a44cb1c4ae9 (2 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/a10a27282b98..3a44cb1c4ae9 2025-03-18 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.6 into vk-gl-cts/main 2025-03-18 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.12 into vk-gl-cts/main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: Ia0a43cac0e99f7826d9ea7eacb837e55c6e78f80 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6371273 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll cb6234c7 2025-03-19T08:50:43 Roll Chromium from 888206d8f404 to d62198a2de3f (667 revisions) https://chromium.googlesource.com/chromium/src.git/+log/888206d8f404..d62198a2de3f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/fa2d9351bd..1513dcffc9 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/7f1053216c..244e7cf445 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/9c8040d6b6..788b34952d * third_party/android_build_tools/lint/cipd: vhjMonh9XYLLHAk7HJJI88WCaEq0Wye3mcXRgZto0hgC..SNgndTNY5ykpS-NNEufM0w9iZM24PbSSOBbdx_yUVloC * third_party/android_build_tools/manifest_merger/cipd: pUhXoFF33hA0Ld7PAOJp2fl0HLa6foRELt7yy1i_L9oC..VQPKwz2SsCFtkaIoLEhDQFjjWQOUFJsqeCyRF2vF_oUC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/fe9a2759d5..e85fe234b5 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/52b03c7476..0917803d92 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/7b5c0726f6..ca33d503c4 * third_party/r8/cipd: OB23bnkEllPjA4Mmlh2kdHOMJGV19SMZobx2U4KGuPIC..f-Ka2tsB3j_I6-Av4qE9ftl6KddtjV-pRVcUUc9cgYQC * third_party/r8/d8/cipd: LVdu8kozId1Vv9Mbx69A8KonHqt9h0WSBb32X-UElEEC..f-Ka2tsB3j_I6-Av4qE9ftl6KddtjV-pRVcUUc9cgYQC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/c980724668..a7e28930ec * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/af691b12b6..97af65ca19 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6cd9adb77d..c5329b3226 No update to Clang. Bug: None Tbr: syoussefi@google.com Change-Id: I3b6751dfaead199642ae7d3baf2c320d94f24825 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6371588 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop 2657dba2 2025-03-17T10:07:52 restricted_trace_perf: Use run-as when needed On non-rooted devices, commands that access storage need to use run-as. Test: restricted_trace_perf.py Bug: b/404239853 Change-Id: I38bc54c4f4eb9c986106e1773cb1e0796577eaeb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6361299 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Mavis Deng d668a13c 2025-03-14T17:18:18 Fix sync issue between XFB output and texture buffer input For the following scenario, where the first draw writes to the transform feedback buffer and the second draw reads from the same buffer as a texture buffer, it is necessary to end the render pass between the two draws and add a pipeline barrier. // xfb write to tex_buffer glBindBufferBase(GL_TRANSFORM_FEEDBACK_BUFFER, 0, tex_buffer); glBeginTransformFeedback(); glDrawArrays(); glEndTransformFeedback(); // Draw with texture buffer tex_buffer glBindBuffer(GL_TEXTURE_BUFFER_EXT, tex_buffer); glTexBufferEXT(GL_TEXTURE_BUFFER_EXT, ..., tex_buffer); glDraw(); Bug: angleproject:403319685 Change-Id: I9381a336ce61dea696c93158bb617a41afcfc583 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6356070 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Mavis Deng <mavis.deng@arm.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Renato Pereyra f20fd2fe 2025-03-14T12:41:11 Tests: Make unpacked tarball files from tests world-readable If the origin system did not have these world-readable, tests can fail to open these files during runtime. Also makes SELinux warning in multiuser mode more noticeable since permissive mode is necessary for the test to run successfully. Bug: b/403616641 Change-Id: Id23ce572d46054fea60c03cfa9c30871ab5e50dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6357935 Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Renato Pereyra <renatopereyra@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Chris Dalton 292bb458 2025-03-14T12:17:49 Cut MAX_COLOR_ATTACHMENTS_WITH_ACTIVE_PIXEL_LOCAL_STORAGE_ANGLE Since the number of real devices that support framebuffer fetch, but do not support draw_buffers_indexed, is effectively zero, MAX_COLOR_ATTACHMENTS_WITH_ACTIVE_PIXEL_LOCAL_STORAGE_ANGLE is an unnecessary complication. These hypothetical devices can fall back on shader images or just not support pixel local storage at all. This closes the door for WEBGL_shader_pixel_local_storage to ever be implemented on top of the ES2 extension that inspired it all, EXT_shader_pixel_local_storage, but WebGL can just use framebuffer fetch instead, or maybe even EXT_shader_pixel_local_storage2 some day. This dramatically simplifies the WEBGL_shader_pixel_local_storage extension. Bug: angleproject:40096838 Change-Id: I9c51f2ce000620f883cb7917d4e8618c8e9ee803 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6354657 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Roman Lavrov 19e45680 2025-03-18T12:50:52 Disable timestamp call from AddTraceEvent for Android platform Android platform's addTraceEvent ignores the timestamp arg, so there is no reason to make this call (and it shows as the hotspot). Behind a new define to avoid breaking this in Chromium Android builds where the timestamp is actually used. Bug: angleproject:404542398 Change-Id: I0f5eea31feb6838c3e62949fcd2947145be4ebf5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6368277 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi fca3fed3 2025-03-18T11:06:10 Manual roll vulkan-deps from 552ac332629b to bf9998679aee (25 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/552ac332629b..bf9998679aee Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0051b92b6fff2fd3dbc99b7dae316fa51a7f4767..8842cf92e3de290f275c46d55cbfe42b7d0775a6 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/9e470ef0f95d6923fa19dc5c5dc48c1442eb5a8b..ba1359d203e544bd458373ba249a47c44e97b071 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/8491f31d36a8c642e588220b89729129721fec31..54cbefd25dbcaeb2bb03da207afce6cad7fb5dd1 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/74a6b7dc828078cf2f1524d3947f65a29a1562e9..b2c8bd421aa5c1502fd56c3c07fb2831a8ceb882 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: angleproject:404418769 Change-Id: I359e903e2d061b7bbde6b18d234d8927d2cca56c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6368274 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi dae3c851 2025-03-14T11:44:53 Vulkan: Bake non-shader state into linked pipeline When using VK_EXT_graphics_pipeline_library, previously ANGLE would create three pipelines libraries: * The Shaders library was created based on the GL program's shaders + a few static states. This typically hit the program's own pipeline's cache that was warmed up during link. * The VertexInput and FragmentOutput libraries were created at draw time, which used the global pipeline cache At draw time, immediately after creating the non-Shaders libraries, the three libraries were linked into the final pipeline to be used by the draw call. This caused an inefficiency; because the non-Shaders libraries were created independently from the Shaders library, they had to be compiled pessimistically, for example because they could not be optimized to take into account the precision of the fragment shader's outputs or whether any value is const (typically alpha being set to one). Given the creation of VertexInput and FragmentOutput libraries is typically quite fast (the former being no-op and dynamic state anyway), this change removes the need for creating those libraries, and directly specifies the vertex input and fragment output state when creating the final pipeline out of the Shaders library. In this way, the same fragment output state can be tailored to the exact shaders it is being used with and incur a smaller overhead. In this change, the linked pipeline is cached in the GL program's pipeline cache, which is never synced to the blob cache as producing it is assumed to be fast already. Bug: angleproject:42265839 Change-Id: I8496ea37771555522bdc9de94043a1b56fa5967e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6354205 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com>
angle-autoroll 7ee4f499 2025-03-18T05:47:12 Roll SwiftShader from 5d97d5be883b to 4c3426403b9c (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/5d97d5be883b..4c3426403b9c 2025-03-18 swiftshader.regress@gmail.com Regres: Update test lists @ 5d97d5be If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Ia268487e06f21e06a362793a73c646fcd01b1b98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6366345 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuxiang Qian 531e8791 2025-03-12T17:29:04 Change error set in ValidateCreateContext According to EGL spec, if specified version number is not a defined version of GLES, EGL_BAD_MATCH error should be generated, but ANGLE generate EGL_BAD_ATTRIBUTE. Fix this and modify the assert in the end2end test. Bug: angleproject:403414983 Change-Id: I09ee779fc3008a420aeeb5c1416a44c9c82d2ec4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6355745 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Shufen Ma fac33bb3 2025-03-13T09:40:56 Refine InterfaceVariablesMatch During glDraw, in function GetMergedVaryingsFromLinkingVariables, function InterfaceVariablesMatch does permissive check, so that two backshader outputs may match one front shader input. Refine that function to do more strict checking. Bug: angleproject:402562396 Change-Id: I04f89dea97809e9621a125ca9385fb7416f7dcc2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6347539 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shufen Ma <Shufen.Ma@arm.com>
angle-autoroll d29b8e05 2025-03-18T07:40:57 Roll Chromium from 995d777c7731 to 888206d8f404 (585 revisions) https://chromium.googlesource.com/chromium/src.git/+log/995d777c7731..888206d8f404 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/1dc5fbff43..fa2d9351bd * testing: https://chromium.googlesource.com/chromium/src/testing/+log/35bdf40ed0..9c8040d6b6 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/54ea9e3a7f..cc230bcfdb * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/4b0cf6a919..fe9a2759d5 * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/62d56e0f00..62e770d665 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/828df14a60..52b03c7476 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/14489e08b2..7b5c0726f6 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/eba414c0b9..af691b12b6 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/c82c0e7bb5..6cd9adb77d * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b441f42f7e..48d8a99958 No update to Clang. Bug: angleproject:40096838 Tbr: syoussefi@google.com Change-Id: I3cffa6b0b13b8b580e4cde29315da62a58868173 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6366574 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Chris Dalton ae71cc1c 2025-03-11T16:36:52 Don't destroy blend or color mask state in PLS The browser caches this state, so conditionally destroying it would invalidate the browser's cache. Instead, cache modifications to overridden PLS blend & color mask state in ContextPrivateState, and restore it upon ending PLS. Also update the spec to specify that FRAMEBUFFER_DEFAULT_WIDTH and FRAMEBUFFER_DEFAULT_HEIGHT may be overridden during PLS in ES 3.1. Bug: angleproject:40096838 Change-Id: Ic2c0aa6dc33ada7350e15e27bef22c79ca5f6c7f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6350727 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Chris Dalton <chris@rive.app>
angle-autoroll 6c26ea15 2025-03-17T09:48:51 Roll Chromium from 561dfad17c04 to 995d777c7731 (623 revisions) https://chromium.googlesource.com/chromium/src.git/+log/561dfad17c04..995d777c7731 Disables global constructor/destructor warnings when using GlobalMutex, which started triggering after this Clang roll here: https://chromium-review.googlesource.com/c/chromium/src/+/6354907 src/libANGLE/GlobalMutex.cpp:124:24: error: declaration requires a global constructor 124 | void ANGLE_CONSTRUCTOR AllocateGlobalMutex() src/libANGLE/GlobalMutex.cpp:132:23: error: declaration requires a global destructor 132 | void ANGLE_DESTRUCTOR DeallocateGlobalMutex() If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/aafbb3185f..1dc5fbff43 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/8550f0913b..7f1053216c * testing: https://chromium.googlesource.com/chromium/src/testing/+log/51cf51a3cd..35bdf40ed0 * third_party/android_build_tools/error_prone/cipd: PUFyo5eTRLBVraTti00zSIPJ9JJazDE9OU5e-mc6sicC..TKp0LDZjoG40SrElfQevGD9zDvVypBnRPWTzv8bnTw4C * third_party/android_build_tools/lint/cipd: tsOuC8RTor7xvEQGKjf4UUWbOZ6CXLUAWTapMfyjtSIC..vhjMonh9XYLLHAk7HJJI88WCaEq0Wye3mcXRgZto0hgC * third_party/android_build_tools/manifest_merger/cipd: XsYjBCg98jVV1y2tdwYTvXS_V_53hDdGBdsLsI_Cd-AC..pUhXoFF33hA0Ld7PAOJp2fl0HLa6foRELt7yy1i_L9oC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/4d2793429f..828df14a60 * third_party/fuchsia-sdk/sdk: version:27.20250308.2.1..version:27.20250315.3.1 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/f752139824..14489e08b2 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/38d40010d1..dbe04005a2 * third_party/r8/cipd: FiKym6sa--ha6Yuxe-KJYyUo-CPERJJ5FYurwPkrvyoC..OB23bnkEllPjA4Mmlh2kdHOMJGV19SMZobx2U4KGuPIC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/97cf54e65e..c980724668 * third_party/siso/cipd: git_revision:6b0b080aea4fa142b573795daa977e8751947452..git_revision:3a38836e06344016dce6092148a07a114807f9f0 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/d4d0079e13..c82c0e7bb5 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/168fff5a3e..b441f42f7e * tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/d4b64d95f4..f26c92c0db Clang version changed llvmorg-21-init-1655-g7b473dfe:llvmorg-21-init-5118-g52cd27e6 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/d4d0079e135e52df927a2828f0085e4e90f0de2b..c82c0e7bb5b235463a52234216507466a49c1ba8/scripts/update.py Bug: angleproject:42266550 Change-Id: I96c1952485944e119798eb0f3be4206c7ed321d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6360302 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Le Hoang Quyen f64a9547 2025-03-15T23:45:33 Metal: remove "Compute" from EnsureComputeShaderInitialized() name Previously this function was named EnsureComputePipelineInitialized() because it would create a compute pipeline. However at some point, the pipeline's creation was moved to a pipeline cache. Thus this function now only creates a shader function. This can be used to create both compute & graphics shader functions so we should remove the "Compute" part from its name. Bug: None Change-Id: I73d101142ec1fc72d150579bc409b1dea3196940 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6357511 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
angle-autoroll 0f7f5c48 2025-03-17T08:01:39 Roll VK-GL-CTS from d742379bbd26 to a10a27282b98 (15 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/d742379bbd26..a10a27282b98 2025-03-14 mateusz.bahyrycz@mobica.com Add support for sparse resources in ray tracing pipeline module 2025-03-14 javed@igalia.com Add logicop tests for float/srgb formats 2025-03-14 zzoon@igalia.com Fix validation errors in Vulkan Video decoding tests. 2025-03-14 michal.jakubek@mobica.com Fix validation error in multiview tests 2025-03-14 tomnom@google.com Add watchdog touch to dEQP-VK.texture.explicit_lod test 2025-03-14 kamil.goras@mobica.com Add testing for GL_PRIMITIVES_SUBMITTED_ARB query. 2025-03-14 marcin.zajac@cognizant.com Sequential timestamps 2025-03-14 marcin.zajac@cognizant.com Mixed primitive restart scenarios 2025-03-14 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2025-03-13 lorenzo@khronosgroup.org Merge remote-tracking branch 'vk-gl-cts/dev/VK_EXT_external_memory_acquire_unmodified' into main 2025-03-12 rgarcia@igalia.com Missing include for std::log2 2025-03-12 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2025-03-12 lorenzo@khronosgroup.org Merge "Merge branch 'dev/VK_EXT_external_memory_metal'" into main 2025-03-12 lorenzo@khronosgroup.org Merge "Merge remote-tracking branch 'vk-gl-cts/dev/VK_KHR_maintenance8'" into main 2025-03-12 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.6 into vk-gl-cts/main If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,syoussefi@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: syoussefi@google.com Change-Id: I44f5de9308ffc65a1e274f630248ae5f0c61d922 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6360377 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 5c2789e0 2025-03-14T15:17:30 Inline Context::uniform* (most of?) these are called exactly once, such as GL_Uniform2f [entry_points_gles_2_0_autogen.cpp] Context::uniform2f [Context.cpp] ProgramExecutable::setUniform2fv [ProgramExecutable.cpp] Note how due to the different translation units each of these becomes a separate function, and the intermediate one (uniform2f) is completely unnecessary as it's only called by GL_Uniform2f. This CL reduces the .so size a bit and improves code locality by avoiding the intermediate functions. Bug: b/383305597 Change-Id: Ia4afe651fabd25e55cd19a30bca71891d3e5a34a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6355328 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Dalton b600a42c 2025-03-13T15:18:40 Remove the PLS allow list All the interactions with render passes have been properly solved now, and there is no longer a need for the allow list. Bug: angleproject:40096838 Change-Id: I0219fb8824820e076c128f10f49c85f0f76270ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6355312 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
angle-autoroll fbc2537d 2025-03-14T17:16:41 Manual roll Chromium from 9ae09404c37a to 561dfad17c04 (842 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/9ae09404c37a..561dfad17c04 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com,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/d6f7e76896..aafbb3185f * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/8e4c89021b..8550f0913b * buildtools/reclient: re_client_version:0.176.0.8c46330a-gomaip..re_client_version:0.177.1.e58c0145-gomaip * testing: https://chromium.googlesource.com/chromium/src/testing/+log/497a8db62c..51cf51a3cd * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/6bcdb6714a..4b0cf6a919 * third_party/android_sdk/public: bCFMX8oYIRJ_tP3tzaPcTKNqOAVdNk5TV_cwMp3GmE8C..gekOVsZjseS1w9BXAT3FsoW__ByGDJYS9DgqesiwKYoC * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/797a4d052f..f752139824 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/f562a33548..38d40010d1 * third_party/r8/cipd: 24WXWg3zAJPZGWme0lPbExFGluQSRhwM3cT1Ku0DcTwC..FiKym6sa--ha6Yuxe-KJYyUo-CPERJJ5FYurwPkrvyoC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/44273dc032..97cf54e65e * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/3f16a20341..d4d0079e13 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/72b8039311..168fff5a3e * tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/c822e5b16e..d4b64d95f4 No update to Clang. Bug: None Tbr: geofflang@google.com,ynovikov@google.com Change-Id: I132e037278e7c7fff40dd50fadabcb4e9e8cb279 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6357693 Commit-Queue: Geoff Lang <geofflang@chromium.org> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Igor Nazarov c935e06d 2025-02-24T20:13:46 Revert "Vulkan: Fix Wayland surface size queries" This reverts commit a277f1bce563999296620c29d83c760c0fb9763d. Reason for revert: No longer required, because `mIsSurfaceSizedBySwapchain` is always true on Wayland which will provide same behavior as the reverted override methods. It is also a preparation for the follow up change. Bug: angleproject:397848903 Bug: angleproject:40096815 Change-Id: If83ef133b422494d73565068e06e2d6a737f6315 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6298737 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov daaae2bd 2025-02-24T19:36:39 Vulkan: Remove surface caps query from createSwapChain This is mainly a refactoring with minor bug fixes. The `createSwapChain()` is called at initialize and at swapchain recreate. Before recreate there is always `queryAndAdjustSurfaceCaps()` call, which queries current surface sizes and min image count. However, surface capabilities may be queried again from `createSwapChain()` to get compatible present modes and the min image count. Problem is that surface caps `currentExtent` may change after the second query in the `createSwapChain()`, while the `extents` parameter is already calculated. Such situation will violate the specification. To eliminate the possibility of the above problem and to simplify the code, query of compatible present modes is moved to the `queryAndAdjustSurfaceCaps()`. To save performance, `mCompatiblePresentModes` is only updated if swapchain is already invalid (recreate is imminent). Function is now also handles `mEmulatedPreTransform` to further simplify the code. The `mSurfaceCaps` member was replaced with local variable. The `mIsSurfaceSizedBySwapchain` boolean is added instead to check it in the `getUserWidth()`/`getUserHeight()` methods. This also fixes a possible bug (anglebug.com/168327817) on Fuchsia when this expression could be false: mSurfaceCaps.currentExtent.width == kSurfaceSizedBySwapchain This is because previously `queryAndAdjustSurfaceCaps()` updated `mSurfaceCaps` with the values from `getCurrentWindowSize()`. It seems that the bug never happened on practice, otherwise the ASSERT in the same function would fail. The `prepareForAcquireNextSwapchainImage()` is used at initialize instead of `createSwapChain()` to remove code duplication. Fixed (anglebug.com/168327817) checking `mPreTransform` without enabled "enablePreRotateSurfaces" feature. Bug: angleproject:397848903 Bug: angleproject:168327817 Change-Id: I02e8e3b815b30350e12476853d8dcffed3fe7c38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6298736 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 8154cfc2 2025-03-13T15:37:17 Inline Framebuffer::getNumViews() On Android it totals ~100 bytes of assembly, and includes a loop which appears to be above clang heuristics thresholds with -O2 so I had to force-inline throughout to get the desired behavior. There are only a few callers so this has almost no effect on the binary size. Bug: b/383305597 Change-Id: Iad3d9120f8b3f072c1db34134de8b3787efc13ca Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6351145 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mavis Deng 3676ac1f 2025-03-10T17:18:33 Add checks for invalid cases “a[]” and "a[a]" in array parsing Returns empty outSubscripts vector for a[] Adds GL_INVALID_INDEX to outSubscripts for a[a] Bug: angleproject:401979815 Change-Id: Ie18e9bbbec2b15cac69ae048b81f14ab13439400 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6339329 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Mavis Deng <mavis.deng@arm.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Mark Lobodzinski f86d0711 2025-03-07T13:30:58 Tests: Add My Talking Angela 2 Trace Test: angle_trace_tests --gtest_filter=*my_talking_angela_2 Bug: b/401473491 Change-Id: Ic0416ba7c6ab3db82865e9da01a69802590f33c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6352326 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 00e0b31a 2025-03-10T15:17:50 Vulkan: Don't generate OpTypeSampledImage for sampler buffers That is banned in SPIR-V 1.6. Bug: angleproject:402056128 Change-Id: Ie30880628228b6949632dbe99b85b2abc9e991d3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6340667 Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Dalton fbb1829d 2024-12-08T01:46:39 Allow glClear while PLS is active It just makes sure to not clear any draw buffers that may be in use for pixel local storage. Bug: angleproject:402810076 Bug: angleproject:40096838 Bug: angleproject:42266150 Change-Id: I60a573d5e9e5dbadce12d79e3f4b6fc57747e655 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6312336 Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Yuxiang Qian 44853559 2025-02-25T17:29:54 Correct GLES renderbuffer default values For GLES renderbuffer, the initial value queried for RGBA bits should be 0, and the component type should be GL_NONE according to spec. Correct the default values on ANGLE now. An end2end test is also added. Bug: angleproject:399693196 Change-Id: If8366b3d2350add917054813d3cb9a6a23727da7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6312514 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 578ee168 2025-03-12T13:50:53 Do not wait for ConfigureNotify event when window is invisible XUnmapWindow does not produce ConfigureNotify event (only UnmapNotify and FocusOut), waiting on this event causes soft lock. Bug: angleproject:40096853 Change-Id: I00e327b15ee09b7dd6c6d3a3f74f589b9b1bc315 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6347282 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 9817c211 2025-03-13T10:01:19 Roll vulkan-deps from a6bd78fcdd17 to 552ac332629b (15 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/a6bd78fcdd17..552ac332629b Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/3a50d1708349ab612322edbf911a12faf3ab9664..0051b92b6fff2fd3dbc99b7dae316fa51a7f4767 https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/aad9239b4da66385e7228a95b4530989881c3524..81fd2fce240f5cfaf94879df1e2c75872a321f96 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/54a521dd130ae1b2f38fef79b09515702d135bdd..ddd2c099be25e3fec7cdc14106c17aca99512082 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/d6b6c5397b09e4bce4437732b0b212ee2cb21cc6..74a6b7dc828078cf2f1524d3947f65a29a1562e9 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Iaea03f87ac830950c98d28ee250cd679a9bfa6a5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6351333 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 99b54c76 2025-03-13T07:00:52 Roll Chromium from e328b75bb980 to 9ae09404c37a (588 revisions) https://chromium.googlesource.com/chromium/src.git/+log/e328b75bb980..9ae09404c37a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/f45b4e029e..d6f7e76896 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/50e9c3d18e..8e4c89021b * testing: https://chromium.googlesource.com/chromium/src/testing/+log/a0115f79ba..497a8db62c * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/4daee9ef87..54ea9e3a7f * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/7c3087b8a7..4f05e20cbe * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/1b319e32b5..797a4d052f * third_party/r8/cipd: 11pYuy4piGxVlyR9jNjTltLP-QXp6SvMau7_3TQVGCEC..24WXWg3zAJPZGWme0lPbExFGluQSRhwM3cT1Ku0DcTwC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/366817a3ca..44273dc032 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/d7583da45f..eba414c0b9 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/2a37cbd84e..3f16a20341 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/46a8c407c9..72b8039311 * tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/8b154f5837..c822e5b16e * tools/skia_goldctl/linux: J13ggFrJeq6Pl-xd2tjqFBN2EqoV0QUi80LWWs8mMAEC..APex8NBYOhnfjeFcEaMhYTOJRkoS_0rIMBOrzzyIlugC * tools/skia_goldctl/mac_amd64: q99FR0RbkNG0NLGNAOt3FRfp60UDLUtn5NrRdZKbEscC..TnNNXsiS3KR_P2lbXUA1Yf0_6BSAS4pZX6WfGm0R4f8C * tools/skia_goldctl/mac_arm64: lymz8SRhZk7MVJ-Wsm7oZPYTTGBIftQpX1PY-VL4uq8C..0VoEF7F3q_sFg0ZxDGafQWFOf93vgILlQFhFaFS_2n8C * tools/skia_goldctl/win: u4EQxXnBqv_F1Q5-lpjOFoQvXKGNclvJeiONgVCJGq0C..zn7BbUaaCQUaqIlhIh8wi36wjiIYc86G6LnxouR3j50C No update to Clang. Bug: angleproject:389733590 Tbr: geofflang@google.com Change-Id: I3ed827e86b2265208c410bccbe49b3be682a28e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6350726 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Igor Nazarov ac251fa8 2025-02-24T17:31:58 Vulkan: Remove doDeferredAcquireNextImage ContextVk dependency This is the continuation of the previous CL. After this change `lockSurface()` calls `doDeferredAcquireNextImage()` as the rest of the code do. The `ImageHelper::invalidateSubresourceContentImpl()` required `ContextVk` pointer before this change. The `ContextVk` is only used to print the performance warning when `layerIndex` exceed the maximum count, which is not possible in case of a `WindowSurfaceVk`. Added `layerLimitReachedOut` pointer instead of writing the warning. It is processed in `invalidateSubresource[Stencil]Content()`. Added `invalidateEntireLevel[Stencil]Content()` which do not require `ContextVk` to use in the `WindowSurfaceVk`. Bug: angleproject:397848903 Bug: angleproject:42264593 Change-Id: I58451a4818ad56fa196c3c971df3a5f7793f2bfe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6298735 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 2f5a91ba 2025-02-24T17:25:10 Vulkan: Remove checkForOutOfDateSwapchain ContextVk dependency This is the continuation of the previous CL. After this CL it is now possible to call `prepareForAcquireNextSwapchainImage()` from `lockSurface()` that will also do necessary swapchain recreation in case of window resize. These methods required `ContextVk` pointer before this change: - RenderTargetVk::releaseImageAndViews() - replaced with `releaseSwapchainImage()` that does not release framebuffer because Window Surface framebuffers are not managed by the cache. - added `release()` method that does release the framebuffer. - WindowSurfaceVk::releaseSwapchainImages() - use `Renderer::collectGarbage()` instead of `ContextVk::addGarbage()`. - use `ImageHelper::releaseImage()` instead of `ImageHelper::releaseImageFromShareContexts()`. The `finalizeImageLayoutInShareContexts()` was not required since renderpass must be already ended, because swapchain recreate is only possible after present. Removal of `addToPendingImageGarbage()` is not going to cause OOM problems, because repeated swapchain recreate calls are not possible without swap (submissions). Bug: angleproject:397848903 Bug: angleproject:42264593 Change-Id: Iacfa3a144aa980659569b7100be25a44ebb9f0a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6298734 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 3d96268d 2025-03-12T12:48:36 Vulkan: Fix dev mem report feature adding The Vulkan device feature flag for VK_EXT_device_memory_report is currently being queried from the physical device. However, the feature is not added to the device's list of enabled features. This can result in some devices not properly using the feature, e.g., showing 0s instead of the data. * Added the memory report feature flag (mMemoryReportFeatures) as an enabled feature before creating the device when one of the following corresponding ANGLE features are enabled: * logMemoryReportCallbacks * logMemoryReportStats Bug: b/380295966 Bug: angleproject:173636655 Change-Id: I7afad55e2582298ded75762f2cd666c05bb51f3d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6349539 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov e6a27504 2025-03-07T20:14:50 Vulkan: Swapchain recreate workaround for shared present mode On Android, `vkCreateSwapchainKHR` may return `VK_ERROR_NATIVE_WINDOW_IN_USE_KHR` if use `mLastSwapchain` as an `oldSwapchain` when in shared present mode. This happens on three different devices: SM-G996B (Mali-G78), SM-S921B (Xclipse 940), SM-S921U (Adreno 940). Bug: angleproject:397848903 Bug: angleproject:42262606 Change-Id: I1541c06c254f3e8231b165fb0c53eff5d810e8bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6329488 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 354a5463 2025-02-24T16:52:06 Vulkan: Remove recreateSwapchain ContextVk dependency In the upcoming change, swapchain will be invalidated in swap, while recreate deferred until ANI. After such invalidation, `lockSurface()` wold not be possible. Even that currently swapchain may be invalid only after previous recreate failure, this change adds `recreateSwapchain()` call into `lockSurface()` because it is now possible and as a preparation for the upcoming change. The `recreateSwapchain()` is split into `invalidateSwapchain()` and `recreateSwapchain()` methods. The invalidate must be called before the recreate. Bug: angleproject:397848903 Bug: angleproject:42264593 Change-Id: Ida4a98a985f9fbb527cdf8c81c088ae1210f409c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6298733 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Cody Northrop db48967f 2025-03-05T09:07:10 Reland "Add GL_BGRA_EXT as a sized renderable format" This reverts commit 4bfb9da6f98b3e28905cc759a77bff750dfe3ff7. Reason for revert: More mapping fixes for GL backend Original change's description: > Revert "Reland "Add GL_BGRA_EXT as a sized renderable format"" > > This reverts commit 8f2fbbd1a0d16471596afad57c88f950a1ee3032. > > Reason for revert: http://anglebug.com/399913714 > > Original change's description: > > Reland "Add GL_BGRA_EXT as a sized renderable format" > > > > This reverts commit 22dfe435daa7c680c07bb8d4f1d98ab765e60ad0. > > > > Reason for revert: Fixed mapping back to BGRA_EXT for GL backend > > > > Original change's description: > > > Revert "Add GL_BGRA_EXT as a sized renderable format" > > > > > > This reverts commit 80093a7d8f850c3ab551ddb4972c2f1f27511433. > > > > > > Reason for revert: suspect for blocking rolling ANGLE into Chroimum > > > https://chromium-review.googlesource.com/c/chromium/src/+/6283973 > > > https://ci.chromium.org/ui/p/chromium/builders/try/chromeos-amd64-generic-rel-gtest/372754/overview > > > > > > Original change's description: > > > > Add GL_BGRA_EXT as a sized renderable format > > > > > > > > dEQP tests were updated to cover GL_BGRA_EXT as a sized renderable > > > > format. It was apparently always supposed to be, based on the > > > > wording of the spec. > > > > > > > > This CL adds that support and updates expectations, along with a few > > > > extra tests. > > > > > > > > Includes contributions from Robic.Sun@arm.com. > > > > > > > > Test: angle_end2end_tests, angle_deqp_*_tests > > > > Bug: b/42267264 > > > > Bug: angleproject:394384906 > > > > Change-Id: Ia10bcd61f66c5d99a3d27a2cfd6008c991ddcaa7 > > > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235444 > > > > Reviewed-by: Geoff Lang <geofflang@chromium.org> > > > > Commit-Queue: Cody Northrop <cnorthrop@google.com> > > > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > > > > > Bug: b/42267264 > > > Bug: angleproject:394384906 > > > Change-Id: I64572361cfed33b4ea17eabf278f580471d045c2 > > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6285628 > > > Auto-Submit: Yuly Novikov <ynovikov@chromium.org> > > > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> > > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > > > Bug: b/42267264 > > Bug: angleproject:394384906 > > Change-Id: I1bd9df904d93fd54286cbfce53fe89db89e842b9 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6310699 > > Commit-Queue: Cody Northrop <cnorthrop@google.com> > > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Geoff Lang <geofflang@chromium.org> > > Bug: b/42267264 > Bug: angleproject:394384906 > Bug: angleproject:399913714 > Change-Id: I9f79f39a6d9cba3b23c261005bc3e012d70cd1cf > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6312977 > Auto-Submit: Cody Northrop <cnorthrop@google.com> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bug: b/42267264 Bug: angleproject:394384906 Bug: angleproject:399913714 Change-Id: Ifc98fcbb0883dc4a55ad358825e9c1935fa26eaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6330036 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kimmo Kinnunen 62bf97d9 2025-03-10T14:23:31 Metal: Fix line loop indexes for primitive restart Use the existing code to generate line strips from line loops. Bug: angleproject:401284933 Change-Id: Ie131199c23b93364fabb8f0dc6766f7e8d5f2b8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6333539 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Igor Nazarov 9f9a0dfd 2025-03-06T21:20:40 Fix framebuffer attachment format sizes query for Surface Surface as framebuffer attachment is always specified and should return valid format sizes even if extents is empty. At the same time, accessing Window surface sizes without previously acquiring next swapchain image (Vulkan backend) may result in outdated values. In other words, without framebuffer synchronization. This change not only fixes the bugs, but also removes dependency on surface size. Test: angle_end2end_tests --gtest_filter=PbufferTest.ZeroSizedSurfaceFormatQuery/* Bug: angleproject:402532204 Bug: angleproject:397848903 Bug: angleproject:42261031 Change-Id: I736a484caf99e0ff306c244ca13e1eb181222e64 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6329487 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 39e54f04 2025-03-12T03:01:34 Roll SwiftShader from c12c13839d68 to 5d97d5be883b (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/c12c13839d68..5d97d5be883b 2025-03-11 swiftshader.regress@gmail.com Regres: Update test lists @ c12c1383 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I1c6f2878fb1809428fe83173064952c906347036 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6343827 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a854ecc2 2025-03-12T10:01:32 Roll vulkan-deps from ace15f53bef9 to a6bd78fcdd17 (7 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/ace15f53bef9..a6bd78fcdd17 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/f53dd6643228967c8ebe89e2738119903f930949..aad9239b4da66385e7228a95b4530989881c3524 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/b0fef0c13b5072253642cf5aca30a82e8d7a620b..d6b6c5397b09e4bce4437732b0b212ee2cb21cc6 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: Id16c1535fc6749ddb8ad27a87133bb028b566fd5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6346296 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll f087f14c 2025-03-12T07:25:08 Roll Chromium from b6ed11afc0b6 to e328b75bb980 (689 revisions) https://chromium.googlesource.com/chromium/src.git/+log/b6ed11afc0b6..e328b75bb980 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/e1f141abd1..f45b4e029e * testing: https://chromium.googlesource.com/chromium/src/testing/+log/839a62417a..a0115f79ba * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/b40b412c52..4daee9ef87 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/53875ab998..6bcdb6714a * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/b86167407e..1b319e32b5 * third_party/r8/cipd: BGYNB46xHask4pPhdBew2BvSMbUQQoEBFTm2BwOW0s0C..11pYuy4piGxVlyR9jNjTltLP-QXp6SvMau7_3TQVGCEC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/b179fe3a63..366817a3ca * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/0ea80f8705..2a37cbd84e * tools/luci-go: git_revision:b7196a984610cef94ac3f0d38d1a9527469bdebc..git_revision:7a44078a668bc9f75dd6e40a332450e76f2f7399 * tools/luci-go: git_revision:b7196a984610cef94ac3f0d38d1a9527469bdebc..git_revision:7a44078a668bc9f75dd6e40a332450e76f2f7399 * tools/luci-go: git_revision:b7196a984610cef94ac3f0d38d1a9527469bdebc..git_revision:7a44078a668bc9f75dd6e40a332450e76f2f7399 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/67e8e4e042..46a8c407c9 * tools/skia_goldctl/linux: iooiiMwZUCMqHCv40mG4S7a86FM-mCHhc43iUkLWqEcC..J13ggFrJeq6Pl-xd2tjqFBN2EqoV0QUi80LWWs8mMAEC * tools/skia_goldctl/mac_amd64: J6jd6q-lIqYw3lwXZqUgINwrOoHMVWs-Qt_LZA3wsN4C..q99FR0RbkNG0NLGNAOt3FRfp60UDLUtn5NrRdZKbEscC * tools/skia_goldctl/mac_arm64: hD1Vv8Z7IQMShv-PK0PEaSkXuaQi3EgzFIY49YR9ApkC..lymz8SRhZk7MVJ-Wsm7oZPYTTGBIftQpX1PY-VL4uq8C * tools/skia_goldctl/win: xa9dza8Y74PPBKEHXdNtCQoVjtZgz1BmvtOM2CygAR8C..u4EQxXnBqv_F1Q5-lpjOFoQvXKGNclvJeiONgVCJGq0C No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I7161ed1937e7a2fccf3afef1a7a269d6150eea4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6346576 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Chris Dalton 97083463 2025-03-10T09:07:16 Polish PLS interactions with xform feedback & QCOM_tiled_rendering For the simplest integration with WebGL, it was decided that glBeginTransformFeedback() and glStartTilingQCOM() should implicitly disable PLS, whereas glBeginPixelLocalStorageANGLE() should fail if either of these modes are active. Bug: angleproject:40096838 Change-Id: I859a496c99c60c5b040c5eac542f43d85872eb30 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6339788 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Chris Dalton 4b39a6a9 2025-03-08T14:16:29 Generate errors for framebuffer invals during PLS Generate GL_INVALID_OPERATION for InvalidateFramebuffer, InvalidateSubFramebuffer, and DiscardFramebufferEXT (and add them to the PLS allow list so we can test the new validation). This is part of a final preparation before deleting the allow list. Bug: angleproject:40096838 Change-Id: If8ffb9c1998ca739798171ae4643a3c9ad3ee049 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6335750 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxiang Qian bdff6ade 2025-03-10T17:49:35 Correct glGet* values for stencil masks Using CastMaskValue for GL_STENCIL_VALUE_MASK, GL_STENCIL_BACK_VALUE_MASK, GL_STENCIL_WRITEMASK and GL_STENCIL_BACK_WRITEMASK would cast them from 0xFFFFFFFF to 0x7FFFFFFF, which makes glGetInteger* and glGetFloat* return wrong value for them. CastMaskValue is not needed now, so we should delete it. Also, glGetFloat* return value should be positive, so additional cast is added for those masks. Bug: angleproject:399774386 Change-Id: Ibc2a5fd232be25c854b33df513e3cc0c74cfe8a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6342590 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Chris Dalton 1ead4cbd 2025-03-07T09:49:21 Allow texture modification commands while PLS is active Just do a little extra validation and bounce modifications if they would modify an active PLS plane. Bug: angleproject:40096838 Change-Id: I6f27951f5d0ef5dfaf23b5a005a2d94a749e2c4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6337703 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app>
Roman Lavrov 235c0be1 2025-03-07T13:48:48 Fix program cache on relink with glTransformFeedbackVaryings glTransformFeedbackVaryings updates mState.mTransformFeedbackVaryingNames, which was then saved to cache during a post-link that might happen after this was executed. Change ::serialize() to save mState.mExecutable->mTransformFeedbackVaryingNames instead, as according to Shabi this is the intended behavior. Also do the same for isSeparable and transformFeedbackBufferMode. Adds a repro where this led to tfvaryings getting loaded from cache into a new program that didn't specify tfvaryings. This resolves the interaction between these tests executed sequentially (such as with --bot-mode): GLSLTest_ES3.UnsuccessfulRelinkWithBindAttribLocation/ES3_Vulkan MultithreadingTest.ProgramLinkAndBind/ES3_Vulkan Bug: angleproject:401554049 Bug: angleproject:383164783 Change-Id: I66c599bc68c537e0cd47fbb99dd61d1d7a8a2824 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6329734 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Igor Nazarov 79faadf7 2025-02-19T16:04:19 Vulkan: Simple WindowSurfaceVk refactoring Changes: - Update `ImageAcquireState` enumeration. - Make `getCurrentWindowSize()` const. Some implementations are now using local `surfaceCaps` variable instead of `mSurfaceCaps`, however this will not affect reset of the logic. - Remove `extentsOut` parameter from `createSurfaceVk()` and call `getCurrentWindowSize()` explicitly only when needed. - Remove `forceSwapchainRecreate` parameter since it is always has false as an argument. - Remove redundant `impl::` namespace. - Make `queryAndAdjustSurfaceCaps()` const. Bug: angleproject:397848903 Change-Id: I955be15fb4709e137f2ad8a165fd04a3fe626fbf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6298732 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Chris Dalton 35ffe55c 2025-03-09T15:00:27 Block framebuffer queries on overridden PLS state Generate an error from glGetFramebufferAttachmentParameteriv() when querying a color attachment that has been overridden by PLS. Bug: angleproject:40096838 Change-Id: I83e68c3527f034f9a24822cf4f57789f81b9b6af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6338390 Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>