|
c0d806b4
|
2025-02-10T23:01:33
|
|
CL: OpenCL support for ANGLE Capture/Replay
Implementation of OpenCL Capture/Replay tool in ANGLE.
Brief notes about the change:
- Most meaningful changes for the capture process are
made in src/libANGLE/capture/
- Most meaningful changes for replay are made in
util/capture/ and src/tests/perf_tests/
- Many autogenerated files are changed/added to allow
the capture of OpenCL objects & calls
- The following applications were captured/replayed:
benchmark_model, GeekBench Compute, GeekBench ML,
AI-Benchmark, various OCL CTS tests
- End2end test added to capture_tests.
CapturedTestCL.MultiFrameCL/ES3_Vulkan
Bug: angleproject:383841335
Change-Id: I55fdaa6cd6c7ba740aaa2351e4d29050059d6d1d
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6102105
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
e43d3591
|
2024-11-01T16:23:27
|
|
Tests: allow choosing Chromium/our test runner + screen checks
Chromium test runner (build/android/test_runner.py) is currently the
default runner for most suites. One exception is angle_trace_tests where
we're always using our scripts instead (android_helper.py etc).
We do that by setting android_test_runner_script to our runner for that
angle_test instance.
This CL supports setting android_test_runner_script to our script but
then choose whether to run with the Chromium runner or android_helper
depending on the command-line arg (--angle-test-runner)
This CL also adds a check for the screen state which will be performed
regardless of the runner. This is to have a fast and clean failure when
the device wasn't properly initialized by the infra (see bug).
The check is based on the output of `dumpsys deviceidle | grep mScreen`
(this is the most generic check I found, I previously used nfc but that
depends on nfc and turns out the output is device-dependent)
This CL enables this mode for angle_end2end_tests. Bots will continue to
run with Chromium runner as before (but with the added screen checks).
Locally, we will now be able to switch to our scripts directly:
out/Android/angle_end2end_tests \
--gtest_filter='*ClearTextureEXT2DMSStencil*' \
--angle-test-runner
Now when running end2end tests locally (regardless of the runner) with
a locked device screen, we'll see the following error right away
instead of sporadic failures or stuckness during execution:
Exception: Unexpected device screen state: ['mScreenOn=false', 'mScreenLocked=true']; expected: ['mScreenOn=true', 'mScreenLocked=false']
The plan is to enable this mode for all suites, after which the current
local script run_angle_android_test.py will no longer be needed.
Bug: b/344849382
Change-Id: I77e7733804ab37e2f3d26bf3574a52a9553e4274
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5985232
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
327796df
|
2024-06-24T10:58:28
|
|
FrameCapture: Add a new CapturedTest for glActiveTexture
This CL adds a new test focused on Reset of glActiveTexture.
It doesn't just add a new frame since the original test was getting
quite cluttered.
This should provide a blueprint for adding more tests in the future.
Test: capture_tests.py
Bug: angleproject:345851268
Change-Id: Ieac29031f55ca133d81ce5ba26d45199de38e874
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5714395
Reviewed-by: Roman Lavrov <romanl@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
|
|
1249fc1f
|
2023-09-07T14:39:26
|
|
Tests: Support capture_tests on Android and enable on CI
Enables angle_with_capture_by_default = true on Android bots
similarly to Linux and Windows.
Enables the capture test on Pixel 4 and 6 bots (it takes only a few
seconds to run)
Enables support for capture in android_helper in general.
For example, this now works the same way it would on say Linux, but
runs the capture on the device an pulls files to OUT_DIR.
% ANGLE_CAPTURE_LABEL=gacha_club ANGLE_CAPTURE_OUT_DIR=/tmp/capt2 ANGLE_CAPTURE_FRAME_START=16 ANGLE_CAPTURE_FRAME_END=16 out/AndroidPerformance/angle_trace_tests --gtest_filter=TraceTest.gacha_club --use-angle=vulkan --retrace-mode --max-steps-performed=20
For end2end tests it's a bit trickier as we're still using the Chromium
wrappers for e.g. out/AndroidPerformance/angle_end2end_tests - which is
why capture_tests.py is currently using angle_android_test_runner.py
Bug: b/296397568
Change-Id: I2606e74a17c90e381bb49ec8d555a6d24851b4f7
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4850889
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
cdbc45a9
|
2023-09-07T15:45:11
|
|
Tests: capture_tests: remove ANGLE_FEATURE_OVERRIDES_ENABLED
Unnecessary for this test, should only matter for tests involving
serialization etc.
Bug: b/296397568
Change-Id: I1b3e12b11358778cf23dd6d7a5aab69be41c1ab4
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4850548
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
|
|
5d2a1749
|
2023-08-17T09:52:57
|
|
Add an assert that capture_tests isn't supported on Android
Bug: b/286067106
Change-Id: I3657faa7e2733ad28d1db844cb74e5224a6f47c6
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4790522
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Auto-Submit: Roman Lavrov <romanl@google.com>
|
|
46ff02f8
|
2023-05-18T13:52:29
|
|
Capture/Replay: Initial setup for angle_capture_tests
Implements the first part (FrameCapture) of the proposal
go/frame-capture-and-interpreter-testing
Adds a basic test (CapturedTest) with a few frames. This test gets
captured by capture_tests.py into a temporary directory and the
resulting files are diff'ed with the files under expected/
A diff fails the test. When capture changes, the workflow would be to
run the command indicated by the error message in the test which will
overwrite the files with new ones so that they can be added to the CL.
Example test failure on capture change:
https://chromium-swarm.appspot.com/task?id=62b5f4034527c610
when testing https://crrev.com/c/4598046/3
Tests in CI: https://screenshot.googleplex.com/77o8vZVuj8AbFRj
Also adds a "angle_capture_tests_trace" lib with the trace just to test
that this capture also builds, the lib is not currently loaded by
anything.
Bug: b/286067106
Change-Id: I7d5f6eed088d84f9e3eb8a72b24b1d92515fff38
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545408
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Roman Lavrov <romanl@google.com>
Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
|