Log

Author Commit Date CI Message
angle-autoroll 6bf0acbe 2024-12-19T10:01:56 Roll vulkan-deps from ae8417f428a1 to 2d70513951de (8 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/ae8417f428a1..2d70513951de Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/b3a6aa7b03c51ba976e4f4e96b1e31f77f43f312..3a2834e7702651043ca9f35d022739e740563516 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/1a84052a5c332faaed12ea2431420b72febda807..9295a8b94ed0751565fa9cda6d949f5e388b32d9 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/0ab12c1668642874f77bad0e4f4006cbd2f7eaee..7f8738669b15a7a158b2a77aff2033973dcd8751 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/fed45fcbb6cace64d6a28439d55b87327fafb34a..2cbfec7bb95b3de7bab8db92716197ec9a855fb2 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: I573b47f32e6ec2a2ae966e33044dbb13abe5ac6c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6110617 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll c656c5fc 2024-12-19T07:00:53 Roll Chromium from 56d2640e97e6 to 7c4073fa4450 (673 revisions) https://chromium.googlesource.com/chromium/src.git/+log/56d2640e97e6..7c4073fa4450 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/5f2852b973..1923aa3e32 * buildtools/linux64: git_revision:7296b601ea80252ccf8cce300c4bebcabf235f20..git_revision:c97a86a72105f3328a540f5a5ab17d11989ab7dd * buildtools/mac: git_revision:7296b601ea80252ccf8cce300c4bebcabf235f20..git_revision:c97a86a72105f3328a540f5a5ab17d11989ab7dd * buildtools/win: git_revision:7296b601ea80252ccf8cce300c4bebcabf235f20..git_revision:c97a86a72105f3328a540f5a5ab17d11989ab7dd * testing: https://chromium.googlesource.com/chromium/src/testing/+log/7153a13a08..0305a85a20 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/07cede3272..79b08c29b3 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/d74466096c..e7c18388ac * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/138f15432a..fcb6178914 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/77e59bec0f..02cb512292 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/3605d6cf39..05bd4c24a2 * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/22d3b30294..3ef711c420 * tools/luci-go: git_revision:94ce62005f7d368ce9e36897e15bb570cf0d0027..git_revision:cde70f87137f7a20bfc3c8d0c03a25c29932a790 * tools/luci-go: git_revision:94ce62005f7d368ce9e36897e15bb570cf0d0027..git_revision:cde70f87137f7a20bfc3c8d0c03a25c29932a790 * tools/luci-go: git_revision:94ce62005f7d368ce9e36897e15bb570cf0d0027..git_revision:cde70f87137f7a20bfc3c8d0c03a25c29932a790 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/d004cd1259..5df8dc0a32 * tools/skia_goldctl/linux: aXHJ25ncUXPVNosfIlyKwiMy1_7taQbInefMc4nqOX0C..qB-N09rgIx7yC6Zqn7Y2JvrIlrTweZuYNwSsc6xbILQC * tools/skia_goldctl/mac_amd64: n7u7fnD8_JipALcOofxpNMbvph2fsWaAgmaeLeCkSs0C..CFFGYiI44XKMhON-DbnaT7dFxhCTcMt3y5Cnrbwkt4IC * tools/skia_goldctl/mac_arm64: X-JBelmtsD7X26HqTaYu0LMCepx-_ANJcSvFWh1tM24C..Bge_01Gtd7niAlYa0ekw745cni6y4ZGAAHAvBp_G5lUC * tools/skia_goldctl/win: 7nms2AMNrHCf-FHq9enXo2f6vRLs_lA_98qZ2cRiE78C..CrceP9s_KaQvTDquHpILvfcu7lSVZOcDCsnClOyhmYQC No update to Clang. Bug: None Tbr: abdolrashidi@google.com Change-Id: Id7a3b148bf9898160c21e17e80fc594b6faae0a2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6109849 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi bb640019 2024-12-18T12:36:13 Vulkan: Fix partial clear texture for RGB8 snorm When clearing an RGB8 snorm texture, due to this format not being renderable, a temporary buffer is filled with the clear value and applied to the image as a buffer update. However, this buffer's unpack state has nothing to do with the context's unpacking state. This should be reflected on the pixel unpack state that is used to calculate the required buffer size for the update. Otherwise, it can result in wrong colors for parts of the image. * Updated the pixel unpack state in the unrenderable part of the clear function for textures (TextureVk::clearSubImageImpl()). * It will now use "1" as the alignment since it is tightly packed. * Added unit test to clear one corner of an RGB8 snorm texture and use it for drawing. * Clear2DRGB8SnormCorner Bug: angleproject:384765600 Change-Id: Id302a9f4049626aae1a68798e86d7183d5c264e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6108140 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Amirali Abdolrashidi da687935 2024-12-18T14:17:21 Skip stencil clear test for QCOM Bug: b/328156792 Change-Id: I0f76d5c76cb1b25f2d0aafbb5bd7f4e6ef8cbc2b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6108177 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Mark Lobodzinski 0dabe316 2024-12-18T09:35:35 Tests: Add Monopoly Go trace Test: angle_trace_tests --gtest_filter=*monopoly_go Bug: b/384879555 Change-Id: I64ab6efb23745ab9e099c1243d4f09cee0f311d5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6106530 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll f78f4585 2024-12-18T10:01:18 Roll vulkan-deps from 960d6a89ffb2 to ae8417f428a1 (3 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/960d6a89ffb2..ae8417f428a1 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/a4084887e4a71473a77d8f1109057e1c3c421da0..1a84052a5c332faaed12ea2431420b72febda807 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/160e946f5d4b3a657f47b7fc4b0bd3cc8d0d6afd..0ab12c1668642874f77bad0e4f4006cbd2f7eaee https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/b54d52d8f7ccd201ae30454628986580afd240e4..fed45fcbb6cace64d6a28439d55b87327fafb34a 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: I1deb71c169c001c716c37fe1859b4a1c7a189fd2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6104454 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7fb481a6 2024-12-18T07:04:50 Roll Chromium from 2afb57f1b7d9 to 56d2640e97e6 (592 revisions) https://chromium.googlesource.com/chromium/src.git/+log/2afb57f1b7d9..56d2640e97e6 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/0958114dad..5f2852b973 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/ddb7dc3c42..b8ff6f5a95 * buildtools/linux64: git_revision:468c6128db7fabe32a29d4753460ef53594406fc..git_revision:7296b601ea80252ccf8cce300c4bebcabf235f20 * buildtools/mac: git_revision:468c6128db7fabe32a29d4753460ef53594406fc..git_revision:7296b601ea80252ccf8cce300c4bebcabf235f20 * buildtools/win: git_revision:468c6128db7fabe32a29d4753460ef53594406fc..git_revision:7296b601ea80252ccf8cce300c4bebcabf235f20 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/d94ed7278b..7153a13a08 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/11d0977d59..af88579bcb * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/abd0e1e8cc..d74466096c * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/263e08dde3..138f15432a * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/574b92bc1d..77e59bec0f * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/d911e97c96..3605d6cf39 * third_party/r8/cipd: 4GP31XSTv8hw3F8OO6XHx00UfLiyEz2CDY9jcjJa9XUC..q_wvk54XItTBlBNQMHkS4NRMp-tapPW97M292KTXHrsC * third_party/r8/d8/cipd: o7pbwAFk68RQBPYLlCUm0mQ6B3Bj9pykXOPvv8akR5kC..q_wvk54XItTBlBNQMHkS4NRMp-tapPW97M292KTXHrsC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/d332e8e543..22d3b30294 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/70df2ea80a..63612d4a53 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/c742f9fe2a..dffea2e717 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/5d54ecf10c..d004cd1259 No update to Clang. Bug: None Tbr: abdolrashidi@google.com Change-Id: I0498f22cbbc3b98cd8a5289c18c85c108b462330 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6103817 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi 37d26888 2024-12-17T13:57:27 Skip some context sharing tests on S22 * Skipped the following tests from EGLContextSharingTestNoFixture: * EglTerminateMultiThreaded * EglDestoryContextManyTimesSameContext Bug: angleproject:384799391 Change-Id: Ide9d86d900cb99f761ca007a703689c762eff167 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6102980 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuxiang Qian db8e5617 2024-10-23T15:21:33 Reland "Add check for some EGL API attrbute values" This is a reland of commit 9481eb625b358897583f8adeca5fc520f8c215ae Original change's description: > Add check for some EGL API attrbute values > > EGL validation in ANGLE lacks of some error handlings mentioned > in EGL spec. Those error handlings are added, and we need to > make sure angle end2end tests are not influenced. > > Bug: angleproject:375528200 > Change-Id: Ic0686d9ccc70e18b0cf3449184452771c77c06b7 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034532 > Reviewed-by: Charlie Lao <cclao@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:375528200 Change-Id: I6db890a95825156848d7da8ebc15f7e30b0902ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6088519 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 5579baea 2024-12-17T18:57:24 Explicitly build for x64 on Mac bots In preparation for cross-compiling on arm64 and vice-versa. Bug: b/373881483, angleproject:42266214 Change-Id: Id55f7e0b84a2e8703eac8db45508990e9a0c2978 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6099214 Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Cody Northrop 0f0d2cc7 2024-12-17T09:50:56 Tests: Add Riptide GP2 trace Test: angle_trace_tests --gtest_filter="*riptide_gp2*" Bug: b/384714388 Change-Id: I09984201c2c96797dcc867ef818aa18684561275 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6101168 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Cody Northrop 645c192a 2024-12-17T09:45:41 retrace: Fix assumption in get_min_reqs Only try to remove implied extension if it is present. Test: retrace_restricted_traces.py get_min_reqs --traces riptide_gp2 Bug: b/384714388 Change-Id: Ic0240c387012923e1918fccd2ea6c341d9a84609 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6101167 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Roman Lavrov b7d6605a 2024-12-17T09:17:20 Rename GC and CL dispatch threads to <16 chars Current names too long (there is a 15 char pthread limit), they just gets ignored. Add an assert. Bug: angleproject:42262955 Bug: angleproject:375231041 Change-Id: If26c98b709524b9c072f26759b98f81fe0d4367d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6096873 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Yuly Novikov ae97e569 2024-12-17T10:36:41 Stop Win NVIDIA experiment Bug: chromium:40805707 Change-Id: I385262a568e5dcde003267f9bb58c69b675fd529 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6098193 Reviewed-by: Brian Sheedy <bsheedy@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Roman Lavrov 87d891dc 2024-12-13T19:51:42 Inline more tiny functions on hot path Similar to https://crrev.com/c/6094283, not as hot but broader. Highlighted by PGO profile of driver_overhead_2 trace combined with size and offset of the corresponding .so sections to maximize reduction in TLB misses. Improves driver_overhead_2 performance by 1~2% on Pixel 8. Almost no change in .so size as functions are tiny. Bug: b/383305597 Change-Id: Ib1c021d4635141b879667b59305e4d45de7b8aef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6088958 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll 1c096a85 2024-12-17T10:01:53 Roll vulkan-deps from 296cdf58b6ec to 960d6a89ffb2 (9 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/296cdf58b6ec..960d6a89ffb2 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/8ad28db18a601c43ff0d7e369533f5e8c450b39e..b3a6aa7b03c51ba976e4f4e96b1e31f77f43f312 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/7cac4f3551b177ebc32aa58d47e3a5ce734f160f..a4084887e4a71473a77d8f1109057e1c3c421da0 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/037ed53cffefd8e58f3223b47c5ec69bec0d4857..7ccaa5e0206fcaa03135312fccb4624ae110a19b https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/cf3372f90d354d2c824de503a591b3d0afe3b6fd..b54d52d8f7ccd201ae30454628986580afd240e4 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: I9a7262596970451be7aa3afd6f5eb0e0740a23e3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6101165 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll ea17bfe1 2024-12-17T07:02:10 Roll Chromium from e28e83b69fbe to 2afb57f1b7d9 (575 revisions) https://chromium.googlesource.com/chromium/src.git/+log/e28e83b69fbe..2afb57f1b7d9 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/bc67f77f4f..0958114dad * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/7d7540c349..ddb7dc3c42 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5f13158534..d94ed7278b * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/197e2d4092..07cede3272 * third_party/android_build_tools/lint/cipd: e7TqJrHnUCGyZXuBsbG8sf1IjzAYRuSzHRSWUJu_Nj4C..yRtv3ENAOirUsdXx8YvmGiB0eKZ5gBioAfsRlt9K0-UC * third_party/android_build_tools/manifest_merger/cipd: gsCtvMuqN-QovWEu4yfq_-E0wb0sL2kbuqtNEODHfFkC..X4iLz22sYpi8ovi3X8Iv6PXgOcy2934mOa16hL5-w2gC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/02aa3279dd..11d0977d59 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/452b85ea51..abd0e1e8cc * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/77e8bd6385..263e08dde3 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/5e0e903f13..d0ddad5b79 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/ac38246731..d911e97c96 * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/f385058192..d332e8e543 * third_party/siso/cipd: git_revision:90146f88d98328d9b83b42d16ee30ff54b48d214..git_revision:f9bfa081826a4ffb6f2a96b640d009cef900e69f * third_party/turbine/cipd: c4onccFJcd8rKHM_6js-X_ucjXdFqhDWK8aUX4ARSkkC..dz8pRLjwNlToJ0tS14T-TDQJNikmFXEDByMo-OzBbl0C * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/e911dd7a7e..c742f9fe2a * tools/luci-go: git_revision:dbbe363b4b1aa09520e53ccdd2d52cb661875e53..git_revision:94ce62005f7d368ce9e36897e15bb570cf0d0027 * tools/luci-go: git_revision:dbbe363b4b1aa09520e53ccdd2d52cb661875e53..git_revision:94ce62005f7d368ce9e36897e15bb570cf0d0027 * tools/luci-go: git_revision:dbbe363b4b1aa09520e53ccdd2d52cb661875e53..git_revision:94ce62005f7d368ce9e36897e15bb570cf0d0027 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/07b0ccface..8e880be2d6 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/c6b397dfef..5d54ecf10c No update to Clang. Bug: None Tbr: abdolrashidi@google.com Change-Id: I0611e5b829a3c149643333eaea32b5f6ab2a8a42 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6100471 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuxin Hu c0ee7b20 2024-12-12T16:49:40 Swap getWidth() and getHeight() if the swapchain is 90 emulate rotated When checking if we need to recreate swapchain, we should swap the getWidth() and getHeight() if Is90DegreeRoration(mEmulatedPreTransform) is true. This is because: When creating swapchain, if Is90DegreeRoration(mEmulatedPreTransform) is true, we store swapped mSurfaceCaps.currentExtent.width and mSurfaceCaps.currentExtent.height in getWidth() and getHeight(), but we use the original mSurfaceCaps.currentExtent.width and mSurfaceCaps.currentExtent.height to create the swapchain. On next acquire, to check if the swapchain property changes, we should swap getWidth() and getHeight() if if Is90DegreeRoration(mEmulatedPreTransform) is true, otherwise we are recreating swapchains when width and height are unchanged. Bug: b/382006939 Change-Id: I1cbe9da2ff5e76602a90963514d2d0d5fbf677e7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6090199 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi e72cc71b 2024-12-13T11:59:29 Vulkan: Remove framebuffer fetch from shader if unused Some application shaders may use `inout` variables to simplify shader generation (presumably), but in the end don't actually ever read from those variables. This change tries to detect some very simple but common cases where it's clear that the shader completely overwrites the variable without reading from it and turns `inout` into `out`. When coherent framebuffer fetch emulation kicks in, these shaders would no longer cause unnecessary barriers. Bug: angleproject:377923479 Change-Id: I0970b72f551b24409337a375cf97aa63bb511fb5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6094425 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
angle-autoroll d8efbad8 2024-12-16T10:01:49 Roll vulkan-deps from 034518ee55a5 to 296cdf58b6ec (9 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/034518ee55a5..296cdf58b6ec Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/340bf88f3fdb4f4a25b7071cd2c1205035fc6eaa..8ad28db18a601c43ff0d7e369533f5e8c450b39e https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/bfc0ffa353cb2b7bfda65c6b65f15c5c4d0564d0..70c6ba3d70dc038cc1fcf319fa2ea46b8edc5d3b https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/13b59bf1d84054b8ccd29cdc6b1303f69e8f9e77..7cac4f3551b177ebc32aa58d47e3a5ce734f160f https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/f00d38b79154d717654f1e513460bf4471e46013..cf3372f90d354d2c824de503a591b3d0afe3b6fd 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: I97525a871b5da8adb81da75c7179b1243618ca72 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6096321 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 9f6c2783 2024-12-16T02:01:50 Roll SwiftShader from c0fe4d40475b to 23b93c7cfe27 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/c0fe4d40475b..23b93c7cfe27 2024-12-13 dneto@google.com kokoro: use cmake-3.31.2 in kokoro bots 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: Ia585b8f041d43b6c89f60cbb6358b5eeb37f6186 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6095957 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 51bf3080 2024-12-16T07:01:03 Roll Chromium from 41d46852e819 to e28e83b69fbe (803 revisions) https://chromium.googlesource.com/chromium/src.git/+log/41d46852e819..e28e83b69fbe If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC abdolrashidi@google.com,angle-team@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/88cd7324ae..bc67f77f4f * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/a3088d386a..7d7540c349 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/4056715131..5f13158534 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/b5ecd2133b..197e2d4092 * third_party/android_build_tools/error_prone/cipd: AYoMbR1EWdl0sGTYnDZkWcRZOQnKpArFh-Mq-qpoq3gC..3uVZCorp5AfUqWJh9_b88WPAXGcMXzb2-_RELEMkIAAC * third_party/android_build_tools/lint/cipd: rEOy2pZDcjaTl2F78H5_hqHHcofjPkK9CESlIPmCmwAC..e7TqJrHnUCGyZXuBsbG8sf1IjzAYRuSzHRSWUJu_Nj4C * third_party/android_build_tools/manifest_merger/cipd: 3FQUDYdvPIJhN5cvl_0KGxzA_XRYfOksxkEdXVDy4ZMC..gsCtvMuqN-QovWEu4yfq_-E0wb0sL2kbuqtNEODHfFkC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/1b79868a9b..02aa3279dd * third_party/android_sdk/public: B4p95sDPpm34K8Cf4JcfTM-iYSglWko9qjWgbT9dxWQC..OCGHZKTdjXjIELVI6FMAgcDkfnd_1ybB0_MtljPtz-8C * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/77bb168c21..452b85ea51 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/9b4d1e485d..77e8bd6385 * third_party/fuchsia-sdk/sdk: version:26.20241203.6.1..version:26.20241213.3.1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/2d9b9a9eea..5e0e903f13 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/a6362b2727..574b92bc1d * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/19bfdd55df..d1e95b102f * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/5dda25750d..ac38246731 * third_party/r8/cipd: lKhbNcMvJ5dFn56zD1r3KUOhXVK3ybW4iS_Ju6ylTBYC..4GP31XSTv8hw3F8OO6XHx00UfLiyEz2CDY9jcjJa9XUC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/c2c91c04ca..70df2ea80a * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/b7f833f53d..e911dd7a7e * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/557d05265f..c6b397dfef No update to Clang. Bug: None Tbr: abdolrashidi@google.com Change-Id: Iadb464cc75ecf4807a0e36cd032513461680fa49 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6095454 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Roman Lavrov 00d9ef8f 2024-12-13T11:59:29 Inline GetUniformTypeInfoFromIndex A very small function call on hot path, highlighted by PGO profile data from driver_overhead_2. Makes driver_overhead_2 1~2% faster on Pixel 8 (measured with shared context lock off). Bug: b/335295728 Bug: b/383305597 Change-Id: I36e58b42b06c72c8f4c282110c85bb5130ced8d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6094283 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 1287e19e 2024-12-13T15:28:59 Vulkan: Further improve recreateSwapchain() error handling Fixed problem in cases if something fails after assigning `mSwapchain = newSwapChain` and before setting `mAcquireOperation.state = impl::ImageAcquireState::NeedToAcquire`. In the above case we will already have `mSwapchain` pointer with potentially undefined state of related members, while `mAcquireOperation.state` may remain `NeedToProcess`. Returning in case of a failure without assigning `mSwapchain` we will stay in the "invalid swapchain" state while still have new swapchain in the `mLastSwapchain`. This state is already handled by existing code and will try to call `recreateSwapchain()` again until it succeeds. Bug: angleproject:380234227 Change-Id: I465115deef4c06f35d40b90efc192b51e7b9fd44 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6089081 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Yuxiang Qian a1be7e61 2024-11-26T14:39:18 Implement EGL_EXT_surface_compression This patch adds implementation of EGL_EXT_surface_compression to ANGLE, including new API eglQuerySupportedCompressionRatesEXT and adding EGL_SURFACE_COMPRESSION_EXT in EGLQuerySurface and EGLCreateWindowSurface/EGLCreatePlatformWindowSurface. Angle end2end test is added to verify the extension. Bug: angleproject:375496226 Change-Id: I06926930d94485a378fc831d552cf55fe7938a57 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6073355 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 5fad41a0 2024-12-03T17:18:35 CL: Fix Non-Uniform Query check The following method needs updating: https://github.com/google/angle/blob/main/src/libANGLE/CLDevice.cpp#L424 It currently does not account for lower OpenCL driver versions that do not contain the query value: CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT As this was only introduced as of OpenCL 3.0 support https://registry.khronos.org/OpenCL/specs/3.0-unified/html/OpenCL_API.html#CL_DEVICE_NON_UNIFORM_WORK_GROUP_SUPPORT Bug: angleproject:381335059 Change-Id: I9f1e61270690077bdca0be3aef0d88b77c27bf11 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6068289 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 8caf0e78 2024-08-30T20:16:33 CL/VK: Add writeBufRect staging/transfer routine Adding enqueueWriteBufferRect staging/transfer code/routine for the non-blocking conditions. Allows us to correctly stage writes in a batch of cmds with multiple enqueueWriteBufferRect cmds. Bug: angleproject:42267074 Change-Id: I715bb4c139374fa24ad5d1a0db329ae0f35ae741 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6068288 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Austin Annestrand 9e1ce8c1 2024-08-30T20:11:06 CL/VK: Add readBufRect staging/transfer routine Adding enqueueReadBufferRect staging/transfer code/routine for the non-blocking conditions. Allows us to correctly stage writes in a batch of cmds with multiple enqueueReadBufferRect cmds. Bug: angleproject:42267074 Change-Id: I46b7b9f4e1fbcd0314a7700525935ed2743b1587 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6068287 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 2c404434 2024-12-13T09:05:48 Revert "Add check for some EGL API attrbute values" This reverts commit 9481eb625b358897583f8adeca5fc520f8c215ae. Reason for revert: Causes failures when rolling into chromium: https://chromium-review.googlesource.com/c/chromium/src/+/6089841 Original change's description: > Add check for some EGL API attrbute values > > EGL validation in ANGLE lacks of some error handlings mentioned > in EGL spec. Those error handlings are added, and we need to > make sure angle end2end tests are not influenced. > > Bug: angleproject:375528200 > Change-Id: Ic0686d9ccc70e18b0cf3449184452771c77c06b7 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034532 > Reviewed-by: Charlie Lao <cclao@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:375528200 Change-Id: I8e59113e4d94571b0ec1d8135519e829d3571a15 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6094284 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@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>
Shahbaz Youssefi bafb661e 2024-12-13T12:01:19 Vulkan: Remove debug log + dead code Bug: angleproject:376572258 Change-Id: Ie774fd248a37fc65b4e05df0b4e4dffb778b9b4f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6090907 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi 9c67a505 2024-12-11T14:29:59 Vulkan: Rename CommandProcessor.* to CommandQueue.* Bug: angleproject:42262955 Change-Id: I5585309479d8c66e9ddfa41e12a757381ebb80bd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6089885 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
angle-autoroll d3186daa 2024-12-13T02:01:13 Roll SwiftShader from 7e54d43d6905 to c0fe4d40475b (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/7e54d43d6905..c0fe4d40475b 2024-12-13 tikuta@google.com add missing includes for the build with use_libcxx_modules 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: If4918284e6993b2876b4162c03f74304db7c7cb8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6093004 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll ea39c3fc 2024-12-13T10:01:06 Roll vulkan-deps from bd600597bc4b to 034518ee55a5 (11 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/bd600597bc4b..034518ee55a5 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/a0995c49ebcaca2c6d3b03efbabf74f3843decdb..340bf88f3fdb4f4a25b7071cd2c1205035fc6eaa https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/1229f1ef3b82498af600965141cde29a3c928e29..13b59bf1d84054b8ccd29cdc6b1303f69e8f9e77 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/eab360311909074896aee1c5dd59a07756fc7f4e..037ed53cffefd8e58f3223b47c5ec69bec0d4857 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/828d51af674a36f8a6cbaf99c83f30808e9d94e2..f00d38b79154d717654f1e513460bf4471e46013 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: Ie474defc2feae18ca1b9ac683295bb89a1774d6f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6093034 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 90a57e76 2024-12-13T07:01:28 Roll Chromium from 7b13ac11cb7e to 41d46852e819 (501 revisions) https://chromium.googlesource.com/chromium/src.git/+log/7b13ac11cb7e..41d46852e819 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/d4122dbe61..88cd7324ae * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/75f731e7de..a3088d386a * testing: https://chromium.googlesource.com/chromium/src/testing/+log/6701fb9387..4056715131 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/0b76dfe4ff..b5ecd2133b * third_party/android_build_tools/lint/cipd: ogvoJt-5sfVvPmkufyujLCkY4ZsHBN3VIirNJGSH0mUC..rEOy2pZDcjaTl2F78H5_hqHHcofjPkK9CESlIPmCmwAC * third_party/android_build_tools/manifest_merger/cipd: hyODeowQwjjxMHe11I3-FOtBGbTg6MQdr3Uh9ZUUHA4C..3FQUDYdvPIJhN5cvl_0KGxzA_XRYfOksxkEdXVDy4ZMC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/cdb1f13073..1b79868a9b * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/3ad6a49db4..77bb168c21 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/238650f0b1..9b4d1e485d * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/643441dc2f..2d9b9a9eea * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/d82e9c4d06..a6362b2727 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/758bbcaa6a..5dda25750d * third_party/r8/cipd: j0CWzYzqsndnaKDzw-cLHbbkO-1-KUttLvurGT_Ve-UC..lKhbNcMvJ5dFn56zD1r3KUOhXVK3ybW4iS_Ju6ylTBYC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/db95c7fa4a..f385058192 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/ee45457cda..c2c91c04ca * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/5c9878dc3c..b7f833f53d No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I0df6ddba9eda765effb5caa355a7bfeb625dfb96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6093030 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi c75bd915 2024-12-10T23:01:44 Vulkan: Remove asyncCommandQueue It's been years and it never showed an advantage. In the meantime, performance without this feature seems close to native drivers (i.e. the feature has lost its appeal) and it's frequently a source of complication and bugs. Bug: angleproject:42262955 Bug: angleproject:42265241 Bug: angleproject:42265934 Bug: angleproject:42265368 Bug: angleproject:42265738 Bug: angleproject:42266015 Bug: angleproject:377503738 Bug: angleproject:42265678 Bug: angleproject:173004081 Change-Id: Id8d7588fdbc397c28c1dd18aafa1f64cbe77806f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084760 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alex Dean 9c566e86 2024-12-11T17:42:16 CL/VK: Fix event blocking for enqueueReadImage/enqueueMapImage There were issues with enqueueReadImage and enqueueMapImage getting blocked when one of the waitEvents is a user event. This change fixes the issue by staging a transfer routine. Additionally, this change removes the redundant struct BufferBox. Bug: angleproject:381199196 Change-Id: Id0c09d9930b36b79229f5e2367f8132e9e5e476e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6056426 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll dc86d618 2024-12-12T10:01:24 Roll vulkan-deps from 9ee24c2aa734 to bd600597bc4b (2 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/9ee24c2aa734..bd600597bc4b Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/c8ae21c728aecf3a512f65babf3ea2ce1b43121b..828d51af674a36f8a6cbaf99c83f30808e9d94e2 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: I7ad1d38463e622fcb3a4806582204b33c4624b3a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6090038 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 71e22bf2 2024-12-12T07:00:47 Roll Chromium from f6784391405b to 7b13ac11cb7e (547 revisions) https://chromium.googlesource.com/chromium/src.git/+log/f6784391405b..7b13ac11cb7e 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/5431efe022..d4122dbe61 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/863e50ee3c..75f731e7de * testing: https://chromium.googlesource.com/chromium/src/testing/+log/50b5edf820..6701fb9387 * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/1a2321d01d..cdb1f13073 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/40c51c5d3e..3ad6a49db4 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/a7b6e2238a..238650f0b1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/92b37caa42..643441dc2f * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/bb3dd07735..d82e9c4d06 * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/6066b14957..19bfdd55df * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/457859ab60..758bbcaa6a * third_party/r8/cipd: jnP8YjPJaWAXthtBv-bT_5HD3c6ywpAmGL31ZURB3fgC..j0CWzYzqsndnaKDzw-cLHbbkO-1-KUttLvurGT_Ve-UC * third_party/siso/cipd: git_revision:332cc31376cbaab640d0622ed3619f3200e1f1e1..git_revision:90146f88d98328d9b83b42d16ee30ff54b48d214 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/487d92d9b3..ee45457cda * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7e9f30e93a..557d05265f No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I1957dea9b150aff274baafc3fc69b707f63f6434 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6090036 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Mark Lobodzinski e9b33f04 2024-12-11T15:17:51 Tests: Add Don't Starve Pocket Edition trace Test: angle_trace_tests --gtest_filter=*dont_starve Bug: b/383500194 Change-Id: I924436d5bb2b166dac5798feff1d614ce1453adb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6090033 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuxin Hu 16e62810 2024-12-03T15:00:13 Add option to run deqp tests with native driver on Android Add a new value option for --deqp-egl-display-type to launch dEQP tests with native GLES driver on Android: --deqp-egl-display-type=native-gles This new value is only parsed and used on Android builds. Applying it has no effects on non-Android builds. Bug: b/379363846 Change-Id: Ia194e09e6cf50a3e505d756a396ef047a8f1ce59 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6068187 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Gowtham Tammana 4532beb0 2024-12-04T11:46:42 CL/Vulkan: Set depth and height initial values For types that dont have depth and height set them to 1, and upate query method correspondingly. Updated the test suit to add new tests to the CI, and the following file was autogenerated using `scripts/run_code_generation.py` - `infra/specs/angle.json` Bug: angleproject:382527246 Change-Id: I982f0558248d053759d50b6fc3ca29d389c62acf Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6075440 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
angle-autoroll 5efc2682 2024-12-11T21:46:45 Manual roll vulkan-deps from 0057c6fd95c9 to 9ee24c2aa734 (16 revisions) Manual roll requested by cnorthrop@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/0057c6fd95c9..9ee24c2aa734 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/4d2f0b40bfe290dea6c6904dafdf7fd8328ba346..1229f1ef3b82498af600965141cde29a3c928e29 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/c33168850e057596dd6647e154487102091bb65a..eab360311909074896aee1c5dd59a07756fc7f4e https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/3d71b8748ca519be54daacdabed9dcb6fa4367bf..c8ae21c728aecf3a512f65babf3ea2ce1b43121b 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: I184a5ab23b02a5a9922d5c6cd0287d8ccbde0a08 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6089891 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi fc4fc174 2024-12-10T22:01:28 Vulkan: Prevent crash with D/S FF without D/S attachment The spec says that the values for gl_LastFragDepth/StencilARM are undefined if there is no depth/stencil attachment. This "just" works on tiling GPUs, because reading input attachments simply translates to reading _something_ from the tile memory. For ANGLE, the situation is a little more complicated. ANGLE has to bind descriptors for input attachments (because non-tilers read from the input attachment descriptor instead of using the knowledge that input and color/depth/stencil attachments are one and the same thing in tile memory). When a depth/stencil attachment is missing, there is no image to bind to the descriptor set. ANGLE cannot skip binding an image to the descriptor set, because OpImageRead (translated from subpassLoad()) attempts to access the input descriptor; skipping this causes an internal crash in SwiftShader for example. ANGLE cannot bind a bogus image as input attachment, as Vulkan requires that input attachments are also color/depth/stencil attachments. ANGLE _could_ bind a bogus image as input attachment and also as depth/stencil attachment. This is rather risky, as it then also has to be careful to make sure that depth/stencil attachment is never actually used (i.e. it affects the depth/stencil state, load/store ops etc). In this change, the shader itself is modified to remove references to the depth/stencil input attachments if the attachment is missing. This is rather inefficient, as it means the pipeline warmup will not produce a usable pipeline, but it's accepted as a workaround for something apps shouldn't really be doing. Bug: angleproject:376572258 Change-Id: I0de68252b61615cb82cba7d1730699aadf41e92f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6085368 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi e9ba1681 2024-12-10T21:29:26 Vulkan: Fix DR vs FF vs non-draw RP start DR is Dynamic Rendering FF is Framebuffer Fetch RP is Render Pass With DR, whether framebuffer fetch is used or not is no longer tracked in the framebuffer's RenderPassDesc, because that property has no bearing on the framebuffer anymore. It still exits in RenderPassDesc to support legacy VkRenderPass objects. After a draw call starts a render pass, the state of the command buffer's copy of RenderPassDesc (copied from the framebuffer's) is updated to include the correct framebuffer fetch mode. However, this was not done when the render pass starts through other means, such as when a scissored or masked clear would call `Context::startRenderPass`. This change moves the aforementioned update of the framebuffer fetch mode to `Context::startRenderPass` so it affects everywhere the render pass may start from. Bug: angleproject:383356851 Change-Id: I82eff43863fc5b9fe67e57453269ee73859a6cd7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6085367 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Gowtham Tammana bde4d143 2024-09-27T14:08:43 CL/Vulkan: Setup a dispatch loop per commandqueue Commands submitted to renderer need clean up ops post completion. Setup a background thread per commandqueue that waits on the command completion and performs the post completion operations. Updated test suite and `angle.json` was autogenerated with `scripts/run_code_generation.py`. Bug: angleproject:375231041 Change-Id: I82b4211ee6e229c679ef31897fc63d61fa904bb5 Signed-off-by: Gowtham Tammana <g.tammana@samsung.com> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5960590 Reviewed-by: Austin Annestrand <a.annestrand@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Yuxiang Qian 9481eb62 2024-10-23T15:21:33 Add check for some EGL API attrbute values EGL validation in ANGLE lacks of some error handlings mentioned in EGL spec. Those error handlings are added, and we need to make sure angle end2end tests are not influenced. Bug: angleproject:375528200 Change-Id: Ic0686d9ccc70e18b0cf3449184452771c77c06b7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034532 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mark Lobodzinski 09f3bc3a 2024-12-10T15:57:49 Tests: Add Loop Hero trace Test: angle_trace_tests --gtest_filter=*loop_hero Bug: b/383282700 Change-Id: Iff3b5a37b3dfea898344007f544ec25c8b6fa0be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6085489 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shufen Ma f9d08964 2024-10-29T14:14:43 Fix primitive restart issue with line loop Refine function CopyLineLoopIndicesWithRestart and function CopyLineLoopIndicesWithRestart so that they can deal with the case when there is only one index before/after restartIndex. Bug: angleproject:376097643 Change-Id: I06ee0208522d6dc5b6cd6ec0ba4f8682de7b12f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5975353 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll f7ad0f5d 2024-12-11T09:52:37 Roll Chromium from db1ea12e2e31 to f6784391405b (610 revisions) https://chromium.googlesource.com/chromium/src.git/+log/db1ea12e2e31..f6784391405b 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/0ef8e99239..5431efe022 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/88979f2947..863e50ee3c * testing: https://chromium.googlesource.com/chromium/src/testing/+log/152a8ce9c7..50b5edf820 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/a487155ccf..a7b6e2238a * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/60a3e18387..92b37caa42 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/61ad6ef5b6..bb3dd07735 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/58effa862d..457859ab60 * third_party/r8/cipd: BkjdEJg2icSYHSYeOMbEI4Kf_1Zn4-fkpg6vqgvFkAEC..jnP8YjPJaWAXthtBv-bT_5HD3c6ywpAmGL31ZURB3fgC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/a734bf44c0..487d92d9b3 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/6dfab414b2..5c9878dc3c * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/e678d182b7..7e9f30e93a No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I99537de1c52454cabc710b83e277ff39ca1c9a5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6086439 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Neil Zhang e45a0420 2024-12-05T17:41:38 Fix glCopyImageSubData() not work with multisample render buffer When target is "GL_RENDERBUFFER", and which is multisample, the function will not work. Bug: angleproject:382101118 Change-Id: I3d9c4a2550f9d66eeb73447328a03d4507cf2fa5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6073359 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 9b8cf765 2024-12-09T16:43:34 Remove non-conformant flag from roll_aosp.sh * angle_expose_non_conformant_extensions_and_versions is no longer included in roll_aosp.sh to be enabled by default. Bug: b/376899587 Change-Id: Id86671d8fdd4e1fe008146babe1f3fa109523d99 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6082669 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
angle-autoroll e34135cc 2024-12-09T18:20:00 Manual roll vulkan-deps from 86f73c27b3fc to 0057c6fd95c9 (28 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/86f73c27b3fc..0057c6fd95c9 Manual edits to VVL skip list in vk_renderer.cpp for bugs: https://anglebug.com/42266639, https://anglebug.com/383311444 Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/LunarG/VulkanTools/+log/4e9bb6f426cf776910848441da65cc14f1146e77..bfc0ffa353cb2b7bfda65c6b65f15c5c4d0564d0 https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers/+log/36d5e2ddaa54c70d2f29081510c66f4fc98e5e53..3f17b2af6784bfa2c5aa5dbb8e0e74a607dd8b3b https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools/+log/3fb52548bc8a68d349d31e21bd4e80e3d953e87c..4d2f0b40bfe290dea6c6904dafdf7fd8328ba346 https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers/+log/49af1bfe467dd5a9efc22f7867d95fdde50e2b00..6a74a7d65cafa19e38ec116651436cce6efd5b2e https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools/+log/a2224abf350f61211462a33e5b540201fa17de0d..2744de9936755fea6912d47e7a0a8857d8a4fdee https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries/+log/b538fb5b08513aa78346cd414ad5e576a2a3e920..160e946f5d4b3a657f47b7fc4b0bd3cc8d0d6afd https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/902f3cf8d51e76be0c0deb4be39c6223abebbae2..3d71b8748ca519be54daacdabed9dcb6fa4367bf 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,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: angleproject:42266639 Bug: angleproject:383311444 Tbr: cnorthrop@google.com,ynovikov@google.com Change-Id: I90615e11c3dd2d737d5f87e3fabd5b984c807111 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6079809 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Le Hoang Quyen 6bb1bc9b 2024-12-10T16:56:33 Add an extension to report total memory usage of all GL objects Currently the extension will only count GL buffers, textures and render buffers' memory. Fixed: angleproject:383256300 Change-Id: I33ce6fafae8aa5b60071e66366d35dc098e1313b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084013 Auto-Submit: Quyen Le <lehoangquyen@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Quyen Le <lehoangquyen@chromium.org>
Yuxiang Qian a137d702 2024-10-24T18:24:14 Reland "Delay EGLQueryContext render buffer change" This is a reland of commit 233d9ee5c3525cc8290b3af52385ed59973438b4 Original change's description: > Delay EGLQueryContext render buffer change > > According to the EGL spec, EGL_RENDER_BUFFER of a context > should change after eglSwapBuffers is called if > eglSurfaceAttrib changes. Refine ANGLE implemnetation > to delay the render buffer change. > > Bug: angleproject:375528202 > Change-Id: Ida7736a09e3a83223a529dbfad48e0f952f91a38 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5982241 > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:375528202 Change-Id: I38330d99a9e6987ad3f97b4a36c34029acb211b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055500 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shufen Ma 2d71fe0d 2024-11-04T14:15:34 Check formats compatibility first in CopyImageSubData validation During validation for CopyImageSubData, first check if the src and dst formats are compatible. Before this patch, the check was put after region checking. If the formats are not compatible, then the block size used during region check is not reasonable. Bug: angleproject:377144455 Change-Id: I3245ae1351e127cb70d0d75d75ca34f0106d12b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5982240 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Igor Nazarov 6a91b590 2024-12-06T23:47:36 Vulkan: Improve CommandQueue concurrency This is a follow up for: Add a new mutex in CommandQueue to protect Vulkan Command Pool crrev.com/c/angle/angle/+/6020895 There is still scenario, when thread that checks or waits for commands may also wait for other thread to flush its commands: - Thread 1: performs long command flush -> `mCmdPoolMutex` locked. - Thread 2: releases commands -> `mMutex` locked while blocking on `mCmdPoolMutex`. - Thread 3: checks for completed commands -> blocks on `mMutex`, essentially waiting for the command flush from "Thread 1". To fix the above, `mMutex` is split into `mCmdCompleteMutex` and `mCmdReleaseMutex`. This will solve blocking of "Thread 3" in case if "Thread 2" releases commands. With this change, `mCmdCompleteMutex` is only used to check and wait for commands, while not blocking other mutexes (except in `init()`, `destroy()`, and `handleDeviceLost()`), eliminating possibility of blocking. `mCmdReleaseMutex` is only used to release finished batches, while also temporarily locking the `mCmdPoolMutex` to release the commands, therefore this operation may wait for commands flush in other threads (this is OK - Vulkan limitation). `mQueueSubmitMutex` is used for submission and performance counters. During the submission all mutexes may be temporarily locked: `mCmdPoolMutex` to get commands, `mCmdCompleteMutex` to finish batch, and `mCmdReleaseMutex` to release batches. Bug: b/362604439 Change-Id: Ibb7f3a733722a2e202475023742af5e1eaa06826 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6067346 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Takuto Ikuta e0fafcdf 2024-12-10T17:46:44 add missing includes for the build with use_libcxx_modules This is to fix build error when we set use_libcxx_modules=true in chromium build. Bug: chromium:40440396 Change-Id: Ic1f2655b91eaf949150d61a9a42c0ee0221afac9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084012 Auto-Submit: Takuto Ikuta <tikuta@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll a4439f7d 2024-12-10T10:01:42 Roll SwiftShader from d91e98d1aa3f to 7e54d43d6905 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/d91e98d1aa3f..7e54d43d6905 2024-12-09 swiftshader.regress@gmail.com Regres: Update test lists @ d91e98d1 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: Ibf8623ceccf9dcbed15150edf80451a7fc4d9705 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6084097 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 1cef3e81 2024-12-10T08:01:03 Roll VK-GL-CTS from 08a7f888a933 to 1797eec1a51d (1 revision) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/08a7f888a933..1797eec1a51d 2024-12-09 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: I5976b94bdd5caa1e616c3c6e85d3ad2f027a9597 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6083123 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 3b4e032f 2024-12-10T07:52:09 Roll Chromium from eaaef66f3dca to db1ea12e2e31 (380 revisions) https://chromium.googlesource.com/chromium/src.git/+log/eaaef66f3dca..db1ea12e2e31 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/1140f85dd1..0ef8e99239 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/853eb76b5f..88979f2947 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/0f59eee311..152a8ce9c7 * third_party/android_build_tools/error_prone/cipd: ClNqEKjHuNFTgplEe3HujivpADFDjRs0H0ijhyVUg2gC..AYoMbR1EWdl0sGTYnDZkWcRZOQnKpArFh-Mq-qpoq3gC * third_party/android_build_tools/lint/cipd: cT8yPkyndEa0cfkhFyY2CeNOFEeA970ZXJtbtfU_QhcC..ogvoJt-5sfVvPmkufyujLCkY4ZsHBN3VIirNJGSH0mUC * third_party/android_build_tools/manifest_merger/cipd: ltqylfWRbafoft_Pjhfb4NciQwCb3J4PAkpcTZA7lW0C..hyODeowQwjjxMHe11I3-FOtBGbTg6MQdr3Uh9ZUUHA4C * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/350ba7c712..40c51c5d3e * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/8d20c1e0b5..a487155ccf * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/1bf8357272..61ad6ef5b6 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/4d75039545..58effa862d * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/d891d66224..db95c7fa4a * third_party/siso/cipd: git_revision:e9812e4893d596fa06b74355e2b6ff47e0307e32..git_revision:332cc31376cbaab640d0622ed3619f3200e1f1e1 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/84affbfbb9..a734bf44c0 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/26e58a61f2..e678d182b7 No update to Clang. Bug: None Tbr: cnorthrop@google.com Change-Id: I417f689b9df203cd7bbe729b0c52cb916e1f2705 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6083122 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Igor Nazarov 574dc343 2024-12-06T23:27:41 Vulkan: Remove mMutex -> mQueueSubmitMutex relay This is the preparation before the next CL: Vulkan: Improve CommandQueue concurrency crrev.com/c/angle/angle/+/6067346 This change address following problems: Problem 1: - Thread 1: performs long command flush -> `mCmdPoolMutex` locked. - Thread 2: performs submit commands -> `mMutex` locked while blocking on `mCmdPoolMutex`. - Thread 3: checks for completed commands -> blocks on `mMutex`, essentially waiting for the command flush from "Thread 1". Note: "Thread 2" may still lock `mMutex` and then block on `mCmdPoolMutex` from the possible `releaseFinishedCommandsLocked()` call. This will be addressed in the follow up. Problem 2: - Thread 1: performs submit -> `mQueueSubmitMutex` locked. - Thread 2: also wants to submit -> `mMutex` locked while blocking on `mQueueSubmitMutex`. - Thread 3: calls some command -> blocks on `mMutex`, essentially waiting for the command submission in "Thread 1". Since `mMutex` is no longer locked in the beginning of the `queueSubmit()` method and there is no lock relay, the `mQueueSubmitMutex` is locked at the beginning of the method instead. This way "Thread 2" will not block the `mMutex`, allowing "Thread 3" to execute any command (except submission) without blocking. Change also fixes race condition in `CommandQueue::waitIdle()`. Call to `mInFlightCommands.back()` must be protected by the `mQueueSubmitMutex` because it accesses `mEndIndex` which is updated in `push()`. Bug: b/267682377 Bug: b/362604439 Change-Id: If0b82f3e35aacf080327531b22d832dd12160448 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6078263 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 963be02f 2024-12-09T16:34:48 Update autoconf's metadata Bug: chromium:378273470 Change-Id: I2d33404965f87a3ffe6d9e556a2f926faa8a7082 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6082351 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Alex Dean 560138ab 2024-11-27T13:25:49 CL/VK: Fix Pipeline Barriers for Enqueue Image Commands Using pipeline barriers, this ensures completion of calls before and after any enqueue image command. Bug: angleproject:381214485 Change-Id: Idcc5bfc738a2cb67ba9891c2109617ffb7d8bfa8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055704 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Charlie Lao d8f6df3e 2024-12-09T09:20:40 Vulkan: Fix assertion in RefCountedEvent::releaseImpl RefCountedEvent uses non-atomic uint32_t for reference counting, so it is not thread safe. To ensure we do not use it in a thread unsafe way, there is an assertion I added in RefCountedEvent::releaseImpl that the release call is not come from async command queue thread (all release calls are expected come from context thread which should be protected by context share group lock). A while ago dynamic rendering is implemented. With dynamic rendering you can't do final layout change in render pass. So the final layout change to Present is added to primary command buffer at the end of RenderPassCommandBufferHelper::flushToPrimary(). And if async command queue is enabled, that flushToPrimary is called from async command queue thread, which triggers the assertion I added in RefCountedEvent::releaseImpl(). This CL releases mCurrentRefCountedEvent for this specific situation (present image + dynamic rendering + asyncCommandQueue) so that we do not hit the assertion. The only downside is that it will force to use pipelineBarrier for this specific situation. But no one ships with asyncCommandQueue enabled, so there is no real concern here as well. Bug: angleproject:382580875 Change-Id: I042e3906db7f5bb7acb299997f8fc7e21b8350b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072350 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov cbf4e5f8 2024-12-09T09:16:12 Update libXNVCtrl metadata Date from: https://cgit.freedesktop.org/~aplattner/nvidia-settings/commit/?id=ffa5183362ed4ace5b1cfd031a272f72e7d68c1b Bug: chromium:378273293 Change-Id: Ie5452d0e6388c57210d530424502a24aa20e2750 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6075519 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxiang Qian fb743105 2024-11-26T14:37:39 Add stubs for EGL_EXT_surface_compression This patch adds stubs for EGL_EXT_surface_compression to ANGLE, including new API eglQuerySupportedCompressionRatesEXT and adding EGL_SURFACE_COMPRESSION_EXT in EGLQuerySurface and EGLCreateWindowSurface/EGLCreatePlatformWindowSurface. Bug: angleproject:375496226 Change-Id: I1962a11e8e3e5eb2cd5b13c5ba0f685781dfd015 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6073354 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll ccf65c8b 2024-12-09T18:31:14 Manual roll Chromium from 970e3bf64334 to eaaef66f3dca (866 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/970e3bf64334..eaaef66f3dca 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/dc8b229860..1140f85dd1 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/f312f0fbb3..853eb76b5f * testing: https://chromium.googlesource.com/chromium/src/testing/+log/0c906d9dc6..0f59eee311 * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/5216bfd3fa..02c28ce7fe * third_party/android_build_tools/error_prone/cipd: ZLELnkg1eOL1-WpDOcCtOm-zWDT7BCX85ZxO7e-UpkYC..ClNqEKjHuNFTgplEe3HujivpADFDjRs0H0ijhyVUg2gC * third_party/android_build_tools/lint/cipd: cH0FJqDcaEBQboxULU0pp9WNhoj3Dj1SFxBCrLlT6AwC..cT8yPkyndEa0cfkhFyY2CeNOFEeA970ZXJtbtfU_QhcC * third_party/android_build_tools/manifest_merger/cipd: uyWrJFL-dHSmSRmiLP-_B_idSkDv-RcfcGivv_P5fOMC..ltqylfWRbafoft_Pjhfb4NciQwCb3J4PAkpcTZA7lW0C * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/8543387365..1a2321d01d * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/d05331d6d7..350ba7c712 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/ba733f35cd..8d20c1e0b5 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/9d470adcff..60a3e18387 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/6c4fa00e4b..1bf8357272 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/d8809b0a2e..4d75039545 * third_party/r8/cipd: G2nd8gmkoz3bsPhk1dzurjzuIjJaebonzHTTLYElIVYC..BkjdEJg2icSYHSYeOMbEI4Kf_1Zn4-fkpg6vqgvFkAEC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/2f4d3272ae..d891d66224 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/5971404811..26e58a61f2 * tools/valgrind: https://chromium.googlesource.com/chromium/src/tools/valgrind/+log/cf58645be8..e684d85901 No update to Clang. Bug: None Tbr: cnorthrop@google.com,ynovikov@google.com Change-Id: I32ab8346f5ed3df7a559298287aedb06754309e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6080213 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Cody Northrop eee895e1 2024-12-09T08:32:34 Tests: Add Return to Monkey Island trace Test: angle_trace_tests --gtest_filter="*return_to_monkey_island*" Bug: b/383027719 Change-Id: Idc31426199888e7645c2c644bea611f3cc98f202 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6080212 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Igor Nazarov 70c62566 2024-12-06T15:20:49 Vulkan: SharedFence is now AtomicSharedPtr<RecyclableFence> This is the preparation before the next CL: Vulkan: Improve CommandQueue concurrency crrev.com/c/angle/angle/+/6067346 The `SharedFence` was replaced with `AtomicSharedPtr<RecyclableFence>` because previous implementation reference counting is not thread safe which will be required in the next CL, where fence may be released during unlocked wait or release commands using different mutexes. Additionally cleanup unnecessary use of `vk::` namespace. Bug: b/362604439 Change-Id: Icc61dc093ba0a1e350f1a02eb1ba209a2c58c603 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6074131 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Yuxiang Qian 95756ae2 2024-12-04T15:47:19 Expose VK_EXT_image_compression_control_swapchain To implement EGL_EXT_surface_compression, VK_EXT_image_compression_control_swapchain should be exposed. With this extension, we can put VkImageCompressionControlEXT to the pNext of VkSwapchainCreateInfoKHR Bug: angleproject:375496226 Change-Id: I3f62040be3ba3e5cc051164cb9ace1934e61dead Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6073353 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 59a51841 2024-12-06T14:30:28 Roll chromium_revision 920d427801..970e3bf643 (1391487:1392875) Manual roll adding 'infra/tools/luci/cas/${{platform}}' dependency. Also add 'third_party/android_build_tools/nullaway/cipd' dependency, now required for Android builds. Change log: https://chromium.googlesource.com/chromium/src/+log/920d427801..970e3bf643 Full diff: https://chromium.googlesource.com/chromium/src/+/920d427801..970e3bf643 Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/55ae5158be..dc8b229860 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/7fb380bfdc..f312f0fbb3 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/d595028a11..0c906d9dc6 * third_party/android_build_tools/lint/cipd: R_CwFSJOSfZr1IpkqPgoE43tEHG4C9LmeKFvODQ27j4C..cH0FJqDcaEBQboxULU0pp9WNhoj3Dj1SFxBCrLlT6AwC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/3bb5b83f1f..d05331d6d7 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/fb6f75dd38..ba733f35cd * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/6a91009985..9d470adcff * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/5b01ea4a6f..6066b14957 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/4c70d6b5a6..d8809b0a2e * third_party/protobuf: https://chromium.googlesource.com/chromium/src/third_party/protobuf/+log/75c7776339..7938ad35f6 * third_party/r8/cipd: o7pbwAFk68RQBPYLlCUm0mQ6B3Bj9pykXOPvv8akR5kC..G2nd8gmkoz3bsPhk1dzurjzuIjJaebonzHTTLYElIVYC * third_party/rust: https://chromium.googlesource.com/chromium/src/third_party/rust/+log/046047a34e..2f4d3272ae * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/54c6bbbee8..84affbfbb9 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/ec29fe1f18..6dfab414b2 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/5e2c90a4cf..07b0ccface * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/8385f10496..8e9b58419b * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/7c49c17ffd..5971404811 * tools/skia_goldctl/linux: ne5KDoUlZSDEQYyEFMWKjkzAorwtvwqqYli3fRkyWlcC..aXHJ25ncUXPVNosfIlyKwiMy1_7taQbInefMc4nqOX0C * tools/skia_goldctl/mac_amd64: TBnDLw4-kj-YLd73BZoG1pTuYSZcj3dXP7nvQjS7hDoC..n7u7fnD8_JipALcOofxpNMbvph2fsWaAgmaeLeCkSs0C * tools/skia_goldctl/mac_arm64: 6E6VZOvgaQDyyzhWmtIoK7Jb7D52TkKQOsRRy0xf0-cC..X-JBelmtsD7X26HqTaYu0LMCepx-_ANJcSvFWh1tM24C * tools/skia_goldctl/win: ViNScAgrfJQOM1gZaPnzw2Y_8VFHR0Sh19QI1PeVEiIC..7nms2AMNrHCf-FHq9enXo2f6vRLs_lA_98qZ2cRiE78C DEPS diff: https://chromium.googlesource.com/chromium/src/+/920d427801..970e3bf643/DEPS No update to Clang. Bug: None Change-Id: I58f82302233ef4c611fff99382901cac8b5658c9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072231 Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Alexey Knyazev e6c8f06a 2024-11-29T00:00:00 Metal: Remove line markers from internal shaders Line markers generated by Clang preprocessor are platform-dependent and cause extra git noise. Metal shader compiler does not need them anyway. Fixed: angleproject:382564808 Change-Id: I792a523ac9269a097c7f52a4cd64a24ed6145567 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6074518 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Quyen Le <lehoangquyen@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 244c0514 2024-12-07T23:06:03 Tests: Add Balatro trace Test: angle_trace_tests --gtest_filter="*balatro*" Bug: b/382914040 Bug: b/382960265 Change-Id: Iebebae9dc2da1b1f20f6e9c184130ebfd544ae52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6077333 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 973c37d1 2024-12-08T22:43:32 Traces: Fix screenshot pixel pack state Without this fix, if the trace had non-default pixel pack state, our screenshots were broken. This just backs up the current state, sets defaults, then restores them. Test: return_to_monkey_island screenshots Bug: b/383027719 Change-Id: I8eaa1d58cdf34fbbaefdf4bbb054bff3fd8a5e9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6079310 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
angle-autoroll b0d686ae 2024-12-09T10:01:41 Roll SwiftShader from 4074d9674b3e to d91e98d1aa3f (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/4074d9674b3e..d91e98d1aa3f 2024-12-06 swiftshader.regress@gmail.com Regres: Update test lists @ 4074d967 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: I857463ee286b4f97d3ee131b8d9a93f87246c4ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6080452 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 6b683732 2024-12-09T08:01:02 Roll VK-GL-CTS from a9f7069b9a5b to 08a7f888a933 (6 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/a9f7069b9a5b..08a7f888a933 2024-12-05 javed@igalia.com Add tests for mutable format resolves 2024-12-05 javed@igalia.com Add coverage for pipeline binary keys 2024-12-05 piotr.byszewski@mobica.com Coverage for different operations and helper invocations 2024-12-05 rgarcia@igalia.com Test tessellation state changes with shader objects 2024-12-05 piotr.byszewski@mobica.com Fix validation error in dedicated DRLR tests 2024-12-05 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: I97154e2205e4a45afa4e4adf5cb14eec9f48def6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6079679 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Alexey Knyazev f5196a27 2024-11-29T00:00:00 Fix normalizedToFloat for signed types * Ensured that INT_MIN is converted to -1. * Fixed max value computation when the input bit width is not type-aligned. * Cleaned up D24X8::ReadDepthStencil to match the updated semantics. * Added tests for all variants. Fixed: angleproject:352963106 Change-Id: I8b9f60d3364331567ad3b55276666bb416c3c6ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072233 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Roman Lavrov 22c457a6 2024-12-06T16:07:54 Tests: VulkanMemoryTest OOM fallbacks check >= instead of == OOM tests check deviceMemoryImageAllocationFallbacks in a loop, assuming that +1 will be reached. Maybe we are skipping over +1 somehow. Check for >= instead. The loops are followed by EXPECT_EQ, so if this happens the test would still fail. Bug: angleproject:382094011 Change-Id: Icfc93954b4a7ba30e24ae087d7a0c03d640e85b3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6077964 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Alexey Knyazev e82a2eab 2024-11-28T00:00:00 Support multisample 2D array textures on ES 3.0 contexts Supported via OES_texture_storage_multisample_2d_array enabled together with ANGLE_texture_multisample. Drive-by: Fixed exposure conditions in the OpenGL backend to match the implementation. Fixed: angleproject:382298321 Change-Id: I21b037aac7bebc35df267e9dd468088ebce35e71 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6075241 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov a45099fd 2024-11-04T18:12:54 Tests: offscreen trace replay uses a single EGL context diablo_immortal changes the context by calling eglMakeCurrent which causes a failure during offscreen -> onscreen blit. Restore the context to the original one during offscreen handling. Bug: b/370089935 Change-Id: Ie501a66b14beef5b27b8f16ff63b6fd3f3c0a338 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5990995 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Roman Lavrov c174aa70 2024-12-05T15:36:18 Trace perf: add a basic fps limiter Adds sleeps based on each 4 frames timing (4 instead of just last frame makes fps a bit closer to requested) Example: --fps-limit=30 *RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 33.3556469900 ms *RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 33.4376432467 ms --fps-limit=50 *RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 20.0218095000 ms *RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 20.0624947200 ms --fps-limit=100 *RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 10.1298787483 ms *RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 10.1781205983 ms --fps-limit=200 *RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 5.1289075067 ms *RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 5.1571364367 ms --fps-limit=400 *RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 2.6172564224 ms *RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 2.7648291614 ms Bug: b/376300037 Change-Id: I63ef75fe342b149336c0e274bd9cbf6c3aa34c23 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072435 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuxin Hu 76691d27 2024-12-04T13:00:24 Insert "-U_FORTIFY_SOURCE" in Android.bp cflags Fix "redefining FORTIFY_SOURCE macro" compiler warning on Android build. Bug: b/291762537 Change-Id: Ic346f858291336d92a3b0654ddfa8468919fee6a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6071324 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Zijun Zhao <zijunzhao@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Charlie Lao 3d32b3c1 2024-12-03T16:32:59 Vulkan: Remove vk::BindingPointer BindingPointer is no longer used, thus deleted in this CL. Also made unique() only available when assert is enabled since it is not thread safe to make decisions based on reference count. We only used for assertion anyway. Bug: angleproject:372268711 Change-Id: Ib86faefc0608e730bfa1ebf0efc520b04cf5f365 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6045024 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Alexey Knyazev 26414249 2024-11-28T00:00:00 Remove GetTexLevelParameter* from ANGLE_texture_multisample These functions are always provided by the GL_ANGLE_get_tex_level_parameter frontend extension. Fixed: angleproject:382291448 Change-Id: I59b4ccc56478f2e0931d1f5bd665cfdd5a34391e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072222 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Igor Nazarov 94515733 2024-11-27T22:16:44 Vulkan: Remove release commands from checkOneCommandBatchLocked This is a follow up for: Add a new mutex in CommandQueue to protect Vulkan Command Pool crrev.com/c/angle/angle/+/6020895 `SyncHelper::getStatus()` may call `CommandQueue::checkOneCommandBatchLocked()` which in turn may call `releaseFinishedCommandsLocked()` if `mFinishedCommandBatches` is already full. This requires locking the `CommandPoolAccess::mCmdPoolMutex` mutex. This may delay API execution even when "timeout == 0", which is against EGL spec. Bug: b/362604439 Change-Id: Icf8f3657b65f2e435930adb12266a100dc861a93 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6048803 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Charlie Lao e42047f0 2024-10-25T13:50:28 Vulkan: Disable DescriptorSet cache for SwiftShader Performance with swiftShader is not critical and cache code path not making much difference for SwiftShader renderer anyway. This CL disables descriptor set cache for SwiftShader mainly to ensure the code path gets test coverage on CI bots. This code path also ensures that we are tagging ResourceUse on DescriptorSetHelper properly after every use. Otherwise, it is very hard to test with cache enabled code path since object usually won't get destroyed due to cache and any bug associated with this is going to be very hard to debug. This CL has catch such bugs during the descriptor set cache work. Bug: angleproject:372268711 Change-Id: Iee1028f9378cf4f537d897e08746d5cf958f225a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6047805 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mavis Deng 045f2818 2024-12-03T09:55:39 End2end test for GL_MAX_SHADER_STORAGE_BLOCK_SIZE validation Bug: angleproject:381742474 Change-Id: Icae7b2705f5749bc070e096fa045e68bb061b530 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6065459 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Matthew Denton 473798bf 2024-11-28T00:38:36 WGSL: @align appropriate struct members in uniforms. Structs used in the uniform address space need to have certain members aligned according to the uniform address space layout constraints (substantially similar to std140). This CL adds @align annotations where necessary, in structs used in the uniform address space. Strictly speaking, it's okay to apply @align annotations to all structs used in the WGSL program, but this CL uses a pre-pass AST traverser to records all the structs used in the uniform address space. This is to avoid more unreadable generated code, and when more transformations are applied to these structs in future CLs, less generated code overall. After this, the only types that can't yet be used in a uniform are matCx2, arrays with stride not divisble by 16 (except when the array element type is a struct), and bools. This is #1 in struct translation in https://docs.google.com/document/d/17Qku1QEbLDhvJS-JJ9lPQAbnuZtLxWhG-ha5eCUhtEY/edit?tab=t.0#bookmark=id.rudfrn2o6jv1 Bug: angleproject:376553328 Change-Id: Ibff3414043a6ecb4a01ef8e3e71dad9c1066ddfd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6056951 Commit-Queue: Matthew Denton <mpdenton@chromium.org> Reviewed-by: Liza Burakova <liza@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 09578c42 2024-11-27T19:39:09 Vulkan: Cleanup CommandPoolAccess implementation This is a follow up for: Add a new mutex in CommandQueue to protect Vulkan Command Pool crrev.com/c/angle/angle/+/6020895 Change simplifies `CommandPoolAccess` implementation as well as removes source of bugs when need to know/remember what method from `CommandPoolAccess` to use in order to collect/destroy the primary command buffer. Additionally, `CommandBatch` converted into a class to avoid invalid use. The "retire" word replaced with "release" in methods such as `releaseFinishedCommands()`. Bug: b/362604439 Change-Id: Iaa72c55458604e5ea8ea5a402e437129a5c9180a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6056019 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Xin Yuan 4b84ee4c 2024-12-03T16:21:38 Vulkan: Implement GL_EXT_EGL_image_storage_compression Bug: angleproject:352345943 Change-Id: I82a54fa2515254a1045f512818ca23a540cd7a6e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6065464 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Igor Nazarov 739bcef0 2024-12-03T17:58:34 Vulkan: Rework finishOneCommandBatchAndCleanup This is a follow up for: Vulkan: Fix finishOneCommandBatchAndCleanupImplLocked crrev.com/c/angle/angle/+/6055419 The original `finishOneCommandBatchAndCleanup()` was not optimal in a sense that it is always finish a batch, when cleaning existing garbage may be sufficient. Also, because there was no feedback from the `cleanupGarbage()`, this method may just end up finishing one batch without cleaning any garbage, causing clients to "think" that there is no more garbage to clean. Additionally, `cleanupGarbage()` was called under the `CommendQueue::mMutex` lock, causing uncessary blocking. This change replaces this method with new `cleanupSomeGarbage()`. It solves all problems of the original method described above. It no longer has the `retireFinishedCommandsLocked()` call, because it is not necessary in scenarios where `cleanupSomeGarbage()` is used. In order to implement the new method, output feedback parameter was added to the `cleanupGarbage()` as well as to all methods that it uses. Bug: b/280304441 Change-Id: I7078899838609a0c3e5edbc4f507c2fe4364380a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6063126 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Igor Nazarov 74609065 2024-11-27T16:09:44 Vulkan: Fix finishOneCommandBatchAndCleanupImplLocked Fix the `finishOneCommandBatchAndCleanupImplLocked()` to always do cleanup regardless if there is something to finish. This method is designed not only to free space in `mInFlightCommands` but also to cleanup already retired commends (in `mFinishedCommandBatches`) and renderer's garbage. In case if `mInFlightCommands` is empty cleanup was skipped - which is incorrect. Change removed `Impl` from the name since it is already have `Locked`. The `finishOneCommandBatchAndCleanup()` is updated to simply call the locked version with the mutex lock held. Change also improved `FixedQueue` assertions (always check that `mSize <= mMaxSize`). Bug: b/280304441 Change-Id: I67bd7c35b164b84e9c07306a5bf48b0adefdfa5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6055419 Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shufen Ma 100c0b8c 2024-11-04T13:58:00 Preserve mMinSampleShading value when SAMPLE_SHADING enable is toggled Preserve mMinSampleShading value when SAMPLE_SHADING enable is toggled. Initial value of MIN_SAMPLE_SHADING_VALUE is zero and that value should not be changed during glEnable(SAMPLE_SHADING_OES). Bug: angleproject:376174077 Change-Id: Iea06d7480167eff5722c2d5eef23287e8bb956f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5981462 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi 224f836c 2024-12-04T09:35:09 Vulkan: Update setupDispatch comment The comment was wrong and a source of confusion. Bug: angleproject:382090958 Change-Id: I7b1a3d5f3b1c86539164d346e320d30b61254f2c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6069354 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Chris Dalton cc841237 2024-11-29T13:45:50 Accept framebuffer modifications while PLS is active The only way for a WebGL implementation to know if PLS is actually active is to call glGetIntegerv(PIXEL_LOCAL_STORAGE_ACTIVE_PLANES_ANGLE) (because glBeginPixelLocalStorageANGLE() can fail). So the original behavior of not allowing glBindFramebuffer() et. al. while PLS was active created a state scenario that was expensive for the browser to track. Instead, just allow glBindFramebuffer() et. al., and implicitly disable PLS if they are called while it's active. Bug: angleproject:40096838 Change-Id: Ibd303f9f9950fb5b7f1add2d41882e4379c51e62 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6060301 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Chris Dalton <chris@rive.app> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 57ccab32 2024-12-04T16:26:15 Skip dota_underlords on Windows NVIDIA Produces flaky images on on GTX 1660 driver 31.0.15.4601 Bug: angleproject:369533074 Change-Id: I7cfde430deeec2e67549803af425087716ee675e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6070070 Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
angle-autoroll 32924e1f 2024-12-04T11:33:00 Manual roll vulkan-deps from cf7563f67639 to 86f73c27b3fc (1 revision) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/cf7563f67639..86f73c27b3fc Also rolling transitive DEPS: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader/+log/ce2d68b24b66a91ed798d870ca205f899ee6e79d..c33168850e057596dd6647e154487102091bb65a If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: Ic6ed68da2f7129511bf3326ca7ae15a336b28ac2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6070347 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 96a49b8a 2024-12-04T08:01:01 Roll VK-GL-CTS from b27686793f88 to a9f7069b9a5b (18 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/b27686793f88..a9f7069b9a5b 2024-12-03 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2024-11-28 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2024-11-27 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2024-11-23 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.1 into vk-gl-cts/main 2024-11-23 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-cts-4.6.5 into vk-gl-cts/main 2024-11-22 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkansc-cts-1.0.2 into vk-gl-cts/main 2024-11-22 ziga@lunarg.com Add shader object tests with color write disabled 2024-11-22 piotr.byszewski@mobica.com Test VIEW_INDEX_FROM_DEVICE_INDEX with link time optimizations 2024-11-22 mateusz.bahyrycz@mobica.com Add missing coverage for sparse resident multisampled images 2024-11-22 geofflang@chromium.org Add 'static' to more functions marked as 'inline'. 2024-11-22 michal.jakubek@mobica.com Unexpected crash on 32bit drivers. 2024-11-22 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.0 into vk-gl-cts/vulkan-cts-1.4.1 2024-11-22 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.4.0 into vk-gl-cts/vulkan-cts-1.4.1 2024-11-20 lorenzo@khronosgroup.org Merge remote-tracking branch 'vk-gl-cts/vulkan-cts-1.4.0' 2024-11-15 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.10 into vk-gl-cts/main 2024-11-14 petermcneeley@google.com Adding amber test for barriered atomics in vulkan 2024-11-14 ziga@lunarg.com Test vkCmdClearColorImage with 2D-compatible 3D images 2024-11-14 syoussefi@google.com Replace DE_INLINE with inline If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: ynovikov@google.com Change-Id: I48849d3c578a8c446859cb0810dcfda4c3f4b9f4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6069072 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 2d335b19 2024-12-04T07:54:18 Roll Chromium from 16c655f60abe to 920d427801ff (660 revisions) https://chromium.googlesource.com/chromium/src.git/+log/16c655f60abe..920d427801ff If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/4db0dde948..55ae5158be * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/3d0ed6dead..7fb380bfdc * testing: https://chromium.googlesource.com/chromium/src/testing/+log/64a59162d0..d595028a11 * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/b568935535..5216bfd3fa * third_party/android_build_tools/manifest_merger/cipd: e4Te8DIvESVXVVdNWzsKIbGfHtiBIEAvsa3f0_Zvj8wC..uyWrJFL-dHSmSRmiLP-_B_idSkDv-RcfcGivv_P5fOMC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/b83e99cebb..8543387365 * third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/d716ecac80..e96dafd97e * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/f8eeaa54fb..3bb5b83f1f * third_party/clang-format/script: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/clang/tools/clang-format.git/+log/3c0acd2d4e..37f6e68a10 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/d215a68912..fb6f75dd38 * third_party/fuchsia-sdk/sdk: version:26.20241116.6.1..version:26.20241203.6.1 * third_party/libc++/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/eb760140f3..6a91009985 * third_party/llvm-libc/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libc.git/+log/3f8c669720..4c70d6b5a6 * third_party/r8/cipd: D_RkfQIYDjttpMJiDiLYMrDwxTC_YuTU-8a1GK8RlqYC..o7pbwAFk68RQBPYLlCUm0mQ6B3Bj9pykXOPvv8akR5kC * third_party/r8/d8/cipd: zh70w_Qc37LtNjNFZAOnZVT6jxYseh_1UEkt_lwbRuQC..o7pbwAFk68RQBPYLlCUm0mQ6B3Bj9pykXOPvv8akR5kC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/1ff4269915..54c6bbbee8 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/634f2acc7b..ec29fe1f18 * tools/luci-go: git_revision:89f6b5944c6a68ec52a989c71b7463a34e07f147..git_revision:dbbe363b4b1aa09520e53ccdd2d52cb661875e53 * tools/luci-go: git_revision:89f6b5944c6a68ec52a989c71b7463a34e07f147..git_revision:dbbe363b4b1aa09520e53ccdd2d52cb661875e53 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/d70f1ecd76..7c49c17ffd * tools/rust: https://chromium.googlesource.com/chromium/src/tools/rust.git/+log/f7e4078bb0..917b7d7bef * tools/skia_goldctl/linux: B8TCM6rSMceKi2-eW3vwd26uGobQZ_zyt0gxf49WEYkC..ne5KDoUlZSDEQYyEFMWKjkzAorwtvwqqYli3fRkyWlcC * tools/skia_goldctl/mac_amd64: MkXSdoY3UUeTvV9xKU3P2z0jg1qdJmPb4-7g3blayHQC..TBnDLw4-kj-YLd73BZoG1pTuYSZcj3dXP7nvQjS7hDoC * tools/skia_goldctl/mac_arm64: rdUb1TuPIYvtz36M0WF0DRXiFMCS6B1meYDHYqeoK6YC..6E6VZOvgaQDyyzhWmtIoK7Jb7D52TkKQOsRRy0xf0-cC * tools/skia_goldctl/win: 39MndatX6ZCNv8UvOCly_SjyGzXeXbc7XpZMVMq9MYYC..ViNScAgrfJQOM1gZaPnzw2Y_8VFHR0Sh19QI1PeVEiIC Clang version changed llvmorg-20-init-13688-gdb273c6c:llvmorg-20-init-13894-g8cb44859 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/634f2acc7bb334d2e6da78e206220f9c00e2e66a..ec29fe1f187bfc6e995a7a602f77d31226817d17/scripts/update.py Bug: None Tbr: ynovikov@google.com Change-Id: I2a5310b4357b89be34ddcfd2ee5cc45a7ca9e592 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6068672 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Panfeng Hou a504b6a2 2024-11-25T15:59:05 Support GL_OES_required_internalformat Enable GL_OES_required_internalformat GLES extension. Bug: angleproject:364069034 Change-Id: Ia57548469abff189472aa20b13ca99179c45f2c0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038448 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Panfeng Hou <panfeng.hou@arm.com>