|
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>
|
|
98ff1c14
|
2024-07-17T09:45:03
|
|
FrameCapture: Improve buffer binding reset
We aren't correctly tracking and resetting buffer bindings, which are
per-context. To restore them, we need to track the bindings at the
beginning and mark them dirty. Before this we were doing it in
ResetReplayContextShared based on the object dirty state.
Test: Grand Mountain Adventure MEC
Bug: angleproject:345851268
Change-Id: Ic3db583c88bec9c680197f71ff11fdf69efdf630
Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5610332
Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Commit-Queue: Cody Northrop <cnorthrop@google.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>
|