|
268653c9
|
2021-11-25T13:37:58
|
|
Vulkan: Update a test to triger large dirty bit handling
Some traces bind one VBO to a large number of VAOs,and use glBufferData
to change buffer size frequently,this will cause glBufferData spending
a lot of time doing VAO dirty bit handling, which leads to high cpu load
in these traces.This test could triger this issue.
Bug: angleproject:6371
Change-Id: I99292825b8cb5bba58cc6b37e3baa7adcd02c780
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3301536
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
8c634492
|
2021-11-17T11:06:23
|
|
Updates to perf test running script.
- Fixes logging (needed reload)
- Improves logging messages (less spam)
- Reduces time in test calibration & sampling
- Record failures on test errors more robustly
- Redesign the result recording class
Bug: angleproject:6090
Change-Id: I53fd86e9e009bd52ec98507334c69b05e711d83e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3288206
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e9f9fa17
|
2021-11-09T18:13:15
|
|
Add cpu time measurement to perf tests
Bug: angleproject:6667
Change-Id: I16570a7b51d363dd1c0f35789b985520cb76d488
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3270601
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
|
|
27bc56c6
|
2021-11-15T18:18:53
|
|
Vulkan: MAP_UNSYNCHRONIZED_BIT: Skip ghosting/idling
Respect the following spec language:
No GL error is generated if pending operations which source or modify
the buffer overlap the mapped region, but the result of such previous
and any subsequent operations is undefined
Test: cpu time improves in unsync case in perf-tests/MapBufferRange.cpp
Bug: angleproject:6680
Change-Id: I6133952546735aced6e6ee8468ef2ac695316fb6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3272018
Commit-Queue: Lingfeng Yang <lfy@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
316dcb56
|
2021-10-06T09:31:49
|
|
Add SwANGLE Skia Gold testing.
Required updating our system info helper to be able to retrieve
SwiftShader device information.
Bug: angleproject:6496
Change-Id: Ib38ea4da65d199433e17b87df2630c3fd77cb619
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208646
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
0b46ef40
|
2021-11-04T09:30:23
|
|
Vulkan: Start on a MapBufferRange benchmark
We have a lot of apps that use MapBufferRange to upload data. That can
be low performance. Let's have a benchmark for this.
Bug: angleproject:6634
Change-Id: I7e20ad65b89700733c02995a7c56d641e39a43b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3261378
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lingfeng Yang <lfy@google.com>
|
|
45ffabd0
|
2021-11-04T09:45:03
|
|
Skip world_cricket_championship_2 Intel Linux
Timing out.
Bug: angleproject:6657
Change-Id: Ia4b6456adbffd41764ae2bccac6d1cf79f3b4fb6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262032
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
73da1648
|
2021-11-04T09:26:00
|
|
Tests: Skip zillow trace on desktop Vulkan
Bug: angleproject:6658
Change-Id: I0d0152c83930b6a789bd9660ad2f16e9a8e9f80a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262031
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
8aec7f35
|
2021-11-02T22:01:25
|
|
Add World Cricket Championship 2 Trace
Test: angle_perftests --gtest_filter="*world_cricket_championship_2*"
Bug: b/194508692
Change-Id: I0f36eba247b4726bc13b327634c429339ad1297c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258343
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
4a2446c6
|
2021-10-19T11:55:17
|
|
Vulkan: Implement robust shader outputs.
In this CL we change ANGLE to pass the mask of missing shader
outputs down to pipeline creation. We then use the color mask
bits to block SwiftShader writing to unused outputs.
This fixes the undefined behaviour present in Genshin Impact.
Note that the other GLES implementations we tested don't seem
to modify outputs even if they're unused.
It was easier to mask out the color attachments in initialize
rather than set up the pipeline desc to mask out the attachments.
This was because we manipulate the color mask in a fairly complex
way before we initialize the pipeline desc.
Bug: angleproject:6566
Change-Id: Ie659fcd511cd286fa573fd25e3e6a0b9e123ebd6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3232435
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
1dc2b702
|
2021-10-13T16:02:37
|
|
Vulkan: Pass shader module map to init pipelines.
Instead of pulling out the shader modules from the shader map when
we start the call chain, pull them out right in the init call. This
saves a bunch of boilerplate code.
Refactoring change only.
Bug: angleproject:6566
Change-Id: Ib8d79bd7284d7ddb83522270f3d4df9086ab7300
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3221134
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f3d5dac3
|
2021-08-23T17:25:15
|
|
Vulkan: SPIR-V Gen: Drop dependency to glslang
The SPIR-V gen path is now made default. Compilation through glslang is
still supported for debugging, and is enabled on the GLSL* end2end tests
for smoke testing. On release builds, glslang is not supported.
To test with glslang, add the following gn arg (only necessary if dcheck
is disabled):
angle_enable_spirv_gen_through_glslang = true
Then enable the generateSPIRVThroughGlslang feature. This can be done
by setting an environment variable:
ANGLE_FEATURE_OVERRIDES_ENABLED=generateSPIRVThroughGlslang ./angle_deqp_gles2_tests
Binary size saving:
- 1.3MB on Linux (SPIR-V gen itself: 240KB)
- 730KB on Android (SPIR-V gen itself: 140KB)
Perf tests:
- LinkProgramBenchmark.Run/vulkan_compile_single_thread
* Through glslang:
truncated mean: 1287033.36
* Direct SPIR-V Gen:
truncated mean: 244495.91 (~80% reduction)
- LinkProgramBenchmark.Run/vulkan_compile_multi_thread
* Through glslang:
truncated mean: 4565894.83
* Direct SPIR-V Gen:
truncated mean: 1158164.10 (~75% reduction)
Bug: angleproject:4889
Bug: angleproject:6210
Change-Id: I486342702977c8114e90073b97183aba115a8b2d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115140
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
44bef8ae
|
2021-10-08T15:01:37
|
|
Remove traces of Feature Level 9_3 support from tests.
Bug: angleproject:1284
Bug: angleproject:3042
Change-Id: Ic2f77d315e98c3b15c5fc8b0359168bce00867d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213294
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
c0ab6a77
|
2021-10-09T00:38:40
|
|
Skip crashing pokemon_unite trace on Linux Intel
Already skipped on Windows
Bug: b/201900915
Bug: angleproject:6494
Change-Id: I4c586d88bb91ff13700157ee5ca585370e7c7887
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213755
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
da804530
|
2021-10-08T12:52:04
|
|
Capture/Replay: Skip pokemon_unite on Intel+Windows
Test is getting inconsistent results around foliage edges.
Test: angle_perftests --gtest_filter="*pokemon_unite*"
Bug: b/201900915
Bug: angleproject:6494
Bug: angleproject:6548
Change-Id: I06a72bcd2e471613caf1787ee8e5fd6e7f22817d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3214691
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
666fcf38
|
2021-10-08T12:19:15
|
|
Rename functions that overlap with Windows APIs.
Bug: angleproject:6283
Change-Id: Ifcd9ea9e3bf729fd2066178eb9429050b2f10518
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3212894
Reviewed-by: Bruce Dawson <brucedawson@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
fe943910
|
2021-10-02T21:55:34
|
|
Tests: Add Pokemon UNITE trace
Test: angle_perftests --gtest_filter="*pokemon_unite*"
Bug: b/201900915
Bug: angleproject:6494
Change-Id: I37b52a8557f135ca4d7e42eb964f17104d004513
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3201031
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
62414cf8
|
2021-10-06T16:07:03
|
|
Fix GPU-time-tracking in WebGL perf tests
GL_EXT_disjoint_timer_query is not enabled by default in WebGL mode.
This change ensures that extension is enabled.
Bug: angleproject:4794
Change-Id: I1835f7ed2afd7a155ff9b63fad74a066df59ea4f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210626
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
66c89b0f
|
2021-10-06T16:28:42
|
|
Fix and disable MSVC warnings
Needed because some warnings are no longer disabled after
http://crrev.com/c/3189512.
Also includes https://github.com/KhronosGroup/OpenCL-Headers/pull/179,
needed after clang upgrade to llvmorg-14-init-5410-gd0473681
Bug: chromium:1257173
Change-Id: I4f844aa972362c488cb6d37244439e2126f2c1c3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3210629
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
1b669f5d
|
2021-10-05T15:55:58
|
|
Add test names and metric names for BitSetIteratorPerf.
New names are like so:
[ RUN ] BitSetIteratorPerfTest/BitSetArray_96.Run
*RESULT BitSetIteratorPerfTest/BitSetArray_96.wall_time: run= 8609.2511842004 ns
.. etc ...
Bug: angleproject:2244
Change-Id: I461f52a0ee098875544203c618c6b24598281f73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3206257
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
a44197b5
|
2021-09-30T17:21:21
|
|
Tests: Add Mini World Creata Trace
Vulkan test failed on Pixel4XL due to a
vulkan validation layer error
VUID-vkDestroyBuffer-buffer-00922.
As a temp work around,
I add a condition in TracePerfTest.cpp
to skip the vulkan test on Qualcomm GPU
Test: angle_perftests --gtest_filter="*mini_world*"
Bug: b/194508684
Bug: angleproject:6443
Change-Id: I382b9dfc9aafeed92b89223214d8a4aeb75425a7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3195194
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Yuxin Hu <yuxinhu@google.com>
|
|
9994110b
|
2021-09-09T15:29:13
|
|
Tests: Add Nier Reincarnation trace.
Requires EGL_KHR_gl_colorspace and GL_KHR_texture_compression_astc_ldr.
Test: angle_perftests --gtest_filter="*nier_reincarnation*"
Bug: angleproject:6366
Change-Id: Ibb71520762cf9c0a17047324557e70215754bbbb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151818
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
e024635d
|
2021-09-10T13:56:28
|
|
ANGLEPerfTest: Skip tests when missing color space support.
Make tests where a non-linear colorspace was requested on platforms
that do not support EGL_KHR_gl_colorspace non-fatal.
Add a initializeGLWithResult function to GLWindowBase, returning a
new GLWindowResult enum and wrap it in EGLWindow and WGLWindow.
Bug: angleproject:6366
Change-Id: Ib57327c4d988d82064272f229f8ad59287541623
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3151833
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
3e234e24
|
2021-09-17T11:45:01
|
|
PerfTests: Updates to several tests.
Bug: angleproject:6371
Change-Id: If71c79fd363f7463098b571550af6ceb0634c00d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3176440
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
c3e0eafa
|
2021-09-22T13:35:04
|
|
Revert "Perf Tests: Split samples into sub-tests on desktop."
This reverts commit 90c981dafc06d6bc0696749dface1337e37784d2.
Reason for revert: Causing timeouts on perf bots.
Original change's description:
> Perf Tests: Split samples into sub-tests on desktop.
>
> This adds an option to the perf test runner to split each sample of
> each test into a sub-test. The sub-tests then are split among the
> shards like ordinary tests, and distributed across machines. The
> intent is that running on different machines will reduce inter-build
> variance because of differences between test machines.
>
> This sampling change is only added to desktop (Linux/Win) because
> Android device variance seems to be lower.
>
> Bug: angleproject:6090
> Change-Id: I4046a012727baa8a0f2595de2349cc34257691f9
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152752
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Bug: angleproject:6090
Change-Id: I92bffb98999f35274ec31a3b7567d87453feff94
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3174274
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
90c981da
|
2021-09-10T11:04:19
|
|
Perf Tests: Split samples into sub-tests on desktop.
This adds an option to the perf test runner to split each sample of
each test into a sub-test. The sub-tests then are split among the
shards like ordinary tests, and distributed across machines. The
intent is that running on different machines will reduce inter-build
variance because of differences between test machines.
This sampling change is only added to desktop (Linux/Win) because
Android device variance seems to be lower.
Bug: angleproject:6090
Change-Id: I4046a012727baa8a0f2595de2349cc34257691f9
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152752
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|
|
c78ebccd
|
2021-09-09T16:47:26
|
|
Perf: Add _many_tex_draw test
Add a new perf test _many_tex_draw, which draws with 8 textures bound.
The intent of this test is to stress calls like retain() with various
implementations of vk::Resource.
Additionally, this CL updates the textures to use format GL_RGBA, rather
than GL_RGB, to avoid the emulation step that's required due to the lack
of support for the 3 channel format.
Bug: angleproject:5971
Test: DrawCallPerfBenchmark.Run/*_many_tex_draw
Change-Id: Iffb39b76fab68cc2a76dfd2da38db7e77cb4dac0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152171
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
e10a4031
|
2021-09-08T15:57:00
|
|
Vulkan: Add a test to triger large VAO dirty bit handling.
Some traces bind one VBO to a large number of VAOs,this will cause
glBufferData spending a lot of time doing VAO dirty bit handling,which
leads to high cpu load in these traces.This test could triger this
issue.
Bug: angleproject:6371
Change-Id: Iedc6630b497cb0f62ea0129aefc19c717c3ef905
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3147173
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Sunny Sun <sunny.sun@arm.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
247ee1c3
|
2021-09-10T09:38:25
|
|
Perf Tests: Output results in "msBestFitFormat" again.
The histogram bins for "ms" would cause excessive rounding for tests
that run very quickly. For example, 0.0012354 ms would be rounded to
0.001 ms. This would produce very flat graphs that don't accurately
represent the real results.
Bug: angleproject:6090
Change-Id: I9293b2083d7e54dc2663648c361f4883278806ec
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152746
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1a6fd9d0
|
2021-09-09T10:32:26
|
|
Capture/Replay: Remove debug logging
The debug logging is flooding the terminal with the following:
Frame 0: x 0 y 0 (screen x 64, screen y 133)
Frame 1: x 1 y 0 (screen x 74, screen y 133)
Frame 2: x 2 y 0 (screen x 84, screen y 133)
Frame 3: x 3 y 0 (screen x 94, screen y 133)
Frame 4: x 4 y 0 (screen x 104, screen y 133)
Frame 5: x 5 y 0 (screen x 114, screen y 133)
Frame 6: x 0 y 1 (screen x 64, screen y 166)
Frame 7: x 1 y 1 (screen x 74, screen y 166)
Frame 8: x 2 y 1 (screen x 84, screen y 166)
Frame 9: x 3 y 1 (screen x 94, screen y 166)
This drowns out all over log statements, so it's being removed.
Bug: b/186881553
Change-Id: Ib2235a18b56b993f16e7532249c488403383bd65
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3152155
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
e1bc8de3
|
2021-09-08T07:59:37
|
|
Change links from 'master' to 'main' branch.
Bug: chromium:1226949
Change-Id: Ie7b28b2fa094cf0c0a407968d681e580519cbb88
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3148210
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5726158f
|
2021-09-08T13:31:40
|
|
Trace Tests: Fix test data path.
A prior refactor was missing the path separator between the trace
folders. This CL also makes the error more visible by forcing the
test step to fail if there's a missing path. Previously it would
print an error message but silently continue.
Bug: angleproject:5133
Change-Id: I71e7c751662a08d6ff199f0f802310d0ef52ed5e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149572
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f1cbaac7
|
2021-09-08T10:21:40
|
|
Capture/Replay: Disable world_of_kings for Win+Intel
The world_of_kings trace is flaky, particularly on Windows+Intel.
In most instances (every?) it's off by 1:
Left Pixel rgba(32, 105, 119, 255) #206977FF <<--- good
Diff rgba(0, 0, 1, 0)
Right Pixel rgba(32, 105, 118, 255) #206976FF <<--- bad
Bug: angleproject:6372
Bug: b/198101940
Change-Id: I6be7138e050d63df3dd8a189882b64dadfe62740
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149433
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
2f3e4db8
|
2021-09-02T10:31:13
|
|
Capture/Replay: Serialize trace metadata to a JSON file.
This will allow us to remove more code auto-generation for the trace
tests. The trace info now can be loaded directly from JSON instead of
from the autogenerated information.
Bug: angleproject:5133
Change-Id: I04e22b9279b19282df274bc8defcd363d0449111
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140218
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
9874be31
|
2021-09-02T10:25:21
|
|
Trace Tests: Load trace list from JSON file.
Instead of using the auto-generated enum for the trace list, load
directly from restricted_traces.json. This will lead to more CLs
that entirely remove the auto-generated code from the trace tests.
Bug: angleproject:5133
Change-Id: I6515624a2145319d097b43085741cf9c48f1792e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140217
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b6e99bb3
|
2021-09-02T13:47:34
|
|
Rename and expand shader variable init feature.
This feature now forces both output and unitialized locals to be
initialized by the shader translator. This feature is needed by the
trace validator to ensure we get deterministic behaviour in traces
that exhibit some undefined results.
Bug: angleproject:5133
Change-Id: Id1242cd077a57e891eed217f7671976ce1631a58
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3140216
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9c05f55a
|
2021-07-15T10:58:10
|
|
Capture/Replay: Add replay state validation.
We can use this to validate traces that have slight differences
when retracing. The valdation works by embedding the "expected"
JSON into a string at the end of each captured frame. The replay
also embeds a callback which fires right before the swap in the
replay harness. The harness then gets the "actual" JSON and runs
a comparison. On a mismatch it calls "diff" externally.
Currently the diff call is hard-coded to work on Linux only.
Note that when running validation it's important to replay on
SwiftShader since that's what we use to retrace.
Bug: angleproject:5133
Change-Id: Icbf0031d07be8bd916607c537dec235f9a512c43
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3066008
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
3a9df22f
|
2021-08-29T21:05:04
|
|
Tests: Add World of Kings trace
Test: angle_perftests --gtest_filter="*world_of_kings*"
Tbr: timvp@google.com, jmadill@chromium.org
Bug: b/198101940
Bug: angleproject:6339
Change-Id: Id19ebe19d6a3dee3bc7c1c59801e7b9a4dc4fdb2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3127943
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
58bb11ca
|
2021-04-16T12:28:50
|
|
Capture/Replay: Multi-Context Support
Add support for capturing and replaying multiple contexts.
1.) Create and initialize the Contexts in the share group during
SetupReplay().
2.) Track the Context the command stream is for, and if the Context ID
changes, inject an eglMakeCurrent() call to switch to the new Context.
3.) Intercept eglCreateContext() and eglMakeCurrent() to route to either
EGLWindow or WGLWindow, depending on the current platform.
Specifically, this enables capturing and replaying Asphalt 9.
Bug: angleproject:5878
Change-Id: I5bc9b7ece5388ce405ba3f9e9dc3967e78662000
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2830145
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
f7b2ab5c
|
2021-08-25T19:00:44
|
|
Perf tests: Add 3 new skips after updating perf run times.
MultisampledRenderToTexturePerf on P4 and Intel Linux
TextureUploadPerf on Intel Linux
Bug: angleproject:5120
Bug: angleproject:6319
Bug: angleproject:6320
Change-Id: Ia201a4d62e95f82ec42f64abebc4222e31d41e9f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3119058
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
1b2febb9
|
2021-08-23T12:39:16
|
|
Trace Tests: Refactor calibration logic.
Instead of calling glFinish every step we now run a few warmup loops
to try and figure out the right step interval. On each run we refine
the step interval until we reach a number that completes in the
specific time after a single glFinish call. This method will use the
specified test time much more consistenty.
Also a couple other improvements. Will use more test time on the bots
because previously they were using a calibration/warmup time of 1
second per run loop, and this bumps it up to 3 per run loop.
Long explanation below.
What we did before:
step()
glFinish()
step()
glFinish()
.. repeat for "gCalibrationTime" seconds
then take the number of steps, the actual time ran, and compute an
estimate for "mStepsToRun".
When we run for real, we go:
step()
step()
step()
.. repeat for "mStepsToRun" steps.
glFinish()
this has an obvious performance difference, because after each step()
(one frame in a trace) you had a complete stall.
The new code first does the above to compute a tentative mStepsToRun,
then uses the results of the second run to compute a much more accurate
mStepsToRun by using the "actual" time it took to run the estimate.
Bug: angleproject:6090
Change-Id: I0ff19873580e13f2af5a145a21f5b1c59fb15795
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114606
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
d240f104
|
2021-08-23T16:25:20
|
|
Perf Tests: Update histogram units.
Use "ms_smallerIsBetter" instead of "msBestFitFormat". This matches
the requirements of the online docs as well as ensuring the dashboard
knows which way to track the regressions.
https://chromium.googlesource.com/catapult/+/HEAD/docs/histogram-set-json-format.md
Bug: angleproject:6090
Change-Id: I0b234725b55d4abb1dd1e8153e132fdbcbad1c60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115225
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
0e06d2f3
|
2021-08-23T20:18:48
|
|
Tests: Add Scrabble Go trace
Test: angle_perftests --gtest_filter="*scrabble_go*"
Bug: b/197580447
Bug: angleproject:6308
Change-Id: I624c5f201dbadb6b51fe39cbb832da2454c3cb39
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114492
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
13e52124
|
2021-08-23T08:44:13
|
|
ANGLEPerfTest: Fix a couple comment typos.
Bug: angleproject:6090
Change-Id: I2c1a2f4c6b25bb1d4e462bcb20bd788529e255e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3114605
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d2d1f41f
|
2021-08-16T08:05:55
|
|
Add EGL extension to create window with a swap interval set.
On Vulkan this allows creating a window once without needing to
recreate the swapChain after we specify the swap interval.
Also adds a simple regression test and EGL enum assertion
printing formatting.
Bug: angleproject:5133
Change-Id: I72af124cb0e8f7cddfa810988a9862c0f36a0e46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3097806
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e3f2acb9
|
2021-08-18T08:03:26
|
|
Trace Tests: Skip sakura school sim on Win/Intel.
This test seems to produce non-deterministic rendering/flakiness.
Bug: angleproject:6294
Change-Id: I5cb72318c865f21814d114fd13a18dfd44e5db60
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3103506
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
d25c9d7f
|
2021-07-07T12:15:12
|
|
Add perf tests runner script.
This script will be responsible for running the perf tests
multiple times to try and stabilize measurements. We'll use it on
the bots instead of just running the perf tests directly.
Because the script invokes the binary multiple times, this slows
down execution. Most significantly on Android, where we now need
to use 20 shards, up from 6.
Also marks one test as flaky on OpenGL.
Bug: angleproject:6090
Change-Id: I5280035cb0bdb290a68dc6961a384eaf4b40dd4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3011422
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
4a841e6a
|
2021-07-27T13:30:26
|
|
PerfTests: Replay EGL color spaces.
Add EGL_GL_COLORSPACE_KHR to the EGLWindow's surface attributes if
EGL_KHR_gl_colorspace is available.
Require the extension to be available if the color space differs from
the default EGL_COLORSPACE_LINEAR value.
Bug: angleproject:5857
Change-Id: Ib33cbed7d4b115979bd847418cb5cd2b96f4f173
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3056374
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
9da4e52b
|
2021-08-04T09:13:33
|
|
Tests: Add PUBG Mobile battle royale trace
Test: angle_perftests --gtest_filter="*pubg_mobile_battle_royale"
Bug: b/180418573
Bug: angleproject:6087
Bug: angleproject:6240
Change-Id: I722f249a7aafdd52be96f214d56b7cfa650ae778
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3071662
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7c072f7e
|
2021-08-04T09:02:30
|
|
Tests: Add PUBG Mobile skydive trace
Test: angle_perftests --gtest_filter="*pubg_mobile_skydive"
Tbr: jmadill@google.com, timvp@google.com
Bug: b/180418573
Bug: angleproject:6087
Bug: angleproject:6240
Change-Id: Ibcc7a5e84676d7e7e0df3fdad7aada0e23482bf2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3071661
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
61517a16
|
2021-08-02T16:49:32
|
|
Remove extra angle:: uses from ANGLEPestTest.cpp.
Bug: None
Change-Id: I7101398504c547b97b9184c56b252bef5198cecb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3067510
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
2b86e2d6
|
2021-07-19T10:30:57
|
|
GN: Update dcheck/assert conditions.
In preparation for a Chromium change that makes dchecks enabled
by default in Release builds, we'll keep ASSERT disabled in
Release by default. We add a new flag 'angle_assert_always_on'
for controlling ANGLE ASSERT behaviour.
Also slightly refactors the direct SPIR-V generation GN.
Chromium CL: https://crrev.com/c/2893204
Bug: chromium:1225701
Change-Id: I01a6def28d7c21e771e9800889a6b9c274972de2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035447
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
48da1c35
|
2021-07-16T13:24:34
|
|
Vulkan: Prefer the local vulkan loader over the system one.
Load the Vulkan loader ourselves and give vkGetInstanceProcAddr to
volk. This allows us to always prefer loading from the current module
directory instead of using the platform-specific ordering.
Refactor angle::Library loading to use ModuleDir instead of
ApplicationDir.
CL originally authored by Geoff Lang.
Bug: chromium:1219969
Change-Id: I21d1926e90fd66e1c23cea7323991ae55f3d22d4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3035444
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
634d156f
|
2021-07-08T12:42:21
|
|
TracePerfTests: Add ScreenShotFrame option
Allows the user to specify a frame to capture instead
of defaulting to the first one.
Usage: --screenshot-frame <frame>
Bug: angleproject:4615
Change-Id: I000ee17aa9b3019188816aa6203f3266b39155b8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3016356
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
dc2d76cd
|
2021-07-08T10:04:15
|
|
Trace Tests: Clean up mock ICD skip condition.
Bug: angleproject:6090
Change-Id: I943eb35da56a24c5a2c9961eb458b9b6e27ea83a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015515
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
51937ab3
|
2021-06-25T09:10:42
|
|
Re-land "Add SearchType to OpenSharedLibraryWithExtension."
This fixes a bug in SystemInfo_vulkan where we were using the
System search path for the Vulkan loader when we prefer using the
custom ANGLE loader.
Re-land fixes a bug where we would try to load the custom
libVulkan on Android and other platforms where we should be using
the system version.
Bug: chromium:1219969
Change-Id: I34b592fb87cbddfd02c837a17942cac54c85d9d1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3007265
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
f8d5d5ed
|
2021-07-05T21:11:23
|
|
Revert "Add SearchType to OpenSharedLibraryWithExtension."
This reverts commit 18e99f4a2b37468b103da4a56c5b0fff25458062.
Reason for revert: breaks Mac, e.g.
https://ci.chromium.org/ui/p/chromium/builders/ci/mac-arm64-rel-tests/2197/overview
Original change's description:
> Add SearchType to OpenSharedLibraryWithExtension.
>
> This fixes a bug in SystemInfo_vulkan where we were using the
> System search path for the Vulkan loader when we prefer using the
> custom ANGLE loader.
>
> Bug: chromium:1219969
> Change-Id: Iedf0fd11fe9ed8cc020b445ea9e12a7936937361
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988791
> Reviewed-by: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: chromium:1219969, chromium:1225040, chromium:1226675
Change-Id: I7a7e329181b69b0fb546e5245d8842723077126f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3006320
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
1bffabe8
|
2021-06-29T18:13:39
|
|
Fix -Wunreachable-code-aggressive.
Bug: chromium:1066980
Change-Id: I1fa08a40dbf223d60a10681af33ca8a29b12bf8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2991094
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
69c2d820
|
2021-06-29T11:58:41
|
|
Perf Tests: Register trace tests programatically.
Using testing::RegisterTests lets us filter out the disabled configs.
This helps sharding the tests because some shards were getting a very
uneven distribution of real tests vs skipped tests. A couple shards
were running 20 minutes, while most were about 6 minutes. More work
might be needed to even that out.
Bug: angleproject:6090
Change-Id: Ibdf35677cfea86dfc374a2b18bb57cd9f289ddee
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2994726
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5f869b74
|
2021-06-28T18:02:42
|
|
Revert "Vulkan: Load custom Vk Loader."
This reverts commit e6e99c5472d2fe9beaa12840fa4a71191667b9a4.
Reason for revert: Seems to be flaking on linux-clang-rel:
https://ci.chromium.org/ui/p/angle/builders/try/linux-clang-rel/22602/overview
Original change's description:
> Vulkan: Load custom Vk Loader.
>
> Uses a GN copy rule to duplicate the loader. Also updates volk to
> load using the new custom loader. Once both are in place we can
> go back and remove the copy.
>
> Bug: chromium:1219969
> Change-Id: I8c48d168a842539f7cdba1ebfdaf3b08c3e1990d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982499
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
> Reviewed-by: Geoff Lang <geofflang@chromium.org>
> Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
Bug: chromium:1219969
Change-Id: Ib29014e728c1ce63c5e5bf7136ce19de7692964d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2987874
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
e6e99c54
|
2021-06-23T08:25:58
|
|
Vulkan: Load custom Vk Loader.
Uses a GN copy rule to duplicate the loader. Also updates volk to
load using the new custom loader. Once both are in place we can
go back and remove the copy.
Bug: chromium:1219969
Change-Id: I8c48d168a842539f7cdba1ebfdaf3b08c3e1990d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2982499
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Jonah Ryan-Davis <jonahr@google.com>
|
|
18e99f4a
|
2021-06-25T09:10:42
|
|
Add SearchType to OpenSharedLibraryWithExtension.
This fixes a bug in SystemInfo_vulkan where we were using the
System search path for the Vulkan loader when we prefer using the
custom ANGLE loader.
Bug: chromium:1219969
Change-Id: Iedf0fd11fe9ed8cc020b445ea9e12a7936937361
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2988791
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
72d2bd0c
|
2021-06-21T09:59:21
|
|
Allow capturing process stdout and stderr interleaved
The test utils are enhanced to allow redirecting stderr to stdout. This
is in preparation for a change that makes the test runner capture stderr
together with stdout. Currently, on failure logs originating from
UNIMPLEMENTED() and other such macros are not captured.
Bug: angleproject:6077
Change-Id: I7a3c6c4732a59dac3ff0cc20a7835d5ed6f0f22e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2976183
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
7231c705
|
2021-06-07T14:03:45
|
|
Tests: Skip genshin_impact on Intel Linux
Bug: angleproject:6029
Change-Id: I2f25dcedf36d9f341d134baeb9752fb3e3aada6b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2944621
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9193a909
|
2021-05-26T15:07:54
|
|
Tests: Add Genshin Impact trace
Test: angle_perftests --gtest_filter="*genshin_impact*"
Bug: b/181794064
Bug: angleproject:6023
Bug: angleproject:6024
Change-Id: Ic0debb1e284d672b8ab179ac24cd711c9e5d7e9d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2921069
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
3c1b02b5
|
2021-06-01T16:22:47
|
|
Tests: Turn lineage_m on for Nvidia Linux
The test is no longer failing.
Test: angle_perftests --gtest_filter="*lineage_m*"
Bug: angleproject:5748
Change-Id: Ic25471c1628d99b6e305c6b4ce6fa4b1e3558514
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2930820
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
1e832ad6
|
2021-06-01T13:47:53
|
|
Tests: Require cube_map_array for cookie_run_kingdom
Tbr: jmadill@google.com
Bug: angleproject:6018
Change-Id: Ie27b82b4716aaf5164c65e890cd2d6fad3f2b836
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2930817
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
eeeeed39
|
2021-05-31T20:48:29
|
|
Tests: Add Cookie Run: Kingdom trace
Test: angle_perftests --gtest_filter="*cookie_run_kingdom*"
Tbr: jmadill@google.com,timvp@google.com
Bug: b/189788024
Bug: angleproject:6017
Change-Id: I5cd9912d099d1749b5677cf43e25fe73ee38d17c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2927509
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
fad9053f
|
2021-05-20T15:52:38
|
|
infra: Add isolated script tests to Pixel 4.
This includes angle_perftests and angle_restricted_trace_gold_tests.
Bug: angleproject:5941
Change-Id: I6f24d2c2752086ae6f7abba26880070c4a4f0472
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2911034
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
0a086375
|
2021-05-20T13:13:49
|
|
Tests: Skip pokemon_go on Intel Windows Vulkan
Timing out periodically. See the bug for examples.
Bug: angleproject:5994
Change-Id: I717e6c66746a611bb7996c838fa0575b5210aae4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2909759
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
3b97452a
|
2021-05-18T09:29:29
|
|
Tests: Skip pokemon_go on Intel Linux Vulkan
Crashing on teardown.
Bug: angleproject:5989
Change-Id: Ie5560f4e1dee310f5f08a7bca83a0506c20f6920
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2904126
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
848d8ddc
|
2021-05-13T15:52:14
|
|
Tests: Add Pokemon Go trace
Test: angle_perftest --gtest_filter="*pokemon_go*"
Tbr: jmadill@chromium.org,timvp@google.com
Bug: b/188091629
Bug: angleproject:5968
Change-Id: I3f48957a3063fbe5a443c235b6cabf87319b17c1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2895329
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
6f35e366
|
2021-05-12T18:10:20
|
|
TracePerfTests: Don't call framebuffer functions on GLES1.
Skip unbinding the framebuffer on GLES1, where the function does not
exist. This caused a crash when recording screenshots on native GLES1
implementations on Android.
Bug: angleproject:5961
Change-Id: I7a35474154a4a8d56b36df02629944de7660dcd8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2891567
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
8af704bd
|
2021-05-11T11:27:17
|
|
Tests: Add Summoners War trace.
Skip the trace on Windows/Intel since it produces GL_INVALID_ENUM.
Test: angle_perftests --gtest_filter="*summoners_war*"
Bug: b/181870341
Bug: angleproject:5943
Change-Id: I99b551294eeb267311728fd6f566cd549f97e90d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2887285
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
913bc473
|
2021-05-07T11:37:01
|
|
Tests: Add --fixed-test-time option
Similar to --max-steps-performed, don't do any calibration and
just run flat out for a fixed amount of time.
Also rename --test-time to --max-trial-time to reflect what the
parameter actually does, limiting each trial to a ceiling.
Also remove a redundant check in doRunLoop.
Test: angle_perftests --fixed-test-time 20
Test: angle_perftests --max-trial-time 2
Bug: angleproject:5935
Change-Id: I854799a734cd6c019399f5a1444b4ef5f659ddf4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2878937
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Charlie Lao <cclao@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
c0d42fd9
|
2021-05-06T14:44:24
|
|
TracePerfTest: Delete offscreen objects only when initialized.
Delete Textures, Renderbuffers and Framebuffers that were created in the
SurfaceType::Offscreen case, when they were initialized.
This caused a crash when replaying traces using GLES 1 contexts
on native GLES Android implementations.
Bug: angleproject:5932
Change-Id: Ice4bcec620a6c3530044986ce39230b030a901ab
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2877234
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
fdb376ea
|
2021-05-03T14:58:09
|
|
Vulkan: minimize-gpu-work: Skip blit from offscreen fbo
Since we only care about driver state tracking logic, blit is unrelated
here. This further reduce the noise of test result. Instead of blit and
swap every N frame, we will issue glFlush for offscreen rendering. The
onscreen will still issue swap every frame.
Bug: b/186881553
Change-Id: Id048eaafa6dcef26d851fd19f069331d240e1bf5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2846527
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
3fc83291
|
2021-04-29T19:03:27
|
|
Vulkan: offscreen perftests: use two FBOs and call glFlush every frame
For offscreen variant of perf tests, we blit from offscreen to onscreen
for every frame and then every N frames we call swap. Right now we never
call glFlush. This causes test accumulate many frames rendering without
a flush, which changes the behavior. For example, gfxbench does issue
glFlush for every frame. This CL adds glFlush call for every frame when
swap is not called.
Also ARM native GLES driver and ANGLE skip glFlush call if it is issued
within the same FBO. For some traces that does not use any FBO, there
is no frame boundary for drivers to detect, versus for onscreen there is
actual frame boundary. To solve this mismatch problem, this CL also uses
two offscreen FBOs and ping pong between them so that it will still have
the frame boundary but not goes to screen. This allows drivers that try
to detect frame boundary still function properly.
Bug: b/184766477
Change-Id: I23edda66fdf391930afd3f6b1d955b41ec6ad019
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2861844
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
a766ab14
|
2021-04-20T09:29:29
|
|
Vulkan: minimize-gpu-work: Use 1x1 offscreen
When minimize-gpu-work is requested, the idea is to have GPU work
reduced to minimum. Without shrink the offscreen window to 1x1, the
driver load/store op may still have to load entire surface which could
be costly. This CL reduces the offscreen surface size to 1x1 when
--minimize-gpu-work is specified.
Bug: b/184766477
Change-Id: Ic8d9d4c2fe8295a0a5808dcee35120fdd20e0f56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2840963
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
939dc8d9
|
2021-04-21T18:33:00
|
|
Vulkan: minimize-gpu-work: Skip synchronization for glMapBufferRange
glMapBufferRange call requires CPU and GPU synchronization. Different
drivers implement this differently. Some may choose to keep multiple
copies of data to reduce the synchronization overhead while others may
choose to wait for GPU access to finish to save memory. While this
behavior is important, it should be looked under the scope of overall
game performance and we can write a standalone test for this. When
--minimize-gpu-work is specified, we mainly care about CPU overhead of
driver logic of state tracking. For this purpose, we should get this out
of picture in order to expose the true picture of what we intended to
see. This CL always adds GL_MAP_UNSYNCHRONIZED_BIT to the access bit to
avoid driver to do synchronization or make COW.
Bug: b/184766477
Change-Id: I36228a4ed9913e26aa9ad4e8446fb42ee0182c18
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2847101
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Charlie Lao <cclao@google.com>
|
|
7b77dc5b
|
2021-04-22T09:58:33
|
|
Vulkan: minimize-gpu-work: Skip data copy when possible
When --minimize-gpu-work is specified while replaying app traces, the
goal is to avoid any GPU work when possible and focus on driver cpu
logic overhead. Data copy can be lengthy and each driver optimize it
differently for some real world usage scenario. This should be looked
along with normal app trace playback performance. When
--minimize-gpu-work is specified, we want to leave this out of picture.
Previously I have fixed TexImage2D by overwriting pixel pointer with
null. But there is a hole here when PBO is used. This CL fix the case
that when data is sourced from PBO, we ensure to skip data copy as well.
This CL also noops TexSubImage call instead of doing 1x1 copy. Again
depends on driver implementation, some may use CPU others use GPU which
will have different overhead. We can easily write a test to cover these
performance optimizations. By skipping the subImage call here we will
have less noise to deal with for CPU overhead investigation.
Bug: b/184766477
Change-Id: I84a5d26d2f25f8f0a6c5c9da72737906d6356a53
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2847100
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
1800d1d9
|
2021-04-22T12:09:31
|
|
Tests: Add Ludo King trace
Test: angle_perftests --gtest_filter="*ludo_king*"
Tbr: jmadill@google.com,timvp@google.com
Bug: b/186121782
Bug: angleproject:5888
Change-Id: I41cd5924c109e4d9448227c535a9fb92a5b52cb3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2845374
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
6d8e2f87
|
2021-04-17T02:03:03
|
|
Suppress fifa mobile on intel/windows
Flakily renders black.
Bug: angleproject:5875
Change-Id: I16805278e00d431bf81e531d5b0b17868ee8f476
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2833011
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
da0a1ee9
|
2021-04-16T22:55:00
|
|
Tests: Add 3DMark Slingshot Test 2 trace
This trace is ES 3.0 based and shader heavy.
Test: angle_perftests --gtest_filter="*slingshot_test2*"
Tbr: jmadill@google.com,timvp@google.com
Bug: b/185595371
Bug: angleproject:5877
Change-Id: I3d66a5f818b33581b4237e8a9efc56af5666d98b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2832657
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
fc136cf8
|
2021-04-15T18:06:31
|
|
Tests: Add 3DMark Slingshot Test 1 trace
This trace is ES 3.0 based and geometry heavy.
Test: angle_perftests --gtest_filter="*slingshot_test1*"
Tbr: jmadill@google.com,timvp@google.com
Bug: b/185595371
Bug: angleproject:5877
Change-Id: I8528d399fedbe6ea3a07297a869f33de4605c946
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2832672
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
c782ef19
|
2021-04-15T10:08:34
|
|
Skip TracePerfTest.Run/*_idle_heroes on Pixel 2
The test crashes both with the native and Vulkan drivers.
Bug: angleproject:5867
Change-Id: I6fe3acd7050b0cb2d6f735de684b897aca0a6bb8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2826402
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
|
|
5902753b
|
2021-04-09T15:40:53
|
|
Skip TracePerfTest.Run/native_real_gangster_crime on Linux AMD
Bug: angleproject:5822
Change-Id: Id4dc458dc71fcd20f8982052fa789fb04e420c8c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818241
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
4340fcfa
|
2021-04-02T13:59:17
|
|
Vulkan: Add command option to run app traces with minimum GPU work
This CL interposes the draw call API entries. If enabled by command line
option "--minimize-gpu-work", it will override all draw calls to render
a single GL_POINT instead. It forces view port and scissor size to 1x1.
It forces all data copy to 1 texel or 1 byte. It ignores
glGenerateMipmap call. The goal is to make the frame time reflect the
driver CPU performance as much as possible so that we can use it to
compare ANGLE vs native GLES on the driver overhead, as well as
identifying CPU hot spot.
Bug: b/184766477
Change-Id: Ie8b5b585e0ed55320fed7863da37cce419acc65f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2802858
Commit-Queue: Charlie Lao <cclao@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
c2075d81
|
2021-04-08T13:10:29
|
|
Tests: Add Call Break: Offline Card Game trace
Test: angle_perftests --gtest_filter="*call_break_offline_card_game*"
Tbr: jmadill@google.com,timvp@google.com
Bug: b/184866238
Bug: angleproject:5837
Change-Id: I39035e62559d6a28fd1ae62ee6ffe6323d94931f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2815780
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
b604f843
|
2021-04-07T17:30:17
|
|
Tests: Add Professional Baseball Spirits trace.
Skip the test on Vulkan+AMD+Linux, as it produces OpenGL errors on
Mesa/RADV.
Also skip the test on Vulkan+Intel+Linux, as it requires a Mesa version
of 20.3.5 or higher to work.
Test: angle_perftests --gtest_filter="*professional_baseball_spirits*"
Bug: b/181870336
Bug: angleproject:5827
Change-Id: Ic9c5e3767cb6cf7e925cfbcd2ae5dda0d736b87c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2810788
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
|
|
68f06888
|
2021-03-23T16:38:50
|
|
Perf Tests: Trigger test failure on API errors.
A prior refactor had broken the method we used to cause test steps to
fail on API errors. This CL restores the path. We detected this when
analyzing a particular GLES trace that contained invalid GLES calls.
Bug: angleproject:5788
Change-Id: I26940e49cf73ce6050ea6ee274d5c5748835a167
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2782008
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
b4cb63a5
|
2021-04-06T19:22:32
|
|
Handle trace prerequisites.
real_gangster_crime: external images
avakin_life: external images
hill_climb_racing: skip on Adreno
Bug: angleproject:5822
Bug: angleproject:5823
Change-Id: I7c6a27eab72ba69464748928c93dda57fa8094f4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2809653
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
78dde332
|
2021-03-29T17:31:52
|
|
Move restricted traces to CIPD.
All traces are now stored as DEPS entries in CIPD. The auto-generation
script generates the DEPS entries. Note that we don't include DEPS in
the list of generated outputs to simplify other rollers. Also we update
auto-generation to include full sources list to allow 'gn analyze' to
work successfully.
Usees a trace fixture for common code. This will enable a more compact
trace without as much repeated code. We must land a set of re-trace
traces to avoid breakage.
Also includes a python script for uploading new traces to CIPD. The
script first checks if traces are already present in the cloud, and if
so it skips the upload. It will take a while to complete as the number
of traces grows larger as it takes a few seconds per trace.
The traces in this patch are also re-traced to use the common fixture
code instead of including duplicated code in each trace. They now form
a simple common interface and the autogenerated cpp is now simply a list
of properties.
I've also updated the capture/replay tests to use the simpler common
entry point integration. There is less auto-generated glue code now.
We now use a new serialized string query extension instead of calling
directly into ANGLE's internals.
Also includes a docs update. The capture/replay sample is broken and
we'll need to update it in a follow-up CL. Also includes a few necessary
fixes to the retracing script.
Bug: angleproject:5811
Change-Id: I977bc6dc56843c8966377fc445ae97e91e17319a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797833
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
7a699140
|
2021-03-30T08:49:41
|
|
Tests: Add Dragon Raja trace
Bug: b/184105957
Bug: angleproject:5807
Change-Id: I2a6d20a872311fb8b2c601c9a796b4f582ba5144
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2796403
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
811568a9
|
2021-04-01T21:29:17
|
|
Tests: Add Aztec Ruins trace
Test: angle_perftests --gtest_filter="*aztec_ruins*"
Tbr: jmadill@google.com,timvp@google.com
Bug: b/160808198
Bug: angleproject:5553
Change-Id: I24e3ae44698c5347fa5b9412d6a3ab16fb4f5c08
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2634206
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
2a0f4251
|
2021-04-01T15:12:55
|
|
Tests: Add League of Legends: Wild Rift trace
Test: angle_perftests --gtest_filter=*league_of_legends_wild_rift*
Tbr: jmadill@google.com,timvp@google.com
Bug: b/184290779
Bug: angleproject:5813
Bug: angleproject:5815
Change-Id: I0e3754c88ded31234658af373449e4a90a51c2a4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2800426
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
259ead0d
|
2021-03-30T19:41:33
|
|
Enable messenger_lite trace on SwiftShader.
For re-tracing.
Bug: angleproject:5811
Change-Id: I1b58b33e0641cbd6a6aba10f936b76b5a9eca589
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2797831
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
48560f67
|
2021-03-19T16:56:44
|
|
Tests: Add Real Cricket 20 trace
Test: angle_perftests --gtest_filter="*real_cricket_20*"
Bug: b/183165790
Bug: angleproject:5777
Change-Id: I1f350e3ea458a599396412e2c5ca80d6c7887d73
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2776554
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
02acc5ee
|
2021-03-18T16:08:59
|
|
Vulkan: More cleanups to perf counters.
This refactors the pipeline type in the ContextVk class to also use
a packed enum map. It also expands the object perf counters to store
both a specific and cumulative version for use in different cases.
Bug: angleproject:5736
Change-Id: I6ff78e38065eb577f2b95b1d9c4f9cc31d7f325f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2774184
Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
9b3b5733
|
2021-03-17T15:38:42
|
|
Tests: Add Ragnarok M: Eternal Love trace
Test: angle_perftests --gtest_filter="*ragnarok_m_eternal_love*"
TBR: timvp@google.com,jmadill@google.com
Bug: b/181800519
Bug: angleproject:5772
Change-Id: I1dcde486e909f7c2b5d59132e5f673c7e8ab1d01
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2774264
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|