|
3ad1d702
|
2023-05-04T15:57:43
|
|
angle_trace_tests_android_binaries: test -> group
We don't need it to be a test to begin with. But I looked into it
because test with use_raw_android_executable=True makes things
really complicated due to the way this is implemented upstream:
'''
this __dist target here
https://crsrc.org/c/testing/test.gni;drc=acb6ab509901650450fc387c0d9f09eb6f3f3248;l=265
which uses create_native_executable_dist
which copies files according to the list of libs:
https://crsrc.org/c/build/config/android/rules.gni;drc=a8c26a11f6cf763a5e81b2bced40584a678b9b8a;l=94
which is actually generated not at build time but by gn gen
(also called when editing gn args)
and so the inputs are not the libs themselves but
this file which only contains a list of file names
so when libs change there is no change to the inputs of this rule..
so it doesn't get invoked and the copy doesn't happen
'''
One caveat is we need to produce a list of .so libs as a data dependency
for them to be picked up by isolate
Bug: b/276474703
Change-Id: I375a5be8499f13311654244036e36c60d945c363
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4507534
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
e24f4519
|
2023-01-19T02:30:39
|
|
Vulkan: Add externalFence into submitCommands()
Currently one-off fence in the `queueSubmitOneOff()` is used only in
`SyncHelperNativeFence::initializeWithFd()` to submit external fence.
Other `queueSubmitOneOff()` calls may use `QueueSerial` instead of a
fence.
Providing `fence` into `queueSubmitOneOff()` prevents tracking that
submission with `QueueSerial`. Therefore using `mUse` to collecting
`mFenceWithFd` as garbage will not work as intended.
This CL removes `fence` from `queueSubmitOneOff()` and adds
optional `externalFence` into `submitCommands()` instead.
Providing `externalFence` will cause additional `vkQueueSubmit()` call:
- first submission will submit everything as usual except using
the `externalFence`.
- second, will only submit internal `CommandQueue` fence for
`QueueSerial` tracking.
As the result of this CL, call to `initializeWithFd()` will always
produce two (2) `vkQueueSubmit()` calls. Previously it may be one (1) or
two (2) submissions. Future CL will reduce submission count to one (1).
If add additional submission into `queueSubmitOneOff()` instead of
`submitCommands()`, then maximum number of submissions will be
three (3).
Bug: angleproject:8117
Change-Id: I6f1ec12682aaab71bfc871e665fec2659df96b26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4392877
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
df8733c9
|
2023-05-05T09:08:55
|
|
Roll Chromium from becaac9672a0 to 16e9449c3c88 (618 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/becaac9672a0..16e9449c3c88
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: https://chromium.googlesource.com/chromium/src/build.git/+log/1345fb9c5d..54bd39c0c5
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/fe9a4e4107..dd3595d173
* buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/9460fb138d..737446fc52
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/19470647da..7a97f0e3c4
* third_party/android_platform: https://chromium.googlesource.com/chromium/src/third_party/android_platform/+log/f0c7b47622..f312145c41
* third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/5353fa6142..d8e55758cb
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..6b573b0676
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/dbcecc9017..71ab1b77a7
* third_party/fuchsia-sdk/sdk: version:12.20230503.3.1..version:12.20230504.4.1
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/9969814713..448305bbeb
* tools/luci-go: git_revision:e91834850a06011c64eb9a24f317371194bde3de..git_revision:55cc876158c057cd64677f1a1a2573c36c6c3025
* tools/luci-go: git_revision:e91834850a06011c64eb9a24f317371194bde3de..git_revision:55cc876158c057cd64677f1a1a2573c36c6c3025
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/295d9239b1..dc8628ce87
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/ce6519bca3..02f2a2edd4
* tools/python: https://chromium.googlesource.com/chromium/src/tools/python/+log/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: https://chromium.googlesource.com/chromium/src/tools/clang/+/996981471300dc79bd41808d4b02bc44ee1112e7..448305bbeb6dfddd88b74a016c6aeeb16d6de1cd/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>
|
|
dd7eb1d8
|
2023-05-04T14:07:44
|
|
Scripts: Fix non-root support in android_helper.py
Test: angle_trace_tests on production device
Bug: b/276742336
Change-Id: I7c1f33adb37d8109540c70ac402e43462c046cec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4504920
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
d925c5c9
|
2023-05-04T16:16:11
|
|
Revert "Metal: Embed precompiled default shaders."
This reverts commit 9f6c9f6630b63f541f5fd875aef87ce2a26fd618.
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>
|
|
1f672466
|
2023-05-02T16:13:13
|
|
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>
|
|
e350330d
|
2023-05-02T09:57:42
|
|
Fix EGLContextCompatibilityTest registration
Before this CL these tests are not registered at all.
Avoid test name duplicates by skipping configs.
Bug: angleproject:8088
Change-Id: I0d9b8260bd2ed76bda7fb46e6a131c4d2624c55f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492920
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
c687078a
|
2023-05-01T16:45:19
|
|
FrameCapture: Add GLES1 case for BlendFunc state init/reset
A recent frame capture change added state init/reset for
glBlendFunc/glBlendFuncSeparate calls and combined them to
avoid complexity, but this caused crashes in GLES1 native
trace playback. This CL separates handling of the two calls.
Test: angle_trace_tests --gtest_filter=TraceTest.street_fighter_iv_ce
Bug: b/280329971
Change-Id: I34d674e2fc051f5af70a60a24e5b65c5ce54fd49
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4494261
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
55df82e0
|
2023-05-04T15:23:08
|
|
Fix crash in std::stoi()
std::stoi() will throw exceptions when the input is invalid,
so change to use std::atoi() which doesn't throw exception.
Bug: chromium:1401610
Change-Id: I188412363b26286003b5daf311e5725fe4c4d7e9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4507533
Commit-Queue: Peng Huang <penghuang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Peng Huang <penghuang@chromium.org>
|
|
7fd01d03
|
2023-04-19T00:54:24
|
|
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>
|
|
fdb2dcb1
|
2023-05-02T14:24:20
|
|
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>
|
|
1ad27152
|
2023-04-18T12:17:00
|
|
Switch angle_trace_tests scripts to android_helper
out/Android/angle_trace_tests {args}
replaces
(cd out/Android; python3 ../../src/tests/run_angle_android_test.py {args})
changes this generated file:
% grep angle_android_test_runner out/Android/bin/run_angle_trace_tests
args = ['@WrappedPath(../../src/tests/angle_android_test_runner.py)', 'gtest', '--output-directory', '@WrappedPath(.)', '--wrapper-script-args', '--runtime-deps-path', '@WrappedPath(gen.runtime/src/tests/angle_trace_tests__test_runner_script.runtime_deps)', '--suite', 'angle_trace_tests']
android_helper.py is already what we use for running traces on bots
(we don't invoke out/Android/angle_trace_tests when IsAndroid())
so this change affects only local runs
Keep run_angle_android_test.py to be able to run other suites,
but now it takes --suite instead of a positional arg (which is
consistent with how scripts are invoked on CI)
Bug: chromium:1441148
Change-Id: I5af10e8df7d9a651e0a9d52e47e3bce28d7a931b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4442006
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
fbff065c
|
2023-05-03T22:19:07
|
|
Replace GetResourceFromHashSet with map lookup
Function GetResourceFromHashSet had linear time complexity
because it was sweeping through the set until a resource with a
matching ID was found. This change replaces hash sets with hash
maps to get constant time lookup. This solves, among other things,
O(N^2) time complexity for rendering scenes containing a large
number of surfaces.
Function GetResourceFromHashSet was consuming over 50% of all CPU time
on the main thread of Chrome's GPU process while running the MotionMark
1.2 Images test. With this change, the benchmark score increases by
70% on an M1 MacBook running a PGO official build of Chrome.
Bug: chromium:1435066
Change-Id: I895ac0141a91d324c63adec2c0efb8e030d9675b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4505950
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Justin Novosad <junov@chromium.org>
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
|
|
d6481cdf
|
2023-04-18T22:36:39
|
|
Vulkan: Make eglPrepareSwapBuffersANGLE thread-safe
This function now only calls vkAcquireNextImageKHR without any further
processing of its results. That is deferred to the following
eglSwapBuffers call which does that under the share group lock.
The vkAcquireNextImageKHR call, together with the allocation of its
related semaphore and fence are protected by a fine-grained lock.
mNeedToAcquireNextSwapchainImage is turned atomic to guard against races
to call vkAcquireNextImageKHR from multiple contexts. Note that the
latter is not currently possible, but will be once calling
vkAcquireNextImageKHR is moved to the end of the render pass.
Bug: angleproject:6851
Bug: angleproject:8133
Change-Id: If2eeab475b4acf0621fd930c43d9d86a78a9197b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4445495
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2087fe01
|
2023-05-04T10:01:41
|
|
Roll vulkan-deps from 94976560d112 to 446f1da0d121 (11 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/94976560d112..446f1da0d121
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/dfc97740ff..bc6b2bc17a
* spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/7f1d2f4158..268a061764
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/a525dccbe8..2189ad7a5a
* vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/870a531486..bae9700cd9
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/71254bedee..ab6f4023be
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/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>
|
|
4c704c52
|
2023-05-04T10:01:14
|
|
Roll SwiftShader from b89ed2f23a03 to ecefa6c65969 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/b89ed2f23a03..ecefa6c65969
2023-05-03 stha09@googlemail.com IWYU: add cstdint for uintptr_t in
llvm-10.0 Signals.h
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/swiftshader-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in SwiftShader:
https://bugs.chromium.org/p/swiftshader/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://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
Use-Permissive-Angle-Pixel-Comparison: True
Change-Id: Ie7e9bd406f585eccd3dcb8450791626e2f155110
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4505116
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
f03ad027
|
2023-05-04T07:58:10
|
|
Roll Chromium from 70803179b4b8 to becaac9672a0 (552 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/70803179b4b8..becaac9672a0
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: https://chromium.googlesource.com/chromium/src/build.git/+log/64c99419f9..1345fb9c5d
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/cb7297fa0d..fe9a4e4107
* buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/d756fe5d80..9460fb138d
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/4f51cb92dc..19470647da
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/c7a5260448..eec484b5a6
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..2717171db9
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/f2da906faf..dbcecc9017
* third_party/fuchsia-sdk/sdk: version:12.20230502.3.1..version:12.20230503.3.1
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/56556e9bb6..9969814713
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/1c3d2fa970..295d9239b1
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/022202937e..ce6519bca3
No update to Clang.
Bug: None
Tbr: cnorthrop@google.com
Change-Id: I46964252afc052633f1322c4643a69bf58635447
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4505297
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
cd171d2e
|
2023-03-28T14:58:57
|
|
Vulkan: Enable async pipeline cache compression
* Enabled the feature after adding more header data, including original
cache size, chunk index, and CRC.
Bug: b/246683126
Change-Id: Idef85f0a6f9e0072fcb800aedb6b720cc88c46b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4378720
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
d0ee0197
|
2023-05-03T13:41:36
|
|
WebGL: Limit total size of private data
... not just individual arrays.
Bug: chromium:1431761
Change-Id: I721e29aeceeaf12c3f6a67b668abffb8dfbc89b0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4503753
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
aa1dc5da
|
2023-05-03T19:36:04
|
|
Revert "Vulkan: Simplify present history logic"
This reverts commit 1dee7cad284dda0c7c3ca18c10d8b7764353c7b0.
Reason for revert:
error: SurfaceVk.cpp:784 (destroy): ! Assert failed in destroy (..\..\src\libANGLE\renderer\vulkan\SurfaceVk.cpp:784): fence.getStatus(device) == VK_SUCCESS
Example builds:
https://ci.chromium.org/ui/p/angle/builders/try/win-test/13341/overview
https://ci.chromium.org/ui/p/angle/builders/try/win-test/13345/overview
Original change's description:
> Vulkan: Simplify present history logic
>
> Instead of marking `ImagePresentOperation` as corresponding to an older
> swapchain, accumulate all present history in the `mOldSwapchains`.
>
> Keeping old Swapchain's `ImagePresentOperation` with Fences can lead to
> multiple "old swapchains" lists. This may cause situations exceeding
> the `kMaxOldSwapchains` limit.
>
> Keeping items with Fences may help cleanup resources faster, but I think
> that it is not worth the code complexity. It also should be safe to
> recycle Fences at the same time as the Semaphores (when the first image
> is recycled).
>
> Also this CL may fix bug:
> if (mPresentHistory.empty() || mPresentHistory.back().imageIndex == kInvalidImageIndex)
> The above condition will always pass when using actual present Fences
> (VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT).
>
> Bug: angleproject:7847
> Change-Id: I39d854b03733dcb976c6bd7eb5f848d0cbece5d6
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4481251
> Reviewed-by: Charlie Lao <cclao@google.com>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Bug: angleproject:7847
Change-Id: Icf0cf5b12dd1efa682abebd83699b8d87dc07427
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4502778
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2fec8ae8
|
2023-05-02T15:53:29
|
|
Vulkan: Handle inactive render pass in draw-based clear
For simplicity, if a render pass is open for the current framebuffer but
is not active, a new one is started in UtilsVk::clearFramebuffer. A
future optimization could decide to reactive the render pass instead,
but needs to check for whether that's possible (with a condition similar
to what's found in ContextVk::handleDirtyGraphicsRenderPass)
Bug: chromium:1440764
Change-Id: I727d4ecefc2bc0a1a9e399b8851c4cc830d20879
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4499765
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
64727601
|
2023-05-03T12:44:56
|
|
Manual roll vulkan-deps from 7873f429a5c2 to 94976560d112 (18 revisions)
Cherry-picked from https://chromium-review.googlesource.com/c/angle/angle/+/4500931
https://chromium.googlesource.com/vulkan-deps.git/+log/7873f429a5c2..94976560d112
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/9c7fd1a33e..dfc97740ff
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/8e1001e938..a525dccbe8
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/18fafc6399..631fde41b2
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: I9fe7700694ce5bae68a8de0f75e6c2531bb35ed3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4500929
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
1dee7cad
|
2023-01-17T18:01:49
|
|
Vulkan: Simplify present history logic
Instead of marking `ImagePresentOperation` as corresponding to an older
swapchain, accumulate all present history in the `mOldSwapchains`.
Keeping old Swapchain's `ImagePresentOperation` with Fences can lead to
multiple "old swapchains" lists. This may cause situations exceeding
the `kMaxOldSwapchains` limit.
Keeping items with Fences may help cleanup resources faster, but I think
that it is not worth the code complexity. It also should be safe to
recycle Fences at the same time as the Semaphores (when the first image
is recycled).
Also this CL may fix bug:
if (mPresentHistory.empty() || mPresentHistory.back().imageIndex == kInvalidImageIndex)
The above condition will always pass when using actual present Fences
(VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_FENCE_INFO_EXT).
Bug: angleproject:7847
Change-Id: I39d854b03733dcb976c6bd7eb5f848d0cbece5d6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4481251
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
533cf9a4
|
2023-05-02T22:39:09
|
|
Vulkan: Suppress new VUID-vkCmdDraw-None VVL errors
Test: angle_trace_tests --gtest_filter="*slingshot_test2*"
Bug: angleproject:8151
Change-Id: Ifc26a57fe92b57c30f253f5bb491a1ac3932f2f1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4500928
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
24844560
|
2023-05-03T08:10:05
|
|
Roll Chromium from 4c9976e5d118 to 70803179b4b8 (627 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/4c9976e5d118..70803179b4b8
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: https://chromium.googlesource.com/chromium/src/build.git/+log/26b89abb7f..64c99419f9
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/7f6b6fac63..cb7297fa0d
* buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/bcadf44b4f..d756fe5d80
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/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: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/41123c305e..c225168a18
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..247560fd67
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/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: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/2f9ce8ce37..56556e9bb6
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/ad09606a4b..1c3d2fa970
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/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>
|
|
a73e546c
|
2023-04-14T13:40:19
|
|
Vulkan: Add pending memory size for VMA images
* Added implementation for vma::FindMemoryTypeIndexForImageInfo().
* Add pending memory allocation tracking for VMA images using
the memory requirement from getMemoryRequirements() and the
memory type index from the function above.
Bug: b/218891184
Change-Id: I1c3d3a8f5f36eb57bd7a5a059aa3bf713b819831
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4428535
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
dcc37e31
|
2023-05-02T13:22:18
|
|
Vulkan: Restore stencil write mask workaround for ARM
Still has issues on latest drivers.
Test: angle_trace_tests --gtest_filter="*pokemon_go*"
Bug: b/279715714
Bug: angleproject:7556
Change-Id: I4d46cdc2b86da374413f97e45858e18022e0cc7b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4499032
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
b052a5bf
|
2023-03-31T00:00:00
|
|
Vulkan: Implement polygon mode extensions
* NV_polygon_mode
* ANGLE_polygon_mode
Bug: angleproject:1791
Bug: angleproject:8132
Change-Id: I2beffdad0c1569546020b78a9c6d9b8ea87c2100
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4498687
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
0561884e
|
2023-04-26T17:26:42
|
|
Vulkan: Dirty VertexArray binding bit if buffer storage change
In crrev.com/c/3669603, we did optimization for black_desert_mobile that
when vertex array is unbound, we remove vertex array from buffer's
observer list to reduce overhead of observer notifications when buffer
is been modified. To compensate for the lost notification, when vertex
array is bound, we always assume every buffer that is bound to vertex
array has been dirtied, for the simplicity at that time. This CL further
the optimization of that CL. In this CL, I moved the dirty bit set into
backend and improves vulkan backend by checking buffer's serial number
and only dirty the binding if the serial has changed. Given this, now we
can also remove all the non-current vertex array from buffer's observer
list (previously it is heuristic based with a hard coded observer count
limit). This and the previous CL improves asphalt_9 by ~1%.
Bug: b/277644512
Change-Id: Ibc3f8e3df9fe70c6879e0b2bca86d8487a9dba73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4481241
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
89a8ba7d
|
2023-04-25T17:08:42
|
|
Vulkan: Add bit mask vertex array buffer binding point.
There are various places we are looping all vertex binding points. Right
now it is always 16, even though most of them do not have any buffer
bound. This CL adds mArrayBufferBindingBitMask, which is the bit mask
tracking all binding index that has a buffer bound. Now we only need to
loop for all bindings that actually have a buffer, which usually much
less than 16.
This CL also removes some redundant use of "gl::" name space.
Bug: b/277644512
Change-Id: I30d053274839bfa7c56487651b95c62f2a2c67e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4478229
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
2ceb04e0
|
2023-05-02T10:45:11
|
|
Initialize display TLS at thread creation time
Bug: chromium:1441754
Change-Id: I611c6f591f2a6d3439e3c5d1250e2fde996c0ecf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4496673
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d4aacb29
|
2023-05-02T10:39:47
|
|
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>
|
|
0d78cbe8
|
2023-05-01T10:01:03
|
|
Roll vulkan-deps from 4b61bdad813f to 7873f429a5c2 (45 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/4b61bdad813f..7873f429a5c2
Changed dependencies:
* spirv-cross: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Cross.git/+log/fc9bee27f4..4faeb81f3f
* spirv-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Headers.git/+log/cfbe4feef2..7f1d2f4158
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/25ad5e19f1..8e1001e938
* vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/8a397558c4..870a531486
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/07d1854c67..71254bedee
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/df10a2759b..b647be6419
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/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>
|
|
acbba222
|
2023-05-02T07:59:37
|
|
Roll Chromium from fe2d690d4674 to 4c9976e5d118 (429 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/fe2d690d4674..4c9976e5d118
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: https://chromium.googlesource.com/chromium/src/build.git/+log/345dcdfdbf..26b89abb7f
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/baf37dbb78..05c5e65b61
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..247560fd67
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/ce9bc414c0..1398e4fc69
* third_party/fuchsia-sdk/sdk: version:12.20230501.0.1..version:12.20230501.3.1
* third_party/r8: EY3UUuH4bTp3sn3Da79Wfu5qAQo4GWGifjruAPnqGjwC..tVFTXgyHbHbRUFR6AWNCWnxy98HagL_hRE1f5KLfEbsC
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/fbc7772d39..ad09606a4b
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/54d900c07f..7c6c15207c
No update to Clang.
Bug: angleproject:5038
Tbr: cnorthrop@google.com
Change-Id: Ib158f3b3092b525c56ac89311df3b7de3cf87ac2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4498302
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
1fc399c6
|
2023-05-01T22:29:35
|
|
Vulkan: Adjust VVL suppression after VU consolidation
Bug: angleproject:8119
Change-Id: I42746d399841591e78114cb26c2e377e255e791e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492542
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
5c04f18a
|
2023-04-24T16:18:24
|
|
Vulkan: Remove DisplayVk param from ToEGL
It's no longer used
Bug: angleproject:3041
Change-Id: I5063152d1598aa5d40d94bbf5c643a1288589037
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4470387
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
144f2d2c
|
2023-04-24T12:52:27
|
|
Vulkan: Use thread-local space for EGL errors
The assumption in anglebug.com/3041 that ANGLE is "single-threaded
anyway" no longer holds.
Bug: angleproject:3041
Change-Id: I613395c8003cad60764362d2776aaf7b6804b788
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4468107
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
73f9cf00
|
2023-03-31T00:00:00
|
|
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>
|
|
cd6a58f2
|
2023-04-18T12:45:10
|
|
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>
|
|
b7a5714f
|
2023-03-31T00:00:00
|
|
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>
|
|
9f6c9f66
|
2023-04-19T15:05:47
|
|
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>
|
|
1328f2f3
|
2023-04-17T16:43:12
|
|
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>
|
|
a88635c4
|
2023-04-28T18:54:25
|
|
Android logs also go to stdout/err, line-buffered if possible
Currently logs like WARN() or INFO() only go to logcat, which doesn't
make them visible in console. This change makes them go to both logcat
and stdout/err.
Fix android_helper choking on missing json data output when test crashes
and test runner doesn't have a chance to produce that file. We still
have the stdout/err in this case, so print it. However, a crash
(such as SIGSEGV or __builtin_trap()) doesn't flush output so the
non-flushed part of the buffer doesn't get in there.
AngleNativeTest redirects stdout/err to a file which enables
fully-buffered (stdlib) mode. Change this to line-buffered when
stdout path is set to /data/ (/sdcard/ is slow) and use
/data/data/com.android.angle.test/tmp/
as the temp path in android_helper.
This makes e.g. FATAL() << "message"; show up in the logs in CI or local
runs. This currently only applies to trace and perf tests,
other tests will continue using fully-buffered
/stdout/ as chromium's test_runner uses /sdcard/Download/
for temp files.
Bug: b/276742336
Change-Id: Ia622c610f776f501223b0cca11d5ec1976eb9887
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4493463
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
fbf0e025
|
2023-05-01T14:21:01
|
|
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>
|
|
84b2e9d1
|
2023-05-01T13:52:54
|
|
Capture/Replay: android_helper handles traces in/outside of apk
* list files in apk using `aapt list`
* determine lib_extension (.so vs .cr.so) based on a known lib name
* determine traces_outside_of_apk based on libangle_trace_interpreter
* update so libs handling to use these vars
* also fixes an issue where libangle_trace_interpreter.cr.so wasn't
copied to the device due to a missing check for .cr.so
Bug: b/276742336
Change-Id: I5ccc6490ed3398668feec56c816dd65a444234cb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4495326
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f46f3908
|
2023-05-01T14:06:16
|
|
Capture/Replay: fix interpreter lib placed inside/outside APK
libangle_trace_interpreter is a shared library loaded the same way as
binary trace libraries, so they should all go together either inside or
outside the APK. Before this change this lib would end up inside the APK
when binary libs were configured to stay outside of the APK.
Bug: b/276742336
Change-Id: I690d63dcec94893692d6838bb816f9ec2477dfe1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4495327
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
8be67007
|
2023-05-01T13:32:56
|
|
Capture/Replay: make failure to load a trace lib more clear
Before this CL, the logs would point to inability to find
SetTraceInfo, which is misleading as the actual issue is that the
library wasn't loaded in the first place.
Error handling is a bit obscure due to mTraceLibrary being set to a
non-null object wrapping a null library so we have to check if
getNative() is null. `loadError.empty()` can't be used to check this
because it's getting set in case of success as well ¯\_(ツ)_/¯
Bug: b/276742336
Change-Id: I90f2184c35461c16d04d6bef6d921706c010fefd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4492532
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
059efd15
|
2023-04-27T18:37:05
|
|
Vulkan: use any available memory type for external
For external memory import, compatible memory types are decided by the
Vulkan driver since the memory has been allocated externally. There are
usually special requirements against external memory. e.g. AHB allocated
with CPU R/W often usage bits is only importable for non-device-local
heap on some AMD systems. So if angle requests for device-local, it'd be
unable to find a compatible memory type for import. This change updates
to pick the first available type on the external fallback code path.
Bug: b/279862309
Test: android.media.cts.DecodeAccuracyTest on venus atop radv
Change-Id: I0fd5ceb6fe633f591cbcdb01d246803fe0130796
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4484422
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
2ee97f91
|
2023-04-27T15:43:03
|
|
Unconditionally enable append_aliased_memory_decorations_to_ssbo
After the discussion with Khronos group on how to
handle aliased ssbo in GL driver:
https://gitlab.khronos.org/Tracker/vk-gl-cts/-/issues/4321
https://gitlab.khronos.org/opengl/API/-/issues/183
it is the correct behavior to append aliased memory
qualifier to SSBOs, if restrict memory qualifier is
not specified. Unconditonally enable this feature
for all hardware.
Bug: b/266235549
Change-Id: I20c811710bb10f0de39de5707adab0262a46d296
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4485008
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
|
|
e96e919f
|
2023-04-24T00:00:00
|
|
D3D11: Implement multisampling shader extensions
* OES_sample_variables
* OES_shader_multisample_interpolation
Bug: angleproject:8097
Bug: angleproject:8131
Change-Id: I8ea81725d30ab3a5db6254b897fe72dbe88739d9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4484164
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
b7115be9
|
2023-05-01T10:01:13
|
|
Roll SwiftShader from f0d31e0f4846 to b89ed2f23a03 (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/f0d31e0f4846..b89ed2f23a03
2023-04-28 natsu@google.com Add Android host build support
2023-04-28 natsu@google.com UPSTREAM: Fix Android host build
2023-04-28 natsu@google.com Fix vulkan.pastel.debug build
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: I4903d4d1cee01bee3cca84e2e90852fa5ba777b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4496212
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
56801373
|
2023-05-01T08:13:13
|
|
Roll Chromium from 82c53dbf916a to fe2d690d4674 (760 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/82c53dbf916a..fe2d690d4674
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 on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/6726134eb9..345dcdfdbf
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/e6571d3d0e..7f6b6fac63
* buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/53dab5c548..bcadf44b4f
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/1b29d9ab4d..baf37dbb78
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..247560fd67
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/b5eff1ccff..ce9bc414c0
* third_party/fuchsia-sdk/sdk: version:12.20230428.0.1..version:12.20230501.0.1
* third_party/r8: Zk6_UgJ8ynvYExnTyZw4eai1GH2cpPmNgMx6rr5AKScC..EY3UUuH4bTp3sn3Da79Wfu5qAQo4GWGifjruAPnqGjwC
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/3ef7ddea54..fbc7772d39
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/3cb05723c9..54d900c07f
No update to Clang.
Bug: angleproject:6430
Tbr: ianelliott@google.com
Change-Id: I0d9c435bec791672d8e11cf67bd908a8ae55e114
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4496245
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
f9a700ee
|
2023-04-27T14:15:56
|
|
Disable mutable texture upload for discrete GPUs
A local case was observed for the trace "vainglory" on Linux, where
it fails due to OOM on one of the memory heaps.
* mutableMipmapTextureUpload is now disabled when discrete GPUs are
used in order to migitate OOM for VRAM.
* After this change, the heap usage for "vainglory" drops from
~3,794,862,080 to ~1,126,891,520.
Bug: b/278600575
Change-Id: Ie09d0037ffaf28640c4e36c5fff5d329c3a3f9cc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4458269
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ae6b2d11
|
2023-04-25T14:23:30
|
|
Metal: Gracefully fail compilation of stencil blit shaders.
ANGLE only supports stencil blits on Metal 2.1 and greater. Generate
useful error messages and fail the blit gracefully when these shaders
are not supported instead of asserting/crashing.
Bug: chromium:1385510
Change-Id: I11df34d38f203c1498164def274135d8f1d14635
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4476346
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Quyen Le <lehoangquyen@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
3e281219
|
2023-04-27T14:52:18
|
|
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>
|
|
059bfe89
|
2023-04-27T16:13:06
|
|
metal(ish): Adds platform function for logging cache hits/misses
And adds call from metal.
This way chrome can log overall cache stats.
Bug: chromium:1423136
Change-Id: Iba5b3bd138adf15fe5e999d3dee0002f140edac1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4484260
Commit-Queue: Scott Violet <sky@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
a52c37ba
|
2023-04-28T10:01:04
|
|
Roll SwiftShader from 3076b4c0d8ce to f0d31e0f4846 (1 revision)
https://swiftshader.googlesource.com/SwiftShader.git/+log/3076b4c0d8ce..f0d31e0f4846
2023-04-27 jif@google.com Disable LLVM_ENABLE_ZSTD for darwin in llvm16.
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: Ica5672e90ce571fa8900247aae8a136a1364628e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4485587
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
d5eee882
|
2023-04-28T08:11:25
|
|
Roll Chromium from e055a80240d4 to 82c53dbf916a (663 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/e055a80240d4..82c53dbf916a
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 on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/e20d81d4c4..6726134eb9
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/f841f2b2fd..e6571d3d0e
* buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/0e4617cf8c..53dab5c548
* buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/307bd16360..66967963e9
* buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/2795322d57..88bd83fe09
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/d9db50a004..1b29d9ab4d
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/77418c40ae..c7a5260448
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..3606cfeb36
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/536c9b9662..b5eff1ccff
* third_party/fuchsia-sdk/sdk: version:12.20230426.3.1..version:12.20230428.0.1
* third_party/r8: i333eZi1faIlPAW0TnIGfOcaq5ZQtOwIsxtneMv7Yd4C..Zk6_UgJ8ynvYExnTyZw4eai1GH2cpPmNgMx6rr5AKScC
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/13a1a986ee..2f9ce8ce37
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/ef5b7b39ff..3cb05723c9
No update to Clang.
Bug: None
Tbr: ianelliott@google.com
Change-Id: Ie1c2f62efcbac706a9829a8a43b53838e21db974
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4485435
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
adf21a92
|
2023-04-27T22:45:55
|
|
Revert "When asserts enabled, log validation errors as WARN"
This reverts commit 362c70238251c3610a1668b9f4c91f422d7d7f24.
Reason for revert: spams logs in Chrome wegbl conformance testing causing instability
Original change's description:
> When asserts enabled, log validation errors as WARN
>
> These messages are useful for debugging but INFO() doesn't get logged
> at all (e.g. when using flags from linux-test CI)
>
> Bug: None
> Change-Id: I7fc02e866fc304c1e925becff58b71345d34238b
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4456067
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Roman Lavrov <romanl@google.com>
Bug: chromium:1439591
Bug: chromium:1440881
Change-Id: I211ee710568a4162b04ffcc297c20efb67019acb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4480384
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
90539b10
|
2023-04-24T16:36:01
|
|
Vulkan: Clean up some of trace events
CommandBuffer::begin/end/reset events are too fine grain. The trace
event retireFinishedCommandsLocked already covers reset.
Also made flushImpl generate event only if we did submit, if we end up
early out, that is not interesting.
Also add event for fenceWait, since that is quite important for
performance investigation, sometimes an indication of bad
synchronization.
Bug: b/277644512
Change-Id: I7d2f6d0716a83bf3b88a9e590ddc042b038b347a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4471747
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
b875f47b
|
2023-04-24T11:11:03
|
|
Vulkan: Make mLastSubmittedQueueSerial reflect what it means
Right now we always update ContextVk::mLastSubmittedQueueSerial and
ContextVk::mLastFlushedQueueSerial when context becomes current, even
though it does not make any submission. It was done it this way mainly
for simplification (i.e, you will always see both queueSerial's index
the same). But this also causes a performance cost when a
mLastSubmittedQueueSerial is used to tag a resource. For example, if you
insert a EGLSync right after makeCurrent, that EGLSync may get a queue
serial number bigger than it should be, which will translate to longer
sync wait time. This CL changes these two queue serial to exact what the
name suggests, that it will only update if we made a "flush" or "submit"
call.
Bug: b/277644512
Change-Id: Ibe4c78985a3fe0726836d620202e5276894a8e7c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4458532
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
1810995c
|
2023-04-25T13:09:27
|
|
Capture/Replay: Initialize MEC alpha test state
Fixes Street Fighter IV CE rendering issues when capturing.
Test: angle_trace_tests --gtest_filter="*street_figher_iv_ce*"
Bug: b/278606770
Change-Id: Ifb44c45b19514e4cabed1e81be99bce5706ac4d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4475732
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
3625b749
|
2023-04-27T08:19:05
|
|
[ContextEGL] Synchronize state only when first making current
ContextEGL::onMakeCurrent() can be called when this context is already
current, which introduces complexities for the case where this context
is wrapping an external context. This CL ensures that in this case we
save state from the native context only when first transitioning this
context to be current.
To test: Exercise the repro steps in crbug.com/1434657: No assert
should go off.
Bug: chromium:1434657
Change-Id: I9690a76917fcb6d0fa31361bfbd3766bb6074d41
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4483695
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Colin Blundell <blundell@chromium.org>
|
|
c3ae9ac5
|
2023-03-30T19:58:18
|
|
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>
|
|
1904410a
|
2023-04-26T19:37:04
|
|
Vulkan: Add missing ASSERTs to QueueSerial relation operators
Bug: b/255414841
Change-Id: I46203a6f51bd43818cc8c136b47ed4420e7dd184
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4481249
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
2c066db6
|
2023-04-27T07:00:46
|
|
Roll Chromium from 0b6a55056c05 to e055a80240d4 (569 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/0b6a55056c05..e055a80240d4
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 on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/db31cb950c..e20d81d4c4
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/01af4b3ae0..f841f2b2fd
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/3035b481eb..d9db50a004
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/3c6eb3447c..77418c40ae
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/b18da278a7..41123c305e
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..3606cfeb36
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/6e714e6dfe..536c9b9662
* third_party/fuchsia-sdk/sdk: version:12.20230425.2.1..version:12.20230426.3.1
* third_party/r8: iFuVaazPwWVf3lFPwZbgAKcF-mHQhFetogi2J9b5ktYC..i333eZi1faIlPAW0TnIGfOcaq5ZQtOwIsxtneMv7Yd4C
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/1d4b755ca4..13a1a986ee
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/95eb3fc1a0..3ef7ddea54
No update to Clang.
Bug: None
Tbr: ianelliott@google.com
Change-Id: I5b41e6e5b49d99487c3463ddf54e30df4a14d7b9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4483654
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
5c0b4251
|
2023-04-25T19:58:03
|
|
Reland "Tests: Add Gacha Life trace"
This reverts commit 55fbc2c502abc3d4265052eec865864f02cf8095
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>
|
|
f4febc9c
|
2023-04-25T10:16:47
|
|
Vulkan: Remove generic syncval suppression about storage buffers
Bug: angleproject:7125
Change-Id: I3778e82c90f9d546f4e3948894060af0173b7b84
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4471628
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
ec04c40d
|
2023-04-24T23:12:09
|
|
Vulkan: Fix regression not calling mRenderer->notifyDeviceLost
Change:
Vulkan: Fix freeing not completed Secondary Command Buffers.
https://chromium-review.googlesource.com/c/angle/angle/+/4334579
.. accidentally removed `mRenderer->notifyDeviceLost();` line from
`ContextVk::handleDeviceLost()` method. This CL fixes that regression.
Bug: angleproject:6100
Change-Id: Iba3c9df71399821ac1b05109e873abfe5dc02bad
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4470307
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c7905f0a
|
2023-04-25T19:55:06
|
|
Scripts: Update setup for restricted_trace_perf
Bug: b/276474703
Change-Id: I99a6ef212f6584ecace786da2587a8d2ae34eaa0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4477658
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
8b97c8d3
|
2023-03-31T15:54:40
|
|
Implement build option for load-time GlobalMutex allocation.
Performance difference on S906B for 1000'000 `eglGetError()` calls.
Before: 26.5 ms
After: 23.8 ms
(Assuming `angle::FastMutex2` is used).
Potentially can be enabled for other platforms.
Bug: angleproject:8101
Change-Id: Ic2037edaae6da82dbded71288bae250d7981e7d3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4386408
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
45dd1324
|
2023-04-26T10:01:11
|
|
Roll SwiftShader from 23e97b79fb91 to 3076b4c0d8ce (3 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/23e97b79fb91..3076b4c0d8ce
2023-04-25 natsu@google.com Add back arm files to only arm targets
2023-04-25 natsu@google.com Split LLVM16 srcs based on target.
2023-04-25 natsu@google.com Fix "multiple rules generate <>.o"
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: I8d688df1b746e9dfe32ea5c459af2b95ef6732ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4477643
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
d5d5b443
|
2023-04-26T08:12:18
|
|
Roll Chromium from f0378c0e540a to 0b6a55056c05 (687 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/f0378c0e540a..0b6a55056c05
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 on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/a9d28a095c..db31cb950c
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/539a6f6873..01af4b3ae0
* buildtools/third_party/libc++/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/bff81b702f..0e4617cf8c
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/ee4801b4e9..3035b481eb
* third_party/android_build_tools/lint: 667xWoGhzEgkSGU0T6WsZwwXOg1PTUw0b1yjbLunR6kC..ZSkxAL8_7h9oDrnzrXhEq5YeRe4P5Y1qh1eQY0iWtCsC
* third_party/android_build_tools/manifest_merger: 1g5VzjyIYFR1uY6iwEOLv8aZp-OQJQc5W2U-dPyg97IC..ys365zMawyT4G5W5lx5QYlkBTYDr8GUdTF1kPeF3pkYC
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/f3aabc07ce..b18da278a7
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..8efa1a98a1
* third_party/fuchsia-sdk/sdk: version:12.20230424.2.1..version:12.20230425.2.1
* third_party/r8: EasU4gRQz5fwXjPOM82KyQOTpv6FGp_Q7wUg1l94iHYC..iFuVaazPwWVf3lFPwZbgAKcF-mHQhFetogi2J9b5ktYC
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/30d20734f5..1d4b755ca4
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/51cccb966c..95eb3fc1a0
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/b86965a405..ef5b7b39ff
No update to Clang.
Bug: None
Tbr: ianelliott@google.com
Change-Id: I692fe5b22539f6ba31d8b2639bcd493ea5bf6686
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4477721
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
d37c97d1
|
2023-04-17T00:00:00
|
|
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>
|
|
b5fa8728
|
2023-04-20T14:59:28
|
|
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>
|
|
35461e60
|
2023-04-12T20:02:08
|
|
Android: Build traces outside of APK
Our trace list has gotten too large for a single APK (2GB).
To continue supporting compiled traces, we can now place the
libraries in the test application's home directory, which
is discoverable and executable without root.
To build and run with all traces, use `angle_trace_perf_tests`
as your build target, then use the local Android helper script:
$ autoninja -C out/<config> angle_trace_perf_tests
$ (cd out/<config>; ../../src/tests/run_angle_android_test.py \
angle_trace_tests --filter='*among_us' \
--verbose --local-output --verbose-logging \
--fixed-test-time-with-warmup 10)
To continue using bundled libraries, specify your trace list in
GN args using `angle_restricted_traces` and use steps that
match other platforms:
$ autoninja -C out/<config> angle_trace_tests
$ out/Android/angle_trace_tests --gtest_filter='*among_us*' \
--verbose --local-output --verbose-logging \
--fixed-test-time-with-warmup 10
Bug: b/276474703
Change-Id: I3829cf7016e21894eee8890e2b0d527e8214f04e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4420279
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
e27759f9
|
2023-04-20T00:00:00
|
|
D3D11: Ignore sample mask and A2C for single-sampled rendering
Also fixed alpha-to-coverage for single-sampled
rendering and simplified sample coverage code
in the Vulkan backend.
Fixed: angleproject:8102
Change-Id: Ieea03dfdc13c6105ddf916dca6d0fea593eb3a62
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4455508
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
13935469
|
2023-04-25T09:58:42
|
|
Vulkan: Fix access mask of generateMipmap's blit
Bug: angleproject:8143
Bug: angleproject:7125
Change-Id: I6e5b6cd1f445c2c41d4b78aeb368e30cc4c5354b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4475444
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
a2fceac2
|
2023-04-17T12:55:34
|
|
Prefer Metal over CGL for querying device registry IDs.
This avoids loading the OpenGL framework when it will not be used.
The Metal framework is already loaded unconditionally.
Bug: chromium:1433697
Change-Id: I171f842f2245d974eb6798880a7fbaf336edecfc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4434709
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
b494691d
|
2023-04-20T00:00:00
|
|
GL: Enable NV_shader_noperspective_interpolation on ES
Although the extension requires ESSL 3.00,
some drivers support it only in ESSL 3.10.
Fixed: angleproject:4542
Change-Id: I2c50b521056f485a5986942ea882780b327844a9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4455507
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
|
|
5c9821fd
|
2023-04-21T00:00:00
|
|
GL: Fix readPixels for snorm color buffers
Bug: angleproject:8048
Change-Id: Ie4f6c5abb6d53c195f4bf460f179ae24fffd0102
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4464157
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
f1b8a29a
|
2023-04-21T14:37:23
|
|
D3D11: Fix instanced vertex streaming data copies.
Fix the other usage of ComputeVertexBindingElementCount in the D3D11
vertex streaming code. It is possible to try to copy too much source
data due to incorrect instanced count calculations.
Bug: chromium:1425606, chromium:1433180
Change-Id: Ie393b1c0b1291cf2b5087341c9fba8c98343d7bf
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4459152
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
1acc6d40
|
2023-04-21T17:03:49
|
|
Vulkan: Use Android TLS for *valid* global context
... instead of just global context. This means that the majority of
calls which call GetValidGlobalContext() will be faster (because they
don't need to check for context loss).
Bug: angleproject:8135
Change-Id: Ia91f8fadb5799088542c58d417f31c3e5028b3e0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4454769
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
7ec05fb8
|
2023-04-25T11:03:35
|
|
Roll SwiftShader from dd55e592406d to 23e97b79fb91 (2 revisions)
https://swiftshader.googlesource.com/SwiftShader.git/+log/dd55e592406d..23e97b79fb91
2023-04-25 bclayton@google.com Fix offsets when texture sampling /
fetching
2023-04-24 jif@google.com [LLVM16] Fix crash when findLSB is called with
0.
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: I489f185b82bad1c8358e5b6e855e50e0f37058ac
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4472453
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
97c2cbd6
|
2023-04-25T08:51:16
|
|
Roll Chromium from c7304c21065f to f0378c0e540a (682 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/c7304c21065f..f0378c0e540a
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 on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/61c4b10212..a9d28a095c
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/f882a7628e..ee4801b4e9
* third_party/android_sdk: https://chromium.googlesource.com/chromium/src/third_party/android_sdk/+log/2f8d9cdc42..5353fa6142
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..cae7ec667d
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/b5cec8c867..6e714e6dfe
* third_party/fuchsia-sdk/sdk: version:12.20230424.0.1..version:12.20230424.2.1
* third_party/kotlin_stdlib: gizyEP29NQpAimwviO2pgSrqvx0YgAvSUNc5V6hvfroC..5vxa94PP6aaNePK9IF8ZwAYbDA-08mk4nkPED5CMbFoC
* third_party/r8: mu27kPnuYTyTcrYhwSspdFJzOk80SoL06gL4moSrRX0C..EasU4gRQz5fwXjPOM82KyQOTpv6FGp_Q7wUg1l94iHYC
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/55676aed71..30d20734f5
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/f48e5b5d4d..51cccb966c
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/ea27dcced9..b86965a405
No update to Clang.
Bug: None
Tbr: ianelliott@google.com
Change-Id: I34255b77bc60f9f4851aacb7d0befa2b7bae3463
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4472952
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
f8b182b5
|
2023-04-25T04:45:39
|
|
Remove ANGLE code comments related to base::clamp
We are recently converting base::clamp to std::clamp, and the original
code comments related to base::clamp can be removed.
Bug: angleproject:8140, chromium:1231569, chromium:1373621
Change-Id: Iae5f9e816ef1c531d728a35079d6110d1a9dad2f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4469309
Auto-Submit: Ho Cheung <uioptt24@gmail.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
25d57e41
|
2023-04-24T18:46:16
|
|
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>
|
|
b22124bd
|
2023-01-17T17:44:06
|
|
Implement new "Global Mutex" functionality.
This CL improves performance compared to the existing code as well as
allows using non-std mutex implementations. Also acts as a base for
future changes.
CL adds new build option:
angle_enable_global_mutex_recursion = is_android && angle_enable_vulkan
"mutex_recursion" work same way as `std::recursive_mutex` before. It
will help in situations when Vulkan API may return back to the ANGLE.
For example: RenderDoc layer EGL deadlock.
Automatic loading of "libVkLayer_GLES_RenderDoc.so" layer causes
deadlock in EGL.
Recursion stack:
#01 pc 000000000029ea80 /vendor/lib64/egl/libGLESv2_angle.so (egl::GlobalMutexHelper::lock(int)+596)
#02 pc 000000000029c59c /vendor/lib64/egl/libGLESv2_angle.so (EGL_GetError+32)
#04 pc 0000000000062368 /system/lib64/libEGL.so (eglQueryString+20)
#05 pc 0000000000508fec /data/local/debug/vulkan/libVkLayer_GLES_RenderDoc.so
#20 pc 0000000000016690 /system/lib64/libvulkan.so (vulkan::api::EnumerateInstanceLayerProperties(unsigned int*, VkLayerProperties*)+40)
#21 pc 00000000005aa030 /vendor/lib64/egl/libGLESv2_angle.so (rx::RendererVk::initialize(rx::DisplayVk*, egl::Display*, char const*, char const*)+292)
#26 pc 000000000029c7e8 /vendor/lib64/egl/libGLESv2_angle.so (EGL_Initialize+192)
Additionally, recursive mutex will partially solve Android
SurfaceTexture deadlock (angleproject:4354).
Some performance numbers for 1000'000 `eglGetError()` calls.
Mutex Time (ms.)
Android S906B
egl::GetGlobalMutex()(std::recursive_mutex) 41.4
(Default) GlobalMutex (std::recursive_mutex) 39.1
(Recursive) GlobalMutex (std::mutex) 34.9
(Debug) GlobalMutex (std::mutex) 34.7
(Default) GlobalMutex (std::mutex) 34.4
Windows
egl::GetGlobalMutex()(std::recursive_mutex) 20.5
(Default) GlobalMutex (std::recursive_mutex) 20.0
(Recursive) GlobalMutex (std::mutex) 21.9
(Debug) GlobalMutex (std::mutex) 20.5
(Default) GlobalMutex (std::mutex) 19.9
Note: Recursive GlobalMutex enabled only for Android Vulkan by default.
Original fix:
https://chromium-review.googlesource.com/c/angle/angle/+/2029218
Bug: angleproject:8101
Bug: angleproject:4354
Test: angle_unittests --gtest_filter=GlobalMutexTest.*
Change-Id: I9e9d9b5c598ad1177ffa147ea690bd955946a712
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4401940
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
22b51592
|
2023-04-04T20:52:25
|
|
Implement fast GetCurrentThreadId() function.
This function is 7-8x faster than GetCurrentThreadUniqueId() on Android.
This CL is required for future CLs related with Global and Context
mutexes.
Test: angle_unittests --gtest_filter=SystemUtils.GetCurrentThreadId
Bug: angleproject:8101
Change-Id: I4023b83510708ce242f4863b5cb12c6eef15e0a1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4401939
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
e2baaff8
|
2023-04-06T00:11:23
|
|
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>
|
|
d6d7e551
|
2023-04-24T14:42:06
|
|
[ContextEGL] Check for default FBO being null in onUnmakeCurrent
https://chromium-review.googlesource.com/c/angle/angle/+/4451908
added restoring of the default FBO ID when making external contexts
un-current. However, it turns out that onUnmakeCurrent() will be called
during destruction even if it was previously called without an
intervening makeCurrent() call [1], with the first call having un-set
the default FBO [2]. Hence, we need to check for whether the default
FBO exists in this flow to avoid crashes [3].
[1] https://source.chromium.org/chromium/chromium/src/+/main:third_party/angle/src/libANGLE/Context.cpp;l=766-787?q=Context.cpp&ss=chromium
[2] https://source.chromium.org/chromium/chromium/src/+/refs/heads/main:third_party/angle/src/libANGLE/Context.cpp;l=931;drc=a61b95c63b0b75c1cfe872d9c8cdf927c226046e;bpv=1;bpt=1
[3] https://crash.corp.google.com/browse?q=product_name%3D%22AndroidWebView%22+AND+EXISTS+%28SELECT+1+FROM+UNNEST%28expanded_custom_data.ChromeCrashProto.experiments.ids%29+expanded_custom_data_ChromeCrashProto_experiments_ids+WHERE+expanded_custom_data_ChromeCrashProto_experiments_ids%3D%2741e765a5-991da97%27%29+AND+product.Version%3D%27114.0.5730.0%27+AND+expanded_custom_data.ChromeCrashProto.magic_signature_1.name%3D%27rx%3A%3AContextEGL%3A%3AonUnMakeCurrent%27+AND+EXISTS+%28SELECT+1+FROM+UNNEST%28CrashedStackTrace.StackFrame%29+WHERE+FunctionName%3D%27rx%3A%3AContextEGL%3A%3AonUnMakeCurrent%28gl%3A%3AContext+const*%29%27%29+AND+EXISTS+%28SELECT+1+FROM+UNNEST%28CrashedStackTrace.StackFrame%29+WHERE+FunctionName%3D%27rx%3A%3AContextEGL%3A%3AonUnMakeCurrent%28gl%3A%3AContext+const*%29%27%29&stbtiq=&reportid=&index=0
Bug: chromium:1434315, chromium:1436354
Change-Id: I676dad65dc249e87ee0cae169ba93f605f776341
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4467147
Auto-Submit: Colin Blundell <blundell@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
84122b1d
|
2023-04-24T10:39:45
|
|
Roll VK-GL-CTS from b1e5b9348e77 to e3b9db9ad121 (11 revisions)
https://chromium.googlesource.com/external/github.com/KhronosGroup/VK-GL-CTS.git/+log/b1e5b9348e77..e3b9db9ad121
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>
|
|
d8756057
|
2023-04-24T10:01:47
|
|
Roll vulkan-deps from bfd1e43ef9d6 to 4b61bdad813f (12 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/bfd1e43ef9d6..4b61bdad813f
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/b8955549ef..9c7fd1a33e
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/4be91725ab..07d1854c67
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/db7475424c..df10a2759b
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/c827791afe..86e3809a9d
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: I860688641eace7982c7f5d1aaf57df5cb09fb30b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4464507
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
c59739b1
|
2023-04-24T07:01:59
|
|
Roll Chromium from 45a2890ceb31 to c7304c21065f (778 revisions)
https://chromium.googlesource.com/chromium/src.git/+log/45a2890ceb31..c7304c21065f
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: https://chromium.googlesource.com/chromium/src/build.git/+log/f78fc195a7..61c4b10212
* buildtools: https://chromium.googlesource.com/chromium/src/buildtools.git/+log/8d06fc2ffa..539a6f6873
* buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi.git/+log/a64df6cce2..307bd16360
* buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind.git/+log/665c2e5429..2795322d57
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/da88a644b4..f882a7628e
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/{catapult_..1aa5adbafb
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/dec6fddc86..b5cec8c867
* third_party/fuchsia-sdk/sdk: version:12.20230420.3.1..version:12.20230424.0.1
* third_party/r8: lCPwGCprok6_HL-cm8IStyKRbdF6wcFvXg74WOk3mmcC..mu27kPnuYTyTcrYhwSspdFJzOk80SoL06gL4moSrRX0C
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/a443ff055e..55676aed71
* tools/luci-go: git_revision:56489f37e8efab64d8b92670e35c1122634b9cae..git_revision:e91834850a06011c64eb9a24f317371194bde3de
* tools/luci-go: git_revision:56489f37e8efab64d8b92670e35c1122634b9cae..git_revision:e91834850a06011c64eb9a24f317371194bde3de
* tools/mb: https://chromium.googlesource.com/chromium/src/tools/mb/+log/f070c27160..f48e5b5d4d
* tools/perf: https://chromium.googlesource.com/chromium/src/tools/perf/+log/6b71dfeacb..ea27dcced9
No update to Clang.
Bug: None
Tbr: jonahr@google.com
Change-Id: Ic1668837feb6dc986c151930777aaf5f1ebc726f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4464765
Bot-Commit: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: angle-autoroll <angle-autoroll@skia-public.iam.gserviceaccount.com>
|
|
b58ef53a
|
2023-04-14T14:27:12
|
|
Vulkan: Add size limit for VMA image suballocation
* Added kImageSizeThresholdForDedicatedMemoryAllocation, currently set
to 4MB. Any image larger than this will have its own dedicated device
memory handle via the following flag:
* VMA_ALLOCATION_CREATE_DEDICATED_MEMORY_BIT
Bug: b/218891184
Change-Id: I00318188bf929cf6949d441e5048e9e9640fe5ca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4428536
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3ec55617
|
2023-04-20T08:36:24
|
|
[StateManagerGL] Add asserts to each mFunctions->get*() call
Will enable pinpointing where the assert that is going off in
crbug.com/1434317 is coming from. Can revert if desired once we have
needed info.
Note: All of these gets are called only from syncFromNativeContext()
or functions that are called by that function, so adding these asserts
shouldn't result in any new crashes beyond those that would already be
generated via the assert at the end of syncFromNativeContext().
Bug: chromium:1434317
Change-Id: I3dfa12f631bfbbb567d6043cc467d0ddfa8911e5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4451907
Auto-Submit: Colin Blundell <blundell@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
cf91a5e6
|
2023-04-20T09:07:41
|
|
[ContextEGL] Restore default FBO ID in onUnmakeCurrent()
When making an external context current, ContextEGL sets the default FBO
ID to that bound by the external context. However, we don't currently
restore it to its previous value (expected to be 0) in
onUnmakeCurrent(). Aside from being generally problematic, this
specifically causes an assert to go off when later destroying this
framebuffer (see the linked bug).
This CL adds this restoration. This should be sufficient to resolve the
linked bug, as we don't expect ANGLE to process destruction of an
external context while it is current due to the GL spec [1].
[1] https://bugs.chromium.org/p/chromium/issues/detail?id=1434315#c6
Bug: chromium:1434315
Change-Id: I6da1880aea4c5245f1506ccc22f92370babd1917
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4451908
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Colin Blundell <blundell@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
613adfe5
|
2023-04-20T14:58:10
|
|
Enable CRC for pipeline cache
* Enabled CRC for the pipeline cache to see if the flakiness occurs
again.
Bug: b/246683126
Change-Id: Ia0de3f151823fb47be769bd1cf6a7e7ef9a8b578
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4455551
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
db33a246
|
2023-04-21T13:17:07
|
|
Remove obsolete VUID suppression
Renamed in
https://github.com/KhronosGroup/Vulkan-ValidationLayers/pull/5645
Bug: angleproject:8119
Change-Id: I578ee8cf538112f974ac0a3a7b80d37947993f5b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4459181
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
2ce6d8df
|
2023-04-20T17:16:00
|
|
TextureVk calls onStateChange when releasing buffer views
TextureVk::setBuffer releases buffer views and they don't get
initialized unless a dirty bit is set. That works on the first draw call
because Texture::Texture() sets DIRTY_BIT_IMPLEMENTATION in constructor,
but when called twice mBufferViews remains unitialized causing
mBufferViews.getView() misbehavior.
Fix this by calling onStateChange when buffer views are released.
As mBufferViews is only initialized conditionally for texture buffers,
add a bool for tracking whether it is in the initialized state to avoid
marking texture as dirty unnecessarily.
Note that this isn't handled by signalDirtyStorage() inside
Texture::setBufferRange because (in this test case?) there are no
observers on Texture so onStateChange called from Texture is a no-op.
Texture however observes its TextureVk implementation so onStateChange
calls from TextureVk end up setting the dirty bit in
Texture::onSubjectStateChange.
Bug: b/278585075
Change-Id: I2b83160cdd89a086ed81e8412cd64d0aad930911
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4457147
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|