|
3da24b5c
|
2022-05-16T11:58:59
|
|
Move trace loader code to a common location.
With that Capture/Replay will be able to make use of the same
code.
CL authored by gert.wollny@collabora.com.
Bug: angleproject:4964
Change-Id: Ie1ba663169a34929f5a169ab74c7042e9fd5deb0
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645441
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4df8ca04
|
2022-05-11T09:03:33
|
|
Remove angle_util from restricted traces.
This target is not needed because the traces use a custom GL/EGL
loader. This way we can be sure we don't call the wrong entry
points.
Bug: angleproject:4964
Change-Id: I5bfa29f087d47ab598ae0ae5ac2ddf9aa04806b2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3641924
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
ebfb9b9f
|
2022-04-26T10:37:52
|
|
Configure logging in perf and gold tests to include time.
Currently no timestamp is logged:
[I2022-04-25T18:45:14.761163Z 548 0 cmd_stream.go:336] {cmd}
INFO:root:adb --version ...
Before switching to android_helper relative timestamps in seconds
were printed, set up by catapult. Timestamps proposed in this CL are
more consistent with outer logging but keep prefix short. Example:
[I2022-04-25T18:45:14.761163Z 548 0 cmd_stream.go:336] {cmd}
I18:45:14.999999Z adb --version ...
Bug: angleproject:6854
Change-Id: I8ef7c9ae44eb5dba564a41456ce9417e3fe0f06c
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3606913
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
7c091cb3
|
2022-04-19T21:12:35
|
|
Use adb directly (instead of catapult) in gold tests.
Android detected by angle_perftests apk presence relative to pwd.
All of the restricted_traces/*/*.json files are copied but those are
small. Only the necessary .angledata.gz files are copied.
angle_system_info_test is also handled via adb.
Bug: angleproject:6854
Change-Id: I7a89ff57fcdd8ce5dc63a5e3a8f5c0132f766894
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3595241
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
b5d34da0
|
2022-04-11T18:17:03
|
|
Add src/tests/py_utils/ for utils, angle_path_util for imports.
Detect if angle or chromium checkout when adding deps paths,
so that random paths from above angle_root don't get added to
sys.path when imported from an angle checkout.
Bug: angleproject:6854
Change-Id: I4cd3334a2313d921f8651de7056f4f3798b8e072
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3582978
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5c9bd7ba
|
2022-01-07T12:23:08
|
|
Update Mac goldctl
Updates DEPS and the Chromium roller script to have both an x64
and arm64 version of goldctl on Mac. Also updates the goldctl
build group to include both binaries.
Bug: chromium:1280002
Change-Id: I82c9c93eb865fb68ad242454415606c9ef2846fd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3373623
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
|
|
58aeec65
|
2021-12-29T14:00:00
|
|
Capture/Replay: GN cleanups.
This adds a GN "angle_trace_library" template that will be used
with capture replay tests and restricted trace tests to share code.
It could also be theoretically used to fix the capture replay
sample.
Also changes the capture replay tests GN to make the test exe
always build even without the defines. This is possible because of
the switch to JSON from code autogen, and makes it easier to catch
and fix compile errors in this test harness.
Bug: angleproject:5133
Change-Id: Ia87b6bbb0ea6e1abb557f962ca16d074207325ef
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3360783
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
4d893a93
|
2021-09-07T11:47:23
|
|
Re-land: "Trace Tests: Remove auto-generated code."
No significant changes in the re-land.
Bug: angleproject:5133
Change-Id: Ib5bb8fba3e9e2f1f648d5af251b7b2319c9f37dd
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352432
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
709d8727
|
2021-12-14T16:11:33
|
|
Revert "Trace Tests: Remove auto-generated code."
This reverts commit 1c0bb44862fbc6107d73d056c2e07c59bcfa8d09.
Reason for revert: Causing failures on Intel Linux with native driver.
Original change's description:
> Trace Tests: Remove auto-generated code.
>
> Bug: angleproject:5133
> Change-Id: I71a82071b1c667475f7fefcd6c8766a9de71141d
> Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144215
> Reviewed-by: Cody Northrop <cnorthrop@google.com>
> Reviewed-by: Tim Van Patten <timvp@google.com>
> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Bug: angleproject:6816
Change-Id: Ic35145c8c3bb23ccf196b86def42f4a82f07aad5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340332
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Tim Van Patten <timvp@google.com>
|
|
1c0bb448
|
2021-09-07T11:47:23
|
|
Trace Tests: Remove auto-generated code.
Bug: angleproject:5133
Change-Id: I71a82071b1c667475f7fefcd6c8766a9de71141d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144215
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
b930b9d3
|
2021-09-08T09:08:28
|
|
Capture/Replay: Remove redundant "capture" from label
old: trex_200_capture_context1_frame001.cpp
new: trex_200_context1_frame001.cpp
The 'capture' word wasn't really adding any useful information.
Take it out so the filenames are a bit shorter.
Bug: angleproject:5133
Change-Id: Ibd7d47df2aa1f24a641c5d5b2a6dd14d6ce240e1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3149370
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@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>
|
|
047e9833
|
2021-08-30T10:00:51
|
|
Traces: Move skia gold Python scripts.
Moving this folder up one level allows us to enforce that every
subdirectory in the restricted_traces folder is a trace folder. This
makes it easier to batch delete or move traces.
Bug: angleproject:5133
Change-Id: I5af24ce6c233f50dea2e6ffcaef6d489b03914c8
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3130441
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@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>
|
|
259ae49c
|
2021-08-20T10:51:31
|
|
Capture/Replay: Isolate trace export definitions.
This small fix to the export header means we no longer include
the "restricted_traces_autogen.h" in each and every trace file.
That means when we change/add/remove a trace we no longer need to
recompile each and every trace. Speeds up iteration time when
working with the traces.
Also fixes inconsistent path generation on Windows.
Bug: angleproject:5133
Change-Id: I357d65477a683455d01379379e2e98431af2ed55
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3110749
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
223cd0ac
|
2021-06-15T18:46:07
|
|
Capture/Replay: Refactor shared context handling
This is the initial CL to enable capture/replay of multi-context
applications.
This CL refactors FrameCapture and FrameCaptureShared to move much of
the functionality into FrameCaptureShared, since most everything is
shared by Contexts in the share group. For example, the setup of the
majority of the GL objects is done in the new SetupReplayContextShared()
function in the new $LABEL_capture_context_shared_frame001.cpp file. The
setup is performed by (for example):
void SetupReplay()
{
$LABEL::InitReplay();
$LABEL::SetupReplayContextShared();
SetupReplayContext2();
}
This performs the shared setup first, followed by the context-specific
setup, which may reference shared objects careated by
LABEL::SetupReplayContextShared().
No re-capturing is required with this change, since the external APIs
(i.e., SetupReplay()) are still the same.
Bug: angleproject:5878
Test: Manual MEC and replay of Magic Tiles 3, Candy Crush Soda Saga, Temple Run 2
Change-Id: Iab7bfe651437e9be1dee83514cd97acc20c61d1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2965780
Commit-Queue: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
82cc2d21
|
2021-04-09T18:08:27
|
|
Really fix iOS build
Complete the fix started in http://crrev.com/c/2812698
Bug: angleproject:5811
Change-Id: I9fa50b31dda116e01203d65d47dc6420391e999d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2818243
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
0eaaff28
|
2021-04-07T22:53:28
|
|
Fix iOS and Android component builds
After the changes in http://crrev.com/c/2797833
Bug: angleproject:5811, angleproject:5820
Change-Id: I629978684ba4d002c296d4dcfe434b09782db4b1
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2812698
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
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>
|
|
4386840c
|
2021-03-19T16:54:41
|
|
Tests: Add android log library to traces
This is required in order to call __android_log_print, which can
be sprinkled into the trace for debugging.
Bug: b/183165790
Change-Id: I717f2ac7809172f22b7badee6f1096394a02bc14
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2776553
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
98035e11
|
2020-11-09T17:55:39
|
|
Capture/Replay: Split into separate shared libaries.
This will produce several smaller shared libs rather than one very
large one. Involves moving the trace loader to its own shared module
as well. Because the traces didn't have export labels on most of the
affected functions I had to use a "force include" argument on the
compiler. We can remove this once we re-capture.
This is a first step towards testing one trace at a time on an Android
device.
Includes a complete set of new regenerated traces.
Bug: angleproject:5133
Change-Id: If984de34af21fce48b0832401dbe5aa4b002ce95
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2506199
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Ian Elliott <ianelliott@google.com>
|
|
e77e3528
|
2020-10-29T16:55:06
|
|
Gold Tests: Include SHA1 files in trace inputs.
This will force "GN analyze" to pick up changes in the gold tests
when all that GN sees is a new SHA1 file. In effect a SHA1 change
means all the sources in a trace have changed.
Bug: chromium:1143507
Change-Id: Idf44045ebd5d2bda9380b339e95d336b6804ce8a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2508530
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
11d94d86
|
2020-09-23T15:16:19
|
|
Integrate Skia Gold with restricted trace tests.
The implementation is based heavily on the Chromium Skia Gold
Python classes in //build/skia_gold_common .
Results will be visible here: https://angle-gold.skia.org/
Currently results are not visible until this CL lands.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I7a5d64fe35583ad7ea6360804a0f6b72cd9f6d8b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2430179
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Brian Sheedy <bsheedy@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
5ec560fb
|
2020-09-17T17:18:25
|
|
Add restricted trace golden image script test.
The script reads the list of tests from the restricted traces JSON and
runs angle_perftests once for each test. Running the tests in a batch
seems unstable on some platfroms so running each test separately works
around that limitation. It does not yet interact with Skia Gold. The
Gold integration will come later once this basic skeleton is running
on the bots.
Also updates the perf tests to exit more quickly with --one-frame-only.
This will speed up the screenshots.
Example run with trigger.py:
https://chromium-swarm.appspot.com/task?id=4ecb985330a33910
Bug: angleproject:4090
Bug: b/168049670
Test: tested with trigger.py
Change-Id: I52820dfba2acfbc5d638673c37297877e8476adb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2417641
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
bda2205d
|
2020-09-17T14:37:25
|
|
Traces: Move up from tests/perf_tests/ to tests/.
The trace tests aren't strictly for performance. Since we'll be using
them for correctenss testing as well it makes sense to move them out
of the perf_tests/ folder.
Also renames RestrictedTraceTests.md to README.md so it'll load
automatically in gitiles.
Bug: angleproject:4090
Bug: b/168049670
Change-Id: I8be9f1d831489a9abf534d049a93441687850142
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2416913
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|