|
1db80b88
|
2024-07-10T12:47:42
|
|
Reland "Vulkan: Use VK_KHR_dynamic_rendering[_local_read]"
This is a reland of commit c379ff48043a47e444c388c45270db40d3172d50
Original change's description:
> Vulkan: Use VK_KHR_dynamic_rendering[_local_read]
>
> Bug: angleproject:42267038
> Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:42267038
Change-Id: I083e6963b5421386695e49a9872edbb2016c9763
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691342
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
df90bbc5
|
2024-07-12T18:04:53
|
|
Refactoring: move angle::HashMap and HashSet to own header
Underlying abseil includes pull in a large set of headers
Bug: angleproject:42266508
Change-Id: Icee47143a8a59bb0795a054b67c0aa4ddcfca4d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5704137
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7d461b21
|
2024-07-10T14:11:53
|
|
Revert "Vulkan: Use VK_KHR_dynamic_rendering[_local_read]"
This reverts commit c379ff48043a47e444c388c45270db40d3172d50.
Reason for revert: Regresses CPU perf and memory when _not_ using DR
Original change's description:
> Vulkan: Use VK_KHR_dynamic_rendering[_local_read]
>
> Bug: angleproject:42267038
> Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155
> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
> Reviewed-by: Charlie Lao <cclao@google.com>
Bug: angleproject:42267038
Change-Id: I3865f0d86813f0eeb9085a92875a33bd449b907f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691337
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c379ff48
|
2024-06-10T22:01:57
|
|
Vulkan: Use VK_KHR_dynamic_rendering[_local_read]
Bug: angleproject:42267038
Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
58dc069c
|
2024-07-04T00:00:00
|
|
Rename 16-bit EXPECT_PIXEL test helpers
Do not use UI suffix as the format is normalized.
Bug: None
Change-Id: Ib635397f2cdec02806c2c31484820b9b6964a066
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5680605
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
85e2e6a9
|
2024-05-08T12:31:37
|
|
WebGPU: Add Window and Pbuffer surfaces.
Bug: angleproject:342213844
Change-Id: I58465bdf895b4bab63ec3c74e326c6be4827bf60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5525974
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
0c5b327a
|
2024-06-18T13:48:06
|
|
Extend advanced blend tests to cover core and KHR
* Added AdvancedBlendTestES32.
* (AdvancedBlendTest will now use ES 3.1 with the KHR extension.)
* Currently disabled on Intel (Windows and Linux)
* (ES 3.2 is expected to include advanced blend equations.)
Bug: angleproject:42262258
Change-Id: I691786c2b54ae6c1efa02299667978ddbc526819
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5640674
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
3f572905
|
2024-06-19T17:46:38
|
|
Add basic begin/end support for perf counters
The AMD_performance_monitor extension has explicit begin/end calls to
capture counters. This was not implemented in ANGLE and the tests were
relying on ANGLE always capturing counters (incurring a small overhead).
This change does not complete the implementation of that extension, but
does add basic support for starting and stopping perf counter
measurements. While inactive, most counters are not updated.
Bug: angleproject:42267038
Change-Id: I3ff6448b22ca247c217401cb2d76ef4142c9d759
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5639343
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
92148c2c
|
2024-06-17T11:13:46
|
|
GL: Implement GL_EXT_clear_texture.
This extension is useful because it allows clearing textures without
changing the framebuffer. Chrome uses this on Android when it's
available.
Bug: angleproject:347047859
Change-Id: I765d9991c4549b3655446d9f51847d1095792dbd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5631810
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
ba341ef8
|
2024-06-18T13:21:42
|
|
Add Revision: fields to third parties
Bug: chromium:347134201
Bug: chromium:347135533
Bug: chromium:347136084
Bug: chromium:347136140
Bug: chromium:347861251
Bug: chromium:347862586
Change-Id: I82794c4868b92bb747f376d7da93701589f6d144
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5639873
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
d193d51b
|
2024-06-17T22:46:08
|
|
Replace issue ids post migration to new issue tracker
This change replaces anglebug.com/NNNN links.
Bug: None
Change-Id: I8ac3aec8d2a8a844b3d7b99fc0a6b2be8da31761
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637912
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
544b108a
|
2024-06-07T16:26:29
|
|
Add unit tests for geometry shader OES and ES32
* GeometryShaderTest is now the base for ~ES32.
* Added "Core" to APIExtensionVersion.
* Added unit test for compiling and attaching a geometry shader for the
OES version and core ES 3.2.
Bug: angleproject:42262233
Change-Id: I035a2dddfe5e91d8ba4426c6d10e76cf2a32b1b7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5610272
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
3a3b55f7
|
2024-06-07T16:26:05
|
|
Tests: Disable modern_combat_5 on Pixel 6 + Android 13
Test uses an engine we haven't tested before and is triggering
thermal throttling crashes only on Pixel 6 with Android 13(T).
Throttling code improved by the Android 14(U) release.
Test: angle_trace_tests --gtest_filter="*modern_combat_5*"
Bug: b/42267261
Change-Id: Iffaf5c4d25e928c4914c2d7ec3223141929a961a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5609832
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
72c94302
|
2024-06-04T17:24:24
|
|
Vulkan: Enable OES_copy_image
Based on the spec, OES_copy_image is functionally identical to
EXT_copy_image. In addition, they have both been implemented.
However, OES_copy_image remained disabled before this change.
* Enabled copyImageOES in vk_caps_utils.
* Updated the validation for glCopyImageSubDataOES() so it will
check for OES_copy_image instead of EXT_copy_image.
* Added the enum class APIExtensionVersion to simplify testing
multiple versions of the same API (e.g., EXT, OES)
* Added tests using CopyImageSubDataOES().
* Turned the repeated test code into functions:
* testCopyImage()
* testCopyImageDepthStencil()
Bug: b/345013929
Change-Id: Ica36882630dac98775626699a170bffe9404273c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5597736
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
71e0038c
|
2024-05-27T14:50:09
|
|
Vulkan: Remove SwiftShader+AsyncCommandQueue tests
The AsyncCommandQueue feature is not shipping anywhere, especially not
with SwiftShader. Besides, the tests already run
Vulkan+AsyncCommandQueue tests. Additionally, SwiftShader still gets
exposure to this feature together with the EnableParallelCompileAndLink
feature.
Bug: angleproject:40644897
Change-Id: I34f0f76ef598f757d3af365777ebb91149b95be3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5574007
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bb6a5724
|
2024-04-29T16:01:47
|
|
Use vendor ID to check QCOM device for tests
* In angle_test_instantiate, IsQualcomm() will now use the vendor ID
as well.
Bug: b/331271522
Change-Id: Ifb26034516a007472fb2a54f34f332e34b46a365
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5499382
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
f8bcfc3f
|
2024-04-04T16:03:32
|
|
Tests: avoid double logging to stderr from WARN()
LoggingAnnotator::logMessage calls both plat->logWarning()
(when plat is not nullptr)
and gl::Trace(), and both log the message to stderr
gl::Trace only logs when trace or asserts are enabled, so exclude that
case from TestPlatform_logWarning.
Bug: None
Change-Id: I1649fcc9046f59cbd8f4cfef6be809d3218eddc9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5426531
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
93da22dd
|
2024-03-22T16:10:51
|
|
use_cxx17=true in arm debug compile
Android rolls currently require C++17,
set ANGLE to C++17 to prevent Android roller breakage
Bug: b/330910097
Change-Id: I94ef05f91a3532a42876e27b296342552aede974
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5387270
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
042b430c
|
2024-03-13T10:45:06
|
|
Support the wgpu backend on Windows
Recurse deps into third_party/dawn will pull in the dxc deps needed to
build on Windows.
MSVC compile is currently broken on the "confirm no-op" step because no
webgpu_dawn.dll.lib is generated.
Bug: angleproject:8473
Change-Id: I7cd2df99dd068a9b7959d9cc8dc697ebd0c42a98
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5366768
Reviewed-by: Matthew Denton <mpdenton@chromium.org>
Reviewed-by: Liza Burakova <liza@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
95294b24
|
2024-02-28T16:11:45
|
|
Android: Add Galaxy S22 support (Xclipse)
Test: angle_tests
Bug: b/267953710
Change-Id: I53ac424bce23a93fe980539f0946c04aeae6e91e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5333957
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
f4d5644c
|
2024-02-16T18:13:18
|
|
Instantiate dawn backend in angle_end2end_tests
Bug: angleproject:8485
Change-Id: I07a5c5c221c6b50b839929a824753a662aa163f5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5286835
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Liza Burakova <liza@chromium.org>
|
|
298abbc1
|
2024-02-16T08:50:43
|
|
Roll Chromium from 29bec8631d2f to 9d4a35b46e1e (1220 revisions)
Amend the roll with http://crrev.com/c/5301614 courtesy agrieve@.
https://chromium.googlesource.com/chromium/src.git/+log/29bec8631d2f..9d4a35b46e1e
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/chromium-angle-autoroll
Please CC angle-team@google.com,geofflang@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in Chromium:
https://bugs.chromium.org/p/chromium/issues/entry
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Changed dependencies
* build: https://chromium.googlesource.com/chromium/src/build.git/+log/2cece96e17..a11ae4664a
* buildtools/linux64: git_revision:a2e2717ea670249a34b0de4b3e54f268d320bdfa..git_revision:8b973aa51d02aa1ab327100007d4070c24b862b0
* buildtools/mac: git_revision:a2e2717ea670249a34b0de4b3e54f268d320bdfa..git_revision:8b973aa51d02aa1ab327100007d4070c24b862b0
* buildtools/win: git_revision:a2e2717ea670249a34b0de4b3e54f268d320bdfa..git_revision:8b973aa51d02aa1ab327100007d4070c24b862b0
* testing: https://chromium.googlesource.com/chromium/src/testing/+log/c37870b5fd..5e8f58ef80
* third_party/abseil-cpp: https://chromium.googlesource.com/chromium/src/third_party/abseil-cpp/+log/d353dfb095..984707e65c
* third_party/android_deps: https://chromium.googlesource.com/chromium/src/third_party/android_deps/+log/f39e9d8c1a..ad0b8e7a0e
* third_party/catapult: https://chromium.googlesource.com/catapult.git/+log/51589f432d..3d6c15240b
* third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools.git/+log/a5a09d23fa..b1b1a43f07
* third_party/fuchsia-sdk/sdk: version:18.20240207.3.1..version:18.20240215.1.1
* third_party/r8: tp4vVuXzmyHJxDFlwxDb7RYZLLEufc3EnGTyOTCTNkgC..f7pPpoVTaC3WoBY5dURVrI-N1_4YZpSYipdiDUeWDAEC
* third_party/siso: git_revision:3cd0e6e55246b8eca6646e33b124e54e67fc5660..git_revision:4bede4f49669d3a8bdaa8dbd01620c3a07ae0c4e
* tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang.git/+log/894ad691c6..47756615f5
No update to Clang.
Bug: angleproject:6081, chromium:324916799
Change-Id: Ib097e6dca9374111632838beab4f0224ff6196fc
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5302166
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
cbdbe3bd
|
2024-01-26T10:05:41
|
|
deqp: Unused test expectations do not cause failure, only log
deqp is the only suite that appears to be handling unused expectations
this way.
This causes an inconvenience where a test cannot be pre-emptively added
to the expectations file. For example, a VK-GL-CTS roll might be adding
a new test that is failing in some configurations. The expectation
cannot be added to the expectations file pre-emptively because of
the failure due to the unused expectation, but that is the more
convenient way to solve this problem than patching the roll manually.
Bug: angleproject:8507
Change-Id: If2ee65d9119043c42e8ca0705a1cc8c40827fae3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5238992
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
536042b6
|
2023-12-20T12:26:00
|
|
vulkan: fix etc2 srgb8_alpha8 alpha decode issue.
for etc2_srgb8_alpha8 format, we should not use
signed alpha decoder.
Bug: b/314875175
Change-Id: I89f7eaf71e31f279da08c83989f8d692a8ba2c81
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5142566
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Hailin Zhang <hailinzhang@google.com>
|
|
16bfe951
|
2023-12-21T10:23:05
|
|
Add README.chromium for llvm and clspv
Bug: angleproject:8369
Change-Id: I20bbb38b45aace848f8002cb49f206d98c2d7aa1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5145927
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
0aaa8de9
|
2023-12-19T23:23:40
|
|
Vulkan: Fix memory tracking vs external texture acquire
... with a layout of GL_NONE.
Bug: angleproject:8464
Change-Id: I94690c5693c5bcb6d510e4a27097206f0da58a41
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5138656
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e9c0241d
|
2023-12-19T10:23:13
|
|
Vulkan: Rely on Vulkan 1.1 entry points in tests
Some KHR entry points that were promoted to Vulkan 1.1 no longer seem to
be loadable with their KHR symbols.
Bug: angleproject:8464
Change-Id: Id5417e5b047e6bd34d144fead518f771c17658e3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5135676
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
ede15b85
|
2023-12-07T00:00:00
|
|
Metal: Run multi draw tests
Added ANGLE_INSTANTIATE_TEST_COMBINE_3.
Used the new macro for multi draw and BVBI tests.
Bug: angleproject:6963
Change-Id: If05800f92f670bf21b7ff889a2fb8bb30f62a488
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5106508
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
bc7af34c
|
2023-12-06T00:15:33
|
|
Use googletest flag macros to access googletest flags.
The implementation details of flags can change; fixing this proactively
makes it easier to roll googletest.
Bug: chromium:1409870
Change-Id: I5efa2487d9e38e122ca20f201748faf8e8050347
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5092928
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Daniel Cheng <dcheng@chromium.org>
|
|
49f8f8a0
|
2023-11-13T10:01:37
|
|
Manual roll vulkan-deps from 448a71c0790c to 855191177ccd (17 revisions)
https://chromium.googlesource.com/vulkan-deps.git/+log/448a71c0790c..855191177ccd
Manual edits:
* Includes compile fixes for vulkan_command_buffer_utils
Changed dependencies:
* glslang: https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang.git/+log/a8d39f97cd..1dcb072cda
* spirv-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/SPIRV-Tools.git/+log/fbf047cc8b..6b1e609ef1
* vulkan-headers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Headers.git/+log/8ccd414a46..af4fb97d7b
* vulkan-loader: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Loader.git/+log/6342790c86..0b31098e53
* vulkan-tools: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Tools.git/+log/322e7b3f08..90e25ec83a
* vulkan-utility-libraries: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-Utility-Libraries.git/+log/5b3147a535..177e2312fa
* vulkan-validation-layers: https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers.git/+log/0eec8db60d..312716a437
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/vulkan-deps-angle-autoroll
Please CC angle-team@google.com,cnorthrop@google.com on the revert to
ensure that a human
is aware of the problem.
To file a bug in ANGLE:
https://bugs.chromium.org/p/angleproject/issues/entry
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Bug: angleproject:8412
Tbr: cnorthrop@google.com
Change-Id: Iddbfda975afd44f100c02a399f9f80b3ba9c7d73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5023272
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
32f209b8
|
2023-11-03T09:57:00
|
|
Vulkan: Fix __samplerExternal2DY2YEXTtnd combined with swizzle
Pixel camera app is hitting assertion due to swizzle applied to swizzle.
This CL adds ReswizzleYUVOpsTraverser::visitSwizzle() method and detects
there is a swizzle on YUV sampler and apply YUV swizzle first and then
original swizzle and then fold two swizzle into one.
This CL added a test to reproduce the bug.
This CL also makes ShCompileOptions in ShaderExtensionTest class a class
member instead of local variable so that subclass can modify for testing
or debugging purpose.
Bug: b/309480316
Change-Id: I72353fbad8dcacd77ca17a9f44e84485f4656a34
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5001614
Reviewed-by: Chris Forbes <chrisforbes@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c38f3374
|
2023-09-15T19:22:44
|
|
Fix "win-asan-test" random failures and timeouts
While exact reason for the failures is unknown, it seems like disabling
Vulkan Loader DLL unloading fixes the problem. More details in the issue
8347.
This CL also sets the variable on the Linux platform, because it does
not hurt and will probably help with similar issues.
Bug: angleproject:8347
Change-Id: I398d55a7c13f1ce6790988983fdf8fee7cc5776c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4868220
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9d99f85f
|
2023-09-14T15:01:14
|
|
Add multithreaded texture upload test
Bug: angleproject:8341
Change-Id: I8561a64fb28681509a1d65c490888dfa1a423835
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4864467
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
b4852ef9
|
2023-02-08T14:18:06
|
|
Vulkan: Drop support for Vulkan 1.0
Bug: angleproject:7959
Change-Id: Ib673679ea1a503af22b37092dbff1ee1fd34fba6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4233092
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
571b4cdb
|
2023-08-14T16:55:28
|
|
Vulkan: Move pipeline/desc-set layout creation to link job
The pipeline and desc-set layout caches are consequently made
thread-safe. The reference counter on the layouts are also made atomic.
With this change, practically all of the link in the Vulkan backend is
moved to the link job.
Bug: angleproject:8297
Change-Id: Iba694ece5fc5510d34cce2c34441ae08ca5bb646
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4774787
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
71c90dfd
|
2023-08-18T21:50:22
|
|
gtest: disable legacy test case API
Remove APIs that upstream has deprecated so we make sure no one uses
them anymore in new tests.
Bug: chromium:1474588
Change-Id: Ic760439ec41131a5bb5a30a59e23b9166c7fd23d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794112
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Mike Frysinger <vapier@chromium.org>
|
|
16cfa28e
|
2023-08-08T22:08:24
|
|
Vulkan: Basic infra for parallel link
This change moves pipeline warm up to a parallelizable task, mostly as
an exercise to put in the infrastructure for parallel link in the Vulkan
backend. Follow up changes will move more of the link step to this
task.
The end goal is to be able to make the link task independent of
ContextVk, which would allow it to be run as an UnlockedTailCall, even
if not using a worker thread.
Bug: angleproject:8297
Change-Id: I17047162b2a41f0d681d9e3ee33f2e0239b4280d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4764231
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
394699d3
|
2023-08-10T10:28:01
|
|
tests: skip SwiftShader tests when building without SwiftShader
If we are building without SwiftShader, we shouldn't be forced to add
a gtest_filter of "-*SwiftShader*" in order to run the various tests.
Bug: angleproject:8291
Change-Id: Ic3513445d5d4bb402535a6f41bba818c0d15fd7a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4769826
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
|
|
f4e901b4
|
2023-08-07T10:52:09
|
|
Validate program binaries are the same CPU bit-ness.
ANGLE's program binary serialize/deserialize logic uses size_t and
other non-fixed sized integer types. This can cause crashes if the
CPU architecture changes between saving and loading of binaries.
Bug: chromium:1470074
Bug: angleproject:8223
Change-Id: Ib2529e0e6e66e28a184aa1ec94075e343e1f1d5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4752265
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
30bd0149
|
2023-08-02T08:06:47
|
|
ANGLETest: fix crashes when switching between GLESDriverTypes
The condition for mLastLoadedDriver was incorrect. We never initialized
it, so it never switched to the correct EGL implementation when
alternating between tests using different GLESDriverTypes.
This was reproducible with:
angle_end2end_tests.exe --gtest_filter="SimpleOperationTest.DrawSingleSampleWithAlphaToCoverage/ES3_D3D11:SimpleOperationTest.DrawSingleSampleWithAlphaToCoverage/ES3_ANGLE_Vulkan_Secondaries_SwiftShader:SimpleOperationTest.DrawSingleMultiSampleWithAlphaToCoverage/ES3_D3D11"
The above does three tests:
- D3D11 test (using GLESDriverType::AngleEGL)
- Vulkan test (using GLESDriverType::AngleVulkanSecondariesEGL)
- D3D11 test (using GLESDriverType::AngleEGL)
What would happen is this:
- the first test would initialize a D3D11 EGLDisplay
- the second test would switch the API entry points to use
AngleVulkanSecondariesEGL
- the third test begins reuses the first test's EGLDisplay, but
fails to notice the GLESDriverType change and uses the
AngleVulkanSecondariesEGL entry points
- when eglQueryString is called with the D3D11 EGLDisplay, the
VulkanSecondaries library has no knowledge of this display and
fails the call
Bug: angleproject:8286
Change-Id: I1f22060e2c5725dad5e410a76385e2802b627844
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4749296
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
|
|
9b63700b
|
2023-07-11T10:25:40
|
|
Translator: Reorganize files
This change makes the translator files more organized by:
- Grouping files that are specific to a certain output under their own
directory,
- Moving transformations under tree_ops
- Removing Direct from metal translation now that that SPIR-V Cross path
is removed
Bug: angleproject:6394
Change-Id: Iaf5bb8d5604b84748dece029821b1f77b2813967
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4678780
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
66c2e4fc
|
2023-07-04T17:02:07
|
|
[ssci] Added Shipped field to READMEs
This CL adds the Shipped field (and may update the
License File field) in Chromium READMEs. Changes were
automatically created, so if you disagree with any of
them (e.g. a package is used only for testing purposes
and is not shipped), comment the suggested change and
why.
See the LSC doc at go/lsc-chrome-metadata.
Bug: b/285450740
Change-Id: I770554248e33c1e50938cc32daee36a83b643ec9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672125
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
113f847b
|
2023-06-26T12:07:52
|
|
centralize basic OS/platform detection functions
We had multiple different places that defined these, and with varying
naming schemes. Centralize them to be defined in platform_helpers.h.
Also renaming the IsApple(uint32_t) functions to IsAppleGPU(uint32_t) to
avoid ambiguous meaning: "IsApple" should mean "is Apple-vended OS"
while "IsAppleGPU" should mean "is Apple GPU vendor ID".
Bug: angleproject:8229
Change-Id: If4e3fc5ac1b5b8ad416663950a1b2ee912ccad99
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4647291
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Steven Noonan <steven@uplinklabs.net>
Auto-Submit: Steven Noonan <steven@uplinklabs.net>
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
21f16cb1
|
2023-06-09T17:30:38
|
|
Disable clang-format on ANGLE features autogen outputs
Updates the script to produce reasonably formatted code without
clang-format.
Autogen files moved to autogen/ sub-directories because clang-format
does not support per-file settings ;(
This allows to run this codegen very quickly
(~50ms on my machine)
Bug: angleproject:8193
Change-Id: Ie84282090d574ebb4debe3edcfd82f983f27a5ff
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4604578
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
02e7f967
|
2023-05-25T14:54:49
|
|
Translator: Remove the "variables" option
Variable collection is invariably enabled by the front-end as well as
other major users of ANGLE such as Firefox. All translator backends
except GLSL force-enable variable collection either way.
This change removes this compile option and enables variable collection
unconditionally.
The flag itself remains in ShCompileOptions until references to it are
removed from Chromium.
Bug: chromium:1447314
Change-Id: I4d3b30c1bfbd345c5ad269abc62c0a6a59de2f56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4568524
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
409bf134
|
2023-05-23T00:00:00
|
|
Metal: Adjust iOS and macCatalyst caps
* Fix swapped iOS and macCatalyst versions for
EXT_blend_func_extended and EXT_depth_clamp
* Always use 13.1 as the lowest macCatalyst version
Bug: angleproject:8121
Bug: angleproject:8047
Bug: angleproject:8015
Change-Id: I1f117de259d211cb8ce2463df59f8fee0e709ef5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4568323
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
b526112d
|
2023-05-12T11:31:06
|
|
Tests: include system EGL configs for ES3.1 and ES3.2 tests
These are enabled with angle_test_enable_system_egl=true
Example:
[ OK ] ProgramPipelineTest32.CreateProgramWithTransformFeedbackVarying/ES3_2_EGL (280 ms)
Bug: b/278585075
Change-Id: Ic991b3bc6fa36a6856b28fcfc7a433ac183a2c4d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4526358
Commit-Queue: Roman Lavrov <romanl@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuly Novikov <ynovikov@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>
|
|
f507fe05
|
2023-04-06T12:27:00
|
|
Rename PLATFORM_IOS to PLATFORM_IOS_FAMILY
The current define ANGLE_PLATFORM_IOS actually means
"iOS or tvOS or WatchOS or MacCatalyst".
The current define ANGLE_PLATFORM_WATCHOS means nothing.
The current define ANGLE_PLATFORM_APPLETV means nothing.
Replace PLATFORM_IOS and its uses with PLATFORM_IOS_FAMILY, so that
then PLATFORM_IOS can be reintroduced and others can be fixed.
Replace PLATFORM_IOS_SIMULATOR and its uses with
PLATFORM_IOS_FAMILY_SIMULATOR for consistency.
Use consistent `#if X` notation instead of `#if defined(X)`.
Bug: angleproject:8121
Change-Id: Ibe668c2ae9bb801d15e036fcf1dfd53f22c30787
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4404161
Reviewed-by: Dan Glastonbury <djg@apple.com>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Commit-Queue: Kimmo Kinnunen <kkinnunen@apple.com>
|
|
b26b01a2
|
2023-03-09T00:00:00
|
|
Implement EXT_render_snorm
Bug: angleproject:8048
Change-Id: Id01beaea9565f8ab374c732fef70ec0ac0d8743e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4334303
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Alexey Knyazev <lexa.knyazev@gmail.com>
|
|
ca2378b7
|
2023-03-08T18:44:58
|
|
Assert that waitForStep steps go in increasing order.
This should make race conditions like the one in
https://crrev.com/c/4321809 much more obvious from the logs and catch
some of the issues when writing or updates tests.
The test that has to be updated here is an example why we probably don't
want to just replace `== step` with `>= step`
Bug: angleproject:8071
Change-Id: I2c740931046bb5a9115474b7d67f76e9a21c30a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4322049
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
e6ac77d9
|
2023-02-27T16:13:29
|
|
Tests: Enable RunLockStepThreads OpenGL/GLES backend support.
Added "EGL_CONTEXT_VIRTUALIZATION_GROUP_ANGLE" attribute if display
has "EGL_ANGLE_context_virtualization" extension enabled.
Bug: angleproject:8032
Change-Id: I482475950b9d8d63891c74fc832cc13d93921e21
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4291436
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Igor Nazarov <i.nazarov@samsung.com>
|
|
bec220f6
|
2022-11-01T22:05:30
|
|
Translator: Fix operand component specifications
Before this change, TIntermConstantUnion::foldUnaryComponentWise always
used the first operand component for some operators. Use the operand
component corresponding to the result component.
Bug: angleproject:7801
Change-Id: I99a941a9eee0c10a4bcb3f515aa5cbf5accc0d52
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3996520
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Auto-Submit: 小田喜陽彦 <akihiko.odaki@gmail.com>
Commit-Queue: Jonah Ryan-Davis <jonahr@google.com>
|
|
968c429e
|
2023-01-04T14:18:11
|
|
Tests: Use ISOLATED_OUTDIR for test artifact directory.
This should fix the missing CAS outputs on the bots.
Bug: angleproject:7926
Change-Id: Id09e5ccc19a454e2c0bf63076788187f3c7ef24f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4135158
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
056f8044
|
2022-10-11T11:58:20
|
|
Perf tests: write metrics to file and read from merge script.
The idea behind is to save metrics in a structured output with
full context so that we don't have to parse stdout and
reconstruct that context (e.g. which test was running when
the output was printed etc).
Note: we already have a "histogram" file (addHistogramSample)
written but it is structured using some UUID-based ids making its
digestion more complicated (https://anglebug.com/7299#c3).
This CL just writes events as one-json-per-line
simplifying downstream handling and debugging.
Just a sanity check / logging in the merge script for now.
Bug: angleproject:7299
Change-Id: I56dada643eceef180ce9bb1aa9ae6a641ea41e4c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3945112
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
4a8bc146
|
2022-12-29T17:26:05
|
|
Skip angle_restricted_trace_gold_tests.car_chase asserts on Pixel 6
Assert failed in setSerial
Bug: angleproject:7916
Change-Id: I05a91cfd29194e29e6c512c9001c064951dcf466
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4127959
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
fe704fb5
|
2022-12-27T18:34:43
|
|
Crash end2end tests when loading driver library fails
Switch from GTests's ASSERT_NE(),
which allowed to continue execution and hid the error from Swarming,
to ANGLE's ASSERT(), which makes bots to report this error.
Bug: angleproject:7885
Change-Id: I7937a9419f3fbfd9f6ab2d696e40771bde763a1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4126355
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
54176f07
|
2022-12-08T15:58:05
|
|
Better support for "vulkan-null" backend in trace tests.
This allows running the "null" Mock ICD with the Vulkan
secondaries version, and allow you to specify "vulkan-null"
as an ANGLE back-end generally.
Bug: angleproject:7852
Change-Id: Id8c59a167345a6079bd71916ae6ef9c41a6039a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4089449
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
|
|
aaee3c23
|
2022-11-30T14:24:13
|
|
Build and test ANGLE with Vulkan secondary CBs.
This will allow us to run tests with both permutations of
ANGLE (custom secondaries & Vulkan secondaries) in the same
build directory. It will also allow us to run these configs
as tests on our infra. This CL adds a few simple test to CI.
Bug: angleproject:6811
Change-Id: I053f8cc5bafc2a7ab7d0665da9301f0ba7f8417f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4067806
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c991eb22
|
2022-12-01T14:05:07
|
|
Move the anglebase folder up a level
This code originates from Chromium's base/ directory so it doesn't have
to be under a third-party folder.
Bug: b/260093525
Change-Id: I0bf6950095c685f36c5c237093980a64cf6e74f0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4068339
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Nicolas Capens <nicolascapens@google.com>
|
|
d8d85253
|
2022-11-15T12:38:05
|
|
Add gFixtures.clear() to ReleaseFixtures
Not necessary as we only call it on termination but if ReleaseFixtures
is called for e.g. eviction testing, it leaves bad state behind.
Bug: b/258723409
Change-Id: I345c9197742f78ec952cacecdc9ba55b518f9f53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4024757
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
f67d1224
|
2022-11-15T10:55:50
|
|
Delete osWindow and eglWindow in ReleaseFixtures
valgrind rightfully reports these as leaks
Bug: b/258723409
Change-Id: I02dbd771c6f7bd9e7df2269c77d8bd95af593044
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4025992
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
d13c14d0
|
2022-11-11T10:32:13
|
|
Crash with a mesage when OSWindow::New returns nullptr
Happens when !IsX11WindowAvailable()
Bug: b/258723409
Change-Id: Ib16f7ffa9c9cd7ca75cb5659ae393b87d1e96326
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4023025
Auto-Submit: Roman Lavrov <romanl@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
a9868110
|
2022-09-15T17:29:04
|
|
Add support for testing with Mesa + Zink.
To run a trace test with zink, use --use-gl=zink.
Bug: angleproject:7689
Change-Id: I70073756f903db1c224fe6175d55be4cad637aca
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3899382
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e495e7fd
|
2022-10-14T13:52:47
|
|
Redo perf and trace test parameters.
- Moves common argument parsing code into test_util.
- Changes the perf test arg parsing to use the common functions.
- Adds new --use-angle and --use-gl parameters to the trace tests.
- Also adds new --offscreen and --vsync parameters to the traces.
- Removes the now unneeded --enable-all-trace-tests argument.
- Both --arg=value and --arg value work in test suites now.
Now, instead of using --enable-all-trace-tests you can specify the
backend with --use-angle=swiftshader, --offscreen, or combinations
of those parameters. The test names are the same as they were
before, but only the configured tests will run in a session. We
could opt to simplify the test names in later CLs if we want to
simplify the test running. Ideally we'd keep the perf reporting
the same because then we'd keep the time series the same on the
test infra.
This also allows us to split up the trace tests into separate
targets on the bots, which will better allow us to control the
workloads and sampling of the tests. For example:
- angle_perftests becomes
- angle_perftests (microbenchmarks)
- angle_trace_perf_vulkan_tests (traces with vulkan back-end)
- angle_trace_perf_native_tests (traces with system GL)
Bug: angleproject:7755
Change-Id: I537168f3a6de96425dfda05ed98220eff9b19b76
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956937
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
5b3781ec
|
2022-10-03T16:09:35
|
|
Remove namespacing from all ANGLE loaders.
This will make it easier to work with pure C files.
Bug: angleproject:7731
Change-Id: I2fe9af486af5f339d973c9149f082eb1f2efa8c4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3925426
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
6f037273
|
2022-09-28T18:46:13
|
|
Make last lines of batch stdout more visible in logs.
So that it looks like this:
https://gist.github.com/romanl-g/dd0d2f7e0eddf16fd802bed97789024c
Bug: angleproject:7708
Change-Id: Ic92a9de6cba24637119ae9041e9126364d414948
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3923459
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
2debd07d
|
2022-09-21T11:40:18
|
|
Automatically query status of features for tests
Now tests can skip based on what features exist, compared to what
features are explicitly asked for. For example, a test suite may
override-enable a (normally disabled) feature that depends on a hardware
capability. With this change, it can be skipped if said hardware
capability doesn't exist.
As a bonus, tests now correctly skip if the feature is overriden through
an environment variable. This change also cleans up
VulkanPerformanceCounterTest tests which did the same for a number of
specific features.
Bug: b/243398683
Change-Id: I84f026e3394eab56fd123e02bee72720c7ed94c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3909789
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
b9df95ff
|
2022-09-06T18:19:32
|
|
Add option to enable System EGL on all test configs
Introduce angle_test_enable_system_egl build option
to enable ES1_EGL, ESL2_EGL and ES3_EGL on all test
instantiation macros. This allows GLES 1.x tests to
run on native drivers.
Test: angle_end2end_tests --gtest_filter="*/ES1_EGL"
Bug: angleproject:6201
Change-Id: I6981eb9e99f0cdbd030319f014a7b371ced7e1e7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812046
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Constantine Shablya <constantine.shablya@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
955adb77
|
2022-08-12T10:14:48
|
|
Cache compiled shader
By storing the compiled shader in the blob cache, the time to
recompile the same shader is reduced.
Based on work by <hckim.kim@samsung.com>
Bug: angleproject:7036
Change-Id: I884ae40e715c49a9ccd12903012e8327811e3557
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3808235
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
87ed2c9d
|
2022-08-11T11:19:17
|
|
TestSuiteTest: Generate more unique result file names.
Speculative fix for flaky runs of TestSuiteTest. Flakes appear to read
the results of other tests suggesting rand is not unique enough to
protect against tests generating the same results file.
Bug: chromium:1352134
Change-Id: Icadf64c557e23e6d87fd18aa60aa48373ecec9fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3827144
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
3d0faa02
|
2022-08-09T16:48:06
|
|
Remove workaround affecting --list-tests --gtest_filter=X.
One of the multiple workarounds added in https://crrev.com/c/3062240.
It makes `--list-tests --gtest_filter=X` behave as if it was just
`--list-tests`. Not sure why this was necessary, bots appear to work
without it?.. Could be something that changed since that CL?
Bug: angleproject:7508
Change-Id: I9988add40ddf3168e00cea2739e5a9209f633161
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3821374
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
6d0452b7
|
2022-08-10T13:34:29
|
|
Fix ANGLE_HAS_HISTOGRAMS following crrev.com/c/3817602
Bug: angleproject:7299
Change-Id: I1d6f97e61dfdbea04009cc08a17344a59e438e51
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3823618
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
dc82ff15
|
2022-08-08T16:06:13
|
|
Add config angle_maybe_has_histograms to angle_perftests_common.
ANGLE_HAS_HISTOGRAMS wasn't consistently defined in compilation targets.
I was working on a prototype and ran into crashes due to an inline
function in TestSuite (where this class is used) getting invalid
offsets in some cases due to this :-O
Shabi:
"""
angle_source_set makes something the equivalent of a temporary .a,
so objects are not recompiled for every target that links to it
"""
Also change ANGLE_HAS_HISTOGRAMS to =1 or =0 as Yuly suggested so that
we can check if it's defined in the header to avoid inconsistency.
Bug: angleproject:7299
Change-Id: I907184a6ca2bc673f5bffc473b584d78625a11c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3817602
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Auto-Submit: Roman Lavrov <romanl@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
6f80f0f0
|
2022-08-06T02:29:19
|
|
Translator: Clean up the compile flag passing interface
Historically, compile flags were sent to the translator as a bitmask.
Recently, we were getting close to running out of bits. Additionally,
direct-to-metal work had started to introduce constants to be passed to
the translator, which were misplaced in ShBuiltInResources and Caps.
Recent work on Pixel Local Storage adds even more constants, aggravating
the situation.
In this change, the interface to passing compile flags is reworked. A
struct is passed (instead of a bitmask) that has one bit for each flag.
This can be indefinitely extended. Additionally, the constants needed
by metal and PLS are also placed in this struct. In turn, the backends
can set these options directly, and don't have to hack them into Caps to
further get hacked into ShBuiltInResources.
Bug: angleproject:7559
Change-Id: If93f1e1b8818ad3a0ac708ab04ab93b4b397d114
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3812562
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
c54ed790
|
2022-07-21T10:38:47
|
|
Get desktop GL conformance tests to build
The target for these tests is angle_deqp_gl_tests.
Bug: angleproject:7533
Change-Id: I290822671d99da020f9a6a1f02bee43987644bf9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3766435
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
448e2275
|
2022-07-21T16:40:59
|
|
(Reland) [Metal] Disable ANGLE's Metal backend on older GPUs.
Disable creation of EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE displays on:
iOS: MTLGPUFamilyApple2 and older (A8 and older GPUs)
macOS and Mac Catalyst: MTLGPUFamilyMac1 and older
This is a partial integration of this recent WebKit fix:
https://bugs.webkit.org/show_bug.cgi?id=242764
Refactored to eliminate duplicate copies of this code between libANGLE
and the test suites.
Changes since initial landing:
- Explicitly link the angle_common static library against
Metal.framework for the definition of MTLCreateSystemDefaultDevice,
which was missing on the iOS Simulator.
Fixed: angleproject:7514
Change-Id: I25028a298f1235db5b717ac6a1999552121d60c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3806252
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Auto-Submit: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
8eaa0ccf
|
2022-08-02T12:03:21
|
|
Revert "[Metal] Disable ANGLE's Metal backend on older GPUs."
This reverts commit cc2095d259222de434af06ce8515f17449a8f66d.
Reason for revert: breaks rolling into Chromium
https://ci.chromium.org/ui/p/chromium/builders/try/ios-simulator/1234241/overview
Original change's description:
> [Metal] Disable ANGLE's Metal backend on older GPUs.
>
> Disable creation of EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE displays on:
> iOS: MTLGPUFamilyApple2 and older (A8 and older GPUs)
> macOS and Mac Catalyst: MTLGPUFamilyMac1 and older
>
> This is a partial integration of this recent WebKit fix:
> https://bugs.webkit.org/show_bug.cgi?id=242764
>
> Refactored to eliminate duplicate copies of this code between libANGLE
> and the test suites.
>
> Fixed: angleproject:7514
> Change-Id: I00dd1096bc8e72516f3f77fffcb7d4a886d6f2e4
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780876
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Commit-Queue: Kenneth Russell <kbr@chromium.org>
Change-Id: If1e78ebc0c8e12a1fa0954d91bdd59fbd734251f
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3804879
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
cc2095d2
|
2022-07-21T16:40:59
|
|
[Metal] Disable ANGLE's Metal backend on older GPUs.
Disable creation of EGL_PLATFORM_ANGLE_TYPE_METAL_ANGLE displays on:
iOS: MTLGPUFamilyApple2 and older (A8 and older GPUs)
macOS and Mac Catalyst: MTLGPUFamilyMac1 and older
This is a partial integration of this recent WebKit fix:
https://bugs.webkit.org/show_bug.cgi?id=242764
Refactored to eliminate duplicate copies of this code between libANGLE
and the test suites.
Fixed: angleproject:7514
Change-Id: I00dd1096bc8e72516f3f77fffcb7d4a886d6f2e4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780876
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Kenneth Russell <kbr@chromium.org>
|
|
08df7ce4
|
2022-07-28T10:59:30
|
|
Test Runner: Disable --bot-mode on Fuchsia.
This flag is a bit hard to get going because of the differences in
the Fuchsia system APIs. Disable it explicitly for now to avoid
issues when we switch bot configs.
Bug: angleproject:7312
Change-Id: I47cd038b198f265a6b60893faf6f50f02be49fda
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3792163
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b8e741d2
|
2022-06-23T13:36:17
|
|
Vulkan: allow selecting render device by PCI device/vendor IDs
The EGL_ANGLE_platform_angle_device_id extension is deliberately vague
about the meaning of "device ID high" and "device ID low", stating it's
platform-specific. We can use these for representing the PCI
device/vendor IDs that can be discovered via various (OS-specific)
external means.
Bug: angleproject:7460
Change-Id: Iff462687749e815fa074ef8ff392b6730ef46fa8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3720733
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b968b6c9
|
2022-07-26T14:34:41
|
|
Test Utils: Get executable path from command line.
This simplifies the process fork test and will allow the test to
work on Fuchsia.
Bug: angleproject:3161
Change-Id: I5bb5424c44957f2faef1970b3cbc5e52b8aff630
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3788297
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Auto-Submit: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
2b43d630
|
2022-07-22T14:19:05
|
|
Remove unused (and incorrect on Android) mTestSuiteName.
On Android it ends up being just: _
Bug: angleproject:7299
Change-Id: I3dabcfcbacc3f43338b6fa91ebd9917e43f783ce
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780587
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
|
|
115d8361
|
2022-07-21T13:59:48
|
|
Switch Linux Intel testing to UHD 630 GPU
Replacing 0x5912 HD 630 with 0x9bc5 UHD 630.
Also updating Mesa from 19.0.2 to 20.0.8.
Since no problems were observed on the new configuration during the
experiment, removing max-processes and flaky-retries workarounds.
Bug: chromium:1342945
Change-Id: I51150092c67802ffd54796dd3b067cd6473dfb86
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3780922
Reviewed-by: Roman Lavrov <romanl@google.com>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
82ff27bf
|
2022-07-08T12:38:41
|
|
Add Metal to the perf tests
Bug: angleproject:7296
Change-Id: I69cd17c464d48b933c51466bf9d21c278438c4e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3753277
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
916a35dd
|
2022-06-28T14:40:53
|
|
Merge getTempPath and CreateTemporaryFile
Also includes moving these two (and some helpers) to
common/system_utils.h
Bug: angleproject:5095
Change-Id: I7d2fcbd27a67dc13215265ac5b5e8391b15a980b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3733519
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Eddie Hatfield <eddiehatfield@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
785353fd
|
2022-05-24T12:40:16
|
|
Support Desktop OpenGL context creation in end2end tests
Validation of Desktop GL versions and profile masks is unimplemented.
Bug: angleproject:7360
Change-Id: Ifae94215b6aada895c2b02318a1d05c9515e9b96
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3664916
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
1ae9756e
|
2022-06-22T17:43:15
|
|
Textures: Centralize texture format emulation check
Refactor in order to use the check in multiple places.
Bug: b/236478448
Change-Id: I6df2e0d63c60fa3e8b2d65185fce164be0e7d961
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3719160
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
89e38b57
|
2022-06-22T15:04:08
|
|
Refactor to use ANGLETest vs ANGLETestWithParam
Bug: angleproject:6747
Change-Id: I72ad52d0268eae0e1a401f12f3e94cc5efa402f2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3719002
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
91976352
|
2022-06-21T15:41:02
|
|
Use C++17 attributes instead of custom macros
Bug: angleproject:6747
Change-Id: Iad6c7cd8a18d028e01da49b647c5d01af11e0522
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3718999
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
9a6ae13e
|
2022-06-17T23:42:15
|
|
Vulkan: Enable prerotation on multisample tests
Bug: b/235877059
Change-Id: I3a8b8483d7b478e36328ac402539df99e62c18b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3708996
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
ca96cba9
|
2022-06-16T11:33:14
|
|
Make ReadEntireFileToString return a std::string.
Note: this makes the method unavailable for export from angle_util,
which is probably why it was designed the way it was in the first
place. However, we import the test utils source file as a static
lib into each test executable and test shared module, so it works.
Bug: angleproject:7404
Change-Id: Ia957268882c2b8529643660d7d4f34d142c0dc43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3708602
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
5f1d0742
|
2022-06-17T13:11:00
|
|
Increase batch timeout with sanitizer
MemoryBarrierBufferOnlyTest got slow recently
Bug: angleproject:7439
Change-Id: I6f24fa9abb9dcc98ebb8c964860a292e89ec1e19
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3711745
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
|
|
f1c21d68
|
2022-06-04T02:26:36
|
|
Add pixel local storage tests for all supported formats
Bug: angleproject:7279
Change-Id: I92728112f243cccf4e4ab2c5f4c096dcc0536fc2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3654266
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
81585fe2
|
2022-06-08T14:37:38
|
|
Use consistent test names with dEQP.
This removes the GTest/dEQP test name distinction.
Using the "RegisterTests" method in GTest we can use the
full dEQP test names. The one limitation is that "-" is
reserved in GoogleTest for exclusion filters, so we need
to do some extra work to sanitize our filters before we
pass them to GoogleTest.
Makes maintaining test expectations easier going forward.
Bug: angleproject:7390
Change-Id: I23893c425ddc934c11fe539b9173ec06c58abcc2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3695518
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
|
|
3dfc8004
|
2022-06-08T14:24:48
|
|
Vulkan: Optimize sync followed by swap
Previously, inserting a sync object immediately caused a submission.
That was done in
https://chromium-review.googlesource.com/c/angle/angle/+/3200274 to be
able to wait until the sync object is signaled without having to wait
for whatever is recorded after it until a flush naturally happens.
Some applications issue a glFenceSync right before eglSwapBuffers. The
submission incurred by glFenceSync disallowed the optimizations that
eglSwapBuffers would have done, leading to performance degradations.
This could have been avoided if glFenceSync was issued right after
eglSwapBuffers, but that's not the case with a number of applications.
In this change, when a fence is inserted:
- For EGL sync objects, a submission is issued regardless
- For GL sync objects, a submission is issued if there is no render pass
open
- For GL sync objects, the submission is deferred if there is an open
render pass. This is done by marking the render pass closed, and
flagging the context as having a deferred flash.
If the context that issued the fence sync issues another draw call, the
render pass is naturally closed and the submission is performed.
If the context that issued the fence sync causes a submission, it would
have a chance to modify the render pass before doing so. For example,
it could apply swapchain optimizations before swapping, or add a resolve
attachment for blit.
If the context that issued the fence sync doesn't cause a submission
before another context tries to access it (get status, wait, etc), the
other context will flush its render pass and cause a submission on its
behalf. This is possible because the deferral of submission is done
only for GL sync objects, and those are only accessible by other
contexts in the same share group.
Bug: angleproject:7379
Change-Id: I3dd1c1bfd575206d730dd9ee2e33ba2254318521
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3695520
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
b9bdc53b
|
2022-06-07T14:50:46
|
|
Make TestEventListener and inner class of TestSuite.
Avoids having to pass dependencies to the class as it's automatically a
friend; external linkage sadly but such is life.
Bug: angleproject:7299
Change-Id: I5726dcab5a1a98b93c0713073cd02d6eb3a8e216
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3693826
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0260255b
|
2022-06-06T15:10:04
|
|
Fix printing of non-standard renderers.
Bug: angleproject:7396
Change-Id: I18cfadbc58b71259efd414cd7ef90a45719f9b1e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3690736
Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4b911686
|
2022-06-06T22:25:37
|
|
Converts from sprintf() to snprintf().
sprintf() is deprecated in Xcode 14, so update to safer equivalents in
order to keep the compiler happy on iOS and macOS.
Bug: chromium:1331345
Change-Id: Id5348088bf69cbd360d9251e6323596cb710666d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3690747
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0b533e64
|
2022-05-30T13:09:17
|
|
Make GLProgram non-copyable.
This will prevent unexpected glDeleteProgram calls from showing up.
Found when working in FramebufferFetchTest.
Bug: angleproject:7375
Change-Id: Id0f01d693a40edd3357a26fe13e7a7e0c1b98dd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3673828
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|