src/libANGLE/capture/FrameCaptureCommon.cpp


Log

Author Commit Date CI Message
Mark Lobodzinski 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>
Alex Dean 3818d37d 2025-04-04T15:07:59 CL: Add end_capture to capture/replay tool Many different applications don't explicitly make it clear the ending frame of what's being run. With the end_capture utility, when the user sets end_capture to 0, the application automatically finishes the capture immediately. Example OpenCL applications where this is useful: AI-Benchmark, Geekbench Compute, Geekbench AI Bug: angleproject:402174922 Change-Id: I1710ae1b1703f710865a9862c4cf3de753c2ccbd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6339791 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi c9e90490 2025-03-27T18:26:19 Capture: Keep binary data in memory in chunks This is needed for taking large captures out of Chromium, because its memory allocator refuses to allocate objects bigger than 1~2GB. Incidentally, it also optimizes taking large captures by avoiding frequent calls to `vector::resize` while the vector is very large. Bug: b/381284577 Change-Id: I4ccd3c8ea50df59520334f70e99083847da20c9f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6406214 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mark Lobodzinski 367541f5 2025-02-05T16:45:13 Capture/Replay: Add multi-capture support to tracer Multiple captures can now be grabbed by setting the trigger value to the desired framecount and then resetting it to zero to trigger a new capture. Captures will be saved in the current capture.out_dir directory and this should be changed between captures to keep traces separate. Note that this feature will not work with apps using persistent coherent memory, and in these cases the tracer will exit, preserving the initial, valid trace. Bug: b/394107532, angleproject:42263521 Change-Id: I9d31d19ec6c3736dbda356405eb91fba2dd5a8d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6258503 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Alex Dean 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>