|
9d042d68
|
2022-01-06T16:36:36
|
|
Cleanup after iOS build fixes
Bug: angleproject:6871
Change-Id: Ia5cd33c4532e10e61c1ca2c35d5190df97e36f5f
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3370867
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
|
|
e4c7efea
|
2022-01-05T10:49:02
|
|
Capture/Replay: Fix GN build on iOS.
Bug: angleproject:6871
Change-Id: Ic9375b119b0323f219224944f755237d89cd521e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3368201
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Commit-Queue: Jamie Madill <jmadill@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>
|
|
5650273a
|
2021-09-07T09:41:59
|
|
Capture/Replay: Capture trace file list to JSON.
Instead of using a text file, we can use a JSON file to store the
list of files in a trace. We can use this list in the GN to pull
the trace files directly instead of using auto-generated code. It
also consolidates the trace metadata in a single location.
Also captures the Windows Surface ID to the JSON file.
Bug: angleproject:5133
Change-Id: I236b614f7d0c844e7c4a5276dd6ac5964e5c393d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144214
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: 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>
|
|
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>
|
|
62398e82
|
2021-07-08T14:06:04
|
|
Capture/Replay: Fix missing rpath on Linux.
This was causing the test script to fail to find angleutil.
Bug: angleproject:5133
Change-Id: I621da4e71c0b61161694d95263b7dad643a728ed
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3015516
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@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>
|
|
67e4aff5
|
2021-04-02T13:17:00
|
|
Fix rapidjson build error in Skia.
Instead of using defines in the header, use the same approach as we do
with frame capture by defining a stub "mock" cpp file.
Bug: angleproject:5805
Change-Id: Ief1cb6497ddafc9656bb0e7d6a921eff3610a7fb
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2801695
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
cee0bfd6
|
2021-03-15T14:39:30
|
|
Capture/Replay: serialize context to JSON
Bug: angleproject:5715
Change-Id: Ibc6897d7567fedab4a2ba7bf8d2bd5a7e496bd4b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2760325
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Jamie Madill <jmadill@chromium.org>
|
|
738cb55b
|
2021-01-14T17:33:20
|
|
Capture/Replay tests: Fixes and improvements.
The script was broken after the change to build to a separate shared
library. Also fixes issues on Windows and cleans up the code. State
comparison is still broken on every test from what I can see.
Bug: angleproject:5530
Change-Id: I23e77e56fadedfb85d7afdb59dddac5558a71a56
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2630232
Commit-Queue: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
6aed2832
|
2020-07-31T10:52:21
|
|
Batch capture run + change how results are logged
Before, the run stages of tests in a batch were run separately by
multiple subprocesses. Now the run stages of tests in a batch are
batched together and run by a single subprocess.
Changes how results are logged. Tests in a batch are logged together.
Within a batch, tests that fail at the same stage are also logged
together.
Bug: angleproject:4817
Change-Id: Ie3f992c081de914f1f1f521bec2d72f06ccca238
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2331738
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2c41931c
|
2020-07-21T14:21:27
|
|
Batch-compile and batch-run-replay multiple tests
Multiple tests are batch-compiled into 1 replay application instead of
multiple replay applications. Replay application now runs generated
code of multiple tests instead of 1 test. This reduces overhead cost
and brings down runtime.
Main process now receives messages sent by workers via a message queue
and prints them to the main stdout so that user can know if workers are
hanging.
Add handle for user interrupt (Ctrl-C) so that processes are properly
destroyed and cleaned up.
Trace files now have the option not to be deleted.
Bug: angleproject:4817
Change-Id: Ic90ae0f430e1d3c261ffea5f963be5a4e94b0ad2
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2310909
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|
|
10e9e9a1
|
2020-07-13T17:02:38
|
|
Apply multiprocessing to capture_replay_tests.py
Multiple tests are run in paralell to squeeze the most out of CPUs.
Tests are stored in a work queue. Whenever a CPU becomes available,
the next unrun test is grabbed and run on a spawn process on that CPU.
Each cpu gets their own environment and build folders and trace folders
so that tests don't overwrite each other.
Bug: angleproject:4817
Change-Id: Ifd35c9c75522e480b0257d090d5af70f2a3428ba
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2296040
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
|
|
dce37b7d
|
2020-06-21T22:27:06
|
|
Serialize framebuffers + compare contexts for CaptureReplayTests
Adds to frame capture the ability to serialize a frame's pre-swap
GL state and store it in the binary data file
Adds to CaptureReplayTests the ability to compare its serialized GL
state with the serialized state pulled from the binary data file
Adds a serialization module that serializes framebuffers' GL states
and the contents of their color attachments
Adds checks to automation script so that it would skips tests that
do not produce the expected trace files
Adds exception handling to automation script so that it will not crash
when a replay build crashes
Bug: angleproject:4779
Change-Id: I40a02e018073749e79f0ddbfd3d4065745548f46
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2258295
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Tim Van Patten <timvp@google.com>
|
|
9dee8e3f
|
2020-06-15T10:59:18
|
|
Automate testing of capture_replay
automation script will:
1. compile all tests in angle_end2end with framecapture enabled
2. run each test with frame capture
3. compile CaptureReplayTest with cpp trace files
4. Run CaptureReplayTest
Test: run_tests_with_framecapture.py
Bug: angleproject:4749
Change-Id: Ieb21c6137653632d73beedea48712e46fc15a0f3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2246321
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Manh Nguyen <nguyenmh@google.com>
|