Log

Author Commit Date CI Message
Neil Zhang f974ffa8 2025-01-27T11:06:30 Vulkan: Add stubs for expose VK_KHR_swapchain_mutable_format Bug: angleproject:386688871 Change-Id: I77a45e342ee46f65c4f2947071c713f914a937a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6196939 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 22dfe435 2025-02-20T06:46:07 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>
angle-autoroll 7d577447 2025-02-20T10:56:18 Manual roll Chromium from c3ce5b627f8f to 8fcb1d1f64ae (66 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/c3ce5b627f8f..8fcb1d1f64ae If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * testing: https://chromium.googlesource.com/chromium/src/testing/+log/236a573eb2..75065cfcbb * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/b05ea6f335..62e217a12e * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/99782c3117..e722dac269 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/e7ca9835dd..a6615a458d * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/6bc9879f04..810ed5860b No update to Clang. Bug: None Tbr: cnorthrop@google.com,ynovikov@google.com Change-Id: I6cad89a625feb0cee3dde865be34bfe2df637012 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6284133 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 2e82883f 2025-02-20T02:01:56 Roll SwiftShader from 720189cae847 to d7ed113c66ec (2 revisions) https://swiftshader.googlesource.com/SwiftShader.git/+log/720189cae847..d7ed113c66ec 2025-02-20 dneto@google.com kokoro: fix check-style 2025-02-19 dneto@google.com Fix Python esacpe sequences (presubmit warning) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I1fd82f14d8965d70335ce2a4440285e43ef8678d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6284355 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll e5afe8b2 2025-02-20T07:00:53 Roll Chromium from e496ee581bf7 to c3ce5b627f8f (570 revisions) https://chromium.googlesource.com/chromium/src.git/+log/e496ee581bf7..c3ce5b627f8f If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/de88ea082e..e42ba23e14 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/cd6f832f55..236a573eb2 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/cfa9c31cbe..30345af7ee * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/ee429f3694..ab387d1ddc * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/d3d825f7b3..e36be6784f * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/d499ef8787..99782c3117 * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/2717bc8be9..ca9f905839 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/a7cdbef5ab..1bc9dfc738 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/aaf0275a08..e7ca9835dd * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/12e1725706..6bc9879f04 * tools/skia_goldctl/linux: BUSKiikgKynZFrvG5LYEzy3rGwyxdF0XCfjXYnJNcVEC..cFP5_MeKETBLhyiZ3wrHD1ei0WT9jfIt4d_zmFFDlL0C * tools/skia_goldctl/mac_amd64: ZsOrg7xgPaaYo156AG7K_MFTx9f-wDEH0q6BFQxUiL0C..9ZKSPWL0BFFJ9i-XXta9akbpsxgQzTvJFPOSLaFXrIgC * tools/skia_goldctl/mac_arm64: csw65C75AJ7kjYY7eVIUUKBqJvrsMzejzZF_e66ZjagC..ocDZkono_-0H7--idWYeYTAFQeO3RVx7ugf5aj4Y4sYC * tools/skia_goldctl/win: C13nP-0qMu6SzC6Sq-P5kaZJ6p4yEykqSj3TnK39NiUC..nkeh5UQvxZz54dBmhgRp3xrCFIEaVW45Smum7g2NkJIC No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I52486098986f0d4ad25a6cfff8a47ddf24e48464 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6285234 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop 80093a7d 2025-02-03T08:50:21 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>
angle-autoroll 6aa46bef 2025-02-19T12:31:10 Manual roll Chromium from 7a15ef98fa46 to e496ee581bf7 (6392 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/7a15ef98fa46..e496ee581bf7 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/dc7b3561cd..de88ea082e * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/6377d6649b..d1ed719a33 * buildtools/reclient: re_client_version:0.175.0.98046de5-gomaip..re_client_version:0.176.0.8c46330a-gomaip * testing: https://chromium.googlesource.com/chromium/src/testing/+log/8a57c900f4..cd6f832f55 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/9d07d51c6e..04dc59d2c8 * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/3539c64cce..3a5a3b1187 * third_party/android_build_tools/error_prone/cipd: PW_AkPGAdnmLPk-dG161a_wYd9FRhQ9INn9f8HKj3fcC..BLHCsmBI1vzyXlOtCyA-B4yW3gdbkW5iSjfvfnBjOvcC * third_party/android_build_tools/lint/cipd: jsEEMs5gHWH0oWH-A-WwE4Q4a5JnfgwwHYdaNd9UP9oC..fgLlp9RaOxtJuuPeWET3B6EvLyGvsuX_b9n9AbFup9IC * third_party/android_build_tools/manifest_merger/cipd: no0RMx3qPOc-XlBlr8d_hUdnAYnHUeN6-qd2kXZO9e0C..Ff5T4JIhkmgt7xA50Kq8XHnzWaR6mKOwEtxCBXFE5rUC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/e531e94991..a818d47882 * third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/16e8416791..9ed8f7c020 * third_party/android_sdk/public: OCGHZKTdjXjIELVI6FMAgcDkfnd_1ybB0_MtljPtz-8C..bCFMX8oYIRJ_tP3tzaPcTKNqOAVdNk5TV_cwMp3GmE8C * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/d516686190..cfa9c31cbe * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/0cc30c3baf..ee429f3694 * third_party/fuchsia-sdk/sdk: version:27.20250130.7.1..version:27.20250207.1.1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/2e25154d49..d3d825f7b3 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/634228a732..94c5d7a8ed * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/e55d8cf51c..b05ea6f335 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/6d0c8ee02e..d499ef8787 * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/d8e413be0c..486abb63f2 * third_party/r8/cipd: 8dKduCb-T1CXo1k__TsFWTWKwtx92qcCCIJ8zGP7QaAC..QDwsH_fhjzc4w9ejy5IKJrAl9g6ct71e1UJiFwGoqYMC * third_party/r8/d8/cipd: ukddmPlorF_6XXPBcxDxCmK2PSAJlhu_MDUhZQCz1l8C..a5lzGHzibplY-YfBMiaHgYRnmll4wB1csMwXCzHMoH8C * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/588e69eab2..2717bc8be9 * third_party/siso/cipd: git_revision:0b6159c39573013a79a47f8544200df07a6a74fc..git_revision:4442c27a02f2b5de389f88be9639e4e638ff761a * third_party/turbine/cipd: qNNUfaj7w4cSHTjVawVaZpq0pABVec9LcFebN19wm4EC..iJs7aB4rFWVA7mWGYiFq93N3ME_xpSuyIULTpTxD5Z0C * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/5634698162..788cb3c270 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/d5b1dd58bd..a7cdbef5ab * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/1340d3ed8b..aaf0275a08 * tools/luci-go: git_revision:b408832fea9036895f2767817491be5463ee6b22..git_revision:19861b3a5b37b383e7e9555e11aa43f34d71bd48 * tools/luci-go: git_revision:b408832fea9036895f2767817491be5463ee6b22..git_revision:19861b3a5b37b383e7e9555e11aa43f34d71bd48 * tools/luci-go: git_revision:b408832fea9036895f2767817491be5463ee6b22..git_revision:19861b3a5b37b383e7e9555e11aa43f34d71bd48 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/8e9b58419b..14089a7f57 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/2ed187cab2..12e1725706 * tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/05dbbfdcec..8b154f5837 * tools/skia_goldctl/linux: Djmxg641BIFDuvtwbk4GxAWptW7AWRnqZ5hCffbpETcC..BUSKiikgKynZFrvG5LYEzy3rGwyxdF0XCfjXYnJNcVEC * tools/skia_goldctl/mac_amd64: w4KjkADnVRHE8TgQXpDuP6qD3uivftyQ3ue-Ee-gqWQC..ZsOrg7xgPaaYo156AG7K_MFTx9f-wDEH0q6BFQxUiL0C * tools/skia_goldctl/mac_arm64: 4aUb9UJChUHJebFHC5FjJ5d6Lf7cYuLSEJbco0uC3WEC..csw65C75AJ7kjYY7eVIUUKBqJvrsMzejzZF_e66ZjagC * tools/skia_goldctl/win: Rj9DcPKzbqhsLO2by6iMiqZvlUFzBcSsp42l8nyHD8MC..C13nP-0qMu6SzC6Sq-P5kaZJ6p4yEykqSj3TnK39NiUC * tools/valgrind: https://chromium.googlesource.com/chromium/src/tools/valgrind/+log/aa44e7637f..6e97bd1a16 Clang version changed llvmorg-20-init-17108-g29ed6000:llvmorg-21-init-1655-g7b473dfe Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/1340d3ed8bae85ab0e8410c4439289dde1d3fea6..aaf0275a0825a4fdf7033c559b239e33aaf3d5fc/scripts/update.py Bug: angleproject:389733590 Tbr: cnorthrop@google.com,ynovikov@google.com Change-Id: Ib767a0354172f7234c64a55c1e09cfdf66da0d6f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6281465 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Igor Nazarov 4eed3a0c 2025-02-18T20:57:38 Vulkan: Remove EGL_WIDTH/HEIGHT from WindowSurfaceVk initialize The EGL_WIDTH and EGL_HEIGHT are only applicable when "EGL_ANGLE_window_fixed_size" is supported, which is currently only exposed by D3D backends. Bug: angleproject:40096349 Change-Id: I45886185d4740804709f274b70b73728b2a2e59d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6276201 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 91d0c56b 2025-02-18T20:00:00 Vulkan: Disable support for GL_EXT_YUV_target ... on vendors that don't have support for nullColorAttachmentWithExternalFormatResolve Bug: angleproject:386749841 Change-Id: I3437bf189bdfb40cba760143a442df13d6ebf8dc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6277811 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Yuly Novikov cab0acdf 2025-02-19T16:22:07 Suppress dEQP ASAN failures These block upgrading Clang to a new version that detects more problems. Bug: b/395920316 Change-Id: Ie07d1fce240741f2572546c86e838f8b16c4950c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6281031 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Mohan Maiya 0f969b98 2025-02-18T07:48:03 Vulkan: Disable dynamic rendering for Samsung Enable VK_KHR_maintenance5 iff VK_KHR_dynamic_rendering is enabled Bug: angleproject:386749841 Change-Id: I60f949b2454dd43599516f051fa51f7378513cf5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6267100 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Austin Annestrand d5a0d83a 2025-02-14T15:47:06 CL/VK: Fix addMemoryDependencies RAW barrier Additionally, remove unused barrier insertion code in processKernelResources(). Bug: angleproject:380188569 Change-Id: Id9f330410eecf45f94fe77bf072cf6601bd2a9e2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6271135 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Gowtham Tammana 8c0ac979 2024-06-20T16:39:26 Vulkan: Setup compute only queue for OpenCL Select compute only for OpenCL vulkan backend if `angle_enable_cl_compute_only_pipe` is set to true in gn args. And setting it as default for OpenCL. Bug: angleproject:395045928 Change-Id: Ie1a53e629646dbd5ba332dd297a4c8b737070e95 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6244610 Reviewed-by: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop e7833a01 2025-02-19T06:38:36 Reland "Remove use of is_chromeos_lacros" This reverts commit 80b55daa99c0170d0dc3f87a68b63ef51561233a. Reason for revert: Did not stabilize CI Original change's description: > Revert "Remove use of is_chromeos_lacros" > > This reverts commit 8dda514cb833c0c8392a4521f6d15454a053ebf7. > > Reason for revert: Possible cause of chromium CI failures like: > https://ci.chromium.org/ui/p/chromium/builders/try/linux-angle-chromium-try/27421/overview > > Original change's description: > > Remove use of is_chromeos_lacros > > > > Lacros is gone and this condition is always false. > > > > Bug: b/354842935 > > Change-Id: I587144eada64bbd6236dff89cce901ee382a481b > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6275695 > > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > > Reviewed-by: Cody Northrop <cnorthrop@google.com> > > Bug: b/354842935 > Change-Id: I4416c6ee4abe20bac65d7f21cbe20325618a67cd > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6278811 > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Cody Northrop <cnorthrop@google.com> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bug: b/354842935 Change-Id: If06fdb3ffe886d665360125a88cf2d8c20df383c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6281466 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Rafay Khurram f102ef02 2025-02-18T18:05:28 CL/Vulkan: Fix handling for NormalizedSamplerMaskPushConstant * Fixes creation of normalized sampler for push constant * CLSamplerVk should check if the sampler has not been created Tests-Passing: OCLCTS.test_image_streams CL_FILTER_NEAREST 3D, OCLCTS.test_image_streams max_images CL_FILTER_NEAREST 3D, OCLCTS.test_image_streams use_pitches CL_FILTER_NEAREST 3D Bug: angleproject:42266936 Change-Id: Ic70c55ad05f4babdd10b516e78a061bdb7aa2488 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6277809 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 80b55daa 2025-02-18T18:51:12 Revert "Remove use of is_chromeos_lacros" This reverts commit 8dda514cb833c0c8392a4521f6d15454a053ebf7. Reason for revert: Possible cause of chromium CI failures like: https://ci.chromium.org/ui/p/chromium/builders/try/linux-angle-chromium-try/27421/overview Original change's description: > Remove use of is_chromeos_lacros > > Lacros is gone and this condition is always false. > > Bug: b/354842935 > Change-Id: I587144eada64bbd6236dff89cce901ee382a481b > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6275695 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > Reviewed-by: Cody Northrop <cnorthrop@google.com> Bug: b/354842935 Change-Id: I4416c6ee4abe20bac65d7f21cbe20325618a67cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6278811 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Liza Burakova bc40362b 2025-02-18T13:24:31 Add line loop emulation for draw arrays Bug: angleproject:383356846 Change-Id: I43f4835e17ecb2401418f77555fd70332612e1bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6090912 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Liza Burakova <liza@chromium.org> Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Georg Neis 8dda514c 2025-02-18T03:05:40 Remove use of is_chromeos_lacros Lacros is gone and this condition is always false. Bug: b/354842935 Change-Id: I587144eada64bbd6236dff89cce901ee382a481b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6275695 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 91deaea3 2025-02-13T13:57:37 Roll third_party/dawn/ 1eca38fa5..8119dbd27 (1982 commits; 30 trivial rolls) https://dawn.googlesource.com/dawn.git/+log/1eca38fa5236..8119dbd27471 $ git log 1eca38fa5..8119dbd27 --date=short --no-merges --format='%ad %ae %s' 2025-02-12 zhuangxu Set MacOS deployment target to 11.0 when building with CMake 2025-02-12 dsinclair Revert "Remove stale WebGPU Compat CTS expectations" 2025-02-12 rharrison [tint][ir][fuzz] Add missing capability to tint::hlsl::writer::IRFuzzer 2025-02-11 shrekshao [Compat] Remove gles min31 end2end suppressions 2025-02-11 shrekshao [Compat] Fix toggle string for UseBlitForRG11B10UfloatTextureCopy 2025-02-11 rharrison [tint][ir][val] Add operand and result checks for MemberBuiltinCall 2025-02-11 rharrison [tint][ir][val] Check InstructionResult->Instruction is inst 2025-02-11 jrprice [node] Support subgroupMatrixConfigs query in dawn.node 2025-02-11 jrprice [vulkan] Enable subgroup matrix feature 2025-02-11 ynovikov Remove stale WebGPU Compat CTS expectations 2025-02-11 ynovikov Remove stale WebGPU CTS expectations 2025-02-11 dawn-autoroll Roll ANGLE from e746fb068fd3 to 19c5293e1347 (5 revisions) 2025-02-11 jrprice [metal] Enable subgroup matrix feature 2025-02-11 jrprice [dawn] Add SubgroupMatrixConfigs to adapter info 2025-02-11 kylechar Skip setting Vulkan object labels 2025-02-11 dsinclair [spirv-reader][ir] Add derivative operations. 2025-02-11 lehoangquyen D3D11: skip waiting on the fence that is owned by the same queue. 2025-02-11 dawn-autoroll Roll vulkan-deps from cd5e835851d1 to a88fd25a6a0d (8 revisions) 2025-02-11 dsinclair [spirv-reader][ir] Cleanup duplicate argument code. 2025-02-11 jrprice [dawn] Add feature for subgroup matrix extension 2025-02-11 dsinclair [spirv-reader][ir] Add support for `OpAny`. 2025-02-11 dsinclair [spirv-reader][ir] Add support for `OpAll` 2025-02-11 dsinclair [spirv-reader][ir] Add support for `OpBitReverse`. 2025-02-11 cwallez [tint] Make type::BindingArray use ArrayCount 2025-02-11 rharrison [tint][ir][val] Add additional checking to builtin calls 2025-02-11 dsinclair [spirv-reader][ir] Support `OpBitFieldUExtract`. 2025-02-11 lehoangquyen D3D11: return error if D3D feature level < 11.0 2025-02-11 shaoboyan Dawn Native: Setup ClampFragDepth offset in Vulkan Backend 2025-02-10 dawn-autoroll Roll ANGLE from c4caed5f649d to e746fb068fd3 (8 revisions) 2025-02-10 gman Compat: Fixup Device Limits 2025-02-10 dsinclair [spirv-reader][ir] Support `OpBitFieldSExtract`. 2025-02-10 dsinclair [spirv-reader][ir] Support `OpBitFieldInsert`. 2025-02-10 brandon1.jones Add Missing Synchronization For D3D12 Shared Buffers 2025-02-10 ynovikov Skip more textureSample tests on WebGPU CTS compat Android 2025-02-10 cwallez [dawn][frontend] Fix error message when @group > maxBindGroups 2025-02-10 dawn-autoroll Roll SwiftShader from 5017ce3c800e to 720189cae847 (1 revision) 2025-02-10 titouan Include tint fuzzers in high-end fuzzer build. 2025-02-10 dsinclair [spirv-reader][ir] Support `OpBitCount`. 2025-02-10 dawn-autoroll Roll ANGLE from 38aa0780bb36 to c4caed5f649d (28 revisions) 2025-02-10 jrprice [spirv] Require Vulkan Memory Model when fuzzing subgroup matrices 2025-02-10 jwata infra: Add project property to $build/siso 2025-02-10 dawn-autoroll Roll vulkan-deps from b4c8dd090b72 to cd5e835851d1 (1 revision) 2025-02-09 ynovikov Skip textureSample tests on WebGPU CTS compat Android 2025-02-09 dawn-autoroll Roll vulkan-deps from dbe0a14ab512 to b4c8dd090b72 (1 revision) 2025-02-08 ynovikov Remove stale WebGPU Compat CTS expectations 2025-02-08 ynovikov Remove stale WebGPU CTS expectations 2025-02-08 ynovikov Generalize Linux NVIDIA WebGPU CTS expectation 2025-02-07 dawn-autoroll Roll vulkan-deps from c32804ca5a39 to dbe0a14ab512 (9 revisions) 2025-02-07 shrekshao [Compat] fix glsl name collisions between stages for handle 2025-02-07 shrekshao Compat suppress min es31 failure tests (...) 2024-08-15 rharrison [tint][ir][val] Improve checks on Returns 2024-08-15 petermcneeley [tint] Minor follow-up fix for insert before 2024-08-15 dawn-autoroll Roll ANGLE from 2003e06230b1 to 83ca89e58cef (6 revisions) 2024-08-15 dsinclair Allow marking expectations as INVALID. 2024-08-15 bsheedy Suppress additional Linux/NVIDIA failures 2024-08-15 chouinard Generate missing hlsl e2e tests 2024-08-15 petermcneeley [tint] MSL texture array negative integer clamp 2024-08-15 dsinclair Remove the CTS cache code 2024-08-15 amaiorano Generated missing tint e2e tests for ir.dxc.hlsl 2024-08-15 jiawei.shao Tint: Add validations on the type of `clip_distances` 2024-08-15 dawn-autoroll Roll ANGLE from 6fddb18d77a3 to 2003e06230b1 (6 revisions) 2024-08-15 jiawei.shao Tint: Add WGSL extension and built-in variable `clip_distances` 2024-08-15 jiawei.shao Remove `DeviceBase::ForceSetToggleForTesting` 2024-08-15 jiawei.shao Rename `BufferBase::GetUsage` and `BufferBase::GetUsageExternalOnly` 2024-08-15 bsheedy Suppress 16" Macbook failures 2024-08-14 rharrison [tint][ir][val] Check swizzles are well formed 2024-08-14 chouinard [tint] Implement quadSwapX, Y and Diagonal 2024-08-14 amaiorano [hlsl] Emit mip level 0 for storage textures 2024-08-14 amaiorano Regen ir.fxc.hlsl files 2024-08-14 jrprice [benchmark] Add --check-stale option 2024-08-14 dawn-autoroll Roll vulkan-deps from c297ee8a1d20 to 7660e21e64db (3 revisions) 2024-08-14 amaiorano Fix DXC roll 2024-08-14 dawn-autoroll Roll ANGLE from 5967afe70699 to 6fddb18d77a3 (3 revisions) 2024-08-14 dneto [tint] validate clamp const low <= const high when first arg is runtime-eval 2024-08-14 chouinard [tint] Implement quadBroadcast 2024-08-14 dawn-autoroll Roll ANGLE from fdd26da99a12 to 5967afe70699 (6 revisions) 2024-08-14 jrprice [benchmark][msl] Flatten bindings 2024-08-14 jrprice [benchmark] Split generated shaders into multiple lines 2024-08-14 jiawei.shao Don't check adapter nullability in the constructor of DeviceBase 2024-08-14 jrprice [benchmark] Generate map directly 2024-08-14 jrprice [benchmark] Convert SPIR-V when generating header 2024-08-14 jrprice [benchmark] Check in the generated header 2024-08-14 jrprice [benchmark] Remove spv_reader and wgsl_writer deps 2024-08-13 enga Add DeviceGetAdapter and AdapterGetInstance to client_side_commands 2024-08-13 jrprice [benchmark] Don't convert SPIR-V to WGSL at init 2024-08-13 rharrison [tint][ir][val] Check disards in validator 2024-08-13 chouinard [tint] Implement subgroupShuffleXor, Up and Down 2024-08-13 senorblanco Fix texture-only arg in combine samplers transform. 2024-08-13 jrprice [spirv] Remove ast_generate_bindings 2024-08-13 dawn-autoroll Roll vulkan-deps from 77d583f37170 to c297ee8a1d20 (3 revisions) 2024-08-13 jrprice [tint] Remove the quantizeToF16 AST polyfill 2024-08-13 jrprice [spirv] Remove AST backend 2024-08-13 jrprice [loopy] Switch to IR version of SPIR-V backend 2024-08-13 shrekshao [Compat] Use @size attribute for glsl pad struct 2024-08-13 jrprice Reland "[tint][benchmark] Generate depfile for inputs" 2024-08-13 jrprice [spirv] Move E2E expectations to default paths 2024-08-13 jrprice [spirv] Remove AST E2E expectations 2024-08-13 jrprice [tint] Only allow --use-ir with WIP IR backends 2024-08-13 dawn-autoroll Roll ANGLE from f8fc8ac36280 to fdd26da99a12 (4 revisions) 2024-08-13 dawn-autoroll Manual roll vulkan-deps from a5d4d42457c3 to 77d583f37170 (8 revisions) Created with: roll-dep third_party/dawn Bug: angleproject:396213611 Change-Id: I124bbd59dccd14d8609c37ef62ccdd4455897b2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6270256 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Mark Lobodzinski bace6371 2025-02-17T15:14:37 Tests: Add Brotato ANGLE trace Test: angle_trace_tests --gtest_filter=*brotato Bug: b/397185288 Change-Id: I3d89d4b073b56efeede42abf5b0f44f8e9bd221a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6277708 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Takuto Ikuta ba3dcfa4 2025-02-13T17:57:29 Roll third_party/glmark2/src/ cb550a25c..6edcf0220 (2 commits) https://chromium.googlesource.com/external/github.com/glmark2/glmark2/+log/cb550a25c75a..6edcf02205fd $ git log cb550a25c..6edcf0220 --date=short --no-merges --format='%ad %ae %s' 2025-02-12 tikuta Add a missing include for std::copy 2025-01-17 alexandros.frantzis github: Add CI build for dispmanx-glesv2 Created with: roll-dep third_party/glmark2/src Bug: chromium:40263312 Change-Id: I8b64984816cf1439a4573e671f79a48daf532f35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6263327 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Takuto Ikuta <tikuta@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll e0332c86 2025-02-17T10:01:12 Roll vulkan-deps from b62b2ca7025e to 2a09ac22553e (8 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/b62b2ca7025e..2a09ac22553e Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/dc1641d168304d3ef97bba23d5fc45c9bead45f5..9fa14b91414994e2bf4d9509b8efc8071f154991 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/266d5cd69a94c1262c44307f4c4209c97f5c6ec4..e3b763ef7c17f7fd6d21a7ffe4069b0e1b45469b If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I4094cc49d026755696c5dd07644de595b37798fd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6275592 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mohan Maiya 51d2561b 2025-01-29T11:11:50 Vulkan: Enable a few features for Samsung Enable the following features for Samsung - 1. enableAdditionalBlendFactorsForDithering 2. forceSampleUsageForAhbBackedImages Bug: angleproject:386749841 Change-Id: I9e822b884ea4e44af38c2d2dd95c67b020b94f98 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207669 Commit-Queue: mohan maiya <m.maiya@samsung.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
hoonee cho bf9f69fc 2025-02-14T11:57:14 CL/Vulkan: Add support for LiteralSampler The support for LiteralSampler in clspv is enabled through the SPIR-V non-sementic clspv reflection instructions - LiteralSampler [1]. Setting the utility functions to process these instructions. Bug: angleproject:394767574 Change-Id: I47aa03dac050f723d2e3f2a7f9c6c1756e7ac9cf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6239519 Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Brian Johnson bef478f5 2025-02-11T10:44:48 Set system settings to A14 until edge to edge is fixed Bug: b/389208485 Change-Id: Ic70cfd7135a5cbc1f14656246835476dadad8034 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6254737 Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Brian Johnson <hibrian@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Charlie Lao 2ba1f129 2025-02-11T15:27:16 Vulkan: Avoid storage reallocation in UpdateDescriptorSetsBuilder UpdateDescriptorSetsBuilder::mDescriptorBufferInfos and mDescriptorImageInfos will keep grow to a few hundreds of entries and that grow will end up with data copy and patching mWriteDescriptorSets. There is no requirement that entire vector of mDescriptorBufferInfos andmDescriptorImageInfos must be continuous. The only requirement is that when allocDescriptorBufferInfos(count) is called, the count of entries must be continuous. This CL uses a queue of vectors so that when we need to allocate new storage we just add another vector and allocate out of the new vector. This avoids all related data copy. Similar thing applies to mWriteDescriptorSets. The only thing I added for mWriteDescriptorSets is that I try to grow the first vector big enough to hold all of the entries for next submission to minimize the vkUpdateDescriptorSets call. Bug: b/293297177 Change-Id: Ief417ace8c8f7b477a1962505e9487bf31bae2ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6253675 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll a55c9a50 2025-02-14T10:01:32 Roll vulkan-deps from f943784c5cbd to b62b2ca7025e (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/f943784c5cbd..b62b2ca7025e Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/00ac5651f528d84cc3cf7320b34407bce7d38d93..ef5207f9f8cce5097568efb15d3297d8b5d13014 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/8a39540feb81ee451e57058fd8a3e5fc2cd6c9c6..266d5cd69a94c1262c44307f4c4209c97f5c6ec4 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 abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in 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: abdolrashidi@google.com Change-Id: I831466a77ff357d1d5b4d6f2078dce3f5ecba010 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6267962 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 7afa2345 2025-02-12T11:45:59 Vulkan: More std::vector storage fix for TransformFeedbackVk etc PersistentCommandPool::mFreeBuffers switched to use std::deque since there is no need to be continuous storage TransformFeedbackVk::mBufferObserverBindings restored storage before calling emplace_back in a loop. We could use std::array, but this works as good. Bug: b/293297177 Change-Id: Id658216d3d4d25ee1d5cb4ccb8f1a4499b18c38d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6259279 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Mark Lobodzinski 367541f5 2025-02-05T16:45:13 Capture/Replay: Add multi-capture support to tracer Multiple captures can now be grabbed by setting the trigger value to the desired framecount and then resetting it to zero to trigger a new capture. Captures will be saved in the current capture.out_dir directory and this should be changed between captures to keep traces separate. Note that this feature will not work with apps using persistent coherent memory, and in these cases the tracer will exit, preserving the initial, valid trace. Bug: b/394107532, angleproject:42263521 Change-Id: I9d31d19ec6c3736dbda356405eb91fba2dd5a8d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6258503 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Austin Annestrand c8dc7c08 2025-02-13T16:35:05 CL: Fix typo in cl::BitField's exclude() routine Ignored passed "other" param. Bug: angleproject:42266936 Change-Id: Ia616bc7e2d1bfbdd39ed22221157b6aca5529ed2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6265705 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 064449af 2025-02-13T14:02:33 Vulkan: Fix race condition with foreign image transitions Bug: b/395155346 Bug: b/395513429 Bug: chromium:394148453 Change-Id: Ie6bcd74d8b6c8fdc37af0a0fbd29c0a7a96d0ec1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6265924 Reviewed-by: Jason Macnak <natsu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 93656e2d 2025-02-11T12:06:17 Vulkan: Reserve storage for ShaderInterfaceVariableInfoMap::mData To avoid data copy associated with vector storage reallocation, reserve enough space based on data gathered from app traces. Bug: b/293297177 Change-Id: I573fc89bd1c8590d9cfb72f576751c94f83720cd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6253674 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Charlie Lao 3d29a799 2025-02-11T10:05:35 Vulkan: Reserve enough storage for ImageHelper::mSubresourceUpdates Most app specify textures from level 0 to level N, which works against std::vector storage grow scheme (which grows in size of 1,2,4,8,16). This CL simply reserve space for 12 mipmap levels to accommodate for most used texture sizes. Bug: b/293297177 Change-Id: I44818ed7ee436c73ab7ff146972f122ae9f08f33 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6253673 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
angle-autoroll cd7f92e1 2025-02-13T10:38:05 Roll vulkan-deps from e2163451af70 to f943784c5cbd (9 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/e2163451af70..f943784c5cbd Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/20827027233f389701af54586900463f7c9ff8e7..00ac5651f528d84cc3cf7320b34407bce7d38d93 https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/8d6c54f05bdaab45945555a3afeb639b0f6aa091..0ed717a810d28e7533d935a7c0017f6d267a8671 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/66e57d1146fe9cd4649b63e361f526bcd239f0e1..dc1641d168304d3ef97bba23d5fc45c9bead45f5 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/b256782810c54e15209b64476823010f57f10b2a..8a39540feb81ee451e57058fd8a3e5fc2cd6c9c6 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 abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in 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: abdolrashidi@google.com Change-Id: Iade252edadbced393dfda3f9ce5e603dddd0887e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6261916 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop c8049a47 2025-02-12T13:21:56 Tests: Add Tower of Fantasy trace Test: angle_trace_tests --gtest_filter="*tower_of_fantasy" Bug: b/389808881 Change-Id: I16a4ab0c12c18d2feb9df41cb0ba5667adb1f161 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6258901 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Yuly Novikov 7014e9ec 2025-02-12T16:42:40 Further suppress dEQP-GLES2.functional.fragment_ops.blend on WGPU Only blend.*constant_alpha* were previously suppressed, but many other tests are flaky on Mac Intel. Bug: angleproject:370690274 Change-Id: I8618c6251956308fa06fe2739eff5050c9578f2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6258051 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 688f328f 2025-02-12T06:55:55 Revert "Suppress ImageTestES3 on Pixel 6 Vulkan" This reverts commit ef2ef107242781000ebe2f4f11839ea233aae01b. Reason for revert: should be fixed by https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/9418 Original change's description: > Suppress ImageTestES3 on Pixel 6 Vulkan > > ImageTestES3.ClearYUVAHB > ImageTestES3.RenderToYUVAHB > > Report on Pixel 6 Android 14: > VUID-VkSubpassDescription2-nullColorAttachmentWithExternalFormatResolve-09336 > > Suppress temporarily while VUID is being fixed. > > Bug: angleproject:395223719 > Change-Id: I52c7fea1058b522badbbd3be5050a01b099d15a7 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6243416 > Auto-Submit: Yuly Novikov <ynovikov@chromium.org> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bug: angleproject:395223719 Change-Id: I22b6ccde6444990d31b95771f067a31669ac3aa1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6258049 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 7ed5575f 2025-02-11T16:21:56 Tests: Skip monopoly_go on Linux/Intel * Skipped this trace on Linux/Intel due to failure on the perf bot. Bug: angleproject:385226328 Change-Id: If1d741fb681027865409c16ebe736c5ce8516ac1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6254465 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 6abdc117 2025-02-12T10:01:10 Roll vulkan-deps from a88fd25a6a0d to e2163451af70 (6 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/a88fd25a6a0d..e2163451af70 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/8a6b381c9afbfaf9fff851582539fab15ea480c0..20827027233f389701af54586900463f7c9ff8e7 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/a7fd3d2fe19f9e6e6c1c98f1fa010621ab90a2db..b256782810c54e15209b64476823010f57f10b2a 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 abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in 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: abdolrashidi@google.com Change-Id: I09a61c3632d0244f27f0be267915dd2450f6c188 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6257086 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Jordan 706e3be9 2025-02-05T05:38:50 Updating README.chromium license field for EGL-Registry Bug: b/358504615 Change-Id: I06074fa3500d6db53196c510bd1f363463634ed3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6232502 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Owners-Override: Jordan Brown <rop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Jordan Brown <rop@google.com>
Cody Northrop f8493aaa 2025-01-29T15:31:40 FrameCapture: Fix framebuffer setup for multiple contexts In some traces we're seeing garbage in Context specific setup for framebuffers. It seems the context is being lost in the final bind. For instance, we see this bad sequence in SetupReplayContext2: glGenFramebuffers(1, (GLuint *)gReadBuffer); UpdateFramebufferID2(2, 2, 0); glBindFramebuffer(GL_FRAMEBUFFER, gFramebufferMapPerContext[2][2]); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, gTextureMap[50], 0); glGenFramebuffers(1, (GLuint *)gReadBuffer); UpdateFramebufferID2(2, 3, 0); glBindFramebuffer(GL_FRAMEBUFFER, gFramebufferMapPerContext[2][3]); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, gTextureMap[50], 0); glBindFramebuffer(GL_FRAMEBUFFER, gFramebufferMapPerContext[2863311360][0]); Note the very large number in the last line. That is supposed to be a context number! This is due to a missing call to set the context for that instruction. It was added in one spot, but was needed in several. With the fix in this CL, we get the correct context: glGenFramebuffers(1, (GLuint *)gReadBuffer); UpdateFramebufferID2(2, 2, 0); glBindFramebuffer(GL_FRAMEBUFFER, gFramebufferMapPerContext[2][2]); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, gTextureMap[50], 0); glGenFramebuffers(1, (GLuint *)gReadBuffer); UpdateFramebufferID2(2, 3, 0); glBindFramebuffer(GL_FRAMEBUFFER, gFramebufferMapPerContext[2][3]); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, gTextureMap[50], 0); glBindFramebuffer(GL_FRAMEBUFFER, gFramebufferMapPerContext[2][0]); Test: Capture apps that set up multiple contexts Bug: b/371985732 Change-Id: Id12d7f0ec0ec9a2cdc2b4bfeca08faf9b8b7e775 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6217081 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Cole Faust cfa03e75 2025-02-03T11:56:01 Replace .toList() with .collect() .toList() was introduced to android in api level 34, which is newer than angle's min_sdk_version. This was found during an android lint update. Replace it with .collect(Collectors.joining(",")). Bug: b/394096385 Test: Presubmits Change-Id: I053adfa7f8e1d6d9758413f789115eee7d66fd7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6226327 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 19c5293e 2025-02-11T10:28:41 Tests: fix Swiftshader test instantiation logic Tests should not be disabled when IsSwiftshaderDevice(), for example running ANGLE builds without Swiftshader on cuttlefish which has Swiftshader set up as the GLES driver. Bug: angleproject:42266725 Change-Id: Id7155c0dfef84a775e558cfc84eb241b727a93a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6253838 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alex Dean c0d806b4 2025-02-10T23:01:33 CL: OpenCL support for ANGLE Capture/Replay Implementation of OpenCL Capture/Replay tool in ANGLE. Brief notes about the change: - Most meaningful changes for the capture process are made in src/libANGLE/capture/ - Most meaningful changes for replay are made in util/capture/ and src/tests/perf_tests/ - Many autogenerated files are changed/added to allow the capture of OpenCL objects & calls - The following applications were captured/replayed: benchmark_model, GeekBench Compute, GeekBench ML, AI-Benchmark, various OCL CTS tests - End2end test added to capture_tests. CapturedTestCL.MultiFrameCL/ES3_Vulkan Bug: angleproject:383841335 Change-Id: I55fdaa6cd6c7ba740aaa2351e4d29050059d6d1d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6102105 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov cfb430c8 2025-02-10T13:19:05 Remove angle::ErrorStream helper Most uses of the helper either use just the code or a fixed string, which compiles to a few instructions. Using this helper adds 200+ bytes of assembly to each use, due to the unneeded instantiation of ostringstream which allocates a buffer etc. The combined effect of this CL on an Android perf build is ~12KB (0.2%) reduction in size. The cases where the message is actually formatted are converted to an explicit use of ostringstream. Removing the helper so that the new code is explicit about the intent to use ostringstream, or an alternative way to format the message. Discovered accidentally while looking into size reduction due to __builtin_unreachable() Semi-automated code change, risk of copy-paste mistakes should be minimal. Bug: angleproject:394129077 Change-Id: I47c2642d750d31416b08a1cfa435d5463c294e35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6250078 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
angle-autoroll e4c707b3 2025-02-11T10:01:26 Roll vulkan-deps from b4c8dd090b72 to a88fd25a6a0d (9 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/b4c8dd090b72..a88fd25a6a0d Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/a0bfdde8b720c81fb37f42d2fa00522e68699268..8d6c54f05bdaab45945555a3afeb639b0f6aa091 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/b3fe11f89bd6673a1a8c55b0ddb9ba42811f0774..66e57d1146fe9cd4649b63e361f526bcd239f0e1 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/05e71c3af5bb92b26af767b00789e71bc65b72aa..a7fd3d2fe19f9e6e6c1c98f1fa010621ab90a2db 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 abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in 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: abdolrashidi@google.com Change-Id: If3688bc9c9f13b55f92dc2fae20a039ac6c8ab47 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6250273 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 39c52044 2025-02-11T02:01:02 Roll SwiftShader from 5017ce3c800e to 720189cae847 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/5017ce3c800e..720189cae847 2025-02-10 swiftshader.regress@gmail.com Regres: Update test lists @ 5017ce3c 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 abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in 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: abdolrashidi@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I9a94f0b88524f6c51cdca600ea76d1c719aa1ff5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6252265 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Geoff Lang e746fb06 2025-01-23T13:23:30 WebGPU: Implement blending Constant alpha is not handled yet. It needs to be emualted or added to WebGPU. Bug: angleproject:370690274 Change-Id: I5f8402f74ab08345b2f02c18e2d43fa39b2479a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194554 Reviewed-by: Liza Burakova <liza@chromium.org> Reviewed-by: Matthew Denton <mpdenton@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Amirali Abdolrashidi 9e86d8c0 2025-02-05T16:31:22 Vulkan: Fix VVL due to memory map range VVL: VUID-VkMappedMemoryRange-size-01390 * Updated BufferBlock::map() so the device memory uses the actually allocated buffer size. * To flush and invalidate a mapped memory range (non-coherent), the memory size is now aligned with nonCoherentAtomSize from the physical device limits. * Added an assert to make sure that the mapped size is within the allocated buffer size range. * Unskipped ExternalBufferTestES31 cases for Pixel6, except one case which seems to take a long time and result in timeout. * BufferDoesNotLeakAHB Bug: angleproject:394685081 Change-Id: Iddfb45997fed53c5ee99938d9bb57b670550b9a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6238059 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 869dde72 2025-02-07T15:44:12 Remove code paths for invoking the offline Metal compiler We experimented with invoking the Metal shader compiler directly to create cacheable shader libraries but the project did not show useful gains. It is currently all dead code, remove it. Bug: b/391990604 Change-Id: I6d13278d1a27d8b3ae961a0846f31292f2506b23 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6245258 Reviewed-by: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Yuxiang Qian 883f6246 2025-01-22T16:36:26 Add validation for eglSetDamageRegionKHR Although this is not mentioned in spec, n_rects in eglSetDamageRegionKHR should be a valid value. It doesn't make sense if it's less than 0. Refine the validation in ANGLE and also add end2end test. Bug: angleproject:395482390 Change-Id: Idbde839be85bac927486b7613005f25d54c3d5f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6242903 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Juston Li 2dc7d413 2025-02-10T10:37:38 Revert "Disable gl backend for desktop android" This reverts commit 3dc3de6225f927cf8e8495322fa201c167e84671. Reason for revert: This causes webview crashes on desktop CF Bug: b/394410295 Original change's description: > Disable gl backend for desktop android > > Desktop android only uses the vulkan backend > > Bug: b/388074349 > Change-Id: Ib42f04af0ed947cf93d3d891e78aef1ae0a81a63 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6164687 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Cody Northrop <cnorthrop@google.com> Bug: b/388074349 Change-Id: I22ab3a1c1766de7b9eb7da1fe5814cb25f8305e8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6249964 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi d252425d 2025-02-06T14:51:36 Vulkan: Check source image usage flags in copy paths ... instead of the format feature flags. If the source of the copy is has external format (allowed with glCopy[Sub]TextureCHROMIUM), the format feature checks are unable to query the format features. However, the image usage flags already have the required information (whether the image can be copied from, sampled from, etc). Bug: chromium:383056998 Change-Id: I2ba8820751eb526ef497a8be724193276fd46160 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6238265 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Igor Nazarov ae84e067 2025-02-10T19:31:37 Vulkan: Use correct feature in queryAndAdjustSurfaceCaps() Check "supportsSurfaceMaintenance1" feature instead of "supportsSwapchainMaintenance1", because `VkSurfacePresentModeEXT` structure requires "VK_EXT_surface_maintenance1" extension and not "VK_EXT_swapchain_maintenance1". Some platforms may expose one but not the other, causing inconsistent `GetMinImageCount()` calculations and swapchain recreation on each frame if "perFrameWindowSizeQuery" feature is enabled. Bug: angleproject:42267111 Change-Id: Id17bec8017799a7c175e6a4b03583665faf5dddd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6249841 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 0026006d 2025-02-10T12:03:40 Vulkan: Fix missing barrier between dispatch calls When storage images are used, ANGLE accidentally did not mark the images as being written to, so subsequent barriers were not produced when necessary. Bug: angleproject:352610491 Bug: b/394611669 Change-Id: Idd3e6aa6b90212605594240a533ebaec66850ea9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6249459 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Roman Lavrov c4caed5f 2025-02-10T06:17:01 Revert "UNREACHABLE -> __builtin_unreachable() in release clang builds" This reverts commit 7370bb573dd8b37006d409fc8917ff49912dd75a. Reason for revert: issue identified by fuzzer crbug.com/394980074 Original change's description: > UNREACHABLE -> __builtin_unreachable() in release clang builds > > This enables compiler optimizations such as reducing the amount of > branching, see anglebug.com/394129077#comment1 > > Reduces .so size in an Android perf build by 0.4%. I spot checked a few > differences and saw less branches (this will be causing a different > behavior in UNREACHABLE branches) as well as more functions getting > inlined (likely due to compiler heuristics due to less branches) > > Bug: angleproject:394129077 > Change-Id: I23411ca7a49d3daf2a0621bfcc0b2523d4db4f5a > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6231111 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Charlie Lao <cclao@google.com> > Commit-Queue: Roman Lavrov <romanl@google.com> Bug: angleproject:394129077 Bug: chromium:394980074 Change-Id: I7398d86c692e5c50ac1185c30e2053eb87f9bd70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6248417 Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll a4b89fc8 2025-02-10T08:01:51 Roll VK-GL-CTS from 1177f7b7d556 to 69ec1790cb7c (8 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/1177f7b7d556..69ec1790cb7c 2025-02-06 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2025-02-06 rgarcia@igalia.com Test DGC with mesh shaders and no fragment shader 2025-02-06 rgarcia@igalia.com Add SampleMask variants to dynamic A2C DGC tests 2025-02-06 rgarcia@igalia.com Test dynamic FSR with device-generated commands 2025-02-06 rgarcia@igalia.com Test destroying set layout immediately after creating DGC IES 2025-02-06 rgarcia@igalia.com Test using a depth-only pass with mesh shaders 2025-02-06 marcin.zajac@cognizant.com Fix subgroups multiple dispatches test for Vulkan SC 2025-02-06 kamil.goras@mobica.com Test maximum degree of anisotropy. Testing was removed by #637. Add excluding tests using *test-issues.txt for gles3-khr in build_mustpass.py 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 abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in 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: abdolrashidi@google.com Change-Id: I3c4203b0da9b9cfc95fccc695a31df7ba972e99d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6247809 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 9b75ed9a 2025-02-10T10:01:11 Roll vulkan-deps from c32804ca5a39 to b4c8dd090b72 (10 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/c32804ca5a39..b4c8dd090b72 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/a15ec3f54859037512aac22e58ea45aef09cde40..a0bfdde8b720c81fb37f42d2fa00522e68699268 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/682bcd51548e670811f1d03511968bb59a1157ce..b3fe11f89bd6673a1a8c55b0ddb9ba42811f0774 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/e00009bc3f550898c92e96a77ae4dca963778301..05e71c3af5bb92b26af767b00789e71bc65b72aa 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 abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in 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: abdolrashidi@google.com Change-Id: I4346a51c1ed3565df37ba0914b8866f28c80b0de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6247811 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov ef2ef107 2025-02-09T10:53:00 Suppress ImageTestES3 on Pixel 6 Vulkan ImageTestES3.ClearYUVAHB ImageTestES3.RenderToYUVAHB Report on Pixel 6 Android 14: VUID-VkSubpassDescription2-nullColorAttachmentWithExternalFormatResolve-09336 Suppress temporarily while VUID is being fixed. Bug: angleproject:395223719 Change-Id: I52c7fea1058b522badbbd3be5050a01b099d15a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6243416 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Mohan Maiya aef40167 2025-02-07T13:42:34 Vulkan: Account for padBuffersToMaxVertexAttribStride ... when evaluating maxTextureBufferSize Bug: angleproject:391002353 Test: KHR-GLES31.core.texture_buffer.texture_buffer_max_size KHR-GLES32.core.texture_buffer.texture_buffer_max_size Change-Id: I7f59d642ed5af87fdb0c683189da88b0a70a1122 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6244611 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Robic Sun b5584cfd 2025-02-05T15:14:52 ValidTexLevelDestinationTarget should add external related cases GL_TEXTURE_EXTERNAL_OES is not documented in OES_EGL_image_external spec, but we consider that to be an omission in the spec. Bug: angleproject:394380758 Change-Id: Idb5523c173ae0a5910af97639dadff3c5adf9fdf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6232504 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com>
Charlie Lao ffb7575c 2025-02-07T10:25:22 Vulkan: Reserve reasonable amount storage for GarbageObjects Based on data collected from app traces, set the initial storage enough to accommodate most of the usage cases. For ContextVk::mCurrentGarbage, the problem is that after the collectGarbage call, it lose the capacity value, so next time it end up with 0 and slowly grow the capacity again. This CL always keeps the capacity after the collectGarbage call. Bug: b/293297177 Change-Id: I70deccd879311aebe6ea3bbf4ecf5c54a74ef584 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6244922 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 3dcd143c 2025-02-06T15:06:02 Vulkan: Reduce GL_EXT_texture_storage_compression related overhead Most of apps not using fixed rate compression extension, but we are getting into all these logic that checking for vulkan driver's support of compression rate. This CL adds a check in TextureVk::initImage(), so that it only goes down that logic if mState.getSurfaceCompressionFixedRate() is not GL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT. This means for all existing app traces we have, we should not go down these logic any more. This CL also made TextureVk::getFormatSupportedCompressionRatesImpl() and ImageHelper::getCompressionFixedRate() out of TextureVk and ImageHelper class given they are not accessing the data member at all. Bug: b/293297177 Bug: angleproject:352364583 Change-Id: Ib5eebf54172f194d7c65c2d2d751326b7923403f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6239523 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao f6c5db26 2025-02-06T13:28:03 Vulkan: Reserve enough storage for GLRates Bug: b/293297177 Change-Id: Ie42dd646f7a4f5b0710058fc1612148c1d650e03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6231517 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 6eb9789e 2025-02-06T11:59:31 Vulkan: Reserve enough storage for mSwapchainImages Investigation shows that when running traces in back to back mode, mSwapchainImages end up with max size of 6 or 7. This CL reserve the enough capacity (8 to be power of 2) so that no storage reallocation related data copy will occur. Similar storage is reserved for mSwapchainImageBindings as well. Bug: b/293297177 Change-Id: I1e216b6eaeed72554a20d27963b797b00ca5fd07 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6240592 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Austin Annestrand 2ab36882 2024-09-16T14:28:49 CL/VK: Add fillBuffer staging/transfer routine Bug: angleproject:377545840 Change-Id: I90f6896f96af25d7776a36595930b81af8c1141b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6237414 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Austin Annestrand ffbcd15e 2025-01-06T16:07:02 CL: Update event creation routines Move backend construction after frontend construction completes. This avoids potential undefined behavior if backend construction tries to access members of half-constructed frontend object. Add virtual onEventCreate routine for any actions that need to be performed after cmd event has been created. Additionally, this also fixes incorrect timestamp values when queue profiling is enabled for the VK backend. This was due to a missed event association to the cmd queue. Bug: angleproject:377942756 Change-Id: I0a2f0390cc04f94143d1801ad71e06f63785f3ce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6149055 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Gowtham Tammana <g.tammana@samsung.com>
Mohan Maiya eaf06ea7 2025-02-06T13:58:07 Vulkan: Bugfix in resolvePrecisionMismatch(...) Early-return if a varying is not active in either the front or back shader Bug: angleproject:386749841 Test: GLSLTest.MismatchedInactiveVarying* Change-Id: Ie0c6dfd6616afcb94bec043d36d4f8188df8abb3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6239031 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Geoff Lang 9f8d7cc2 2025-01-23T13:27:19 WebGPU: Stream incompatible vertex and index data. Support reading back index and vertex buffers to stream incompatible source data. For now this includes: * Non-multiple-of-4 stride vertex data * Stride not a multiple of the type size * Unsigned byte indices Fix fallback formats so that all GLES formats have a fallback. Fix CopyToFloatVertexData writing the alpha channel as Float32One with a static_cast which converted Float32One (an integer) to a float instead of bit-casting. Bug: angleproject:368602384 Change-Id: I7eb1ba7ad1ec4292060c18de22f5948136cbb0a3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6194556 Reviewed-by: Liza Burakova <liza@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 49ca2e22 2025-02-07T09:58:12 Vulkan: vkQueueWaitIdle on device loss On device loss, a driver bug was encountered when cleaning up resources if vkQueueWaitIdle is not called. Bug: chromium:371512561 Change-Id: Ib0d4f317a15a1788f0cf206842cb1e7bf6936d96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6244337 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Cody Northrop 0790b50d 2025-02-07T11:15:11 Android: Sleep after orientation change in EGL test In each of the EGLPreRotation* tests that change dislay orientation, we have a sleep that gives the Android device time to react. A new test was added that didn't include the sleeps and is causing flaky asserts based on how it got sharded for testing. This CL adds the sleeps, mirroring other tests. Test: EGLPreRotationSurfaceTest.CheckSurfaceCapabilities Bug: angleproject:395110957 Change-Id: If2a959d69ba4f4b4ed0f6a6fbffb94762174966d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6244919 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll a7f5ae52 2025-02-07T10:01:08 Roll vulkan-deps from 4d67b5012a2f to c32804ca5a39 (25 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/4d67b5012a2f..c32804ca5a39 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/39766a06679bf5e4bc1e0339136f1b6a519fcec5..8a6b381c9afbfaf9fff851582539fab15ea480c0 https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/5728a66537b23986135f50c465fcb282b0434da4..a15ec3f54859037512aac22e58ea45aef09cde40 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/e7294a8ebed84f8c5bd3686c68dbe12a4e65b644..09913f088a1197aba4aefd300a876b2ebbaa3391 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/9d07794bc955101c79cbd260233fcc65b9951cfc..682bcd51548e670811f1d03511968bb59a1157ce https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/c52931f012cb7b48e42bbf2050a7fb2183b76406..a9f88a232a4cd6634e47f0f93c8fac5789387a7a https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/e9d5ff418fd29381205b7617170a6d556bc6a10e..e00009bc3f550898c92e96a77ae4dca963778301 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I304fb09e84cc50d18abd28938ee4733042ca739c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6243349 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Kimmo Kinnunen d4083c79 2025-01-31T15:06:36 Metal: Make ObjCPtr available to all modules Move ObjCPtr implementation to src/common/ObjCPtr.h, angle::ObjCPtr so that it's available also outside libANGLE. Bug: angleproject:393263506 Change-Id: I8ecd5632c7ae33ef4b409fc820fad229e91bc0ab Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6219318 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
angle-autoroll d3552825 2025-02-07T02:01:43 Roll SwiftShader from 28a2e8a45f16 to 5017ce3c800e (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/28a2e8a45f16..5017ce3c800e 2025-02-05 swiftshader.regress@gmail.com Regres: Update test lists @ 28a2e8a4 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Iaf27239487ce52843501fb7dc7ca9958a5224cd4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6241924 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kimmo Kinnunen 4e5f2ca3 2025-01-31T14:30:05 Metal: Rewrite AutoObjCPtr as ObjCPtr Rewrite without WrappedObject base class, the base class only convolutes things and does not help. This way the class can be moved upwards in the software layers in subsequent commits. Fix the class so that it can be used with ObjCPtr<T> and ObjCPtr<id<P>> signatures, to resemble other smart pointers. Remove the Auto prefix, ObjCPtr should be relatable to other smart pointers such as unique_ptr. Bug: angleproject:393263506 Change-Id: Ia5a5728514b7f9182c2ec8380c04716e8b9d2351 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6219317 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
angle-autoroll e9cda7f6 2025-02-06T08:01:49 Roll VK-GL-CTS from 48e7f3020f52 to 1177f7b7d556 (5 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/48e7f3020f52..1177f7b7d556 Includes manual merge to remove GN reference to deDefs_kc_cts.h 2025-02-04 lorenzo@khronosgroup.org Remove all references to KC-CTS and GTF 2025-02-04 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2025-02-04 elima@igalia.com Add VK_KHR_video_maintenance2 tests 2025-02-04 lorenzo@khronosgroup.org Update external sources and use Vulkan 1.4.307 2025-02-04 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 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,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Change-Id: I881df1f09ca98c892a485c5a8368c3f6eda390f5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6237566 Reviewed-by: Solti Ho <solti@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov c24468c9 2025-02-06T19:04:19 Fix "fallthrough annotation in unreachable code" in release d3d builds The same issue I ran into in https://crrev.com/c/6231111 but on d3d Bug: angleproject:394129077 Change-Id: I90faa01fa66c514162a1d5e4cbe56a2bfd85085e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6237859 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Amirali Abdolrashidi 7263989e 2025-02-06T13:20:14 Vulkan: Fix VUID-vkBindBufferMemory-buffer-01444 Some platforms issue a VVL error regarding memory allocation for an external buffer. It seems to be due to the fact that the memory is not allocated as a dedicated memory for the buffer, whereas the buffer requirements (as reported in vkGetBufferMemoryRequirements2()) show that it requires a dedicated memory. This causes an issue when binding the buffer to the memory. This change explicitly sets the dedicated memory information for the external buffer, so the memory is regarded as dedicated and be able to be bound to the buffer without errors. * Added VkMemoryDedicatedAllocateInfo when calling to allocate memory for the external buffer (InitAndroidExternalMemory()). * Appended this structure to the extra allocation info via pNext. * Unsuppressed VUID-vkBindBufferMemory-buffer-01444. Bug: angleproject:394598758 Change-Id: I0d952cea204e528c23859c74909dbbb0751d0b65 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6239029 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov 0ef55535 2025-02-06T15:40:28 FastVector::resize_down never increases capacity Note: this function is currently only called by SPIR-V code generation In particular, SpirvTransformer::transform() was bloated 8896 -> 9756 bytes due to ensure_capacity() getting fully inlined. After https://crrev.com/c/6236800 this makes a much smaller difference but this still probably makes sense as before this CL the only difference between resize() and resize_down() was an assertion. Bug: angleproject:394848869 Change-Id: If55a41d67e26a9bc1a30cb0012d1958faa734cc8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6238266 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov fb563c3e 2025-02-06T15:29:14 FastVector capacity increase is a function call FastVector::ensure_capacity() gets inlined in many places, but capacity increase is a rarely needed case. Move code to increase_capacity and make it a function call. This reduces the size of a release Android .so by ~14KB. Bug: angleproject:394848869 Change-Id: Iefb5fe894d8c8eaba2d251502925de453290bc31 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6236800 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Kimmo Kinnunen 1675d47f 2025-01-31T10:05:03 Metal: Remove incorrect AutoObjCPtr construct on T && The T && constructor and operator= were incorrectly marked up as "ownership transfer", clearing the source. However, there is no ownership transfer in the assignment, and the call sites only work due to the T source holding is never unretained directly. Consider correct sequence (T is NSMutableArray *): NSMutableArray *obj = [[NSMutableArray alloc] init]; AutoObjCPtr<NSMutableArray *> myHolder = std::move(obj); [obj release]; Since the construct was retaining, the correct operation would need a release on the original raw obj-c pointer. However, the T && constructor would clear out the raw obj-c pointer, and thus calling release on the original pointer would not be possible. Remove the T && constructor, and use just normal T constructor. There's no ownership transfer when constructing AutoObjCPtr -- it is a retaining operation. The constructor does need T &&, raw obj-c objects are just passed normally as pointers, T. Call sites keep their std::move()s, which are no-ops. When functions accepting obj-c pointers get changed to accepting AutoObjCPtrs, the move will start actually transferring the ownership. Bug: angleproject:393263506 Change-Id: I5847f2ec98ab372343d0d2559c92dee9a327e126 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6219316 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 60a9320c 2025-02-06T14:31:43 Move unlikely path of MakeLengthOp to a function call This function gets inlined many times, adding 96 bytes of assembly to each caller such as angle::spirv::WriteStore etc. In total, this CL reduces Android release .so size by ~14KB Bug: angleproject:394848869 Change-Id: Ief364116fd9b881f9c0dfefb1ca5005282bf57ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6236799 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 7370bb57 2025-02-04T13:19:37 UNREACHABLE -> __builtin_unreachable() in release clang builds This enables compiler optimizations such as reducing the amount of branching, see anglebug.com/394129077#comment1 Reduces .so size in an Android perf build by 0.4%. I spot checked a few differences and saw less branches (this will be causing a different behavior in UNREACHABLE branches) as well as more functions getting inlined (likely due to compiler heuristics due to less branches) Bug: angleproject:394129077 Change-Id: I23411ca7a49d3daf2a0621bfcc0b2523d4db4f5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6231111 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 38aa0780 2025-02-05T10:01:12 Roll vulkan-deps from 430dae9cea66 to 4d67b5012a2f (34 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/430dae9cea66..4d67b5012a2f Manual suppression for new VVL errors: VUID-vkBindBufferMemory-size-01037 SYNC-HAZARD-WRITE-AFTER-READ for vkCmdCopyBuffer Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/0549c7127c2fbab2904892c9d6ff491fa1e93751..39766a06679bf5e4bc1e0339136f1b6a519fcec5 https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/c1c4712c75bc123dac21daea5dfffd416e103e59..5728a66537b23986135f50c465fcb282b0434da4 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/04b4a204aa501992ae85a207be1e200e195c98e1..9d07794bc955101c79cbd260233fcc65b9951cfc https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/39f924b810e561fd86b2558b6711ca68d4363f68..234c4b7370a8ea3239a214c9e871e4b17c89f4ab https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/0508dee4ff864f5034ae6b7f68d34cb2822b827d..fde0f9718bd60b49cf8efc80d3fb7a093c309ac0 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/c3dc948b0b960b3a01506b57a15ecee2a9e31bf2..e9d5ff418fd29381205b7617170a6d556bc6a10e If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: b/394598758 Bug: b/394598470 Tbr: cnorthrop@google.com Change-Id: Id968b54695b441eb4d21a63c23885eda0f567b9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6233954 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jordan 4ce8b71e 2025-02-05T08:06:09 LSC updating angle License ids This is based on the existing id and the license file provided. Bug: b/358504615 Change-Id: I0f0956806f27f8bfed6589157b583d159a25a3d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6232605 Owners-Override: Jordan Brown <rop@google.com> Auto-Submit: Jordan Brown <rop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Austin Annestrand 483be92c 2025-02-05T14:03:00 CL/VK: Cleanup old non-uniform restriction in CLDeviceVk Bug: angleproject:42267085 Change-Id: I5499324c89d0358c12b6ce2f6f0015547730fc8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235928 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com>
Shahbaz Youssefi 93e99da3 2025-02-05T11:23:50 Vulkan: Fix bugs with varying precision fixer This transformation creates new variables and turns the original ones Private. There were a few bugs where some transformations referred to the replaced id (larger than the original index bound) and had wrong look up (where e.g. they would cache something based on the original id, then try to look it up with the replaced id). This change makes it such that where needed, both the old and new ids are given to the various transformations, so they can look up with the old id, but output instructions with the replaced id. Bug: angleproject:386749841 Bug: b/394299327 Change-Id: Ie6b3c3445c440417cbbffdd849a036abfc504fe2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6235664 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: mohan maiya <m.maiya@samsung.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Austin Annestrand bab3f9ab 2025-01-30T14:30:16 CL/VK: Cosmetic kernel arg updates - Move POD argument buffer init to kernel-init - Remove unused CLKernelVK members/types - Switch inside of setArg loop - Rename kernel members that best aligns to their resources Bug: angleproject:42267001 Change-Id: I837ceeceaf1ff903b67b7f100298d4a3159b97d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6220895 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Charlie Lao 9c82e55a 2025-01-16T17:47:41 Vulkan: Make VkEvent for Buffer work with more general usage Before this CL, BufferHelper::mCurrentWriteAccess and mCurrentReadAccess, mCurrentWriteStages, mCurrentReadStages still track all accesses, regardless if it is tracked by RfCountedEvent or via PipelineBarrier. This is okay for very limited usage case, but becomes fragile when expand the event for general usage case. The problem is that you can not correctly tell which bits in mCurrentReadAccess is for pipelineBarrier and which is for Event, since event and pipeline barrier could have the same VkAccessFlags. Similarly problem exist for mCurrentWriteAccess. The reliable way is actually track pipeline barrier access and VkEvent access completely separately. This CL changes mCurrentWriteAccess, mCurrentWriteStages, mCurrentReadAccess and mCurrentReadStage to only contain bits that not tracked by VkEvent. For this reason, RefCountedEventWithAccessFlags wrapper class is added to wrap mCurrentWriteEvent and its associated VkAccessFlags. Bug: angleproject:360274928 Change-Id: I057484f0c3baa2739d56c3a75889eb88a647a65a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6210683 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 82e25a32 2025-02-03T15:07:33 Make all " < 0" error messages consistent Use the form: Error is due to reason: <error message> Bug: angleproject:392938089 Change-Id: I9e72858cf76a46ab874ffc211afdae1eb93ca05d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6225600 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Austin Annestrand da837830 2025-01-30T15:37:56 CL: Fix device queue query validation for 3.0 Was missing 3.0 check for device queue size. Since device queue support is optional for 3.0, device queue query (CL_QUEUE_SIZE) needed device queue support. Adding validation check for that here. Bug: angleproject:42267011 Change-Id: Ibc1d7e00f78df01f131f69047b1390b02b5fa780 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6220894 Reviewed-by: Gowtham Tammana <g.tammana@samsung.com> Commit-Queue: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Igor Nazarov fb118e41 2025-01-22T13:26:31 Vulkan: Always defer acquireNextSwapchainImage() call This change is a preparation before the follow up EGL_WIDTH/EGL_HEIGH eglQuerySurface rework. There is no need to acquire initial swapchain image after surface initialization. Skipping ANI may speed-up apps startup in some cases. The operation is also removed from swap (in case of out-of-date swapchain) for consistency and as a preparation for the follow up change. Change also enables "perFrameWindowSizeQuery" for NVIDIA on Windows because of the "SurfaceDimensionsChangeAndFragCoord" test failure. Test fails because `vkQueuePresentKHR()` does not return `VK_ERROR_OUT_OF_DATE_KHR` when presenting old image size after the window resize, even despite that surface caps currentExtent has already new size. Issue is not permanent, and may "fix" itself if add few empty swap buffers before starting the test or do ANI in the initialize (which one will work depends on GPU). Above issue is observed on the driver 546.01 (currently used by bots). Old 531.68 and new 566.36 does not have this issue (tested on RTX 3060 Laptop). The 546.01 driver, however, fails on that same system even on the base CL (without this change). Bug: angleproject:153329980 Bug: angleproject:42264593 Change-Id: I261e1f573a6b892f1ba4282dd17f17289c2f4184 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6182599 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen bee34ea7 2025-01-30T18:39:00 Metal: Remove redundant AutoObjCObj template alias Some members were held with AutoObjCObj<T> and some with AutoObjCPtr<T *>. Use the latter. Bug: angleproject:393263506 Change-Id: I9d8d56e9ffe3281d5e9087de7959249cbb4b9bd4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216872 Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 81412e88 2025-01-30T16:46:26 Metal: Avoid using retainAssign() Use more native C++ name for assign: operator=. Bug: angleproject:393263506 Change-Id: Ia31a79fbb15474ba754034338340ef5c3ed6e8ec Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6216871 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 49e2b5e2 2025-01-31T15:52:39 Support compiling without GetProcAddress Move GetProcAddress implementation next to the proc array. This way it is possible to not compile the implementation. Bug: angleproject:393513311 Change-Id: Ic9c9022ee74a7619bec25f1481fd9da68b14b119 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6219320 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
angle-autoroll a6e010d6 2025-02-05T02:01:07 Roll SwiftShader from 86cf34f50cbe to 28a2e8a45f16 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/86cf34f50cbe..28a2e8a45f16 2025-02-04 swiftshader.regress@gmail.com Regres: Update test lists @ 86cf34f5 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/swiftshader-angle-autoroll Please CC angle-team@google.com,cnorthrop@google.com on the revert to ensure that a human is aware of the problem. To file a bug in SwiftShader: https://bugs.chromium.org/p/swiftshader/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: cnorthrop@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: Ieefe88d9a03cc759777fc386e6f24b683af24302 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6231408 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 9c6af5ce 2025-02-04T22:50:01 Vulkan: Fix crash in SPIR-V transform with varying precision fix Bug: angleproject:386749841 Change-Id: I5743eb049dde6c8a093b175e857251bad9b2bc9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6232948 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop aa94da02 2025-02-04T12:41:36 Revert "Vulkan: Bugfix in SPIRV entrypoint transformation" This reverts commit 9975e80b9d98a2158ae859b3f4eff7340baa540d. Reason for revert: Crashes on platforms with varyingsRequireMatchingPrecisionInSpirv Original change's description: > Vulkan: Bugfix in SPIRV entrypoint transformation > > Perform varying precision fixer transformation before > other shader-stage-specific transforms that could > potentially modify the interfaceList. > > Also enhance EXTBlendFuncExtendedDrawTest by enabling > additional config with VaryingsRequireMatchingPrecisionInSpirv > feature enabled > > Bug: angleproject:386749841 > Change-Id: Ife4a2f932415296f1565527e50a2b8646cd7697d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6207741 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: mohan maiya <m.maiya@samsung.com> Change-Id: I07064136f962a7d73ce5c80289da300d474faa22 Test: professional_baseball_spirits trace Bug: b/394299327 Bug: angleproject:386749841 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6227993 Reviewed-by: Cody Northrop <cnorthrop@google.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov c2cb1603 2025-02-03T18:21:10 Perf tests: change fps limiter method to timestamp based Instead of using previous frames, target start_time + N * delta. This will result in a smoother playback when there is no hiccups. In case of a big hiccup, replay will be catching up by submitting frames without sleeps until it hits the timestamp, then submit at the target rate again. Bug: b/376300037 Change-Id: I481f1325867d53e911acd2d381bfda4c94adefc6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6226746 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Hans Wennborg 6808ef83 2025-02-04T10:57:18 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>