Log

Author Commit Date CI Message
Roman Lavrov 8e744e9f 2023-08-14T14:40:41 Android: support dEQP in android_helper and add bundle script Example: autoninja -C out/Android angle_deqp_gles31_tests && (cd out/Android; ../../src/tests/run_angle_android_test.py --suite=angle_deqp_gles31_tests --gtest_filter='dEQP-GLES31.functional.image_load_store.3d.*') For angle_deqp_bundle.py example usage see comments at the top of the file. Note: this change is not supposed to have any impact on CI. dEQP tests are still ran using Chromium's test runner, not android_helper. Bug: b/293590167 Change-Id: I605102ebea8b135f3239ffac012ce5dc13e84943 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4776109 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Alexey Knyazev aa8d60aa 2023-08-14T00:00:00 D3D11: Normalize blend state for MIN/MAX operations Use default blend factors for MIN/MAX operations to reduce the number of unique keys and to avoid D3D11 state allocation failures. Fixed: angleproject:8305 Change-Id: I6abcf93240653de8d7d8e174c1f8109d12de63e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4776071 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Shahbaz Youssefi 4ba4af61 2023-08-17T11:28:18 Revert recompile blocking on link Causing timeouts on some platforms. An alternative implementation will follow. This change also reverts two changes that depend on it: Vulkan: Move SPIR-V set up to link job 10f54902e816fa7e4cf314384e00590e2b9bfa1d. Vulkan: Move default uniform init to link job d8cd4dcdc9c55c88f030f7fca41357e99e600ed2. Bug: angleproject:8297 Change-Id: I9a258460e7bcaeac214be5e63c16c20681e0bcde Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4789843 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Vivian Pao 9f48f931 2023-08-16T06:38:15 Revert "Tightly pack LinkedUniform by using int16_t" This reverts commit 152cf62b38874238095a91307e4ea9bcdedf8f46. Reason for revert: Suspect cause of failure in for several Linux MSan Tests, e.g. https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20MSan%20Tests/42403/overview https://ci.chromium.org/ui/p/chromium/builders/ci/WebKit%20Linux%20MSAN/22174/overview https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20MSan%20Tests/42403/overview Original change's description: > Tightly pack LinkedUniform by using int16_t > > There is a check of vector size when we link uniforms and the maximum > vector size is 4096 due to we clamp the maxUniformBlockSize to 64KB. In > reality, if we exceeds this number, program link will take really long > time and then hit failure. So there is no real need to keep all the > variables in 32 bit integer. This CL changes to 16 bit integer. Further, > sh::BlockMemberInfo and ActiveVariable data members are embeded into > LinkedUniform struct as well so that the unused variables can be removed > and data can be tightly packed. This also makes LinkedUniform easier to > maintain as a simple struct with basic data types. With this change, > LinkedUniform size is reduced from 108 bytes down to 60 bytes, 48 bytes > reduction. Given some apps has 200-ish uniforms, this CL reduces 48 > bytes x 200 = ~9K memory just for uniforms per program (which goes > through hash compute and decompression and file reads). > > Bug: b/275102061 > Change-Id: I7fae20f5b75f3239305e2094a992e3040b8c8e4c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4754133 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Charlie Lao <cclao@google.com> Bug: b/275102061 Change-Id: Id344e306307553731097f06edafc40bfeb73ff80 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4780494 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 5d2a1749 2023-08-17T09:52:57 Add an assert that capture_tests isn't supported on Android Bug: b/286067106 Change-Id: I3657faa7e2733ad28d1db844cb74e5224a6f47c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4790522 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Takuto Ikuta 3a5d67ce 2023-08-17T16:25:52 infra/config: add reclient property This CL is no-op but updated config is used in later CL. Bug: angleproject:8309 Change-Id: I49b6ae34ff9abc4eb30c864c5eac3d816b0a4298 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4787411 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Takuto Ikuta <tikuta@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Takuto Ikuta 065c93dd 2023-08-17T11:03:08 infra/config: remove unused property This is to reland https://crrev.com/c/4778427. Bug: None Change-Id: I01d9ee2e55a649a235a91f9e78698bd5803d5d7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4787408 Auto-Submit: Takuto Ikuta <tikuta@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Steven Noonan be7ab480 2023-08-10T12:04:45 gles: disable MSRTT on Windows/NVIDIA The angle_end2end_tests for MSRTT fail on Windows/NVIDIA/GLES, at least on driver version 536.99. Let's add Windows NVIDIA to the list of known bad configurations for disableMultisampledRenderToTexture. Bug: angleproject:8304 Change-Id: Ic102881bb6d483d5ff2bd0e86a07bf5fe3683fcb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771740 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 59b0c7d7 2023-03-27T10:10:11 Add regression test for VVL AlphaToCoverage bug https://github.com/KhronosGroup/Vulkan-ValidationLayers/issues/5520 Bug: b/264062978 Change-Id: I0619cb28495c16d0d8d83635ad7a93f0c47cea6b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4374098 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
angle-autoroll a8113564 2023-08-17T10:01:12 Roll vulkan-deps from 53e39be12b9e to cffce1cd0b9e (9 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/53e39be12b9e..cffce1cd0b9e Changed dependencies: * spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/bccaa94db8..637c211c6f * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/45fc02a6c6..b8b9eb8640 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/89ca3aa571..b12fc2904a * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/d966a60f13..32a97f8626 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I022944441857abccb1796053cfba014d0380f304 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4787952 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll a2d00629 2023-08-17T07:00:22 Roll Chromium from 28c4ab8a8264 to 6edc18195fd8 (559 revisions) https://chromium.googlesource.com/chromium/src.git/+log/28c4ab8a8264..6edc18195fd8 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/d7d4a53f82..4439c8aa49 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/a5ad157866..c4a369c9b6 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/048e8f0b6b..5b14522559 * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/1ed18a0632..4ef9b33175 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..8bcfe7164c * third_party/r8: X4k1imGXgYqjW4oVKyWAHesy7GhZBieTemaelA0yP8kC.._xu0hxSo_cEnMJPA-S-noLhx1IRAhNKER0h_icp-hSYC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/ad91d8af7d..74786020a9 * tools/memory: https://chromium.googlesource.com/chromium/src/tools/memory/+log/2a4c4ba1f4..68be214291 No update to Clang. Bug: angleproject:3031 Tbr: geofflang@google.com Change-Id: I4a272f7f157ec43617b9d807ffaa9325b3369567 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4786903 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 78de02ab 2023-08-16T15:23:23 Warn only once for shader recompile during link Bug: angleproject:8297 Change-Id: Ia6ac89e4c474ff51c36fcc3506d9178f6a4aedaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4785947 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi ba41a4d8 2023-08-16T13:52:57 Suppress parallel-link tests on Asan/Windows/SwiftShader They are flaky with no clear reason. Bug: angleproject:8306 Change-Id: I1331c6d792417edccad6b337e55b3816df2c2f12 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4783055 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 9e056e20 2023-08-16T15:30:57 Delete .gitmodules from ANGLE dependencies when rolling into AOSP Since git submodules aren't allowed in "external" projects, and ANGLE is an external project. Bug: b/40044404 Change-Id: I084530d2de47eb7b10b5d15a399312f2651b6525 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4784289 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Roman Lavrov 4fffc993 2023-08-15T14:10:58 Gold tests: add temporary logging of angledata hashes Should allow us to determine whether corruption happens between CAS and local files on bots or something's wrong with the test harness. Bug: angleproject:8307 Change-Id: I8a599777a38d7a1b5c56143eb8d02829895175a7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4777836 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com>
angle-autoroll 7c83c695 2023-08-16T10:01:42 Roll vulkan-deps from c3ff3250b9e7 to 53e39be12b9e (10 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/c3ff3250b9e7..53e39be12b9e Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/76b52ebf77..b70669a059 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/7ddc65c722..89ca3aa571 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/450ead13e1..85c2334e92 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/e6bdb8d714..d966a60f13 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I5fc145145adfe673ae02545585d00de97adaccb3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4781963 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll af169820 2023-08-16T07:43:08 Roll Chromium from 9931a5544b75 to 28c4ab8a8264 (455 revisions) https://chromium.googlesource.com/chromium/src.git/+log/9931a5544b75..28c4ab8a8264 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/542e6f274c..d7d4a53f82 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/855bdfca01..048e8f0b6b * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/0b15eb31a5..23d868f674 * third_party/android_sdk/public: EWnL2r7oV5GtE9Ef7GyohyFam42wtMtEKYU4dCb3U1YC..Sy00LuyBIUJdRGYKwg0zjWH8eAIUvgnnNiPkI8etaZYC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..8474745739 * third_party/r8: 8aJvD7uHZ0Ek4sQy5vAbHUXWujgCHOVsAsJ137sXslkC..X4k1imGXgYqjW4oVKyWAHesy7GhZBieTemaelA0yP8kC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/159cd0f22c..83b9ac2821 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b59055f932..ffa3bdd3ba No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I618ba62d84e32aa93cf54f5afb702e690a227c01 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4782500 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Charlie Lao 152cf62b 2023-08-15T13:43:12 Tightly pack LinkedUniform by using int16_t There is a check of vector size when we link uniforms and the maximum vector size is 4096 due to we clamp the maxUniformBlockSize to 64KB. In reality, if we exceeds this number, program link will take really long time and then hit failure. So there is no real need to keep all the variables in 32 bit integer. This CL changes to 16 bit integer. Further, sh::BlockMemberInfo and ActiveVariable data members are embeded into LinkedUniform struct as well so that the unused variables can be removed and data can be tightly packed. This also makes LinkedUniform easier to maintain as a simple struct with basic data types. With this change, LinkedUniform size is reduced from 108 bytes down to 60 bytes, 48 bytes reduction. Given some apps has 200-ish uniforms, this CL reduces 48 bytes x 200 = ~9K memory just for uniforms per program (which goes through hash compute and decompression and file reads). Bug: b/275102061 Change-Id: I7fae20f5b75f3239305e2094a992e3040b8c8e4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4754133 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Alexey Knyazev 59f158c1 2023-08-10T00:00:00 GL: Add explicitFragmentLocations workaround Some drivers produce incorrect results when a fragment output has an implicit location and gl_SampleMask[] is written to. Fixed: angleproject:8308 Change-Id: I615952ef61b1cb611984ec7defb189d89ab3281c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4777702 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Shahbaz Youssefi 29aae8ac 2023-08-14T15:33:16 Vulkan: Don't access the XFB object during link The descriptor set layout set up for XFB emulation lived in TransfromFeedbackVk, but did not access anything in that object at all. More importantly, it doesn't make any sense to look at the current XFB object when linking a program. Bug: angleproject:8297 Change-Id: I8bd0e747b7d3e3783ef053f20378cc42d2c1d997 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4774786 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi 10f54902 2023-08-09T17:21:20 Vulkan: Move SPIR-V set up to link job Bug: angleproject:8297 Change-Id: I2c7eb0281d181560c8fa3ace007b1e547b6cf18e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4764619 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi d8cd4dcd 2023-08-09T16:51:13 Vulkan: Move default uniform init to link job Bug: angleproject:8297 Change-Id: I5bab916f452439d92afa65b9172574000ee0b587 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4762838 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Cody Northrop f4e5c327 2023-08-03T13:48:51 Tests: Upgrade blade_and_soul_revolution Created with: export TRACE_GN_PATH=out/Debug export TRACE_NAME=blade_and_soul_revolution src/tests/restricted_traces/retrace_restricted_traces.py \ upgrade $TRACE_GN_PATH retrace-wip -f $TRACE_NAME Bug: b/291929395 Bug: b/294882956 Change-Id: I7b1e721c5a125fa695fffa6c83dd0418d5331d91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4760425 Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 2fd33fc4 2023-07-17T17:07:52 Android: Make .gz sync faster by only checking last bytes In particular, some angledata.gz are hundreds of megabytes, which results in multiple seconds spend on some traces which adds up to a few minutes when running all traces. Gzip format includes an 8-byte trailer with the CRC-32 and the length of the uncompressed data https://en.wikipedia.org/wiki/Gzip#File_format Instead of checking hash(file) check hash(tail(file)). Check more than just 8 bytes (arbitrarily picked 4096) so that in a rare event of a collision we're still likely to see different bytes as compressed streams tend to diverge when data changes. This reduces the already-fully-synced sync from ~130s to ~60s in my tests. Bug: b/276742336 Change-Id: I899b80ac90ef4def498c8cb52d6b096d8b1ef826 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4691962 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi d7d78adb 2023-08-15T10:07:39 Infra: Use more shards for SwANGLE/end2end tests on TSAN Bug: angleproject:8297 Change-Id: I11e70e7af63abf8c1ed37dcb2812091d09cf5434 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4780391 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 424f43e4 2023-08-11T17:07:16 Prevent shaders from recompiling while a link job is in progress This will prevent a guarantee that link jobs can take further advantage of. In particular, a good chunk of the link job is done serially and under the share group lock due to this recompile-while-link issue. After this change, that is no longer a problem, and most of the link can be made lockless/parallelized. Bug: angleproject:8297 Change-Id: Ic41ac62fb8c40131a69cd90fa9430584964677fa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4776338 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll f9e3f674 2023-08-15T09:56:57 Roll Chromium from 2f1df67285b4 to 9931a5544b75 (548 revisions) https://chromium.googlesource.com/chromium/src.git/+log/2f1df67285b4..9931a5544b75 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/193968ce60..542e6f274c * testing: https://chromium.googlesource.com/chromium/src/testing/+log/99ae5bc69e..855bdfca01 * third_party/android_build_tools/lint: 5j8XlyT5HF4gyZX-d8aNswCh8iPuGAMVy9epEQVVK8YC..qaZOeTY-k9wAZ1vkdqCZIbppqQFgc4IM5T5dKj3_2xIC * third_party/android_build_tools/manifest_merger: d1tFnzOW6H5xoDN7WWsMuAiHuhkl0kXijQGiO7IU1VQC..Nc9kYyTsw69N7yKSw_Sc2fJtUJ2zXUhSGjXbIkDVXuIC * third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/9dc45ac9ce..26fdb68fe1 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..6479b92b37 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/3cede154a6..4c1ff08698 * third_party/r8: PyEDdX7GOndyKvm6rRXizmsJg9u1b8He2JqMNPO3F-UC..8aJvD7uHZ0Ek4sQy5vAbHUXWujgCHOVsAsJ137sXslkC * third_party/turbine: HFp7iOu-n4-CdEasFTQZvD1Vg1L-q1URqRTOM-iZ2AMC..ZlMS4BOYyYmbU8BuBDGyW7QrkvZ_-pTkm4lH4jKjTi4C * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/65ceb79efb..ad91d8af7d Clang version changed llvmorg-18-init-1174-g2532b68f:llvmorg-17-init-16420-g0c545a44 Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/65ceb79efbc9d1dec9b1a0f4bc0b8d010b9d7a66..ad91d8af7de9afb65921599e75b27a61e7943f65/scripts/update.py Bug: angleproject:3031 Tbr: geofflang@google.com Change-Id: I5fe139258920b10366bce56e4f01f50a23b24a26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4780179 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao 61a5707f 2023-08-11T12:51:21 Load/Save ShaderVariableBuffer::memberIndexes in one memcpy ShaderVariableBuffer::memberIndexes is std::vector<unsigned int>, and can be quite huge (164 on some programs in blade_and_soul_revolution). Right now it is calling readInt for individual index and then push_back. This causes vector to be copied as it grows size. This CL makes one memcpy for entire vector and increase size only once. Bug: b/275102061 Change-Id: I983ad289b126dbfd430cf94a3772c2bfd93cb1c6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4775835 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 745023ef 2023-08-14T10:47:11 Vulkan: Ensure mComputeDirtyBits is set for potential submission. When ContextVk::flushOutsideRenderPassCommands is called and we run out of serial numbers reserved for outsideRPCommands (which means we have an already started renderpass)., we will call flushCommandsAndEndRenderPass so that we can have new queue serials for both renderPass and outsideRP commands. When this happens, the current bug is that we will not add mNewComputeCommandBufferDirtyBits to mComputeDirtyBits. If another thread comes in did the submission, and then this context calls dispatchCompute again without any state change, we will get a new primprary command buffer without dirty bits for the new command buffer. This CL ensures we always add mNewComputeCommandBufferDirtyBits immediately after mRenderer->flushOutsideRPCommands call. Bug: b/295533354 Change-Id: I1c672310b3b00cd9be25b5ee55a0a060239102a9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4778445 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Hailin Zhang <hailinzhang@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 1db320c8 2023-08-08T13:31:04 Docs: Update steps for using experimental CIPD Bug: b/294882956 Change-Id: I2bcdd1874cbf44fac939d43cebd19b3e8903927b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4763611 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 9d7bddc1 2023-08-03T16:46:41 Trace Replay: Allow screenshots of all frames As part of upgrading our traces to the latest format, we want to ensure we get the same rendering results for all frames, including after Reset. To do this, add the ability to pass -1 as the frame to save: angle_trace_tests --gtest_filter=TraceTest.blade_and_soul_revolution \ --use-angle=swiftshader --max-steps-performed 200 \ --screenshot-dir retrace-wip --screenshot-frame -1 In the above solution, there are 100 frames in the trace, but we'll get 200 screenshots (two loops). Bug: b/294882956 Change-Id: I9169403fe716bbe3ea9ba66ce36dfd5a0c58937b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4760424 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Kenneth Russell d48a0d59 2023-08-11T16:57:23 Metal: optimize emulated texture formats. Optimize the following aspects of emulated texture formats like luminance, luminance-alpha and RGB: 1) Redundantly clearing the emulated channels in the texture, for example the alpha channel in RGB textures. If TexImage2D redefines the texture and it hasn't changed format, for example, it's not necessary to re-fill the emulated channels. 2) Clearing the emulated channels was being done on the CPU. Refactor PreferStagedTextureUploads to allow InitializeTextureContents to take the GPU clearing path for emulated textures assuming the texture is renderable. 3) Row-by-row data repacking and upload was allocating a staging buffer for each row. Forcibly disable staging buffers on the row-by-row code paths. Zoom's web client performs well on ANGLE's Metal backend on Intel GPUs with these optimizations. Fixed: chromium:1472087 Change-Id: Ie8b1e9e64fcc82797de76dd07958dd0a5aaa0203 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771988 Auto-Submit: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
angle-autoroll b264301d 2023-08-14T10:01:24 Roll vulkan-deps from ce76478186bc to c3ff3250b9e7 (5 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/ce76478186bc..c3ff3250b9e7 Changed dependencies: * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/d6300ee92b..7ddc65c722 * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/1d8188a974..300d9bf6b3 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/8a3b98964a..e6bdb8d714 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/vulkan-deps-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: geofflang@google.com Change-Id: I0a55f330e07c15f5d1cfc8ec1035852118ab186d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4777541 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 8b1583b0 2023-08-14T09:07:42 Roll Chromium from 99516e709be0 to 2f1df67285b4 (555 revisions) https://chromium.googlesource.com/chromium/src.git/+log/99516e709be0..2f1df67285b4 If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/chromium-angle-autoroll Please CC angle-team@google.com,geofflang@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry To file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry To report a problem with the AutoRoller itself, please file a bug: https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/4fb90f22dd..193968ce60 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/a9a6f0c49d..a5ad157866 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/d2f7d2908c..99ae5bc69e * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/583dc6d1b3..1ed18a0632 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..91aa9652fe * third_party/fuchsia-sdk/sdk: version:14.20230804.1.1..version:14.20230811.1.1 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/cc2a32ba83..3cede154a6 * third_party/r8: c5gwBJlApOcrNvnktaZlEXQ168Ig5dECf1tJyt5fcjwC..PyEDdX7GOndyKvm6rRXizmsJg9u1b8He2JqMNPO3F-UC * third_party/zlib: https://chromium.googlesource.com/chromium/src/third_party/zlib/+log/526382e41c..f5fd0ad266 * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/e309c7523b..159cd0f22c * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/368a50222b..b59055f932 No update to Clang. Bug: None Tbr: geofflang@google.com Change-Id: I99e64ba5281648cac3487ae249dae9c0ef47a7b9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4777540 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Amirali Abdolrashidi f11c972b 2023-08-04T15:06:39 Update requiredFlags use for VMA image allocations For the OOM fallbacks, we currently remove bits from the required bits when device memory allocation is no longer possible. In doing so, allocating on the device has become a strong preference rather than a requirement. Therefore, we change this method a bit in this CL. * Removed the device-local bit from the required flags when calling allocateAndBindMemory(). * preferredFlags is now used in lieu of requiredFlags initially within allocateAndBindMemory() to signal to the VMA to prioritize allocating on the device. If it fails, we use requiredFlags for the fallback. Bug: b/280304441 Change-Id: Id47a224cd74dacd3fb12d4fbfd815d8cefc016c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4753758 Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 16cfa28e 2023-08-08T22:08:24 Vulkan: Basic infra for parallel link This change moves pipeline warm up to a parallelizable task, mostly as an exercise to put in the infrastructure for parallel link in the Vulkan backend. Follow up changes will move more of the link step to this task. The end goal is to be able to make the link task independent of ContextVk, which would allow it to be run as an UnlockedTailCall, even if not using a worker thread. Bug: angleproject:8297 Change-Id: I17047162b2a41f0d681d9e3ee33f2e0239b4280d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4764231 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan 394699d3 2023-08-10T10:28:01 tests: skip SwiftShader tests when building without SwiftShader If we are building without SwiftShader, we shouldn't be forced to add a gtest_filter of "-*SwiftShader*" in order to run the various tests. Bug: angleproject:8291 Change-Id: Ic3513445d5d4bb402535a6f41bba818c0d15fd7a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4769826 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Kenneth Russell 237ff2b7 2023-08-11T14:18:38 Fix assertion failure with EGL_FOREVER_KHR. Calling eglClientWaitSync passing EGL_FOREVER_KHR overflows std::chrono and causes an assertion failure. This prevents optimization of Chromium's backpressure fences. Clamp the internal wait value to 1 day. Bug: angleproject:8301 Change-Id: Idfc400351204dee648723a8d951ade7e56c25cb9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4776162 Commit-Queue: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kenneth Russell <kbr@chromium.org>
Alexey Knyazev 6092e0b7 2023-08-10T00:00:00 D3D11: Ensure that clip depth mode is synced Syncing clip depth mode driver uniform should not depend on a viewport state. Bug: angleproject:6554 Change-Id: I6ff2549a88fe3795eef20acfc48d0e945f19c4e0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4775599 Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com> Reviewed-by: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
angle-autoroll 987f0dfd 2023-08-11T19:12:43 Roll VK-GL-CTS from cedd20620c84 to 532cf9c253c0 (14 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/cedd20620c84..532cf9c253c0 2023-08-11 Tyler.Schneider@amd.com Callable shader test cases: dEQP-VK.ray_tracing_pipeline.callable_shader.callable_shader* 2023-08-11 lorenzo@khronosgroup.org Merge vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/main 2023-08-11 jbolz@nvidia.com Reenable copy_commands2 tests for VulkanSC 2023-08-11 ziga@lunarg.com Fix enabling sample shading in multisample tests 2023-08-11 ziga@lunarg.com Fix VertexInputStateCreateInfo scope in extended dynamic state tests 2023-08-11 ivan.briano@intel.com Add missing check for VK_EXT_shader_object 2023-08-11 ziga@lunarg.com Fix including host query reset features struct 2023-08-11 ziga@lunarg.com Fix primitives generated query tests with secondary cmd buffers 2023-08-11 Tyler.Schneider@amd.com Added indirect trace version of builtin test cases: dEQP-VK.ray_tracing_pipeline.builtin.indirect.* 2023-08-11 rgarcia@igalia.com Test GPL with pipeline robustness 2023-08-11 rgarcia@igalia.com Fix triangle strip with adjacency PGQ tests 2023-08-11 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 2023-08-08 lorenzo@khronosgroup.org Run vk-build-programs tests in chunks 2023-08-07 rgarcia@igalia.com Fix build: DeviceDriver needs the API version now as a 4th parameter 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,jonahr@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I8f319cd13bb9d1ce2e2e74616014fed76dafbe25 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4775825 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Shahbaz Youssefi 4a195ce0 2023-08-10T11:28:31 Vulkan: Fix SPIR-V id assignment to user-defined webgl_* names The code was incorrectly assuming that webgl_* names are only from ANGLE variables. An explicit check that the symbols are AngleInternal was missing. Bug: b/287166117 Change-Id: Ib8140cfabd74000492d12c11163f318a9ec3b98f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4770236 Commit-Queue: Solti Ho <solti@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Solti Ho <solti@google.com>
angle-autoroll dfa065cf 2023-08-11T10:01:04 Roll SwiftShader from c315c894b9d5 to 97bdc453fbed (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/c315c894b9d5..97bdc453fbed 2023-08-10 schuffelen@google.com ANDROID: strip `vulkan.pastel.so` on the host 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,jonahr@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: If4ac93aa60ec8cb26f86527b4cd30c3c4470358e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4772845 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll af154141 2023-08-11T10:01:06 Roll vulkan-deps from 59b294f2797c to ce76478186bc (9 revisions) https://chromium.googlesource.com/vulkan-deps.git/+log/59b294f2797c..ce76478186bc Changed dependencies: * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/124a9665e4..45fc02a6c6 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/3af4244ae1..d6300ee92b * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/a7c612e9cd..8a3b98964a 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,jonahr@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I7fa5ce1e1d134523caf420a04547263473763481 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771989 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
angle-autoroll 7b1777e6 2023-08-11T07:00:07 Roll Chromium from 653db97a807b to 99516e709be0 (339 revisions) https://chromium.googlesource.com/chromium/src.git/+log/653db97a807b..99516e709be0 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,jonahr@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Changed dependencies * testing: https://chromium.googlesource.com/chromium/src/testing/+log/c95f0abc34..d2f7d2908c * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..598916632c * tools/luci-go: git_revision:e608c1f557fceae8eb6cf35ae2ad6f4908e35245..git_revision:77c9b09de8f234ae9c47d9d865a5d860ff390ed0 * tools/luci-go: git_revision:e608c1f557fceae8eb6cf35ae2ad6f4908e35245..git_revision:77c9b09de8f234ae9c47d9d865a5d860ff390ed0 * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/f57cec9442..368a50222b * tools/skia_goldctl/linux: yiBOCk-vzyyWi8kF1hfi8_yZoQb5Y5nUrgH-gKy3s_4C..UFlmhX6-Qb8IgDGznrPTinozgZ41Ul69CJEw_37d5Q0C * tools/skia_goldctl/mac_amd64: IOfj5k7LF0hVZeJ-_iTpGovRg26fblRBMk0wLT1GJnAC..UjktW10Ah81eMdqbYaUevQNFJozJWoGy33MmF1BdM18C * tools/skia_goldctl/mac_arm64: nAEU10uINeZnsOib3LZlcLZgRr3I8YETFJqTpMpw3ukC..obLm-ouXMf1S3hnZaO-yUAG5CoeW2qzVWy2fhz3WXWIC * tools/skia_goldctl/win: pGeqtL9kCYQirdV-A7YpDFltq8_TFh64j6MuVoc7YswC..jMrnfAAYCvmmOPZpirRZ6xWBdRaWW7g85mdjTFvq_HsC No update to Clang. Bug: None Tbr: jonahr@google.com Change-Id: Ie8e2f88c75cdfa799cd95896fb41a7365812460a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771753 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Andrew Grieve d52046c4 2022-09-07T13:45:40 Remove CPEPrefix for //third_party/jdk We don't run downloaded code, and we use it only for tools (not at runtime), so we don't care about vulnerabilities. Bug: b/244859623 Change-Id: Ib8edc10cafe388daf6ae29f3da0036065d39d4ce Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3877043 Commit-Queue: Sam Maier <smaier@chromium.org> Auto-Submit: Andrew Grieve <agrieve@chromium.org> Reviewed-by: Sam Maier <smaier@chromium.org> Cr-Commit-Position: refs/heads/main@{#1043933} Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4743602 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 0f4317d0 2023-08-10T17:56:33 Manual roll vulkan-deps from ed9dadbd89cd to 59b294f2797c (89 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/vulkan-deps.git/+log/ed9dadbd89cd..59b294f2797c Changed dependencies: * glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/4420f9b33b..76b52ebf77 * spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/51b1064617..124a9665e4 * spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/c6d0b04802..3af4244ae1 * vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/cb7b123f2d..450ead13e1 * vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/fc8116bb5c..4830af39dc * vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/ab9d7a042d..1d8188a974 * vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/907292fe35..a7c612e9cd 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,jonahr@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com,ynovikov@google.com Change-Id: Ib64cf5733cf7b30611be15b0506f22f1ea5de32d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4771261 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Steven Noonan ffe81dd3 2023-08-03T14:53:32 Vulkan: allow opt-in to MSRTT emulation via overrides The existing enableMultisampledRenderToTexture feature combines conditions for device feature support and the policy decision of whether to allow MSRTT emulation. This change splits it into two features, allowing application developers to control the policy condition for the emulation path without impacting the device capability checks. Bug: angleproject:8291 Change-Id: Ic1525c878906b10df777c582e44b931028aae928 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749525 Auto-Submit: Steven Noonan <steven@uplinklabs.net> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Steven Noonan 833f7f69 2023-08-09T10:49:51 Vulkan: improve XFB feature dependency checks Some features need to account for the possible override of supportsTransformFeedbackExtension == false. Since we now frontload the overrides, we also can remove the explicit overrides for the dependent features in TransformFeedbackTest. Bug: angleproject:8291 Change-Id: I0ec54dc0fce440ef3e7bfe9987d0ea19fb9dafaa Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4763096 Auto-Submit: Steven Noonan <steven@uplinklabs.net> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 32bcf96f 2023-08-10T16:49:25 Manual roll Chromium from ea8b2b6926bc to 653db97a807b (714 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/ea8b2b6926bc..653db97a807b 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,jonahr@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/00a84048e0..4fb90f22dd * buildtools/linux64: git_revision:811d332bd90551342c5cbd39e133aa276022d7f8..git_revision:cc56a0f98bb34accd5323316e0292575ff17a5d4 * buildtools/mac: git_revision:811d332bd90551342c5cbd39e133aa276022d7f8..git_revision:cc56a0f98bb34accd5323316e0292575ff17a5d4 * buildtools/win: git_revision:811d332bd90551342c5cbd39e133aa276022d7f8..git_revision:cc56a0f98bb34accd5323316e0292575ff17a5d4 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/8c8e5eefdb..c95f0abc34 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..0b39a694c0 * third_party/r8: dbml4pnGIsEBy3dFYki-S8IYt4jxxqZXaUDwtY3Q-SgC..c5gwBJlApOcrNvnktaZlEXQ168Ig5dECf1tJyt5fcjwC * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/b3308b00fe..65ceb79efb * tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/6c7511171d..f57cec9442 Clang version changed llvmorg-17-init-16420-g0c545a44:llvmorg-18-init-1174-g2532b68f Details: https://chromium.googlesource.com/chromium/src/tools/clang/+/b3308b00fe5f1409e0c2493a84f52be6c3e1fc75..65ceb79efbc9d1dec9b1a0f4bc0b8d010b9d7a66/scripts/update.py Bug: None Tbr: jonahr@google.com,ynovikov@google.com Change-Id: Ic005c1b5b424d8f9f85ae739ca23719369ffe80b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4769816 Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Steven Noonan f395f34b 2023-08-03T13:58:43 features: frontload feature overrides This allows us to have features that depend on the state of other features more reliably. For example, let's say you have two features: ANGLE_FEATURE_CONDITION(&mFeatures, allowX, (benefitsFromX || isSpecificHardware) && !isBadHardware); ANGLE_FEATURE_CONDITION(&mFeatures, supportsX, hardware.featureXSupported && mFeatures.allowX.enabled); Before this change, if you overrode allowX, the override would be applied too late for the supportsX test. This also helps with disabling dependent features via overrides. For example, if you disable "supportsRenderpass2", it will also disable features depending on it, such as "supportsDepthStencilResolve" and "supportsFragmentShadingRate". By frontloading the feature overrides, we can have cross-dependencies between "feature supported on this platform" and "allow this feature by policy". Bug: angleproject:8291 Change-Id: Id6da2c89428fa896d677fe8d5a41369277a21b31 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749524 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao 7c69116f 2023-08-08T10:14:47 Vulkan: Fix data race with DynamicDescriptorPool Right now DynamicDescriptorPool::destroyCachedDescriptorSet can be called from garbage clean up thread, while simultaneously accessed from context main thread, and data race will happen and cause bugs. This can only happen when the buffer is not being suballocated. In this case, suballocation owns the bufferBlock and bufferBlock gets destroyed when suballocation is destroyed from garbage collection thread. If buffer is suballocated, the shared group owns pool which owns bufferBlocks and they gets destroyed from shared group with the share group lock. This CL avoids this race problem by release the shared cacheKey when the buffer is released, while we still had the shared group lock. Bug: chromium:1469542 Change-Id: Ic1f99e6b6083d63e4efb9c3f408921da62c006ac Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4761365 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang ae8a5cfd 2023-08-09T12:00:53 GL: Accept more config options when creating the EGL context Some drivers fail to find any configs in ANGLE but succeed with Chrome's config searching. Widen ANGLE's config searching to include 565 configs and configs without depth stencil. Refactor the config search logic to be used for both backend context and mock pbuffers instead of hard-coded pbuffer config. Bug: chromium:1442132 Change-Id: I52378ec66542ec7aa56849ec8470f8eadb4abf58 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4764230 Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Peng Huang <penghuang@chromium.org>
angle-autoroll d7e914da 2023-08-10T10:01:15 Roll SwiftShader from 729e92f8ae07 to c315c894b9d5 (1 revision) https://swiftshader.googlesource.com/SwiftShader.git/+log/729e92f8ae07..c315c894b9d5 2023-08-09 aredulla@google.com [ssci] Added Shipped field to README.chromium 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,jonahr@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Use-Permissive-Angle-Pixel-Comparison: True Change-Id: I96a6b22fd31f5f62306bbae800e51837ec4d71be Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4769500 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuxin Hu a990ba34 2023-08-02T17:21:00 Fix write out of bounds on non robust contexts crashes dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.reset_status.writes.* tests are failing, because the test expectes EGL_SUCCESS upon eglMakeCurrent(EGL_NO_CONTEXT), regardless of whether the context was lost. This CL: 1) Changes the validation function of eglMakeCurrent: if the EGLContext passed to eglMakeCurrent is EGL_NO_CONTEXT, do not return EGL_CONTEXT_LOST even if the context is already lost. 2) Adds a lost context check in checkOneCommandBatch. If the context is lost, do not check fence status and assume all of the vulkan commands have finished execution, so that we can properly destroying all the resources before destroying the context. 3) Changes the GL error code from GL_INVALID_OPERATION to GL_CONTEXT_LOST when there is a vulkan device lost. Bug: b/286921997 Bug: b/289544394 Change-Id: I91e8a4105f0d7a3ec3b59bae58da80bc64ffa94a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4728466 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Steven Noonan fa3ecccb 2023-08-09T10:48:36 Vulkan: make fragment shading rate depend on renderpass2 The extension depends on renderpass2 and will raise a VVL failure if it's not available and enabled. Note that this doesn't yet work as intended if you only override supportsRenderpass2=false. A subsequent commit will fix this. Bug: angleproject:8291 Change-Id: I6843b342909fb9000ebdcea80e006670c865f858 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4763095 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Steven Noonan <steven@uplinklabs.net> Commit-Queue: Steven Noonan <steven@uplinklabs.net> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll 32aecfcc 2023-08-09T12:12:14 Manual roll Chromium from e37ae34e9fdf to ea8b2b6926bc (381 revisions) Manual roll requested by ynovikov@google.com https://chromium.googlesource.com/chromium/src.git/+log/e37ae34e9fdf..ea8b2b6926bc 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,jonahr@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/a5321f10c9..00a84048e0 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/9ae730e481..8c8e5eefdb * third_party/android_build_tools: https://chromium.googlesource.com/chromium/src/third_party/android_build_tools/+log/02f9cdf1a9..0b15eb31a5 * third_party/android_build_tools/bundletool: 2PJKytTLILAjCO3G7sCO27FO48XB9qrRTHp420zr5G0C..2RPwohwtc6on0_96oFxokeEvnC1LbLrGuyCAw00k62AC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..dd218dfd81 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/2f873f7c22..07289ce941 * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/078c92947e..b3308b00fe No update to Clang. Bug: None Tbr: jonahr@google.com,ynovikov@google.com Change-Id: Ic46d2b35b71d6eb8e8c437220f3275cd59d700b6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4765261 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Yuly Novikov 370e9ca0 2023-08-09T17:07:48 Add experimental Mac NVIDIA bot specs Bug: chromium:1456549 Change-Id: Ia7565bf6de02e36ee82affec64f27ee591a6cce7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4765134 Reviewed-by: Brian Sheedy <bsheedy@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Shahbaz Youssefi df76f5b1 2023-08-08T15:13:54 Respect KHR_parallel_shader_compile for program link Parellel shader compilation was using the single-threaded vs multi-threaded pool appropriately, while program link was always being multi-threaded. This change makes sure the program link tasks uses the same pool as shader compilation per KHR_parallel_shader_compile. Bug: angleproject:8297 Change-Id: I0508617678a6e875fc0719a2d447cf1a9c5ca40f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4762086 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang 164ac246 2023-08-08T15:13:10 zero-initialize all memory in LinkedUniform. LinkedUniform is serialized directly, ensure that any padding inserted into the struct is zero so there is no chance of uninitialized reads during serialization. Bug: b/275102061 Bug: chromium:1470644 Change-Id: If6b9f579938019c7e16fb306ed3b7d839953f6d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4762085 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Kimmo Kinnunen 2d87c31d 2023-08-09T07:47:20 Revert "Metal: initialize std::arrays in mtl_render_utils" This reverts commit c40d31b02690788cf61f93d71bbe094ddbb1a004. Reason for revert: Invalid rationale, it does not solve the problem. std::array does run the default constructors of the AutoObjCPtrs held in them. Original change's description: > Metal: initialize std::arrays in mtl_render_utils > > The std::array default constructor does not initialize the memory. > This leads to uninitialized access in mtl_render_utils *Utils. > > Fix by initializing them. > > Bug: angleproject:8293 > Change-Id: I597df067f3c19907a038bb4899a178734158302c > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4756783 > Reviewed-by: Kenneth Russell <kbr@chromium.org> > Commit-Queue: Geoff Lang <geofflang@chromium.org> > Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> > Reviewed-by: Geoff Lang <geofflang@chromium.org> Bug: angleproject:8293 Change-Id: Ibacacd70fc196b5ecb3d0bc971d6565f7f578d4c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4765207 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Josip Sokcevic c5949fe0 2023-08-08T14:09:00 Remove dummy chromium from git submodules dummy_chromium is used by autoroller to remember previously sync state and to sync all chromium dependencies with angle dependencies. If angle repository has this gitlink, it will result in recursive submodule loop (chromium -> angle -> chromium) unless git understands gclient-condition. We should redesign how autoroller works by storing chromium information somewhere else. In the meantime, this patch will give us more time to design a long term solution. Note: Presubmit checks only check if gitlink commits are present in DEPS file, and not if all git depepdencies have gitlinks. Bug: chromium:1471230 Change-Id: I8638c9863517dd90b0248d9e9bc9664c66041e70 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4762704 Auto-Submit: Josip Sokcevic <sokcevic@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Yuly Novikov 3ad8d912 2023-08-08T17:44:03 Roll chromium_revision 2140415f50..e37ae34e9f (1179456:1181024) Rename third_party/android_toolchain to third_party/android_toolchain/ndk due to https://chromium-review.googlesource.com/c/chromium/src/+/4728129 Change log: https://chromium.googlesource.com/chromium/src/+log/2140415f50..e37ae34e9f Full diff: https://chromium.googlesource.com/chromium/src/+/2140415f50..e37ae34e9f Changed dependencies * build: https://chromium.googlesource.com/chromium/src/build.git/+log/7dd254d602..a5321f10c9 * buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/79ab87fa54..a9a6f0c49d * testing: https://chromium.googlesource.com/chromium/src/testing/+log/7a3b32e55f..9ae730e481 * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..d7f301be80 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/fc36eba70b..2f873f7c22 * third_party/fuchsia-sdk/sdk: version:14.20230727.2.1..version:14.20230804.1.1 * third_party/libc++abi/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/d4760c0af9..cc2a32ba83 * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/e5a9c50e5e..b113f23e4c * third_party/r8: OdhGaLChEyG23to4T8_V2aMCAZi970T4B4t8ih0tNGsC..dbml4pnGIsEBy3dFYki-S8IYt4jxxqZXaUDwtY3Q-SgC * third_party/turbine: njzYdPKg07o6bisJmD2GAMXIi0p3KPbBy93bLGnp2TYC..HFp7iOu-n4-CdEasFTQZvD1Vg1L-q1URqRTOM-iZ2AMC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/7cd5bbdfe4..e309c7523b * tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/02d5529a3f..078c92947e * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/bee2ccad89..988a4dec39 DEPS diff: https://chromium.googlesource.com/chromium/src/+/2140415f50..e37ae34e9f/DEPS No update to Clang. Bug: chromium:1469911 Change-Id: I5ac8510d880a092e838c4fa797dd3748976d358c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4760727 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Charlie Lao 719165c8 2023-08-04T12:13:37 Remove "const UniformTypeInfo *typeInfo" from struct LinkedUniform This is a cached pointer to the const kInfoTable. There isn't much of performance benefit to cache here compare to directly retrieve from the table. This cached pointer is removed in this CL, which means we do not need to update the pointer in the ProgramExecutable::load(). This and a few earlier CLs that attempt to do memcpy for entire mUniforms reduced average frame time of blade_and_soul_revolution app trace 3%, from 4.3359 ms to 4.2066ms on pixel 7 pro. Bug: b/275102061 Change-Id: I6fd34d665234e3a5cc85344924049bf5b13aaa80 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4753933 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Kimmo Kinnunen c40d31b0 2023-08-07T12:33:42 Metal: initialize std::arrays in mtl_render_utils The std::array default constructor does not initialize the memory. This leads to uninitialized access in mtl_render_utils *Utils. Fix by initializing them. Bug: angleproject:8293 Change-Id: I597df067f3c19907a038bb4899a178734158302c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4756783 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Phan Quang Minh d1e26fa2 2023-08-04T11:07:25 gpu_info_util: Close X11 display after usage This ensures that the X11 display connection won't leak if GetNvidiaDriverVersionWithXNVCtrl gets called multiple times. Bug: angleproject:8294 Change-Id: Id9fe8e6b6d5524965c1638841af88416fe28c76a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749333 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Kenneth Russell f7d7be8d 2023-08-04T14:16:38 Metal: upstream "UBO convert only whole block". Authored by Dan Glastonbury; reviewed by Dean Jackson. This upstreams https://commits.webkit.org/264375@main . OpenGL doesn't guarantee that the buffer backing uniform blocks needs to be a multiple of the block size. When converting OpenGL layout blocks to Metal layout, ConvertUniformBufferData is rounding up the size of the backing buffer to a multiple of the block size which leads to reading out of bounds. To ensure we don't read outside the source buffer, this change replaces calls to `memcpy` with `memcpy_guarded` which accepts a pointer to the limit of available data and copies as much data as is available, writing zeroes for any unavailable amount. Conversion of bools didn't use memcpy, so the raw pointer is checked against maxSrcPtr and only dereferenced if valid, otherwise zero is used. This has been tested with ASan and UBSan enabled against the OpenGL dEQP tests for Uniform Buffer Objects in ANGLE. Fixed: angleproject:8292 Change-Id: I0d472277889f073e54a9049f01bc04f6965a7b68 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4754175 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Auto-Submit: Kenneth Russell <kbr@chromium.org> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Mohan Maiya e50d3876 2023-08-04T14:47:41 Vulkan: Retain loadOp when there is a resolve attachment Rendertargets with resolve attachments cannot optimize away loadOp Load or Clear even if they are marked ResourceAccess::Unused and storeOp is RenderPassStoreOp::DontCare. Bug: angleproject:4836 Bug: angleproject:5981 Tests: ImageTest.SourceAHBTarget2DMSRTTInteraction* Change-Id: I39ec67a457de6876ed0bd47d66a963cc59fab064 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4753735 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao d1117834 2023-08-04T10:48:22 Simplify struct LinkedUniform a bit more In earlier CL crrev.com/c/4740298, we added mFixedSizedData structure to group the data memebrs that can be memcpy-able into one variable, so that we can memcpy that. Since then, we have made entire LinkedUniform struct memcpy-able (crrev.com/c/4750443 is doing memcpy of entire std::vector<LinkedUniform>). Thus, there is no longer a need for mFixedSizedData. This CL removes that. This CL also removes isStruct and inArrayOfArrays from LinkedUniform, since they are always false. This CL also removes some unused APIs from LinkedUniform. Bug: b/275102061 Change-Id: I6ead3d8f179efc0d383352f7ac0efa6bf3dc8a1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4753932 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 41d27ec3 2023-08-03T18:06:08 load/save entire std::vector<LinkedUniform> with one call. Now LinkedUniform is a simple data struct with only fundamental types, we can load the entire vector at once. Bug: b/275102061 Change-Id: I7c030677d02517f86d960de85b0e7ae2c916a26e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4750443 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao eff12c1e 2023-08-03T12:10:05 Move name and mappedName out of LinkedUniform struct These are std::string objects. This CL moves these two data out of LinkedUniform and into ProgramExecutable class, side by side with mUniforms. With these two data moved out, LinkedUniform is now a simple struct with basic data types, and I can memcpy entire vector of uniforms. Bug: b/275102061 Change-Id: I9ae13e7daca85f8e5f3662a4718f190bebb5f5d2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4750442 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Joanna Wang 3dbfa314 2023-08-04T15:56:47 Add Gitmodules to angle. Commits in the gitlinks should be kept in sync with commits in DEPS. For repos that are auto-rolled by skia, this is taken care of. If you have your own autoroll script and it uses `gclient setdep` to update deps commits, this is also taken care of. For manual rolls: 1) in DEPS update the commit of some <path> to <new_commit> 2) update the gitlink: `git update-index --add --cacheinfo 160000,<new_commit>,<path>` Bug: chromium:1421776 Change-Id: I70d02969b198ea6ae94d042c4ffab31b70eb88fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4752314 Commit-Queue: Jonah Ryan-Davis <jonahr@google.com> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com> Commit-Queue: Joanna Wang <jojwang@chromium.org>
Amirali Abdolrashidi 4963febf 2023-08-02T16:52:52 Vulkan: Remove type indices with host-visible bit Currently, the memory type index for VMA image allocations are selected and returned by the API. However, it could potentially choose a type index with more flags than required or preferred, and ignore the index with exactly the flags we want. For example, it could pick a type index with the host-visible property flag, even if is unnecessary and a type index with a device-local flag would suffice. Using memoryTypeBits during the allocation allows us to filter the unwanted type indices out and use the other indices initially. * Added a new function to RendererVk.cpp to try to remove the memory type indices with the host-visible bit for VMA image allocations if they should be device-local. * GetMemoryTypeBitsExcludingHostVisible() * It also removes the indices with the protected bit if it is not required. * If the allocation is unsuccessful, the fallback resets the field for memoryTypeBits, allowing all available type indices to be used for the allocation. * Added memory type index to the pending allocation log during OOM. Bug: b/294085818 Change-Id: Icc1b218df075170a6baa7ec57c837ed59cd4fa96 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4743604 Reviewed-by: Kaiyi Li <kaiyili@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Charlie Lao 9c588180 2023-08-02T16:39:44 Change LinkedUniform::arraySizes from std::vector to unsigned int We always flatten multiple dimensional arrays in the uniform to a one dimensional array, so the arraySizes can be simplified to unsigned int instead of a vector. With this, we can now move the arraySize into the simple mFixedSizeData struct and the normal memcpy will cover the load/save. Bug: b/275102061 Change-Id: I24c026f783b755f7aa691a5db5746b6309a21227 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4735275 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Brian Ho d2a6b2a0 2023-08-04T14:15:11 Use offscreen DisplayVk on ChromeOS Currently, we always use DisplayVkHeadless on ChromeOS which can fail if the drivers do not support VK_EXT_headless_surface (like on Intel). At the end of the day, CrOS never really uses Vulkan WSI, so it shouldn't need a WSI extension anyways. This CL introduces a simple DisplayVkOffscreen that requires no WSI. We then configure CrOS to use this new DisplayVk. Bug: b/292249282 Change-Id: I1fcbb48d187eb656c6e03bc7ac7b15ac8ad0a4ae Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4752416 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Brian Ho <hob@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Geoff Lang f4e901b4 2023-08-07T10:52:09 Validate program binaries are the same CPU bit-ness. ANGLE's program binary serialize/deserialize logic uses size_t and other non-fixed sized integer types. This can cause crashes if the CPU architecture changes between saving and loading of binaries. Bug: chromium:1470074 Bug: angleproject:8223 Change-Id: Ib2529e0e6e66e28a184aa1ec94075e343e1f1d5e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4752265 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
angle-autoroll e7eba559 2023-08-07T15:45:46 Roll VK-GL-CTS from 00cccd7cf562 to cedd20620c84 (11 revisions) https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/00cccd7cf562..cedd20620c84 2023-08-07 lorenzo@khronosgroup.org Add check for maximum file size of 100MB 2023-08-07 ruoyu@amd.com Support FP16 CPU Rendering for GLES2 2023-08-07 Tyler.Schneider@amd.com Acceleration structures update test cases: dEQP-VK.ray_tracing_pipeline.acceleration_structures.update.* 2023-08-07 ziga@lunarg.com Add vkCmdCopyQueryPoolResults tests with multiview 2023-08-07 amber@igalia.com Test that the number of GS invocations is 0 for VS and TES 2023-08-07 pdaniell@nvidia.com Use the correct imageSize() component for "width" 2023-08-07 rgarcia@igalia.com Allow selecting a subset of targets at configuration time 2023-08-07 rgarcia@igalia.com Disable device robustBufferAccess in pipeline robustness tests 2023-08-07 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.6 into vk-gl-cts/main 2023-08-07 lorenzo@khronosgroup.org Update vulkan-docs to current version 2023-08-07 lorenzo@khronosgroup.org Merge dev/VK_EXT_shader_object into 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,jonahr@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md Bug: None Tbr: jonahr@google.com Change-Id: I7dfec313f0d5ec605ee0980bf973f7634d5cd115 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4757222 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Kenneth Russell 8ba04f1c 2023-08-05T00:48:35 Metal: disable fastmath less often. Stop disabling fastmath if atan is used in the shader. Application developers will surely prefer the significant performance improvement of the fastmath optimizations over corner-case differences in precision. Make disabling fastmath more precise: only if it's forcibly disabled as a driver bug workaround, or if the shader uses invariance and preserveInvariance is not available. Suppress the test: dEQP-GLES[23].functional.shaders.invariance.lowp.loop_2 which fails when fastmath is enabled for shaders using atan and invariance. Fixed: chromium:1320111 Change-Id: I6e33b14b1d05faedc15373f24af3e22a4074a35b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4754018 Reviewed-by: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Steven Noonan 30bd0149 2023-08-02T08:06:47 ANGLETest: fix crashes when switching between GLESDriverTypes The condition for mLastLoadedDriver was incorrect. We never initialized it, so it never switched to the correct EGL implementation when alternating between tests using different GLESDriverTypes. This was reproducible with: angle_end2end_tests.exe --gtest_filter="SimpleOperationTest.DrawSingleSampleWithAlphaToCoverage/ES3_D3D11:SimpleOperationTest.DrawSingleSampleWithAlphaToCoverage/ES3_ANGLE_Vulkan_Secondaries_SwiftShader:SimpleOperationTest.DrawSingleMultiSampleWithAlphaToCoverage/ES3_D3D11" The above does three tests: - D3D11 test (using GLESDriverType::AngleEGL) - Vulkan test (using GLESDriverType::AngleVulkanSecondariesEGL) - D3D11 test (using GLESDriverType::AngleEGL) What would happen is this: - the first test would initialize a D3D11 EGLDisplay - the second test would switch the API entry points to use AngleVulkanSecondariesEGL - the third test begins reuses the first test's EGLDisplay, but fails to notice the GLESDriverType change and uses the AngleVulkanSecondariesEGL entry points - when eglQueryString is called with the D3D11 EGLDisplay, the VulkanSecondaries library has no knowledge of this display and fails the call Bug: angleproject:8286 Change-Id: I1f22060e2c5725dad5e410a76385e2802b627844 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749296 Auto-Submit: Steven Noonan <steven@uplinklabs.net> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Solti 135a24fc 2023-08-04T17:18:31 update Wrangler runbook Test: default presubmit Bug: b/289824244 Change-Id: Ia3e91196a6b1ede51d1ae55b7a2f76357010e782 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4753732 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Solti Ho <solti@google.com>
Charlie Lao 22438ad8 2023-08-02T14:01:45 Embed ActiveVariable into BufferVariable and ShaderVariableBuffer This CL embeds ActiveVariable into BufferVariable and ShaderVariableBuffer struct instead of subclass. This allows us to remove the virtual function of ~ActiveVariable(), which means ActiveVariable is a simple struct with basic types and memcpy can be used for load/save. Thus, in this CL, I also moved activeVariables to LinkedUniform::mFixedSizeData structure and let memcpy handle the load/save. Bug: b/275102061 Change-Id: I8d21080cfdd72d4d22cef927d136ca428d9b12e4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4722265 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao ee019f58 2023-08-01T17:03:24 Group fixed sized data of LinkedUniform into a struct Most of gl::LinkedUniform struct is a basic types and can be simply initialized with memcpy. This CL groups these together and encapsulate them with get APIs. The load/save is now a single memcpy for the entire fixed size data structure of basic types. Bug: b/275102061 Change-Id: I49120c06ec941c783790ac0ecb0ee314a4234b26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4740298 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 7bb13226 2023-08-01T12:10:44 Pack booleans inside struct LinkedUniform into bitfields Right now every bool is load/stored as integer, which itself is a memcpy. This CL moves them into a bitfield and load/store with one uint32_t, thus improves efficiency of cache load/save. Bug: b/275102061 Bug: angleproject:8223 Change-Id: Id8e8e8861c8fcbd75dbef6056e4ff6c8ad2fc4a1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4740292 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Joanna Wang 0581a81c 2023-08-04T15:56:47 Gitmodules: Remove unused androidx_browser. Also use commit hash for third_party/wayland. Bug: chromium:1421776 Change-Id: I406b875e65c42413c4841227ce32035f6c004f78 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4753352 Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
angle-autoroll 68b0a8c2 2023-08-04T07:01:36 Roll Chromium from 5b2aecb232a1 to 2140415f507f (1184 revisions) https://chromium.googlesource.com/chromium/src.git/+log/5b2aecb232a1..2140415f507f 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,yuxinhu@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://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug 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/5885d3c248..7dd254d602 * testing: https://chromium.googlesource.com/chromium/src/testing/+log/5bb46c40d0..7a3b32e55f * third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/2288062eef..583dc6d1b3 * third_party/android_build_tools/lint: cLtgSrpk1a4zUb-XNIAaxmKn2OAZ-fnG9kZBqI3n9XEC..5j8XlyT5HF4gyZX-d8aNswCh8iPuGAMVy9epEQVVK8YC * third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f8b55bb945 * third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/70d971a135..fc36eba70b * third_party/libunwind/src: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/6c0013015b..e5a9c50e5e * third_party/r8: l5dYfHmu8G4vGM9POQl7UoH_PVAssdiMEQNUmpxsNIAC..OdhGaLChEyG23to4T8_V2aMCAZi970T4B4t8ih0tNGsC * tools/android: https://chromium.googlesource.com/chromium/src/tools/android/+log/3bb8a70706..7cd5bbdfe4 * tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/1fceefa905..bee2ccad89 No update to Clang. Bug: angleproject:5509 Tbr: yuxinhu@google.com Change-Id: I35fda185499dd596e01c194f331cb6469e939053 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749174 Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com> Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Joanna Wang 95d88a5b 2023-08-03T13:44:44 Update llvm repo paths. Bug: chromium:1458042 Change-Id: Ibb7fa0ba9008c341e3f38eece86fa0ca4ffc2210 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4746862 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Alexey Knyazev 2a950c63 2023-07-31T00:00:00 Adjust ANGLE_stencil_texturing specification STENCIL_INDEX enum is not defined in GLES/gl3.h, so the extension has to provide its value. Bug: angleproject:8051 Change-Id: Ia383162afee8cdcffc1d68ddf833fbd91a87b1f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4748399 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Alexey Knyazev <lexa.knyazev@gmail.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Kimmo Kinnunen 34a99db4 2023-08-03T16:46:36 Metal: Check the full generated default shader in Add the default MSL shader text in the repo. Fix an error with include path setup to make the script runnable from an arbitrary directory, for WebKit purposes. WebKit would compile that to a compile-specific metallib and then attach that metallib to the compilation as .h. Current upstream behavior is to compile the metallib once few platforms. Bug: angleproject:8284 Change-Id: Icbf7c0055718496cb380fad0b73d5b9b0d0abb0e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4748400 Commit-Queue: Kenneth Russell <kbr@chromium.org> Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org>
Geoff Lang 1b94197a 2023-08-03T13:45:34 Metal: Enable fast math based on runtime OS version checks. Chrome compiled with a recent SDK but a low minimum required OS version so fast math was always disabled at compile time. Turn this into a two- part check: Use macros to make sure preserveInvariance can be compiled and @available to do the runtime OS check. Fix the UseFastMathForShaderCompilation check. It was incorrectly inverting two negative conditions. Mark some dEQP precision tests as failing due to fast math. We would prefer to have the performance improvement over some precision loss. Bug: chromium:1468346 Bug: angleproject:8287 Change-Id: I31d9c732a12841cb4d0bc1a555ea1f1ea8a434fc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4750199 Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Steven Noonan dbae1804 2023-07-02T18:39:14 Display: remove redundant 'metal' ANGLE_DEFAULT_PLATFORM This one is already handled only a few lines before. Bug: angleproject:8285 Change-Id: Ib62ce6062551faf39360371c46a05f9cc4a70b07 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749295 Auto-Submit: Steven Noonan <steven@uplinklabs.net> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Solti 95f09c88 2023-08-01T20:48:45 Vulkan: Drop VkAHBFormatPropertiesANDROID for BLOB VkAndroidHardwareBufferFormatPropertiesANDROID is only valid for images. Test: details in ag/24283178 Bug: b/293592961 Change-Id: I72077ceac867da8522620a67d81f7093efa591f3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4739718 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Solti Ho <solti@google.com>
Charlie Lao 79973750 2023-07-27T17:53:24 Let UniformLinker uses its own struct instead of LinkedUniform UniformLinker itself needs more detailed information than the final linked uniforms. Right now they are using the same data structure. This CL adds a new structure for linker to use. Since the linker data structure is temporary, we never needs to load/save from cache, we have more freedom here to use complex data types. The benefit of separate out intermediate structure from LinkedUniform is that it allows us to further simplify LinkedUniform structure without change much of ProgramLinkedResource implementation. As result of this, this CL removes field and outerArraySizes (both are std::vector type) from LinkedUniform. Bug: b/275102061 Change-Id: Ic1291b51b8906ac586a2f25eb1dbbe74eae8fdc5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4727742 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Charlie Lao f24ea41e 2023-07-31T11:12:44 Embed sh::ShaderVariable data member into gl::LinkedUniform ProgramExecutable::load and save function is load/save each individual data members. Uniform can be quite large as shown in some app traces and this causes performance problem even when program memory has a cache hit. This CL flattens gl::LinkedUniform structure by embedding sh::ShaderVariable data members so that we can remove unrelated members and also prepare for further optimization in future CLs. Bug: b/275102061 Change-Id: I7c18cb73e359fba7cd6375b4b1635e9040ef140d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4735152 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com>
Charlie Lao 7b0c78ba 2023-07-28T10:00:28 Remove unused code in ProgramPipeline shaderUniforms is set but never used. Bug: b/275102061 Change-Id: Ided52748f6e8925cdbbb996d70966de2d1fc2c9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4727743 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Igor Nazarov c95ffadf 2023-07-24T13:00:32 Perform Display terminate(InternalCleanup) from makeCurrent() Current state: - Call to `eglTerminate()` is canceled if there are Contexts current. - All not current Contexts are invalidated in `eglTerminate()` call. - Full Display termination will happen only when last Context is actually destroyed in `eglDestroyContext()` or last active thread terminates (Android only). Problem: - Context is not marked invalid after it is unmade from current when `eglTerminate()` was already called. - If `eglDestroyContext()` was called while context was current, it will be destroyed when unmade from current - in this case actual Display termination will NOT happen. After this change: - Context immediately invalidated after it is unmade from current when `eglTerminate()` was already called. - Full Display termination will happen after the last Context is unmade from current (all Contexts are invalid). Bug: angleproject:6798 Test: angle_end2end_tests --gtest_filter=EGLDisplayTest.ContextLeakAfterTerminate* Change-Id: Idcce94b041649db58d3d879858fba99109347baf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4708328 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Kenneth Russell 6fb3295d 2023-08-02T16:26:24 Metal: expand shader dumping documentation for WebKit/Safari. Bug: angleproject:8280 Change-Id: Ie3ee5522bec662bcc186dfc787c17d6376995dce Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4744739 Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Kenneth Russell <kbr@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Igor Nazarov 959ccb96 2023-08-02T13:40:16 Add EGL_BAD_ACCESS validation into ValidateMakeCurrent Current code does not generate EGL_BAD_ACCESS in `eglMakeCurrent()` according to the specification: - If context is current to some other thread, or if either draw or read are bound to contexts in another thread, an EGL_BAD_ACCESS error is generated. Additional changes: - replace `Context::getRefCount()` with `isReferenced()` for consistency with added `Surface::isReferenced()` method. - remove duplicate `ValidateSurface` call for the `drawSurface` in case if `readSurface` is the same. - remove duplicate `ValidateCompatibleSurface()` call for the `readSurface` in case if `drawSurface` is different. - Fix EGLContextASANTest.DestroyContextInUse test. - Fix EGLContextSharingTestNoSyncTextureUploads.NoSync test. Bug: angleproject:8282 Change-Id: I2af0d7f50019c2445b42279bdd0e0197dd8ad20f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4742382 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Avi Drissman 6a09e41c 2023-07-31T15:28:25 Remove "enable_arc2" from ANGLE "enable_arc2" was a temporary config in Chromium. Now that it's removed (https://crrev.com/c/4727002), remove references to it from ANGLE. Bug: chromium:1280317 Change-Id: I796cd17a760de800300a03fb96fc3a5f3b62b818 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4734577 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Auto-Submit: Avi Drissman <avi@chromium.org>
Shahbaz Youssefi 6c1bab07 2023-08-02T12:25:51 Add surface to eglAcquireExternalContextANGLE Bug: angleproject:5509 Change-Id: I51284ae4dc865dc31d1c5540c24e1e0abb95fe0f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4743719 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Alexey Knyazev 335c6b86 2023-08-02T00:00:00 D3D11: Do not specialize HLSL for multisampled rendering Pass the required state as a driver uniform instead of triggering fragment shader recompilation at draw calls. Bug: angleproject:8097 Bug: angleproject:8131 Fixed: chromium:1468993 Change-Id: I15825c0522b29d48eb2c3b341ba96f139ef26460 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4742579 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Cody Northrop cb9dd1c9 2023-08-01T14:48:40 Tests: Add Tesla trace Test: angle_trace_tests --gtest_filter=TraceTest.tesla Bug: b/294106875 Change-Id: Ice844dd989a29cbef5190acf077f0484f17c7e3f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4739721 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>