|
02b53738
|
2025-09-08T08:55:23
|
|
Trace/Replay: Fix context grouping issues
In tracing Harry Potter Magic Awakened, issues related to context
grouping were found affecting shader and program state. While these
objects are shared among all contexts, their state is not. This led to
race conditions in object lifetimes as well as incorrect states for
operations dependent on stader/program state.
Test: angle_trace_tests --gtest_filter=*harry_potter_magic_awakened
Bug: b/445208963
Change-Id: I8dbb22f72c917103f947cd34d088c4db0cd39731
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6950247
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
cf04616b
|
2025-09-11T12:16:54
|
|
Trace/Replay: Make SetupReplayContext(main) last in setup
The SetupReplayContext function for the main context was always
executed first in the main setup replay function -- move it to last
to minimize issues where Frame1 is expecting specific shader state
from the main context.
Test: angle_trace_tests --gtest_filter=*harry_potter_magic_awakened
Bug: b/445208963
Change-Id: Ia48760e704465150617ffd33d419195723a51285
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6950246
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
|
|
9bd6785d
|
2025-08-12T15:19:08
|
|
Revert "Tests: Skip CapturedTestCL to unblock vulkan-deps roll"
This reverts commit 2a5ad67c883a28436d7399d73a2ccdb9ef53c641.
Additionally, this modifies CapturedTestCL.cpp so there is no
failure coming from the vulkan-deps roll.
Bug: angleproject:438220619
Bug: angleproject:438195622
Change-Id: I6cf2d11d7ff77ce4513948b22b8c59d970c7810b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6842222
Reviewed-by: Austin Annestrand <a.annestrand@samsung.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
2a5ad67c
|
2025-08-12T10:23:10
|
|
Tests: Skip CapturedTestCL to unblock vulkan-deps roll
Test: angle_end2end_tests --gtest_filter=CapturedTestCL.*
Test: capture_tests.py
Bug: angleproject:438195622
Change-Id: I9dd0f861ce4325c29305aa8de598f3434ec86ab3
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6842935
Auto-Submit: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Geoff Lang <geofflang@chromium.org>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Geoff Lang <geofflang@chromium.org>
|
|
7181239d
|
2025-04-04T14:13:58
|
|
Add long ANGLE traces feature
Enables very long Android captures by swapping binary
data chunked buffers to/from disk.
Bug: b/425728227
Change-Id: I539f72590eece03cfc69d42fc34be9825a9ff1fe
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6476924
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
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>
|
|
93491ae3
|
2024-06-21T08:04:24
|
|
FrameCapture: Handle active texture in MEC
When restoring texture bindings and contents, we need to first
set the correct GL_ACTIVE_TEXTURE, otherwise it will use existing
active texture bindings and update the wrong textures.
Test: Grand Mountain Adventure MEC
Bug: angleproject:345851268
Change-Id: I7c6c4a918513d4216405efe51774fcce4b49b45e
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5647491
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.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>
|
|
0e598a0c
|
2024-07-17T09:49:19
|
|
FrameCapture: Unbind PIXEL_UNPACK_BUFFER for texture restore
When restoring textures, we need to ensure the PIXEL_UNPACK_BUFFER
is not bound, as that will influence where we pull data from.
Allow per-context reset to restore the correct binding.
Test: Grand Mountain Adventure MEC
Bug: angleproject:345851268
Change-Id: I636f3780f8454d04152ff7bf7ba15d039ee41872
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5718285
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
|
|
1917377f
|
2024-06-07T17:02:33
|
|
Capture/Replay: Write comments to the capture
Useful for tracking why things are happening in the frame, from the
perspective of the tracer.
Allows for entries like this:
// DEBUG: AttachShader called, checking for IDs;
glAttachShader(gShaderProgramMap2[6943], gShaderProgramMap2[1531]);
// DEBUG: AttachShader called, checking for IDs;
glAttachShader(gShaderProgramMap2[6943], gShaderProgramMap2[1511]);
Good for debugging or knowing we've skipped invalid/unsupported calls.
This CL includes one use of comments to mark calls we've skipped,
meaning the app or ANGLE submitted them, but omitted from capture.
Bug: angleproject:345851268
Change-Id: Ied917c7480704afc3fdfb8cbb617b323eb7403a5
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3233876
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.com>
Reviewed-by: Roman Lavrov <romanl@google.com>
|
|
e3a58b25
|
2024-04-11T09:33:55
|
|
FrameCapture: Support deferred linking of shaders
Modern Combat 5 creates and attaches programs and shaders but
defers compiling and linking until needed. Added support in
the tracer for this corner case and updated CapturedTest
to exercise this behavior as well.
Test: angle_end2end_tests --gtest_filter=CapturedTest.MultiFrame/ES3_Vulkan
Bug: b/334030316
Change-Id: Ib7fdf0fe25b11cdb3df33d50e49501f3a51e9510
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5449599
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
|
|
53c5b145
|
2023-10-10T09:42:08
|
|
Capture/Replay: Restore texture bindings on reset
Store active texture unit and all bound textures at capture start. Track
dirty state for each unit+target pair during capture. Restore bound
textures for each dirty binding unit when resetting context state. Also
restore active texture unit if necessary.
Test: Capture The Sims Mobile
Bug: angleproject:4599
Change-Id: Iae3e03e6c5b0a35d5bb95bf07397d7894355502b
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4927869
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mike Schuchardt <mikes@lunarg.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>
|
|
9c0748d3
|
2023-08-16T09:15:22
|
|
Capture/Replay: Trim inactive Texture resources
As is done with Shader and Program objects, trim inactive Texture
objects from default trace execution playback and update
CapturedTest with new use cases.
Bug: b/297031925
Change-Id: I734d8f1fa66a24be7790391deaeee24cf570d12a
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4802281
Reviewed-by: Roman Lavrov <romanl@google.com>
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
|
|
d85de0e9
|
2023-08-09T14:15:56
|
|
Capture/Replay: Add optional replay of trimmed resources
This CL:
- Adds '--include-inactive-resources' option to
angle_trace_tests
- Removes the 'trim-enabled' option
- Outputs all previously trimmed shaders/programs to trace file
in a new Setup function, SetupReplayContextSharedInactive()
which is executed only if the new option is specified
- Modifies CaptureTest to add inactive resources, but does not
set the include-inactive-resources flag
Bug: b/296055694
Change-Id: I33b18d5da727d55c90c2012c2bf64b1413521429
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4781552
Reviewed-by: Cody Northrop <cnorthrop@google.com>
Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Reviewed-by: 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>
|