src/tests/capture_tests/CapturedTest.cpp


Log

Author Commit Date CI Message
Cody Northrop 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>
Cody Northrop 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>
Cody Northrop 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>
Mark Lobodzinski 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>
Mark Lobodzinski 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>
Mark Lobodzinski 4e1053b9 2023-09-01T08:35:21 Tests: Limit CapturedTest to Vulkan backend Test: angle_end2end_tests --gtest_filter=CapturedTest.MultiFrame Bug: b/298612441 Change-Id: I865186ba544d3b72af700a9f2cf22aef719e875a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834704 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mark Lobodzinski 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>
Roman Lavrov 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>