Commit Graph

21544 Commits

Author SHA1 Message Date
Charlie Lao
3cc3327c52 Vulkan: limit preferCPUForBufferSubData flag to mali job manager
This feature flag was introduced with testing on pixel 6 pro with
aliexpress trace. The GPU has a job manager does the scheduling and
transfer workload was put in the same job queue as geometry work which
causing unnecessary bubble in the pipeline. This problem does not exist
on newer GPU architecture where it has a command stream front end that
transfer has its own dedicated queue. As test result on pixel 7 devices
indicates, this feature flag shows no difference on pixel 7with
aliexpress trace, and has negative perf impact with gangstar_vegas
trace. This CL limits the feature flag to ARM's job manager based GPU.
This improves gangstar_vegas frame time from 8.4576ms to 4.6370ms on
pixel 7 pro.

Bug: b/289436017
Change-Id: I604fb1e26d0a99bcf8f4c2574ced360c31ac712d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4671326
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-07 20:22:21 +00:00
Shahbaz Youssefi
04c0cc8d59 Simplify aliasing-exception logic in entry point generation
Bug: angleproject:8224
Change-Id: Ic54c233ab3d8a0f9a1ac803804aea770c6f7cc07
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672145
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-07 20:06:31 +00:00
Shahbaz Youssefi
51320fab57 Make most GLES1 entry points lockless
These entry points only set context-local state and thus don't require
locking.

Bug: angleproject:8224
Change-Id: I80223340348d62a56109324ab3e4f935e53419b3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4670407
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-07 19:51:12 +00:00
Shahbaz Youssefi
eb205e689d Make the glPatchParameteri entry point lockless
This entry points only sets context-local state and thus doesn't require
locking.

Bug: angleproject:8224
Change-Id: I17975a97aa7f68c3ddf2ef78069b8f519fdc4c1a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4670405
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
2023-07-07 19:42:31 +00:00
Shahbaz Youssefi
5869fb3b05 Remove big-GL files from normal builds of ANGLE
Bug: angleproject:7533
Change-Id: I3616296d9923310200830a921190813e3ecfe80b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672146
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
2023-07-07 19:41:32 +00:00
Shahbaz Youssefi
732a8f07d0 Move max-shader-compile-threads state out of LocalState
While this state is indeed context-local, setting it calls into the
backend (GL backend specifically, where it forwards the call to the
driver).  The call to set this state is rare and now worth the risk
associated with making it lockless.

Bug: angleproject:8224
Change-Id: I3af395721fa18b9345698870c0da63e8cac83610
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4666355
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
2023-07-07 17:12:15 +00:00
angle-autoroll
f9b1659317 Manual roll Chromium from e506ce09bac4 to 96802d0bdfdd (1526 revisions)
Manual roll requested by ynovikov@google.com

e506ce09ba..96802d0bdf

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,ianelliott@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: f87ccdf42a..6b59eb95c1
* buildtools: 6d00f8d8c5..f11186bf34
* buildtools/linux64: git_revision:da5fe01bce4ae84b2619caca7a3aa7ec7d3eb8a7..git_revision:1de45d1a11cc9f8cb5c75a031386151e1c384847
* buildtools/mac: git_revision:da5fe01bce4ae84b2619caca7a3aa7ec7d3eb8a7..git_revision:1de45d1a11cc9f8cb5c75a031386151e1c384847
* buildtools/win: git_revision:da5fe01bce4ae84b2619caca7a3aa7ec7d3eb8a7..git_revision:1de45d1a11cc9f8cb5c75a031386151e1c384847
* testing: ac3cb62a5a..b4958339ec
* third_party/abseil-cpp: b5862634ee..ae5ee2a38f
* third_party/android_build_tools: 4cb10f1315..fa6fe66454
* third_party/android_build_tools/lint: DjoXGsdMeTwnppye9Nwe5ozhXIqKyJQDzgb0nTFH8SAC..z1zqFkwGcjud6JnSJ-81QiOYgD-OlvkQg5Fgt_gHwtoC
* third_party/android_build_tools/manifest_merger: MN3CF2GQ8xeB6obj4qf5J6l15-NoA43u4__RQTTe8I4C..oD5bP72e45KzyT-yHx9yFfQcqpEfOUERdpMaR7rkTRcC
* third_party/android_deps: 36fd99b5ae..6514de5457
* third_party/android_platform: a72ec125fa..4b4eee2d24
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..451fa58bf6
* third_party/depot_tools: 872ac9bd3d..4303140531
* third_party/ijar: 19617929c3..e2247b3708
* third_party/kotlin_stdlib: bhkmCcKzQ5IXUsDnWkRfouPfdzzyrgw40PUzRvArrGEC..Z1gsqhL967kFQecxKrRwXHbl-vwQjpv0l7PMUZ0EVO8C
* third_party/markupsafe: 13f4e8c9e2..006709ba3e
* third_party/protobuf: 678d565421..c468546c25
* third_party/r8: vw5kLlW3-suSlCKSO9OQpFWpR8oDnvQ8k1RgKNUapQYC..FxcKKMhpNz8EQC9ZdDwB64ZzLm1VrWw21A_m20AOKaAC
* third_party/zlib: f999826d2d..7eff33bc00
* tools/android: 39d4cc4ec8..f37f647574
* tools/clang: 75c7faf556..50358e9b66
* tools/mb: 33899440a1..21264809df
* tools/memory: 57b3b9e7c0..9a047fd494
* tools/perf: 159b3b88fd..4b4a958480
Clang version changed llvmorg-17-init-12166-g7586aeab:llvmorg-17-init-16420-g0c545a44
Details: 75c7faf556..50358e9b66/scripts/update.py

Bug: None
Tbr: ianelliott@google.com,ynovikov@google.com
Change-Id: I6af984fb327e9b028cb3d48b89be73676192ba1c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672995
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-07 16:46:35 +00:00
Roman Lavrov
9cd1205f2e Skip street_fighter_iv_ce on SwiftShader
keyframe=86, runs very slow on SwS: https://anglebug.com/8243#c1

Bug: angleproject:8243
Change-Id: Iae3c758ea6b6e6a2a68f91a1355c10bc9c92f432
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672588
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2023-07-07 16:44:03 +00:00
Roman Lavrov
44acab29bd Use latest build-tools from android_sdk (same as catapult)
https://crsrc.org/c/third_party/catapult/devil/devil/android/sdk/build_tools.py;drc=8a3feaaaab63b383fb6b138be2986e9ad6dcaca2;l=61

Also do not fall back to just 'aapt' as that isn't hermetic.

Bug: angleproject:7670
Change-Id: Ided9dfe16d6c6815c3425bdc64b2d572bbe564c5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672808
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2023-07-07 16:42:17 +00:00
Roman Lavrov
da710ac3f7 Stop rolling third_party/cpu_features
It was probably needed for zlib previously but now zlib already depends
on the ndk's cpufeatures. There are no references to third_party
cpu_features in the generated Android.bp.

Bug: b/289259681
Change-Id: Ib849b26391d0c23e533662094e74384c267c8620
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4656761
Reviewed-by: Solti Ho <solti@google.com>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Solti Ho <solti@google.com>
2023-07-07 15:45:23 +00:00
Anne Redulla
66c2e4fca2 [ssci] Added Shipped field to READMEs
This CL adds the Shipped field (and may update the
License File field) in Chromium READMEs. Changes were
automatically created, so if you disagree with any of
them (e.g. a package is used only for testing purposes
and is not shipped), comment the suggested change and
why.

See the LSC doc at go/lsc-chrome-metadata.

Bug: b/285450740
Change-Id: I770554248e33c1e50938cc32daee36a83b643ec9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672125
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-07 13:44:43 +00:00
angle-autoroll
65ae56ba61 Roll vulkan-deps from c421d230f1c1 to 869b279baef4 (3 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/c421d230f1c1..869b279baef4

Changed dependencies:
* vulkan-validation-layers: f2f60da66f..db466666ac

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: Ifaa2d0b7d639fe0a5c9fa392c05b384f75e8b458
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672746
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-07 11:17:47 +00:00
Shahbaz Youssefi
7e0fb7e402 Make glIsEnabled* entry points lockless
These entry points only set context-local state and thus don't require
locking.

Bug: angleproject:8224
Change-Id: I6fe40bf4381e1d42248358f773ec9d5675883ada
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4666356
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-07 04:17:53 +00:00
Shahbaz Youssefi
72c269263c Make pack/unpack and hint entry points lockless
These entry points only set context-local state and thus don't require
locking.

Bug: angleproject:8224
Change-Id: I5694d319df61a7a9df1766cf1f723b9a05208209
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4666352
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-07 03:53:06 +00:00
Shahbaz Youssefi
208dfe2860 Make glStencil* entry points lockless
These entry points only set context-local state and thus don't require
locking.

Bug: angleproject:8224
Change-Id: I612d8219ba038464173490b2c261e9e7b229c83f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4661702
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-07 01:23:26 +00:00
Shahbaz Youssefi
c3c2f45046 Make glBlend* entry points lockless
These entry points only set context-local state and thus don't require
locking.

Bug: angleproject:8224
Change-Id: Ie811c35ae7b65106db9af9f7531ad3a5e0bd4f8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4661701
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-07 00:32:19 +00:00
Shahbaz Youssefi
4439593002 Make various state setting entry points lockless
These entry points only set context-local state and thus don't require
locking.

Bug: angleproject:8224
Change-Id: I428c23cc862e9356d571bc085b5df0bf48017175
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4661700
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-06 23:38:50 +00:00
Shahbaz Youssefi
9daac2b7dd Make glEnable/Disable entry points lockless
These entry points only set context-local state and thus don't require
locking.

Bug: angleproject:8224
Change-Id: Id4eab729115bd75f82e1ec7a27355c821a7c4320
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4661697
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
2023-07-06 21:04:53 +00:00
Shahbaz Youssefi
fede75ffbd Fix multi-draw's gl_DrawID in non-multi-draw draws
The uniform value for gl_DrawID was never reset, so if a program was
first used with multi-draw and then without it, gl_DrawID would not
contain zero.

Test credit info-tibo@orange.fr

Bug: angleproject:8245
Change-Id: I73a613ab2858cde4633fadf6a1a523e462167eb0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4662137
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Steven Noonan <steven@uplinklabs.net>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
2023-07-06 18:05:55 +00:00
Shahbaz Youssefi
0892420bcf Vulkan: Optimize PBO download between RGBA and BGRA
Google Meet hits this path in Chrome when blurring the background.  The
CPU readback was particularly slow on Intel/Mesa where readback from the
temp buffer took hundreds of milliseconds.

This change adds a compute shader that directly copies from the image to
the pack buffer in simple but common cases.

Bug: b/286882707
Change-Id: I9877ea01e3d8377db96f2539362aca67cf832b4a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4657058
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
2023-07-06 17:45:07 +00:00
Yuxin Hu
c934d86be8 Update dEQP-GLES mustpass List
1. Reordered gCaseListFiles.

2. Added below must pass list as they are
required by the Khronos CTS:

gles2-khr-noctx-master.txt
gles32-khr-noctx-master.txt
gles32-khr-single.txt

3. Added new test package to run the tests
in these mustpass lists:

angle_deqp_khr_noctx_gles2_tests
angle_deqp_khr_noctx_gles32_tests
angle_deqp_khr_single_gles32_tests

Newly added tests will not be executed on bot yet.
There will be follow-up CL to add these tests on bot.

Bug: b/286921997
Change-Id: Ibc7dbf81dca67ad7be440d559f5b4ee0211c6c41
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4654841
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
2023-07-06 17:07:24 +00:00
Shahbaz Youssefi
be41fe2949 Make glColor/DepthMask entry points lockless
These entry points only set state that is entirely accessed by the
owning context (context-local) and thus don't require locking.
glColorMask* functions also affect the cached context state (in
particular draw validity), so the relevant cached state is also modified
to support being locklessly modified.

Bug: angleproject:8224
Change-Id: I221b4efa25fc1c11419d1ac942f1c37e59ec92c0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4658173
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-06 16:49:07 +00:00
Shahbaz Youssefi
f0deadab14 Revert "Cleanup multiview support"
This reverts commit 9a7c0b88ba.

Reason for revert: Suspected cause of crash on Canary

Original change's description:
> Cleanup multiview support
>
> * Removed remaining mentions of ANGLE_multiview
>
> * Removed AST transformations used only in
>   the side-by-side multiview implementation
>
> * Changed the type of the internal ViewID_OVR
>   variable to use the dedicated qualifier
>
> * Removed side-by-side multiview support
>   from the D3D11 renderer
>
> * Removed an unused helper for side-by-side
>   multiview support from the OpenGL renderer
>
> * Removed obsoleted test suppressions
>
> Fixed: angleproject:3341
> Change-Id: I5e0706cbf26ea820b51400124ddbf2624b738f17
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4660046
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>

Bug: chromium:1462504
Bug: chromium:1462505
Bug: chromium:1462506
Bug: chromium:1462478
Bug: chromium:1462531
Change-Id: Ie0e76b1c6823db19f68bb67fdfc8abc00cc62f88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4666209
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
2023-07-06 16:07:03 +00:00
angle-autoroll
25f3eafcd3 Roll vulkan-deps from df22aa218f6a to c421d230f1c1 (7 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/df22aa218f6a..c421d230f1c1

Changed dependencies:
* spirv-headers: 3469b164e2..d0006a3938
* vulkan-headers: ad5f8ee975..179b26a792
* vulkan-validation-layers: 2221fe60db..f2f60da66f

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: Iefa982f31e88febe619c1d3147d978aa56f03ccf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4668616
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-06 10:30:06 +00:00
Ian Elliott
d2d44dda1c Mac: Suppress flaky/crashing test
Bug: angleproject:8091
Bug: angleproject:8244
Change-Id: I5825d6268ec0f5b6e31dabad6ecb6bfff1a48677
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4667811
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-06 01:22:04 +00:00
Sunny Sachanandani
2a5c05df74 gl: Handle copyTexSubImage2D failures manually
https://chromium-review.googlesource.com/c/angle/angle/+/4662093 was a
previous attempt at graceful fallback from copyTexSubImage2D, but the
approach in that CL doesn't quite work since it produces an error when
returning from the function which makes the caller also propagate the
error instead of falling back to blit via shader.

This CL makes it so that we handle the error manually and return an
angle::result::Continue with *copySucceededOut=false to indicate to the
caller that it should try a fallback.

Bug: chromium:1458040
Change-Id: I3cd66dcaa6069d5527c3e73190d72ffbba98ae4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4662393
Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-06 00:24:42 +00:00
Shahbaz Youssefi
67994c6f0b Workaround app bug with using ESSL 100 extension in ESSL 310
An app has been found that uses GL_OES_EGL_image_external and
GL_OES_texture_3D which are ESSL-100-only extensions in an ESSL 310
shader.

Workaround this app bug by allowing these extensions to be used in all
versions.

Bug: b/285871779
Change-Id: I82262fc407db48d1fdd66967681c8102029cd0b6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4666351
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
2023-07-05 23:41:41 +00:00
Cody Northrop
ec8fb51b69 Tests: Add Evony: The King's Return trace
Test: angle_trace_tests --gtest_filter="*evony_the_kings_return*"
Bug: b/266237531
Bug: b/275096133
Change-Id: I32daa8b1bd4f3253887d02a5127ef4682df4951a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4664602
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
2023-07-05 19:51:21 +00:00
Kenneth Russell
9d9ca90bf0 Properly validate _ADJACENCY primitive modes.
After a refactoring in Issue angleproject:5483 and Issue
chromium:1185267, the _ADJACENCY primitive modes were being validated
as legal in context versions where they were not supported.

Thanks to lehoangquyen@ for an initial version of this CL and one of
the two new tests. Verified locally on an ASAN build on macOS (by
manually disabling SwiftShader, where ASAN does not work) that the new
tests pass cleanly.

Test: SimpleOperationTest.PrimitiveModeLinesAdjacentNegativeTest
Test: SimpleOperationTest.DrawsWithNoAttributeData
Bug: chromium:1457840
Change-Id: Icb0945e0081ca6f97355dc60f75d60c3f4f68565
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4661672
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-05 19:44:42 +00:00
Shahbaz Youssefi
4db1308136 Make glClearColor/Depth/Stencil entry points lockless
These entry points only set state that is entirely accessed by the
owning context and thus don't require locking.

Bug: angleproject:8224
Change-Id: I6cddee865ffd38e228f8f87dd14adffb916e0fed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4658172
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-05 18:52:57 +00:00
Yuly Novikov
8a8c8fc280 Roll chromium_revision ad19957265..e506ce09ba (1165395:1165897)
Change log: ad19957265..e506ce09ba
Full diff: ad19957265..e506ce09ba

Changed dependencies
* build: e0690c7c78..f87ccdf42a
* buildtools/linux64: git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d..git_revision:da5fe01bce4ae84b2619caca7a3aa7ec7d3eb8a7
* buildtools/mac: git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d..git_revision:da5fe01bce4ae84b2619caca7a3aa7ec7d3eb8a7
* buildtools/win: git_revision:4bd1a77e67958fb7f6739bd4542641646f264e5d..git_revision:da5fe01bce4ae84b2619caca7a3aa7ec7d3eb8a7
* third_party/abseil-cpp: 7d4c4bf473..b5862634ee
* third_party/android_sdk: f5874af13b..ea2e39562f
* third_party/android_sdk/public: -VRKr36Uw8L_iFqqo9nevIBgNMggND5iWxjidyjnCgsC..YK9Rzw3fDzMHVzatNN6VlyoD_81amLZpN1AbmkdOd6AC
* third_party/android_sdk/public: RSI3iwryh7URLGRgJHsCvUxj092woTPnKt4pwFcJ6L8C..HWVsGs2HCKgSVv41FsOcsfJbNcB0UFiNrF6Tc4yRArYC
* third_party/android_sdk/public: eo5KvW6UVor92LwZai8Zulc624BQZoCu-yn7wa1z_YcC..u-bhWbTME6u-DjypTgr3ZikCyeAeU6txkR9ET6Uudc8C
* third_party/android_system_sdk: RGY8Vyf8jjszRIJRFxZj7beXSUEHTQM90MtYejUvdMgC..4QeolYaSKWBtVTgzJU4tHUfzA9OJTDM8YUcD426IctwC
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..48b31edbfc
* third_party/jdk: 2Of9Pe_OdO4xoAATuiLDiMVNebKTNO3WrwJGqil4RosC..-1zDGMOzS_Qsja50TakJCSqN9C9TYppQrsny4HATSQwC
* third_party/jinja2: 264c07d7e6..515dd10de9
* tools/clang: 36a80749cf..75c7faf556
* tools/perf: 422351564c..159b3b88fd
DEPS diff: ad19957265..e506ce09ba/DEPS

No update to Clang.

BUG=None

Change-Id: I4b8366a4585826221f2843682088ac100dd44f2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4661021
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
2023-07-05 17:48:07 +00:00
angle-autoroll
82d73bd311 Roll SwiftShader from 222e07b368b1 to 3e73cce1c470 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/222e07b368b1..3e73cce1c470

2023-07-04 jif@google.com [LLVM 16] Shifts do not generate poison values

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,ianelliott@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: ianelliott@google.com
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: Ic45b57e18351792befb4bfc03b2d624dc195c376
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4666691
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-05 11:40:56 +00:00
angle-autoroll
461fb932e4 Roll vulkan-deps from 347306080b87 to df22aa218f6a (1 revision)
https://chromium.googlesource.com/vulkan-deps.git/+log/347306080b87..df22aa218f6a

Changed dependencies:
* vulkan-validation-layers: 4400858043..2221fe60db

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: I6cfb1597d0ec286e43825a19baa4c233575561cf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4666764
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-05 10:53:15 +00:00
angle-autoroll
b41c42f44e Manual roll vulkan-deps from e21365bc9170 to 347306080b87 (3 revisions)
Manual roll requested by ynovikov@google.com

https://chromium.googlesource.com/vulkan-deps.git/+log/e21365bc9170..347306080b87

Changed dependencies:
* spirv-tools: 58459c2b1a..870fd1e17a
* vulkan-loader: dce85674e2..9d38cccf33
* vulkan-tools: 2e5260d44c..39090f9152

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,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: ianelliott@google.com,ynovikov@google.com
Change-Id: Idd54e19b1837ac34f213338fab68d553446c6104
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4664873
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2023-07-04 20:35:40 +00:00
angle-autoroll
cb5cd76d1e Manual roll vulkan-deps from 2b2cba62bfea to e21365bc9170 (38 revisions)
Manual roll requested by ynovikov@google.com
Suppress new VUIDs:
    "VUID-vkCmdDrawIndexed-None-08608",
    "VUID-vkCmdDraw-None-08753",
    "VUID-vkCmdDrawIndexed-None-08753",

https://chromium.googlesource.com/vulkan-deps.git/+log/2b2cba62bfea..e21365bc9170

Changed dependencies:
* glslang: 9575e33186..3ebb72cc74
* spirv-cross: 2d3a152081..b8e742c91b
* spirv-tools: 310a67020a..58459c2b1a
* vulkan-headers: b6a29e5ca8..ad5f8ee975
* vulkan-loader: a1d9d485ce..dce85674e2
* vulkan-tools: 247c806c93..2e5260d44c
* vulkan-validation-layers: 926ffb1f41..4400858043

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,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:8242
Change-Id: I475146b418565e633043f6b57cb07baedcff02ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4662877
Commit-Queue: Ian Elliott <ianelliott@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
2023-07-04 18:24:43 +00:00
Yuly Novikov
c67d97bab9 Expand dEQP-EGL suppression
dEQP-EGL.functional.robustness.reset_context.shaders.out_of_bounds_non_robust.reset_status.writes.*
fail also on SwiftShader Windows.

Bug: chromium:1462139, b/286921997
Change-Id: If20b217ba47f3c3cc0da7a17478424798b406408
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4664801
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2023-07-04 15:59:32 +00:00
Yuly Novikov
5527944990 Roll chromium_revision 2e0371f07e..ad19957265 (1162850:1165395)
Don't update testing beyond
8e38c8e8a6

Remove $mixin_append usage due to
a5415f3c67

Change log: 2e0371f07e..ad19957265
Full diff: 2e0371f07e..ad19957265

Changed dependencies
* build: e4262406c0..e0690c7c78
* buildtools: f089c59d7c..6d00f8d8c5
* buildtools/third_party/libc++/trunk: b272a1c128..84fb809dd6
* buildtools/third_party/libunwind/trunk: b5a43ecdac..f1c687e0aa
* testing: 46c0754180..ac3cb62a5a
* third_party/abseil-cpp: 66a5ea107e..7d4c4bf473
* third_party/android_build_tools/lint: kqQgSDAgfuKTUIT8gpYlhM9gvajbtIDs_ApDbh3wdNIC..DjoXGsdMeTwnppye9Nwe5ozhXIqKyJQDzgb0nTFH8SAC
* third_party/android_build_tools/manifest_merger: pRHDE8UAgipcDQINCUsRz94lgm5BHQjiL-BLF6d6xC4C..MN3CF2GQ8xeB6obj4qf5J6l15-NoA43u4__RQTTe8I4C
* third_party/android_toolchain: version:2@r25c.cr1..R_8suM8m0oHbZ1awdxGXvKEFpAOETscbfZxkkMthyk8C
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..48b31edbfc
* third_party/depot_tools: f0fba1d307..872ac9bd3d
* third_party/fuchsia-sdk/sdk: version:13.20230626.3.1..version:13.20230629.2.1
* third_party/turbine: G8Cku1fztaDd9to_8gk3PNWM2iRacAxD9zcUAgUPUEAC..9rSngS4o9OIlNubLcU1zXF_w0dPYif6AS-_k1pPAV1kC
* third_party/zlib: f81f385906..f999826d2d
* tools/android: 5c2008090e..39d4cc4ec8
* tools/clang: 053092c268..36a80749cf
* tools/luci-go: git_revision:39f255d5875293d3e1d978888b819ac124a8b0cc..git_revision:15be1e7f953cb4ef6d88aba86f57ca28724d1c9a
* tools/luci-go: git_revision:39f255d5875293d3e1d978888b819ac124a8b0cc..git_revision:15be1e7f953cb4ef6d88aba86f57ca28724d1c9a
* tools/mb: f80577ef22..33899440a1
* tools/perf: daed2f7981..422351564c
* tools/skia_goldctl/linux: tVDltUu_xw7_tk4k-rnp7Ua8pKhf3EEHmTwX5c6BS4AC..209WoWuXITgke_BJDnvM7aTy7wu2jFOUPYs4uIoJ3CAC
* tools/skia_goldctl/mac_amd64: ov_DuOSHCneWQSTW6AZ9gWHEeoJxXEYDX9dl_0rA_d0C..vEHTSSZiGWhNdCjMGZ22sj4PfyPzgoIIkV97YXOJeKEC
* tools/skia_goldctl/mac_arm64: 3wDkZAVD4vV1dNhXfRNMOUBvODbzJ23AVmmsFbTsbkQC..CcHM6-LZ7_b-Api718RTCYQPD0v17lWKuQBaz42b8r4C
* tools/skia_goldctl/win: yW7os_HVMoE-wq04olb6B7GNgEmaYZYPN0ecTzPPBdkC..u5j7yik1xZdFc9dECFfFDX9vRP9go2GpqukfJwOLCbgC
DEPS diff: 2e0371f07e..ad19957265/DEPS

No update to Clang.

Bug: chromium:1456553
Change-Id: I1c18e6c6f68c7d24ae72a6754c707397a4c739d2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4660052
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2023-07-04 13:31:46 +00:00
Alexey Knyazev
9a7c0b88ba Cleanup multiview support
* Removed remaining mentions of ANGLE_multiview

* Removed AST transformations used only in
  the side-by-side multiview implementation

* Changed the type of the internal ViewID_OVR
  variable to use the dedicated qualifier

* Removed side-by-side multiview support
  from the D3D11 renderer

* Removed an unused helper for side-by-side
  multiview support from the OpenGL renderer

* Removed obsoleted test suppressions

Fixed: angleproject:3341
Change-Id: I5e0706cbf26ea820b51400124ddbf2624b738f17
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4660046
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
2023-07-04 11:42:21 +00:00
Mohan Maiya
758139051d Update ANGLEExtensionAvailability test expectation
ANGLEExtensionAvailability test should allow vendors
that support VK_EXT_image_2d_view_of_3d Vulkan extension
to expose EGL_KHR_gl_texture_3D_image extension string
with the Vulkan backend.

Bug: angleproject:7320
Test: ImageTest.ANGLEExtensionAvailability*
Change-Id: I3f6d407e100827604124e312bb61a59dbfb50dac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4658874
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-04 10:36:51 +00:00
Sunny Sachanandani
e70b9b4fe5 gl: Use ANGLE_GL_TRY_ALWAYS_CHECK for CopyTexSubImage
CopyTexSubImage fails with certain formats on Pixel 2 & 4 with a driver
error. TextureGL::copySubTextureHelper has a fallback path to handle
errors, but it gets skipped because BlitGL::copyTexSubImage uses
ANGLE_GL_TRY which doesn't check for GL errors in release builds. This
CL fixes that by using ANGLE_GL_TRY_ALWAYS_CHECK instead which is anyway
intended for any GL call that might allocate memory behind the scenes.

Bug: chromium:1458040
Change-Id: If660f3ef9968338d4ecf7fa20ab481aad84ed981
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4662093
Auto-Submit: Sunny Sachanandani <sunnyps@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-04 09:44:36 +00:00
Ian Elliott
db3537aa00 Vulkan: Suppress VVL "VUID-vkCmdDraw-None-08608"
Bug: angleproject:8242
Change-Id: Ia446cfc370ad6ade4967644416dee9e18aaaa0d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4664612
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-07-04 01:50:11 +00:00
angle-autoroll
bcfc214f91 Roll Chromium from 14fa1a826dad to 2e0371f07e01 (1224 revisions)
Manually update third_party/flatbuffers

14fa1a826d..2e0371f07e

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,solti@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: 4438010153..e4262406c0
* buildtools: ad9b993f2f..f089c59d7c
* buildtools/third_party/libc++/trunk: 745104ff4a..b272a1c128
* testing: 75c78f8f64..46c0754180
* third_party/abseil-cpp: 8f8f07bdce..66a5ea107e
* third_party/android_build_tools: 3b0115d9f8..4cb10f1315
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..1a0894f20f
* third_party/depot_tools: 98d3bb27f0..f0fba1d307
* third_party/flatbuffers/src: 13fc75cb6b..28861d1d7d
* third_party/fuchsia-sdk/sdk: version:13.20230622.3.1..version:13.20230626.3.1
* tools/android: 9b4ea9e0d4..5c2008090e
* tools/clang: ff9b9e9ce2..053092c268
* tools/perf: 31a576a999..daed2f7981
No update to Clang.

Bug: None
Tbr: solti@google.com
Change-Id: I7bf9a5c427845ac28e9cc70051c9b07381313cc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4649047
Reviewed-by: Solti Ho <solti@google.com>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
2023-07-03 19:05:33 +00:00
angle-autoroll
0e8a8e0f16 Roll VK-GL-CTS from 12bc45af35d5 to e7b180ad5366 (12 revisions)
12bc45af35..e7b180ad53

2023-07-03 lorenzo@khronosgroup.org Merge vk-gl-cts/vulkan-cts-1.3.6
into vk-gl-cts/main
2023-06-30 lorenzo@khronosgroup.org Merge "Merge remote-tracking branch
'vk-gl-cts/vulkansc-cts-1.0.1'" into main
2023-06-30 aitor@lunarg.com Add EGL_ANDROID_RECORDABLE to config testing
2023-06-30 rgarcia@igalia.com Add GPL variants to fragment shader
barycentric tests
2023-06-30 rgarcia@igalia.com Test tessellation state switches
2023-06-30 cturner@igalia.com Vk Video: Upgrade the NVIDIA parser
interface to version 0.9.9
2023-06-30 paulthomson@google.com Skip dEQP-VK.api.info.android.* if not
Android
2023-06-30 scerveau@igalia.com cts: add deviceName to SessionInfo
2023-06-30 rgarcia@igalia.com Test maxSamplerLodBias
2023-06-30 cturner@igalia.com Update handling of field flags for
improved compatibility.
2023-06-26 gleese@broadcom.com Switch float controls tests from deBool
to C++ bool
2023-06-26 gleese@broadcom.com Remove duplicate direct linking options

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,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: I55e947c71f921d7ef55ffb5f2b61b0a19f304170
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4662878
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-03 18:47:15 +00:00
angle-autoroll
574d163f57 Manual roll vulkan-deps from 23a32754e715 to 2b2cba62bfea (29 revisions)
Manual roll requested by ynovikov@google.com

https://chromium.googlesource.com/vulkan-deps.git/+log/23a32754e715..2b2cba62bfea

Changed dependencies:
* spirv-headers: 10db9d4e19..3469b164e2
* spirv-tools: 54691dcd73..310a67020a
* vulkan-headers: c1a8560c5c..b6a29e5ca8
* vulkan-loader: b02d69f3a1..a1d9d485ce
* vulkan-tools: 07924a8a49..247c806c93
* vulkan-validation-layers: cb9c77d609..926ffb1f41

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,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: ianelliott@google.com,ynovikov@google.com
Change-Id: I4b5e433bdd24644f6e502f10f21974b670b2a0b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4662876
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
2023-07-03 15:30:50 +00:00
Igor Nazarov
25ce3dfec6 Use compare_exchange_weak() in AllocateGlobalMutexImpl()
Speculative fix of the crash.

New logic will ensure that `currentMutex` is not `nullptr` when returned
from `AllocateGlobalMutexImpl()`

Also removed explicit memory order for safety (no actual difference in
generated code on ARM64/x86-64, but ARM generates less instructions).

Bug: chromium:1457915
Change-Id: I8d932ee499f9d8ee4e38ab2173f4f1cefd0aa294
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4650794
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-06-30 15:49:01 +00:00
Alexey Knyazev
20cc4a9bc2 D3D11: Fix non-trivial blits for snorm buffers
Bug: angleproject:8048
Change-Id: Ifec7ea71e0ab88f545ae088b0faae4b95512a207
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4654315
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
2023-06-29 19:19:27 +00:00
Charlie Lao
166579637b Vulkan: Improve SyncVk::serverWait
If sync object has already finished, there is no need to insert pipeline
barrier. With this CL, asphalt_9 average frame time reduces from 5.464
ms to 5.268 ms (-3.58%), making it 85% of native GLES (4.49 ms) on pixel
7 pro.

Bug: b/277644512
Change-Id: I112ccef0619da3c05cba44066327edc0bb81c366
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4651599
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
2023-06-29 18:40:59 +00:00
Shahbaz Youssefi
ccf8530b4e Split context state by locality of get/set effect
Some state are purely local to the context when get or set.  For
example, the state of depth test does not affect and is not affected by
any other state.

Some state on the other hand may affect other contexts.  In particular,
some objects are shared between contexts of a share group, and may
affect each other through the observer interface.

These sets of state are separated to create a clear boundary between
state that can and cannot be accessed without holding the share group
lock.  A follow up change removes locking from the entry points that
purely access the former set of states.

For the latter state, it is likely possible to access most if not all of
them without holding a lock, but careful inspection is required before
that can be considered.  In particular, most entry points that simply
bind an object are likely harmless if the ref counter is turned atomic.

Bug: angleproject:8224
Change-Id: I91c3fa9de870c13d48012a5e06c177dab4010907
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4651375
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
2023-06-29 16:20:48 +00:00
Shahbaz Youssefi
5f581f879c Pass dirty bits by value
Split CL from follow up change where the dirty bits need to be passed
by value as they are calculated from two sets.  Many cached dirty bits
are turned to constexpr as a result.

Bug: angleproject:8224
Change-Id: Ibdb3090d6ee93788e1502b72bce55f4677937c58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4650074
Reviewed-by: Roman Lavrov <romanl@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
2023-06-29 14:42:28 +00:00
Alexey Knyazev
0e7c79e3b2 Vulkan: Fix resolve with multiple targets of different formats
Ensure that the appropriate code path is taken
when resolving into multiple target buffers of
different formats.

Bug: chromium:1123524
Change-Id: Ic25a52ba069a2209c907226613fde1109823c094
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4650561
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
2023-06-29 14:25:53 +00:00