2164 Commits

Author SHA1 Message Date
angle-autoroll
df8733c91a Roll Chromium from becaac9672a0 to 16e9449c3c88 (618 revisions)
becaac9672..16e9449c3c

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://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: 1345fb9c5d..54bd39c0c5
* buildtools: fe9a4e4107..dd3595d173
* buildtools/third_party/libc++/trunk: 9460fb138d..737446fc52
* testing: 19470647da..7a97f0e3c4
* third_party/android_platform: f0c7b47622..f312145c41
* third_party/android_sdk: 5353fa6142..d8e55758cb
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..6b573b0676
* third_party/depot_tools: dbcecc9017..71ab1b77a7
* third_party/fuchsia-sdk/sdk: version:12.20230503.3.1..version:12.20230504.4.1
* tools/clang: 9969814713..448305bbeb
* tools/luci-go: git_revision:e91834850a06011c64eb9a24f317371194bde3de..git_revision:55cc876158c057cd64677f1a1a2573c36c6c3025
* tools/luci-go: git_revision:e91834850a06011c64eb9a24f317371194bde3de..git_revision:55cc876158c057cd64677f1a1a2573c36c6c3025
* tools/mb: 295d9239b1..dc8628ce87
* tools/perf: ce6519bca3..02f2a2edd4
* tools/python: 00ecbd0693..64dd0e593f
* tools/skia_goldctl/linux: CxdbSDz7x0X2t_Dg2V1hC-j5REZM59AmMDtLZNg9J_8C..a-YJwLTxkjqd2RiPjLgNKQrPzZY4CwqYLxtiQmB1KM8C
* tools/skia_goldctl/mac_amd64: 66xq4FM7P4vA4N6oUkuUIEHz8vHWRjxClUgkjPZ71pQC..UVEHL3UFZ4Zyc_SiQYiOWInJuMcA4GAcLMlCWyEH6W0C
* tools/skia_goldctl/mac_arm64: d3aWqZUdjjbgmIsOh-iK7HRZKaYz672JkzWg-0BkauUC..AwMNPFd_J5v55oBqSbV3MzxaPtyLyLmtEA_e1KMQ_PcC
* tools/skia_goldctl/win: 5HtHEYI8MUjySHqpU8-ewiaPfNEVcY0SamdPah6R0CYC..rZtqSPxHMFApdEuqDjW0FlpdEQJTl335JOkoHTawxtkC
Clang version changed llvmorg-17-init-8029-g27f27d15:llvmorg-17-init-10134-g3da83fba
Details: 9969814713..448305bbeb/scripts/update.py

Bug: angleproject:6430
Tbr: cnorthrop@google.com
Change-Id: Ifa152a1d4e8239666c070cf1353efe708938a0e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4508558
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-05 10:03:22 +00:00
Cody Northrop
d925c5c9a5 Revert "Metal: Embed precompiled default shaders."
This reverts commit 9f6c9f6630.

Reason for revert:
iOS Metal tests broken downstream:
https://ci.chromium.org/ui/p/chromium/builders/ci/ios-blink-dbg-fyi/4972/overview

Original change's description:
> Metal: Embed precompiled default shaders.
>
> Compile all builtin shaders to an embedded mtllib to avoid the overhead
> of compiling them at startup.
>
> Bug: chromium:1385510
> Change-Id: I1c31ae0088babae01a9e42d63b3c2c30b65f4476
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4450126
> Commit-Queue: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
> Reviewed-by: Kenneth Russell <kbr@chromium.org>

Bug: angleproject:8152
Bug: chromium:1385510, chromium:1441754
Change-Id: I7f253f7aa14117b93d1e09ed61db0c4563fc9c3d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4508064
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-05-04 23:20:25 +00:00
Roman Lavrov
1f6724662a Make export_targets faster
Use temporary sets, then sort them is faster than sorting all the time.
And a faster regex.

~1.5s faster presubmits on my machine.

Bug: None
Change-Id: Ieb4a9c35781ffba7ae0057086490489727b305ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4507977
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
2023-05-04 23:19:31 +00:00
Shahbaz Youssefi
7fd01d03a0 Vulkan: Throttle the CPU without holding the global lock
CPU throttling goes through CommandQueue and is thread-safe.  Performing
it in an unlocked tail call allows other unrelated EGL calls to go
through.

Bug: angleproject:8135
Change-Id: Idb3841be5d8ea8c4b76217f6707be26b28ea39c2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4444027
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2023-05-04 19:44:49 +00:00
Roman Lavrov
fdb2dcb1b4 Gather auto_script 'inputs' and 'outputs' in parallel
Get rid of chdir which breaks parallel execution due to global state.

Makes dirty verification faster. auto_script runs scripts with args
which can be slow (as scripts have imports)

On my machine, this speeds up verification from ~6s to ~1.3s

Bug: None
Change-Id: I78227cc80be54b0901029a286b0f017d36348a71
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4499820
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-05-04 19:15:08 +00:00
angle-autoroll
2087fe0167 Roll vulkan-deps from 94976560d112 to 446f1da0d121 (11 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/94976560d112..446f1da0d121

Changed dependencies:
* glslang: dfc97740ff..bc6b2bc17a
* spirv-headers: 7f1d2f4158..268a061764
* spirv-tools: a525dccbe8..2189ad7a5a
* vulkan-headers: 870a531486..bae9700cd9
* vulkan-loader: 71254bedee..ab6f4023be
* vulkan-validation-layers: 631fde41b2..94f89255bc

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://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: cnorthrop@google.com
Change-Id: Ibed0395d18f93a573519d2f90c6aca1e5f3253df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4505298
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-04 11:01:14 +00:00
angle-autoroll
248445608d Roll Chromium from 4c9976e5d118 to 70803179b4b8 (627 revisions)
4c9976e5d1..70803179b4

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://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: 26b89abb7f..64c99419f9
* buildtools: 7f6b6fac63..cb7297fa0d
* buildtools/third_party/libc++/trunk: bcadf44b4f..d756fe5d80
* testing: 05c5e65b61..4f51cb92dc
* third_party/android_build_tools/lint: ZSkxAL8_7h9oDrnzrXhEq5YeRe4P5Y1qh1eQY0iWtCsC..uCylUrC5eRYlMPJJhaQVDtSIVVxyY78Rn1_VRuEl61gC
* third_party/android_build_tools/manifest_merger: ys365zMawyT4G5W5lx5QYlkBTYDr8GUdTF1kPeF3pkYC..ySC3BNx98q7gghvjZBjXRXhn_vwg5qb5diTesW2i8OAC
* third_party/android_deps: 41123c305e..c225168a18
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..247560fd67
* third_party/depot_tools: 1398e4fc69..f2da906faf
* third_party/fuchsia-sdk/sdk: version:12.20230501.3.1..version:12.20230502.3.1
* third_party/r8: tVFTXgyHbHbRUFR6AWNCWnxy98HagL_hRE1f5KLfEbsC..7-lseJ9e9PfiZg_2LgyaUA4ru9NwaTGoDwYGMYP0BeYC
* tools/clang: 2f9ce8ce37..56556e9bb6
* tools/mb: ad09606a4b..1c3d2fa970
* tools/perf: 7c6c15207c..022202937e
No update to Clang.

Bug: None
Tbr: cnorthrop@google.com
Change-Id: I64b533ccb1c76b206d3474a6720ce4472577b523
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4501378
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-05-03 09:12:20 +00:00
Roman Lavrov
d4aacb291e angle_end2end_tests Pixel 6 shards: 4 -> 8
There are much more Pixel 6 bots now and even without the current
slowdown we should be running this in more shards.

Bug: angleproject:8150
Change-Id: Id688f27f77dcc4181e21a1d7b2b8c50fd0363278
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4497730
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2023-05-02 15:14:56 +00:00
angle-autoroll
0d78cbe892 Roll vulkan-deps from 4b61bdad813f to 7873f429a5c2 (45 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/4b61bdad813f..7873f429a5c2

Changed dependencies:
* spirv-cross: fc9bee27f4..4faeb81f3f
* spirv-headers: cfbe4feef2..7f1d2f4158
* spirv-tools: 25ad5e19f1..8e1001e938
* vulkan-headers: 8a397558c4..870a531486
* vulkan-loader: 07d1854c67..71254bedee
* vulkan-tools: df10a2759b..b647be6419
* vulkan-validation-layers: 86e3809a9d..18fafc6399

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,ianelliott@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: ianelliott@google.com
Change-Id: I3def7445e0677b8fefd102732c0a875160dbef72
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4496325
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-05-02 15:14:44 +00:00
Alexey Knyazev
73f9cf0045 GL: Implement polygon mode extensions
* Implemented polygon mode extensions
  on the OpenGL backend

* Supported capture and serialization
  of the new commands and state

* Added PolygonModeTest end2end tests

Bug: angleproject:1791
Bug: angleproject:8132
Change-Id: I3bc08546a02f110dd739950129bee25ccc507bf6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492683
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-05-01 23:05:48 +00:00
Shahbaz Youssefi
cd6a58f296 Vulkan: Make eglPrepareSwapBuffersANGLE less special
This function now uses the UnlockedTailCall mechanism so it doesn't
require as much special-case code generation.

This change does not fix the bug that this function is doing too much
work without holding any locks.  That will be done in a follow up.

Bug: angleproject:6851
Bug: angleproject:8133
Change-Id: I77f4d514ff4aeef85bc1cc59214f7caa23aca7df
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4443186
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-05-01 21:25:26 +00:00
Alexey Knyazev
b7a5714f11 Add polygon mode extension stubs
* Added NV_polygon_mode

* Specified a portable polygon mode extension
  implementable on all ANGLE backends

Bug: angleproject:1791
Bug: angleproject:8132
Change-Id: I018aaaf1fb43ec16910859b152049e02169ede91
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492684
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
2023-05-01 21:21:01 +00:00
Geoff Lang
9f6c9f6630 Metal: Embed precompiled default shaders.
Compile all builtin shaders to an embedded mtllib to avoid the overhead
of compiling them at startup.

Bug: chromium:1385510
Change-Id: I1c31ae0088babae01a9e42d63b3c2c30b65f4476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4450126
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2023-05-01 20:08:26 +00:00
Shahbaz Youssefi
1328f2f3b0 Vulkan: Destroy the surface without holding the EGL lock
This change defers surface destruction to the end of the entry point
that causes it so that it is done without holding the EGL lock.  This
works around a specific deadlock in Android.  On this platform:

- For EGL applications, parts of surface creation and destruction are
  handled by the platform, and parts of it are done by the native EGL
  driver.  Namely, on surface destruction, native_window_api_disconnect
  is called outside the EGL driver.
- For Vulkan applications, vkDestroySurfaceKHR takes full responsibility
  for destroying the surface, including calling
  native_window_api_disconnect.

Unfortunately, native_window_api_disconnect may use EGL sync objects and
can lead to calling into the EGL driver.  For ANGLE, this is
particularly problematic because it is simultaneously a Vulkan
application and the EGL driver, causing `vkDestroySurfaceKHR` to call
back into ANGLE and attempt to reacquire the EGL lock.

Since there are no users of the surface when calling
vkDestroySurfaceKHR, it is safe for ANGLE to destroy it without holding
the EGL lock.

Note that only eglDestroySurface and eglMakeCurrent may lead to the
destruction of a window surface.

Bug: b/275176234
Bug: angleproject:8127
Change-Id: I02dc52e53e150943457e3f503e7ef30469f96b05
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4428754
Reviewed-by: Charlie Lao <cclao@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-05-01 20:08:18 +00:00
Roman Lavrov
fbf0e02583 Re-enable angle_restricted_trace_gold_interpreted_tests
Works again once libangle_trace_interpreter is handled the same way as
other trace libraries.

Bug: b/276742336
Change-Id: Idc55c502c05cabbc38b766823ddfaa92cf2144b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492537
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-05-01 19:21:30 +00:00
Scott Violet
3e28121912 Adds feature to output blob cache key and source for shader
Bug: chromium:1423136
Change-Id: Ic03e1b9971b2f1417c0b2e95c8d3846f28a01572
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4480976
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
2023-04-28 14:53:12 +00:00
Cody Northrop
c3ae9ac5e3 Tests: Add Monster Hunter Stories trace
Test: angle_trace_tests --gtest_filter="*monster_hunter_stories*"
Bug: b/265827643
Bug: angleproject:7557
Change-Id: I7b53eff28fcd891456a755c82be3dc1de12eb79b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4385780
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
2023-04-27 14:01:45 +00:00
Cody Northrop
5c0b4251bd Reland "Tests: Add Gacha Life trace"
This reverts commit 55fbc2c502

Relanding the trace now that we can support more traces on Android.

Original change's description:
> Tests: Add Gacha Life trace
>
> Test: angle_trace_tests --gtest_filter="*gacha_life*"
> Bug: b/267382443
> Change-Id: I6bbfb28015bf0317ccdba699e08ce6bce51b4ce3
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4211589
> Reviewed-by: Roman Lavrov <romanl@google.com>

Test: run_angle_android_test.py angle_trace_tests --filter='*gacha_life*'
Bug: b/276474703
Change-Id: Ia7f3b65d19a779b8cb925f429437b6548c59f669
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4477659
Commit-Queue: Ian Elliott <ianelliott@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
2023-04-26 20:52:30 +00:00
Alexey Knyazev
d37c97d18a Metal: Implement OES_shader_multisample_interpolation
* Added support for sample qualifier
  and shader interpolation functions

* Added MSL-specific AST transformations

* Adjusted minimum fragment interpolation offset state
  query test so that accurate limits could be reported

* Drive-by: Y-flip gl_SamplePosition adjustment

* Renamed ANGLESampleMaskEnabled function constant to
  ANGLEMultisampledRendering to correctly reflect its
  usage

Bug: angleproject:8097
Bug: angleproject:8131
Change-Id: I25c9f36487e29f05bb9fe874e146d06378fef975
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4440827
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
2023-04-25 22:56:56 +00:00
Vikas Soni
b5fa872897 Add extension to skip texture renderability validation in ANGLE.
Add a new extension to skip the texture renderability
validation in ANGLE.

Bug: angleproject:0000
Change-Id: Ia9e5a1eff233f5aced4706b7d3c183058d474c41
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4455549
Auto-Submit: vikas soni <vikassoni@chromium.org>
Commit-Queue: Zhenyao Mo <zmo@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: vikas soni <vikassoni@chromium.org>
2023-04-25 22:28:47 +00:00
Roman Lavrov
25d57e4163 Disable angle_restricted_trace_gold_interpreted_tests
Blocking Cody's changes to move .so outside of the apk.
Will fix and reland later.

Bug: b/276742336
Change-Id: I726f8ea71db26b29606bb7395d6ca54fba1e7990
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4470388
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2023-04-24 23:52:45 +00:00
Igor Nazarov
e2baaff881 Prevent recursive GlobalMutex locking by ANGLE itself.
Instead of adding `ANGLE_SCOPED_GLOBAL_LOCK()` for `glEGLImage*` GLES
APIs, this CL uses new `SCOPED_GLOBAL_AND_SHARE_CONTEXT_LOCK()` macro
in place of `SCOPED_SHARE_CONTEXT_LOCK()`.

This will remove dependency on recursive mutex for ANGLE itself.
Recursive mutex is still required for Android Vulkan or in specific
cases when using layer libraries.

Bug: chromium:1383195
Change-Id: I0c379c45c046b0f5e5dd3ea64a45d33b0ad3ee43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4404777
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
2023-04-24 20:18:42 +00:00
angle-autoroll
84122b1d94 Roll VK-GL-CTS from b1e5b9348e77 to e3b9db9ad121 (11 revisions)
b1e5b9348e..e3b9db9ad1

2023-04-23 piotr.byszewski@mobica.com Merge "Merge
dev/VK_KHR_map_memory2 into vk-gl-cts/main" into main
2023-04-21 piotr.byszewski@mobica.com Fix unistd.h compilation error
under Windows
2023-04-21 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3
into vk-gl-cts/main
2023-04-21 javed@igalia.com Add Amber test for simple loop that results
in infinite loop on some GPUs
2023-04-21 russellc@nvidia.com Fix VK_EXT_global_priority tests
2023-04-21 eric@igalia.com Use DE_DECLARE_COMMAND_LINE_OPT() macro
instead of open-coding it
2023-04-21 amber@igalia.com Add tests for implicit sample shading
enablement
2023-04-21 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.5
into vk-gl-cts/main
2023-04-21 piotr.byszewski@mobica.com Generate inl files for vulkansc
from vk.xml
2023-04-17 aitor@lunarg.com Test lifespan of unused descriptors with
descriptor indexing
2023-04-17 anna.lesniewska@intel.com Add tests for component mapping on
BC5 format

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: I7f56b8ab589348e060409ba5254696de81e6d294
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4465887
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-24 12:01:56 +00:00
angle-autoroll
03f0e51d7f Roll VK-GL-CTS from a3d054bf72ab to b1e5b9348e77 (21 revisions)
Define DE_FENV_ACCESS_ON based on
9f306457b4

a3d054bf72..b1e5b9348e

2023-04-14 gleese@broadcom.com Assert that the number of output buffers
is correct
2023-04-14 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkansc-cts-1.0.1
into vk-gl-cts/main
2023-04-14 piotr.byszewski@mobica.com Merge vk-gl-cts/opengl-cts-4.6.3
into vk-gl-cts/main
2023-04-14 piotr.byszewski@mobica.com Merge
vk-gl-cts/opengl-es-cts-3.2.9 into vk-gl-cts/main
2023-04-14 piotr.byszewski@mobica.com Test multiviewport with fragment
density map
2023-04-14 rgarcia@igalia.com Test EDS3 feature interactions
2023-04-14 rgarcia@igalia.com Fix build with GCC 13
2023-04-14 gleese@broadcom.com Modify the max_vertex tests to have room
for all attributes
2023-04-14 gleese@broadcom.com Share shader code in vertex_input tests
2023-04-14 marcin.zajac@mobica.com Add tests for manual derivatives with
subgroups
2023-04-14 gleese@broadcom.com Fix some indentation in descriptor
indexing tests
2023-04-14 gleese@broadcom.com Change descriptor_indexing tests to use
stdint types
2023-04-14 gleese@broadcom.com Trivial simplification to
descriptor_indexing tests
2023-04-14 gaopan24@hisilicon.com Fix upper Lod bound in image lod query
tests
2023-04-14 cturner@igalia.com Revert "Fix
VUID-vkCmdDecodeVideoKHR-pDecodeInfo-07267 validation error."
2023-04-14 cturner@igalia.com Try to inform the compiler when
dynamically changing the rounding mode.
2023-04-14 marcin.zajac@mobica.com Vulkan video 1.3.244 patch
2023-04-14 ziga@lunarg.com Initialize VkSparseImageMemoryRequirements2
struct in memory tests
2023-04-14 rgarcia@igalia.com Add dynamic color blend variants without
dynamic logic op
2023-04-14 rgarcia@igalia.com Test vkCmdDrawIndirect*Count* with
multiview
2023-04-14 piotr.byszewski@mobica.com Merge vk-gl-cts/vulkan-cts-1.3.5
into vk-gl-cts/main

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vk-gl-cts-angle-autoroll
Please CC angle-team@google.com,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
Change-Id: I4e0756379eb4fcf408bc9d142ef9a14eb300897e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4427126
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
2023-04-20 19:42:16 +00:00
Roman Lavrov
f2d1958ef7 Trace Interpreter: disable angle_trace_interpreter_tests on bots
Interpreter handles tokens too loosely which makes failures in this
suite hard to understand and debug.

Bug: angleproject:8137
Change-Id: Ibd1ca9de29cf43a819d6fb292a4af6e3c144053a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4455147
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-04-20 14:13:34 +00:00
angle-autoroll
1300591bb3 Roll vulkan-deps from 9403c35f9956 to c1d27abff170 (5 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/9403c35f9956..c1d27abff170

Changed dependencies:
* glslang: 68f073b195..f46f4b192a
* vulkan-headers: 95a13d7b71..4c304fac64
* vulkan-validation-layers: 50c2f9e71a..6a05570bab

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: I6694af2c02de41dc0b3530c2095af5145e23fa9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4453963
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-20 11:01:10 +00:00
Chris Dalton
ef20f19165 Make the PLS allow list more permissive
Allow ClipControlEXT, FlushMappedBufferRange, Gen*, PolygonOffset*,
ProvokingVertexANGLE, and KHR_debug commands.

Allow caps DEPTH_CLAMP_EXT, CLIP_DISTANCE[0..7]_EXT.

Ban indexed caps besides BLEND, SCISSOR_TEST, SCISSOR_TEST_EXCLUSIVE_NV.

Clarify that the index restrictions on indexed caps only apply to BLEND.

Bug: chromium:1421437
Change-Id: Ibdb0acaebfa992ad37c928481d5ecb10496f22e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4382502
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Chris Dalton <chris@rive.app>
2023-04-19 20:57:40 +00:00
Kimmo Kinnunen
20b6624a88 Metal: Support compiling on iOS without EAGL
Makes EAGL and CGL compilation exclusive to each other. Catalyst would
compile with both on ARM64, but only use EAGL.

Remove use of GLSL generation in MSL. Generating GLSL for MSL
compute and geometry shaders do not make sense.

Remove compilation of RewriteRowMajorMatrices for Metal.
It was removed from Metal in:
  b23bf47c9e
  Reland "Metal: rewrite default uniforms and uniform blocks"

Remove use of ANGLE_ENABLE_APPLE_WORKAROUNDS and gn variable
angle_enable_apple_translator_workarounds. The workarounds are just
unconditional business-as-usual implementation of ANGLE when ANGLE is
compile for PLATFORM_APPLE.

Fixed: angleproject:8129
Change-Id: I3af249708803fba816e2a7c92c35dddb84ce6946
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4428875
Auto-Submit: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
Reviewed-by: Dan Glastonbury <djg@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
2023-04-19 09:22:51 +00:00
angle-autoroll
3e74b09e8b Roll Chromium from 14f65a9e1f45 to b87b8dd3ae80 (2047 revisions)
14f65a9e1f..b87b8dd3ae

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
* build: cbaa665459..3d4adf17b7
* buildtools: 6a1f26d93e..814f705a5a
* buildtools/third_party/libc++/trunk: 5488b5c294..8551b86d1c
* buildtools/third_party/libc++abi/trunk: 46d77edb73..52f3977ecb
* buildtools/third_party/libunwind/trunk: 123963cbd6..46b7561cc2
* testing: a1d69b78ea..6d9d1d0632
* third_party/abseil-cpp: 7714db17ca..2a40d07c68
* third_party/android_build_tools/bundletool: TpDdbF-PPgwL0iOVsdLM07L-DUp2DV3hgzCMmPd2_GUC..xnKkaX2u7XVfsUzExic0KW3jYMINpI16Ll9QYESBoI8C
* third_party/android_deps: ef82a30d05..f3aabc07ce
* third_party/android_platform: ed245f0bcb..f0c7b47622
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..16c787686d
* third_party/depot_tools: 4a2243196c..54762c2217
* third_party/fuchsia-sdk/sdk: version:12.20230413.3.1..version:12.20230418.3.1
* third_party/r8: OJEhACoTcZTFN4k6C2BsgW7xzXm818cNOV_6yhZZHwkC..8NFHPxUiooKTw4bFz4TUVhDuzuDJi5xkLGaCtjX3MsAC
* tools/clang: c284b5d132..2c8239e949
* tools/luci-go: git_revision:8ed1f3ebaa59594f4b1abbd328296a963980e954..git_revision:265d6513a697d00cea0ab177263a4c699c46be2d
* tools/luci-go: git_revision:8ed1f3ebaa59594f4b1abbd328296a963980e954..git_revision:265d6513a697d00cea0ab177263a4c699c46be2d
* tools/mb: 18769eccaf..1800a2b54c
* tools/perf: b09cfe877d..8329bff977
* tools/skia_goldctl/linux: y04vBcUng4cuZXM_5xxEsZ8_KOmj9oYhYDZxq-2JSAQC..CxdbSDz7x0X2t_Dg2V1hC-j5REZM59AmMDtLZNg9J_8C
* tools/skia_goldctl/mac_amd64: rd2HyD3fto681CN-haug5Kv82Ep2Ah-HXO1nYSyYyb8C..66xq4FM7P4vA4N6oUkuUIEHz8vHWRjxClUgkjPZ71pQC
* tools/skia_goldctl/mac_arm64: vEYFIuZPZzXBkufwaCf_-MK5HpKVoyyZtRik7WLygoAC..d3aWqZUdjjbgmIsOh-iK7HRZKaYz672JkzWg-0BkauUC
Clang version changed llvmorg-17-init-4759-g547e3456:llvmorg-17-init-8029-g27f27d15
Details: c284b5d132..2c8239e949/scripts/update.py

Bug: angleproject:8130
Tbr: jonahr@google.com
Change-Id: I9d2c576973097318aced3ea38f0c1bafe4c6dc1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4446335
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-19 08:04:34 +00:00
Yuxin Hu
6deca89e69 Add Spirv Instruction to explicitly cast mediump float to 16 bit
If the GLSL shader code expects the comparison between
two mediump float values returning true, but the SpirV
compiler treats one of them as 32-bit, and treats the
other one as 16-bit, the comparison would return false
instead. The SpirV compiler may not automatically cast
the mediump float values to 16 bits, because it may
utilize the RelaxedPrecision decoration to keep a mediump
float as 32-bit, so that the compiler can avoid the
type cast from 32-bit highp to 16-bit mediump.

This change adds an additional OpQuantizeToF16 SpirV
instruction to explicitly cast mediump float scalar
or mediump float vector to 16 bit, if they are assigned
with a highp float value. This ensures that if the
GLSL shader code ever compares two meiump float values,
the SpirV shader compiler is not accidentally comparing
a 16 bit with a 32 bit float value.

This fixe the deqp test failure on Pixel 6 and Pixel 7:
dEQP-GLES2.functional.shaders.algorithm.rgb_to_hsl_vertex.

Bug: b/274859104
Bug: b/274408172
Change-Id: Ifd996cea14c0f77f45ae90f38c8e53cf5035139f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4400404
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2023-04-18 21:42:19 +00:00
Shahbaz Youssefi
3b57e99923 Scope global lock in entry points
This change is a no-op.  It's in preparation for adding calls at the end
of the entry point after the lock is unlocked.

Bug: angleproject:8127
Change-Id: I4cd79ff8e5f20f87f36040afbd1ed9f16406d519
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4436589
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
2023-04-18 18:16:12 +00:00
Scott Violet
65f4d2a45c Adds features to enable loading/saving metallibs to blobcache
CompileMetalShaders results in the appropriate command line tool
being run to generate metallib blobs from shader source.

DisableProgramCaching results in not saving programs to BlobCache

LoadMetalShadersFromBlobCache results in trying to load metallibs
from BlobCache.

Bug: chromium:1423136
Change-Id: I01a4d7a5d60ed5ac978fb99db01b741e0f19e76b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4434293
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Scott Violet <sky@chromium.org>
2023-04-18 17:45:20 +00:00
Brian Ho
4c8ab49da1 Use MESA variant of glFramebufferParameteri if possible
The GL_MESA_framebuffer_flip_y extension lets the client flip reads
and writes to the a fb via glFramebufferParameteri.
glFramebufferParameteri, however, is only available on GLES 3.1+, but
the flip y extension spec states that GLES 3.0 implementations can
still implement this extension by providing
glFramebufferParameteriMESA (see "Revision History" [1]).

Some old ChromeOS Flex devices only support GLES 3.0, but still
expose this extension. Currently, ANGLE segfaults when trying to
update the FLIP_Y param [2] (e.g. when we create a WebGL canvas) on
these devices because framebufferParameteri is only initialized on
GLES 3.1+ [3].

This CL fixes the crash by falling back to the MESA variant of
framebufferParameteri when framebufferParameteri is unavailable.

[1]:https://registry.khronos.org/OpenGL/extensions/MESA/MESA_framebuffer_flip_y.txt
[2]:https://source.chromium.org/chromium/chromium/src/+/main:third_party/angle/src/libANGLE/renderer/gl/FramebufferGL.cpp;l=1330;drc=bf5e9dbc89e2dddb9c36200396139e938467f58e
[3]:https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:third_party/angle/src/libANGLE/renderer/gl/DispatchTableGL_autogen.cpp;l=2552;drc=837cc12de25a288edf3ac222f7265c9936e69552

Bug: b/264681962
Change-Id: I079937bcd54b580b79d875f57c2b80ae796f2d83
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4425929
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Brian Ho <hob@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
2023-04-18 14:56:47 +00:00
Roman Lavrov
a636aa5c74 Fix win-trace broken by tracegz.py
Gets invoked on win-trace resulting in errors like:

    FileNotFoundError: [Errno 2] No such file or directory: '..\\..\\src\\tests\\restricted_traces\\BindGeneratesResourceTest_Textures_ES2_Vulkan_SwiftShader\\BindGeneratesResourceTest_Textures_ES2_Vulkan_SwiftShader.json'

https://ci.chromium.org/ui/p/angle/builders/ci/win-trace/3788/overview

Bug: b/276742336
Change-Id: I2d86cdbcbc0286746e535a4b19f4d4b547b5783f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4436590
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
2023-04-17 21:10:01 +00:00
Alexey Knyazev
7bc4b7e31f Metal: Implement OES_sample_variables
New ESSL built-ins are mapped to their Metal
counterparts and tweaked to follow OpenGL ES
semantics when needed.

Fixed A2C interaction with sample coverage
by emulating the former on non-Apple GPUs.

Bug: angleproject:8097
Fixed: angleproject:5087
Change-Id: I5d28a941af5cbc14743a3930731529f11f55febd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4404896
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Kyle Piddington <kpiddington@apple.com>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
2023-04-15 01:32:19 +00:00
Roman Lavrov
4e07335654 Trace Interpreter: gzip cpp and run gold tests.
New test step:
angle_restricted_trace_gold_interpreted_tests
similar to existing
angle_restricted_trace_gold_tests

but runs a subset of newest traces that have the right format.
Currently there are 8 of them and the filter is hard-coded in
test_suites.pyl. rise_of_empires can also be run interpreted but
happened to flake during testing so it's not included for now.

Trace cpp files are concatenated and gzipped
as a build step producing gen/tracegz_{trace}.gz
and these gz files are then distributed as part of the build

--trace-interpreter flag changes from boolean to string to support:
--trace-interpreter=gz:
* this uses the gz file above
* gold tests added in this CL use this option

--trace-interpreter=c:
* using uncompressed c/cpp file
* existing angle_trace_interpreter_tests runs a retrace
  saving .c files and uses this option

Bug: b/276742336
Change-Id: I69544f25bda873af191978195d02ffbdd34363c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4424690
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-04-14 22:48:37 +00:00
angle-autoroll
82f1cee01a Manual roll vulkan-deps from ec231c69caa6 to c8e5e8c4c60b (60 revisions)
Suppress new VUIDs:
VUID-VkGraphicsPipelineCreateInfo-Input-07905
UNASSIGNED-CoreValidation-Shader-InterfaceTypeMismatch

Unsuppress obsolete VUIDs:
UNASSIGNED-CoreValidation-Shader-InputNotProduced
UNASSIGNED-CoreValidation-Shader-InterfaceTypeMismatch

https://chromium.googlesource.com/vulkan-deps.git/+log/ec231c69caa6..c8e5e8c4c60b

Changed dependencies:
* glslang: 77f7cdfb1e..68f073b195
* spirv-cross: 3327924add..fc9bee27f4
* spirv-headers: 29ba249312..cfbe4feef2
* spirv-tools: ac335c7634..f449fb4ad9
* vulkan-headers: 63af1cf1ee..95a13d7b71
* vulkan-loader: c3eb97de22..8c8619df2d
* vulkan-tools: 4ad4313da0..4e17c284d6
* vulkan-validation-layers: 21078b582d..7b50c36e7a

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,ynovikov@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://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: angleproject:8119, angleproject:4883, angleproject:6442
Change-Id: I8d4d0c16ccde26e3455580349bc18fe6a76c2874
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4423456
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2023-04-14 18:54:31 +00:00
Yuly Novikov
7b92fa4fd3 Stop running tests on experimental Mac AMD bot
Bug: chromium:1382149
Change-Id: Ibcfa4d5e00c6fb5c62409ef801adf8acacc885ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4428870
Reviewed-by: Roman Lavrov <romanl@google.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-04-14 18:08:46 +00:00
angle-autoroll
e553b90156 Roll Chromium from f048076954b4 to 14f65a9e1f45 (538 revisions)
f048076954..14f65a9e1f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,ynovikov@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://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: 6f07ee5fdb..cbaa665459
* buildtools: 607434bddd..6a1f26d93e
* buildtools/third_party/libc++/trunk: a112d60e2f..5488b5c294
* testing: 768eecf603..a1d69b78ea
* third_party/android_deps: 4c3b803ac6..ef82a30d05
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..53cc27b20f
* third_party/depot_tools: 3ca8d0d0ca..4a2243196c
* third_party/fuchsia-sdk/sdk: version:12.20230413.0.1..version:12.20230413.3.1
* third_party/r8: Qs7IdwPHgKR42jCzqTBPNEMjs0uPNpDXs29NfiBcsHIC..OJEhACoTcZTFN4k6C2BsgW7xzXm818cNOV_6yhZZHwkC
* tools/clang: 3d2605555b..c284b5d132
* tools/mb: 6b35b5895f..18769eccaf
* tools/perf: acbd861bd1..b09cfe877d
No update to Clang.

Bug: None
Tbr: ynovikov@google.com
Change-Id: If6784a67f47f114b36e78e53f7908e43f7744cab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4426751
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-14 08:18:28 +00:00
Roman Lavrov
2c7f31af6f Trace Interpreter: Move to a shared library.
Based on https://crrev.com/c/4178024 but does only one thing:
makes trace interpreter a shared library (as if it was a compiled trace)

I am not sure what impact this actually has on the TracePerfTest
callbacks (mentioned in the CL above) as I see onEglMakeCurrent callback
getting called without this CL as well. Anyways, this makes things a bit
more consistent.

* Gets rid of TraceReplayInterface
* TraceInterpreter is now an implementation detail
* Need to additionally pass list of trace files to TraceLibrary
(new SetTraceInfo replay export)
* GetResourceIDMapValue is just moved as is to the right lib

Bug: b/276742336
Change-Id: I67ea9fbcb4f7db999ab71c8443ea91c5631df942
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4423869
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2023-04-13 21:37:38 +00:00
Jamie Madill
735fb48079 Trace Interpreter: Support \\ escape sequences.
This enables the 'catalyst_black' trace.

Cloned from https://crrev.com/c/4178022

Bug: b/276742336
Change-Id: I9df703150504e7fcf4e18ff0a538aa3f6caddfdb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4423269
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2023-04-13 19:19:21 +00:00
angle-autoroll
32fa13927f Manual roll Chromium from 902dbf2d8350 to f048076954b4 (61 revisions)
Manual roll requested by ynovikov@google.com

902dbf2d83..f048076954

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,ynovikov@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://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
* buildtools/third_party/libunwind/trunk: 54cb62e9f8..123963cbd6
* testing: 8024c48463..768eecf603
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..c5af5d5bf5
No update to Clang.

Bug: None
Tbr: ynovikov@google.com
Change-Id: Ibef7902dc57f9c6d79dccde118ca1441d33f63a3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4422932
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-13 12:40:10 +00:00
Shahbaz Youssefi
c26011b866 Vulkan: Make advanced blend alpha div workaround permanent
This workaround turned out to affect pretty much every driver, and
numerous GL implementations were found to work around it similarly to
ANGLE.  It seems like this workaround may only be necessary for
colorburn and colordodge, but for now ANGLE applies it to all modes.

Bug: b/274528004
Bug: b/277777623
Change-Id: Id555c981a9775f949a3022b7e92c755accea7cea
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4416158
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-04-13 02:40:41 +00:00
angle-autoroll
45d82155ba Roll Chromium from d579bce09fab to 86be736f34ce (558 revisions)
d579bce09f..86be736f34

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,ynovikov@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://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: 6cd5122674..5a74261ac4
* buildtools: 43aa99b75a..544591b9da
* buildtools/third_party/libc++/trunk: ff2fcdb345..4156a29aab
* buildtools/third_party/libc++abi/trunk: 1f7578b29e..695316e1aa
* buildtools/third_party/libunwind/trunk: 270ace3476..54cb62e9f8
* testing: ee672b98bb..1a0760c1b1
* third_party/android_sdk: cac1c86a35..2f8d9cdc42
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..f3dcf7aaad
* third_party/depot_tools: a73a249737..a896d5a92c
* third_party/fuchsia-sdk/sdk: version:12.20230411.0.1..version:12.20230412.0.1
* third_party/zlib: 610cec5744..14dd4c4455
* tools/clang: b41889a33f..3d2605555b
* tools/perf: 66b61ae669..0d91892c61
No update to Clang.

Bug: None
Tbr: ynovikov@google.com
Change-Id: Ifa4bc12f24fa2a990cb6231ab9706dac9112a1d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4417316
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-12 08:19:24 +00:00
Jamie Madill
f093a9b346 Trace Interpreter: Support gClientArrays
Needed to run cut_the_rope, fishdom, other traces.

Add cut_the_rope and fishdom to interpreter CI.

CL cloned from https://crrev.com/c/4178021

Bug: b/276742336
Change-Id: If7da78ba3fd7c19262692d1386c5eaa47df2ca6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4415246
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-04-11 23:05:59 +00:00
Roman Lavrov
cef7dcbf52 Trace Interpreter: support harry_potter_hogwarts_mystery
Handling of calls like:
glGetBooleanv(GL_DEPTH_WRITEMASK, (GLboolean *)gReadBuffer);
glGetFloatv(GL_DEPTH_CLEAR_VALUE, (GLfloat *)gReadBuffer);

Add interpreted test to CI.

Bug: b/276742336
Change-Id: Iae3ff9035044461ca1a208980c170d5d48d1a424
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4416166
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2023-04-11 21:46:27 +00:00
Roman Lavrov
006fb7b6a7 Avoid "KeyError: 'exit_code'" error in failed shard detection
Apparently there are cases where a shard is broken but exit_code is not
present in json. Example build:
https://ci.chromium.org/ui/p/angle/builders/ci/android-pixel4-perf/4038/overview

Bug: chromium:1346781
Change-Id: I7ee5b8cac5da3123e5b57b3bca393db12ce8921a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4414233
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
2023-04-11 20:18:30 +00:00
Roman Lavrov
080d4adfca Set target_sdk_version to 33 instead of system_current
Follow up on https://crrev.com/c/4414227
which fails to roll into Android: https://r.android.com/2530860
(invalid version in sdk_version "system_current")

Bug: b/275459680
Change-Id: I1603fdee4dfffaf80591b0ec2d3700a5e639cfc4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4414232
Reviewed-by: Kaiyi Li <kaiyili@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
2023-04-11 18:41:30 +00:00
Roman Lavrov
f0848fc5bd Move targetSdkVersion to Android.bp and set to system_current
Also adds android:exported="true" which is required for newer SDKs.

Bug: b/275459680
Change-Id: I8ae5b67c1d3ccca867139fc1d9043308e03ffb6c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4414227
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
2023-04-11 15:19:21 +00:00
angle-autoroll
bf11a801ab Roll Chromium from 837a7f0f9df1 to d579bce09fab (439 revisions)
837a7f0f9d..d579bce09f

If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,ynovikov@google.com on the revert to
ensure that a human
is aware of the problem.

To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry

To report a problem with the AutoRoller itself, please file a bug:
https://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: 00bbfdfba0..ea62e8acd6
* buildtools: 64174283d0..43aa99b75a
* buildtools/third_party/libc++/trunk: 049d48aa99..ff2fcdb345
* buildtools/third_party/libc++abi/trunk: b076ad359c..1f7578b29e
* buildtools/third_party/libunwind/trunk: 2868dcda2b..270ace3476
* testing: e7cf8e76e3..ee672b98bb
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2325df226e
* third_party/depot_tools: 019e73a13b..a73a249737
* third_party/fuchsia-sdk/sdk: version:12.20230409.3.1..version:12.20230411.0.1
* third_party/turbine: epnqx7Yf9QxgyDaU87KJ1fLQvdZ_Mho_JjfpjmIBYWYC..j0GanRK31QhKNs04PYT0D3ls32n6IrjrAL8bR4dv9jMC
* third_party/zlib: b890619bc2..610cec5744
* tools/clang: 93fb1d6ad4..b41889a33f
No update to Clang.

Bug: None
Tbr: ynovikov@google.com
Change-Id: I6209e2cef753bbe0e1fba4abdf2b0843d61eff07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4413653
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-04-11 10:30:42 +00:00