src/tests/restricted_traces/gen_restricted_traces.py


Log

Author Commit Date CI Message
Cody Northrop 14f8918c 2021-04-16T09:17:29 Migrate more scripts to python3 Test: python3 scripts/run_code_generation.py Bug: angleproject:5707 Change-Id: I5abae69c1c6bf03cc418f10beaabc80288fa1c94 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2828979 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill bf6e074f 2021-04-13T13:23:26 Add gclient variable to checkout traces. 'checkout_angle_restricted_traces' controls if we should check out the trace tests. We can give restricted access to partners for these traces. Defaults to the same setting as 'checkout_angle_internal'. Bug: angleproject:5860 Change-Id: I36efffb180b35e11e104e2c99bc89fb4be4e0708 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2822232 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 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>
Cody Northrop 88b91df1 2021-03-29T23:01:01 Capture/Replay: Support multi-digit context The code is designed for single digit contexts, i.e 1-9. We've hit our first app that uses context 10, so update the logic. Bug: b/184105957 Bug: angleproject:5807 Change-Id: Ice5facad8a86f009c0a85d184db4a20e48eff248 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2796402 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 3e017cfe 2021-02-26T15:37:41 Tests: Use context version from trace Test: Capture and replay ES 3.2 apps Bug: angleproject:5652 Change-Id: Ib46250acd8a50390f0cbd40853623cdf31bd0203 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2698392 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Jamie Madill 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>
Jamie Madill 77defeb0 2020-10-27T18:31:53 Add the ability to re-trace existing traces. This new script runs the ANGLE trace tests with capture enabled to generate updated replay cpp files. This allows us to update our traces files to a new file format in one step. Trace metadata (currently only the default FBO format) is preserved between re-traces. Currently only desktop-based retracing is supported. This means a couple traces that require specific extensions don't run on all platforms. Bug: angleproject:5134 Change-Id: I7c923d89e33c18285ab36a7cee91f2fb735758eb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2488130 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Courtney Goeltzenleuchter <courtneygo@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill b6c17996 2020-09-23T13:37:48 Auto-generate restricted trace .gitignore. I'm going to add a non-ignored subdirectory so it behooves us to fix our blanket suppression. This will also allow users to clean up stale trace files. Bug: angleproject:4090 Bug: b/168049670 Change-Id: I5b0879eb3eebf3b352bb78e3b927203f9483c89f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/2426885 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 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>