src/tests/perf_tests/TracePerfTest.cpp


Log

Author Commit Date CI Message
Roman Lavrov 4e073356 2023-04-13T15:16:53 Trace Interpreter: gzip cpp and run gold tests. New test step: angle_restricted_trace_gold_interpreted_tests similar to existing angle_restricted_trace_gold_tests but runs a subset of newest traces that have the right format. Currently there are 8 of them and the filter is hard-coded in test_suites.pyl. rise_of_empires can also be run interpreted but happened to flake during testing so it's not included for now. Trace cpp files are concatenated and gzipped as a build step producing gen/tracegz_{trace}.gz and these gz files are then distributed as part of the build --trace-interpreter flag changes from boolean to string to support: --trace-interpreter=gz: * this uses the gz file above * gold tests added in this CL use this option --trace-interpreter=c: * using uncompressed c/cpp file * existing angle_trace_interpreter_tests runs a retrace saving .c files and uses this option Bug: b/276742336 Change-Id: I69544f25bda873af191978195d02ffbdd34363c0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4424690 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 2c7f31af 2023-04-13T11:47:34 Trace Interpreter: Move to a shared library. Based on https://crrev.com/c/4178024 but does only one thing: makes trace interpreter a shared library (as if it was a compiled trace) I am not sure what impact this actually has on the TracePerfTest callbacks (mentioned in the CL above) as I see onEglMakeCurrent callback getting called without this CL as well. Anyways, this makes things a bit more consistent. * Gets rid of TraceReplayInterface * TraceInterpreter is now an implementation detail * Need to additionally pass list of trace files to TraceLibrary (new SetTraceInfo replay export) * GetResourceIDMapValue is just moved as is to the right lib Bug: b/276742336 Change-Id: I67ea9fbcb4f7db999ab71c8443ea91c5631df942 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4423869 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 2bd8acfe 2023-03-23T18:24:43 Tests: Add Geometry Dash trace Test: angle_trace_tests --gtest_filter="*geometry_dash*" Bug: b/271876646 Change-Id: I18ab2f22230f0c63d3aaf7c825c9cc55d896d4d0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4368019 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Roman Lavrov 9824b4e6 2023-03-09T12:21:34 Skip street_fighter_duel trace on win nvidia. Flaky diffs Bug: angleproject:8074 Change-Id: I2f6f023ade6028e5baf80815e845a7ae5817bfbb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4324720 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Mike Schuchardt 190a3214 2023-02-20T17:42:02 Tests: Add Arknights trace Test: angle_trace_tests --gtest_filter=TraceTest.arknights Bug: b/270523023 Change-Id: I147927e5ada7470a91d8aee540cf217fcb1e4ec1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4294655 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mike Schuchardt <mikes@lunarg.com>
Cody Northrop ef6d1473 2023-02-24T08:27:33 Tests: Add Into the Dead 2 trace Test: angle_trace_tests --gtest_filter="*into_the_dead_2*" Bug: b/270605668 Change-Id: I80d1aa8058a8d970888725ca850ed934a100588b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4290021 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 2ec90ada 2023-02-23T21:33:40 TraceTests: Update screenshot name for keyframe Ensure we use the member variable screenshot instead of global when naming the screenshot. Test: into_the_dead_2 with keyframe 10 Bug: angleproject:8035 Bug: b/270426257 Bug: b/270605668 Change-Id: Ib5c5c1764005cd0b2fc4603ca11e10d19a50a152 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4288617 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop d9dbc20e 2023-02-23T17:10:06 TraceTests: Add a screenshot frame member variable Instead of modifying a global when detecting KeyFrames are in use by a trace, update a new value tracked per trace. Also consolidate the option handling for gRunToKeyFrame since its needs align with gMaxStepsPerformed. Test: Batching traces that include one with a keyframe Bug: angleproject:8035 Bug: b/270426257 Change-Id: I2ed4215d9f310dddb317debf09921aa45c6822bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4288616 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop b0739436 2023-02-13T14:28:17 Traces: Add key frame support Allow specifying a key frame in the trace JSON, i.e: "KeyFrames": [ 20 ], This allows our infra to use a frame other than 1 when taking screenshots for quality comparison. Adds new flag `--run-to-key-frame`, which will stop the trace once key frame has been reached. If no key frame in JSON, frame 1 will be used. Note the name in JSON is plural, but we only support one key frame for now. Multiple key frame support can come in the future. This CL also updates the code to allow ending traces early with `--max-steps-performed` which has been broken since http://crrev/c/4008998 It also removes `--one-frame-only` which is superseded by `--run-to-key-frame`, and can be replicated using `--max-steps-performed 1`. Test: angle_trace_tests --gtest_filter="*tmnt_shredders_revenge*" Bug: angleproject:8035 Bug: b/270426257 Change-Id: Ib02ef60d887ae5efb0288f5a9b8c2914dafc6efc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4284637 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuly Novikov <ynovikov@chromium.org>
Cody Northrop 4716d85e 2023-01-10T20:31:37 Tests: Add LIMBO trace Test: angle_trace_tests --gtest_filter="*limbo*" Bug: angleproject:7945 Change-Id: Ic52af324ed554d62daafc8e27c373cebd52f9bdb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4152869 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Jamie Madill fb94622c 2023-01-18T14:47:56 Trace Tests: Clean up desktop skips. These were confusing SwiftShader and ANGLE / Native drivers. Fix these by using helper variables. This isn't an issue on Android because our Android tests don't have SwiftShader. Bug: angleproject:7887 Change-Id: I414f59a8eb1155aaf8b98bf5c3104273cbb5b72d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4178015 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 1f997cef 2023-01-06T19:09:37 Skip crashing final_fantasy trace perf on Pixel 6 native Bug: angleproject:7936 Change-Id: Ied2399e66052d3b3f2b26f39c32aaf3950579eea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4143838 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Yuly Novikov ca0489f0 2023-01-06T13:13:55 Skip couple flaky trace perf tests on Win Intel beach_buggy_racing on Vulkan aliexpress on native Bug: angleproject:7934 Change-Id: I78f78174e95aa0a4bab6685efb62b52f87e6e4f0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4143158 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao 341f2908 2023-01-04T16:17:17 Vulkan: Remove the car_chase skip This should now be fixed by crrev.com/c/4133548. Re-enable the test for pixel6. Bug: angleproject:7916 Change-Id: Ice0adc2c81c797f31354e086e5606744941de311 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4137290 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuly Novikov d88464de 2023-01-05T17:27:48 Skip 2 slow trace perf tests on Win Intel five_nights_at_freddys on Vulkan pubg_mobile_launch on native Bug: angleproject:7929 Change-Id: Ie6ebcc3db616a55fdbb9f1a0d67c950b80dc2010 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4133268 Reviewed-by: Jamie Madill <jmadill@chromium.org> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop a0939325 2023-01-01T17:41:33 Tests: Add Catalyst Black trace Test: angle_trace_tests --gtest_filter="*catalyst_black*" Bug: angleproject:7921 Bug: angleproject:7924 Change-Id: I626d6790ef602f3ca09c9c9a4e03c5df32a985ba Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4133886 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop b5a8cb42 2022-12-30T21:00:54 Tests: Add Cut the Rope trace Test: angle_trace_tests --gtest_filter="*cut_the_rope*" Bug: angleproject:5823 Bug: angleproject:7920 Change-Id: I6c607c593d828623afadff5677e0a8324e6b89f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4129086 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Cody Northrop 8e2b87ac 2022-12-29T21:19:29 Tests: Add MU Origin 3 trace Test: angle_trace_tests --gtest_filter="*mu_origin_3*" Bug: angleproject:7917 Change-Id: Ic00a42d3c8b7c6c92a66c09c258a32d22e5f4805 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4129866 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Yuly Novikov 4a8bc146 2022-12-29T17:26:05 Skip angle_restricted_trace_gold_tests.car_chase asserts on Pixel 6 Assert failed in setSerial Bug: angleproject:7916 Change-Id: I05a91cfd29194e29e6c512c9001c064951dcf466 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4127959 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Cody Northrop d53ba51f 2022-12-17T16:31:31 Tests: Add Disney Mirrorverse trace Test: angle_trace_tests --gtest_filter="*disney_mirrorverse*" Bug: angleproject:7897 Change-Id: I1b49c253e606f08c5af80f8f9b60b8948a0d5121 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4114829 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Yuly Novikov cc6a8536 2022-12-09T18:01:53 Skip couple non-deterministic angle_restricted_trace_gold_tests on Win Intel Vulkan. black_desert_mobile the_gardens_between produce slightly different images each run. Bug: angleproject:7879 Change-Id: I3a7c218b8e67b4800b4620ab7d1dc6ee15a5a089 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4092915 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Jamie Madill 2031e215 2022-12-02T15:30:54 Fixes for Vulkan secondaries build. Includes the defined name of the alternate library in every build, so that platforms without Vulkan still have access to the library name define. Also fixes checks for the ANGLE driver in the tests to work with the new secondaries enum. This will let developers run trace tests with the vulkan secondaries library. Bug: angleproject:6811 Change-Id: If3846d68e532238f0b1c1c506638867a23fb4357 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4076513 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 71ead7b4 2022-11-20T15:56:42 Tests: Add Diablo Immortal trace Test: angle_trace_tests --gtest_filter="*diablo_immortal*" Bug: angleproject:7402 Bug: angleproject:7837 Change-Id: I7c7ccc0099707714213564740f58f04f7965a275 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4041134 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 1f69f580 2022-11-18T14:33:20 Perf tests: Add --fixed-test-time-with-warmup Warmup trials combined with fixed-test-time was broken recently. It was already fragile and only worked when parameters were provided in the right order. On Android we're relying on this combination to get steady results without hitting thermal limits. To address this: - Add a new parameter that encapsulates the combination - ASSERT that flags aren't provided in unsupported combinations Test: python3 restricted_trace_perf.py --fixedtime 10 Bug: angleproject:7755 Change-Id: I56fce1f65d4f0538e623951163a9c8736cb3fb03 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4027282 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 202fcb8d 2022-11-21T15:05:13 TraceTest: Route EGLSync entry points through WGL Test: diablo_immortal trace Bug: angleproject:7402 Bug: angleproject:7839 Change-Id: I8897337bac38cb1923e58a9503de01454766158d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4044865 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Cody Northrop 124ba087 2022-11-14T15:14:37 Tests: Add Minetest trace Test: angle_trace_tests --gtest_filter="*minetest*" Bug: angleproject:7831 Change-Id: If182136cd14207d7243a2fcd56737dd0ea28b2de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4022260 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Yuly Novikov 518209e8 2022-11-10T16:37:20 Fix Mac build sprintf was deprecated Bug: angleproject:7824 Change-Id: If261426f1bf4e8d7997f051b87ea4817d1e3a264 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4020418 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 6b3e4d8b 2022-11-07T09:32:33 Ensure replay is at the first frame on startTest(). Currently trials continue from the next frame after warmup, so the frame that they start from fluctuate depending on how the warmup went. This was supposed to be tackled by aligning to frameCount() but the first warmup trial wasn't aligned as it would stop after a condition was reached. Only stop on mTrialNumStepsPerformed % stepAlignment == 0 Bug: angleproject:7671 Change-Id: I0da74d89547eda6e78762ee7745204d0da6fe73a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4008998 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Cody Northrop bae82cfa 2022-10-31T17:11:45 TraceTest: Route eglGetError through WGL eglGetError is not implemented, but shouldn't crash on Windows. Bug: angleproject:7799 Change-Id: I61158ab21b86539020b5d492486333a56908ab69 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3995984 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Sean Risser f3e047b5 2022-10-12T16:28:32 Add new retrace command get_min_reqs `retrace_restricted_traces.py get_min_reqs` finds the minimum required GLES version and extensions and record them to a trace's json file. TracePerfTest has also been modified to use the new "RequiredExtensions" json field to determine if it should run a test or not. This allows several lines to be removed from TracePerfTest's constructor. get_min_reqs uses a divide-and-conquer strategy to find the extensions. This approach should be faster for traces where the number of required extensions is less than 20. This adds a new command to retrace_restricted_traces.py called get_min_reqs. This runs an existing trace multiple times to find what the minimum required GLES version is, then records that version to the trace's json file. Bug: angleproject:7639 Change-Id: I42530e438054efec1ad79ababebe06d221d5c695 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3884175 Reviewed-by: Geoff Lang <geofflang@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Sean Risser <srisser@google.com>
Jamie Madill dc62b3ee 2022-10-10T21:00:16 Capture/Replay: Add trace interpreter. Also adds a self-test using the retrace script. Bug: angleproject:7752 Change-Id: I1985b47250bef99726d2ca2d90bef859208e357e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3965128 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Jamie Madill a41c6173 2022-10-16T08:28:53 Simplify trace test names. Originally we had a lot of conditionally enabled test configs in angle_perftests, that we enabled behind a flag because the total runtime would be too large if we left everything enabled. This CL switches to using a single test set, one for each trace, and using a the same command-line API we use in dEQP and the ANGLE samples to pick a single configuration. This makes it easier to pick exactly what configurations you want from the command line. Because we only run one configuration each time, we don't need to specialize the test name to include the configuration info. We can also simplify TracePerfTest -> TraceTest since these tests are run for both perf and correctness. Old name: TracePerfTest.Run/vulkan_trex_200 New name: TraceTest.trex_200 Example for tests that don't use default arguments: Old args: --enable-all-trace-tests Old name: TracePerfTest.Run/native_offscreen_trex_200 New args: --use-gl=native --offscreen New name: TraceTest.trex_200 Bug: angleproject:7755 Change-Id: Id93cf5725eff2e2c6b3b14804bc2902f38306e7e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3966535 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Jamie Madill 0c3b4fe8 2022-10-21T10:17:31 Reduce --use-angle spam in TracePerfTest. Instead of recalculating the back-end for every trace, we can do it once in the test instantiation and pass the results around. Bug: angleproject:7755 Change-Id: I492c639d91ee6ad6a325cff090813aaeb900b2d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3971080 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Jamie Madill e495e7fd 2022-10-14T13:52:47 Redo perf and trace test parameters. - Moves common argument parsing code into test_util. - Changes the perf test arg parsing to use the common functions. - Adds new --use-angle and --use-gl parameters to the trace tests. - Also adds new --offscreen and --vsync parameters to the traces. - Removes the now unneeded --enable-all-trace-tests argument. - Both --arg=value and --arg value work in test suites now. Now, instead of using --enable-all-trace-tests you can specify the backend with --use-angle=swiftshader, --offscreen, or combinations of those parameters. The test names are the same as they were before, but only the configured tests will run in a session. We could opt to simplify the test names in later CLs if we want to simplify the test running. Ideally we'd keep the perf reporting the same because then we'd keep the time series the same on the test infra. This also allows us to split up the trace tests into separate targets on the bots, which will better allow us to control the workloads and sampling of the tests. For example: - angle_perftests becomes - angle_perftests (microbenchmarks) - angle_trace_perf_vulkan_tests (traces with vulkan back-end) - angle_trace_perf_native_tests (traces with system GL) Bug: angleproject:7755 Change-Id: I537168f3a6de96425dfda05ed98220eff9b19b76 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3956937 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 637209c9 2022-10-02T22:05:12 Tests: Add Survivor.io trace Test: angle_perftests --gtest_filter="*survivor_io*" Bug: angleproject:7728 Bug: angleproject:7733 Bug: angleproject:7737 Change-Id: Ic337af781a209c3302bee748c5aed47f367993a8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3932009 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Jamie Madill 5b3781ec 2022-10-03T16:09:35 Remove namespacing from all ANGLE loaders. This will make it easier to work with pure C files. Bug: angleproject:7731 Change-Id: I2fe9af486af5f339d973c9149f082eb1f2efa8c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3925426 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop f7a5cce1 2022-09-29T10:42:26 Tests: Add Life is Strange trace Test: angle_perftests --gtest_filter="*life_is_strange*" Bug: angleproject:7711 Bug: angleproject:7723 Change-Id: I83d9d58270a80435dba8991875b20a215372334f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3928205 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 5e3bf6d8 2022-09-22T15:53:39 Tests: Add Eve Echoes trace Test: angle_perftests --gtest_filter="*eve_echoes*" Bug: angleproject:7215 Bug: angleproject:7690 Change-Id: Ib636ab57831cddac5fe793ec5cf7d05764e90766 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3914041 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 543c450e 2022-09-09T14:37:39 Tests: Add Botworld Adventure trace Test: angle_perftests --gtest_filter="*botworld_adventure*" Bug: angleproject:7645 Change-Id: Icbe7a21538537ea1c2ca4161b5d56bae43adcdf4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3888778 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Solti f5b3ecd4 2022-09-06T17:02:50 fix perf test result path ==== Overview ==== Previously for bug 6353, we wanted to enable this extra logging at ANGLERenderTest level so that all ANGLERenderTest tests can benefit from the extra logging. The design was assuming ANGLERenderTest can have any arbitrary naming, and then just include the trace name in the name. However this assumption is wrong because the name affects the path of some perf data that is monitored by a dashboard. Therefore, if we don't want to change the dashboard, then ANGLERenderTest naming is constrained. This CL changes how the trace names are printed in logcat for ANGLERenderTest. Instead of passing down from TracePerfTest via the name, the new design is just printing the mName, mBackend, and the mStory since those variables contain the required information to serve the purpose of bug 6353. ==== Tests ==== [test 1] - use this build args: http://go/paste/4625489225318400 - ```autoninja -C out/Android && ./out/Android/angle_perftests --gtest_filter="*angry_birds*" --verbose``` - Wait for the test to complete, then run ```adb logcat -d | grep "running test"``` - 4 tests were executed: ``` solti@solti:~/angle$ adb logcat -d | grep "running test" 09-06 18:34:13.491 13614 13644 I ANGLE : running test name: "TracePerf", backend: "_vulkan", story: "angry_birds_2_1500" 09-06 18:34:23.958 13614 13644 I ANGLE : running test name: "TracePerf", backend: "_native", story: "angry_birds_2_1500" 09-06 18:34:45.177 13614 13644 I ANGLE : running test name: "TracePerf", backend: "_vulkan", story: "angry_birds_2_launch" 09-06 18:35:11.136 13614 13644 I ANGLE : running test name: "TracePerf", backend: "_native", story: "angry_birds_2_launch" solti@solti:~/angle$ ``` [test 2] - follow http://docs/document/d/1W3E7e-YcR5noim_poM0f7Dc0W8AdQDbJ2tFSPXgjpH0? resourcekey=0-VmGDLI3x0q4-sdpQ0n8GSA - setup out/AndroidPerformance - the build args: http://go/paste/4862801771233280 - the build cmd: autoninja -C out/AndroidPerformance angle_perftests - run cmd: ./out/AndroidPerformance/angle_perftests --gtest_filter="*angry_birds*" --verbose --local-output --verbose-output --shard-timeout 100000 --max-steps-performed 1 - then, run cmd: ```adb logcat -d | grep "running test"``` - confirmed the test names are printed: ``` solti@solti:~/angle$ adb logcat -d | grep "running test" 09-06 18:58:50.216 14592 14621 I ANGLE : running test name: "TracePerf", backend: "_vulkan", story: "angry_birds_2_1500" 09-06 18:58:51.143 14592 14621 I ANGLE : running test name: "TracePerf", backend: "_native", story: "angry_birds_2_1500" 09-06 18:58:51.467 14592 14621 I ANGLE : running test name: "TracePerf", backend: "_vulkan", story: "angry_birds_2_launch" 09-06 18:58:51.907 14592 14621 I ANGLE : running test name: "TracePerf", backend: "_native", story: "angry_birds_2_launch" solti@solti:~/angle$ ``` Bug: angleproject:6353 Bug: angleproject:7627 Change-Id: I02ad4396674fc01e9d10e474660a9dfac0d31edc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3873118 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Solti Ho <solti@google.com>
Roman Lavrov 4b33633a 2022-08-26T16:16:50 Capture/Replay: Delete binary data in FinishReplay via callback Delete callback fixes b/179188489 as delete[] will get called from the same module where allocation happens. When decompress/delete callbacks not provided, new[] and delete[] are called from the fixture. AFAICT, gBinaryData == nullptr every time, even with a single test and --gtest_repeat=N, so we never delete the uncompressed data. When running multiple tests locally, I see RES usage grow significantly on Linux which this CL fixes. I don't think this matters for bot runs as we run tests one by one there. Bug: b/179188489 Change-Id: Iee3bccb9d6d72c315c4358b70ec9c3c0ac963258 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3858185 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Cody Northrop 28600f60 2022-08-21T21:51:19 Test: Add Antutu Refinery trace Test: angle_perftests --gtest_filter="*antutu_refinery*" Bug: angleproject:7590 Change-Id: I967c72a4109baf64cda1afc3d27407286253ea35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3844790 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Solti a216cfe8 2022-08-08T21:05:00 Adding angle_perftests test case names in logcat Overview: In logcat, we want to know which test is being executed. The CL 1. makes *ANGLEPerfTest* print the test name 2. wire the trace names in *TracePerfTest* as test names to *ANGLEPerfTest* Local Test: ==== Test 1 ==== - use this build args: http://go/paste/5111738277036032 - ```autoninja -C out/Android && ./out/Android/angle_perftests --gtest_filter="*angry_birds*" --verbose``` - Wait for the test to complete, then run ```adb logcat -d | grep running``` - 4 tests were executed: ``` solti@solti:~/angle$ adb logcat -d | grep running 08-11 18:13:49.757 7690 7721 I ANGLE : running test: TracePerf_Run/vulkan_angry_birds_2_1500 08-11 18:13:59.914 7690 7721 I ANGLE : running test: TracePerf_Run/native_angry_birds_2_1500 08-11 18:14:21.265 7690 7721 I ANGLE : running test: TracePerf_Run/vulkan_angry_birds_2_launch 08-11 18:14:48.030 7690 7721 I ANGLE : running test: TracePerf_Run/native_angry_birds_2_launch 08-11 18:14:58.296 1525 1525 E JobScheduler.Quota: <0>com.google.android.apps.docs has 0 EJ quota without running anything 08-11 18:14:58.296 1525 1525 E JobScheduler.Quota: <0>com.google.android.apps.docs has 0 EJ quota without running anything 08-11 18:14:58.297 1525 1635 E JobScheduler.Quota: <0>com.google.android.apps.docs has 0 EJ quota without running anything solti@solti:~/angle$ ``` ==== Test 2 ==== - follow http://docs/document/d/1W3E7e-YcR5noim_poM0f7Dc0W8AdQDbJ2tFSPXgjpH0? resourcekey=0-VmGDLI3x0q4-sdpQ0n8GSA - setup out/AndroidPerformance - run cmd: ./out/AndroidPerformance/angle_perftests --gtest_filter="*angry_birds*" --verbose --local-output --verbose-output --shard-timeout 100000 --max-steps-performed 1 - then, run cmd: ```adb logcat -d | grep running``` - confirmed the test names are printed ``` solti@solti:~/angle$ adb logcat -d | grep running 08-11 18:22:50.698 8496 8525 I ANGLE : running test: TracePerf_Run/vulkan_angry_birds_2_1500 08-11 18:22:51.599 8496 8525 I ANGLE : running test: TracePerf_Run/native_angry_birds_2_1500 08-11 18:22:51.917 8496 8525 I ANGLE : running test: TracePerf_Run/vulkan_angry_birds_2_launch 08-11 18:22:52.362 8496 8525 I ANGLE : running test: TracePerf_Run/native_angry_birds_2_launch solti@solti:~/angle$ ``` ==== Test 3 ==== - build a Linux build, using the args: http://go/paste/5953043785842688 - run the same test with cmd: xvfb-run ./out/Debug/angle_perftests --gtest_filter="*angry_birds*" --verbose | grep "running test" - confirmed the message is printed: http://go/paste/5800151735074816 Bug: angleproject:6353 Change-Id: I6118a75f54b1648923cb5fe541633d7dd52b20bb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3817409 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Amirali Abdolrashidi 02d79c32 2022-08-12T11:21:04 Skip kotor trace on Swiftshader due to flakiness After changing the driver uniforms to push constants, the kotor trace became flaky on Linux/Swiftshader. In this CL, the flaky test is skipped. Bug: angleproject:7565 Change-Id: Ia3deb1344ce2dfb8cec443d197b0f95788a12599 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3829907 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Cody Northrop 13da8b97 2022-08-02T08:52:06 Tests: Add Octopath Traveler trace Test: angle_perftests --gtest_filter="*octopath_traveler*" Bug: angleproject:7543 Change-Id: I6187058f99c1598051a118ac65e0121e9c35ac9d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3805739 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 606a9239 2022-07-31T21:01:31 Tests: Add Ni no Kuni trace Test: angle_perftests --gtest_filter="*ni_no_kuni*" Bug: angleproject:7507 Change-Id: I129a9f053dab24f277c42d22876732b83e4de933 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3802565 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Roman Lavrov d6acced1 2022-07-25T18:11:20 Add flag --save-screenshots (implied by --screenshot-dir). --screenshot-dir and --render-test-output-dir behave differently on Android. --screenshot-dir is passed as is and therefore means a device directory, and --render-test-output-dir has special handling in Android wrappers that substitutes this flag with a temporary location on the device then copying files to the local directory set by this flag. Cody pointed out that there are many docs referring to --screenshot-dir so behavior should be preserved. So --save-screenshots is implied when this flag is set. Otherwise, it defaults to false, so --render-test-output-dir just on its own won't save screenshots, only when --save-screenshots is added as well. This also allows to produce other artifacts without necessarily producing screenshots by using --render-test-output-dir without --save-screenshots. Bug: angleproject:7299 Change-Id: Ib1a268ddeb7eba9f120e3f37a429ea0e4bbe2411 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3785296 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Yuly Novikov 1e619503 2022-07-20T11:55:49 Skip TracePerfTest vulkan_car_chase on Linux Intel Flaky VK_ERROR_DEVICE_LOST on Intel UHD 630 Mesa 20.0.8 Bug: angleproject:7125 Change-Id: I7e99819a586e3f146728f49dfdeebf9e8ddcb219 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3777097 Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Lubosz Sarnecki 45e5cf01 2022-06-03T14:29:23 Vulkan: Implement ASTC emulation. Implement ASTC emulation using the astc-encoder library. Add copy_image tests to deqp_gles31_test_expectations for desktop cards. Add emulatedAstc limitation. Don't expose emulated ASTC from WebGL contexts. Introduce ANGLE_HAS_ASTCENC define to check for build availability. Only build on angle_standalone configurations. DEPS: Add astc-encoder. image_util: Decode ASTC to RGBA. TracePerfTest: Skip car_chase and genshin_impact on NVIDIA. Bug: angleproject:7415 Change-Id: Ib2f3fd3f710164a2ecd5d5edf780227031bbfb84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3697999 Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Eddie Hatfield f1dac70d 2022-07-12T15:56:10 Remove platform skips for cookie_run and real_cricket These traces now work after being updated in restricted_traces.json. Bug: angleproject:7420 Change-Id: I57be700afb0a9232ce88bf2eed5f5104256b94f6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3759428 Reviewed-by: Ian Elliott <ianelliott@google.com> Commit-Queue: Eddie Hatfield <eddiehatfield@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Eddie Hatfield 916a35dd 2022-06-28T14:40:53 Merge getTempPath and CreateTemporaryFile Also includes moving these two (and some helpers) to common/system_utils.h Bug: angleproject:5095 Change-Id: I7d2fcbd27a67dc13215265ac5b5e8391b15a980b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3733519 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Eddie Hatfield <eddiehatfield@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Lubosz Sarnecki 72f69e84 2022-06-21T16:22:25 ANGLEPerfTest: Add option to disable GL debug callbacks. Disable GL debug callbacks on native ARM GLES1. This fixes native GLES1 replay on Pixel 6 when running debug builds. Bug: angleproject:7447 Change-Id: I0059c07f4f2fb944e54a5163863b487bc31ab28f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3716584 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov a471d4bd 2022-06-15T14:33:22 Ensure ANGLERenderTest.mTestParams lifetime using unique_ptr Passing a reference is fragile, this currently works because factory outlives the test and so do captures: https://crsrc.org/c/third_party/angle/src/tests/perf_tests/TracePerfTest.cpp;drc=54e08a5af1f7ca50d5c154a09cc056166a9e49fa;l=2143 but if a temporary or a scoped object is passed to the constructor in the same spot then this blows up due to use after free, which is easy to run into accidentally as it is uncommon that f(const T&) would hold onto the reference and expect it to outlive the function call. In most cases ANGLERenderTest.mTestParams is initialized with GetParam() which comes from a base class and that Bug: angleproject:7410 Change-Id: I32ea8b79ad746129d4088d44fef2a37cc9c81b80 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3697436 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 153d8db9 2022-06-06T13:49:40 Turn missing {trace_name}.json trace files into test failures. Before this change, a missing or broken trace json file results in all trace tests "disappear" from the list with only ERR in logs. After this change, a missing or broken trace json will result in that specific test FAIL status and error in logs. Note that this also allows for inconsistency between restricted_traces.json and trace json files on the device because we're no longer requiring for trace json to be loaded unless the test is actually being run. Bug: angleproject:7410 Change-Id: I07532dc0bf85a0d2fcaf425ce8d4a589473a898d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3690734 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill c73ea49a 2022-06-10T13:39:54 Reland "Remove cwd manipulations." This reverts commit 4e37ec8c021e5739e720d2847ac814f8eef296a6. Reason for revert: Turns out it wasn't necessary. Original change's description: > Revert "Remove cwd manipulations." > > This reverts commit c11af00ae1d10d43a71a28c07f99969665c4ea2a. > > Reason for revert: Needed for http://crrev.com/c/3690739 > > Original change's description: > > Remove cwd manipulations. > > > > Doesn't appear to be needed as the underlying functions > > are already using the executable path. > > > > Bug: angleproject:7410 > > Change-Id: Ia9566c7159624bcb039d7dd2e9d23f4b18649f45 > > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3695519 > > Commit-Queue: Roman Lavrov <romanl@google.com> > > Reviewed-by: Jamie Madill <jmadill@chromium.org> > > Bug: angleproject:7410 > Change-Id: I397ed2e75155a774c45af9c67e5906932183f1c8 > No-Presubmit: true > No-Tree-Checks: true > No-Try: true > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3696830 > Auto-Submit: Jamie Madill <jmadill@chromium.org> > Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> > Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bug: angleproject:7410 Change-Id: I06487f345482e4c26ed78754395054b43d182357 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3697310 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4e37ec8c 2022-06-09T16:44:44 Revert "Remove cwd manipulations." This reverts commit c11af00ae1d10d43a71a28c07f99969665c4ea2a. Reason for revert: Needed for http://crrev.com/c/3690739 Original change's description: > Remove cwd manipulations. > > Doesn't appear to be needed as the underlying functions > are already using the executable path. > > Bug: angleproject:7410 > Change-Id: Ia9566c7159624bcb039d7dd2e9d23f4b18649f45 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3695519 > Commit-Queue: Roman Lavrov <romanl@google.com> > Reviewed-by: Jamie Madill <jmadill@chromium.org> Bug: angleproject:7410 Change-Id: I397ed2e75155a774c45af9c67e5906932183f1c8 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3696830 Auto-Submit: Jamie Madill <jmadill@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Roman Lavrov c11af00a 2022-06-08T14:45:58 Remove cwd manipulations. Doesn't appear to be needed as the underlying functions are already using the executable path. Bug: angleproject:7410 Change-Id: Ia9566c7159624bcb039d7dd2e9d23f4b18649f45 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3695519 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Jamie Madill 54e08a5a 2022-05-25T14:35:02 Trace Tests: Remove Pixel 2 expectations. We no longer test on this device. Bug: angleproject:5517 Bug: angleproject:5553 Bug: angleproject:5553 Bug: angleproject:5591 Bug: angleproject:5716 Bug: angleproject:5772 Bug: angleproject:5877 Bug: angleproject:6023 Change-Id: Iaf6f49cdf2a10bc0704e9956aca81b5e36679c10 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3668147 Auto-Submit: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 3da24b5c 2022-05-16T11:58:59 Move trace loader code to a common location. With that Capture/Replay will be able to make use of the same code. CL authored by gert.wollny@collabora.com. Bug: angleproject:4964 Change-Id: Ie1ba663169a34929f5a169ab74c7042e9fd5deb0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645441 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Charlie Lao ff011779 2022-05-13T12:36:24 Vulkan: Let texture buffer handle BufferVk's storage change When buffer's storage changed due to glBufferData call, texture buffer code should also respond to this and update the texture descriptor set. This CL merges BufferVkStorageChanged message into InternalMemoryAllocationChanged and removed BufferVkStorageChanged all together. Bug: angleproject:7283 Change-Id: I230ee7268634e747d06eab1954f5a76ecf84c9d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3646955 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Lubosz Sarnecki 0f2fc766 2022-05-04T12:51:15 TracePerfTest: Add ability to screenshot after reset. This patch makes --screenshot-frame take frame arguments that are greater than the frame range of the test. This makes it possible to capture screenshots after reset. E.g. the trace has 100 frames, the argument 1 and 101 should give the same result, but will differ if reset fails. Bug: angleproject:7307 Change-Id: Ie149e6046d0384d93341c677a7b391b5342917d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3644577 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 40583b0f 2022-05-12T09:09:37 Tests: Skip pubg_mobile_skydive on Nvidia Test: angle_perftests --gtest_filter="*pubg_mobile_skydive*" Bug: angleproject:7283 Change-Id: Iba6c7c9caa2f887b0c5016869416ec4897975e1b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3645587 Commit-Queue: Jamie Madill <jmadill@chromium.org> Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Gert Wollny 089f2871 2022-05-10T13:05:18 PerfTests: Add support for eglCreateImage and eglDestroyImage Bug: angleproject:4964 Change-Id: I7a028b72cf7a44230f8d129753daef8c04f2fac5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3636061 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>
Yuxin Hu 225d8f83 2022-05-04T11:34:56 Tests: Add Mortal Kombat App Trace Test: angle_perftests --gtest_filter="*mortal_kombat*" Bug: angleproject:6997 Bug: b/218515707 Change-Id: Ie1d4ab498239308761aab55a92f1280cb52dd0a6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3627126 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Cody Northrop 1d073482 2022-05-04T23:25:23 Tests: Add Basemark GPU trace Test: angle_perftests --gtest_filter="*basemark_gpu*" Bug: angleproject:7274 Change-Id: I5adbc16ab7a6f5d3b51de3b31614fb1acb75a9f8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3628950 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Cody Northrop b953bc13 2022-04-01T09:14:28 Tests: Add GFXBench Tessellation trace Test: angle_perftests --gtest_filter="*tessellation*" Bug: angleproject:7154 Change-Id: I8b5284dc32aff2631b8d3c6b726c174738cf1a5a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3564075 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi fcec6904 2022-04-13T14:18:06 Generate feature variable names from display names The json file now only contains the feature display name. The variable name is automaticaly derived. For consistence with Chromium and other Chromium-based projects, the display name is now always snake_case, and that's what's specified in the json files. This also makes camelCase variable name generation trivial (as opposed to the other way around). Feature overrides now accept both snake_case and camelCase names to ensure compatibility with existing scripts. This is done by removing _ and comparing override names with feature names in lower case. Bug: angleproject:6435 Change-Id: I0b6ed2bbf5c312bc4f4be7b3c7d55dbaca2a9886 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3584630 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Lubosz Sarnecki 03b3bc3f 2022-04-08T13:36:50 Tests: Add Special Forces Group 2 trace. Ignore a SYNC-HAZARD-WRITE_AFTER_READ VVL error in RendererVk. Add GL_EXT_texture_buffer prerequisite. Test: angle_perftests --gtest_filter="*special_forces_group_2*" Bug: angleproject:5592 Change-Id: I63350a0bdbdffbc6951fd650753d900b5ff0bade Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3578764 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 797e627e 2022-04-08T22:49:51 Autogenerate list of features as enum The WithX() and WithNoX() helpers are removed and replaced with enable() and disable() member functions that take the name of the feature (as a Feature::X enum constant). This has two benefits: - Adding tests that override a feature no longer requires additional helper functions to be written. - There's no mistaking the feature name. This change doesn't yet fix the main issue in anglebug.com/6435, but does fix the following helpers using an old feature name (so they were ineffective): - WithMetalForcedBufferGPUStorage - WithNoVulkanViewportFlip A follow up would remove the old way of overriding features in tests and replaces them with the new way. Bug: angleproject:6435 Change-Id: Ida02b26ec72bc40d7a8938c76a93815bb903ca05 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3580982 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 152616ee 2022-04-04T19:34:53 Tests: Add Aztec Ruins High trace Test: angle_perftests --gtest_filter="*aztec_ruins_high*" Bug: angleproject:7169 Change-Id: I3d30348f663a4b1c54df1179d471363ca4c244c1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3570244 Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 3258477a 2022-04-05T16:08:09 Skip car_chase on all Intel Windows platforms The trace did not get its gold image assigned correctly due to some Intel platforms not running the trace on submission. Bug: angleproject:7173 Change-Id: I7891204ccba86bff1ee1cb5e16aa870a2122beb1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3572973 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 8b84cf15 2022-03-30T13:42:38 Tests: Add GFXBench Car Chase trace Test: angle_perftests --gtest_filter="*car_chase*" Bug: angleproject:7125 Bug: angleproject:7173 Change-Id: I07069d46351718743e545fc056f41de2b6fe3820 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3561484 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop a555be4a 2022-04-02T19:46:22 Tests: Add Scary Teacher 3D trace Test: angle_perftests --gtest_filter="*scary_teacher_3d*" Bug: angleproject:7163 Change-Id: I305146c403288f9409637c0847af6c38b0cefa89 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3567125 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 1a3411c7 2022-04-01T18:42:51 Set SKIPPED status on skipped tests, rely on it in Gold tests. Gold tests check for '[ SKIPPED ] {test_name}' notice in test output instead of assuming that missing screenshot means SKIP. Now missing screenshot raises an exception. Also log the reason why the test was skipped. Example: [ RUN ] TracePerfTest.Run/native_asphalt_8 ../../src/tests/perf_tests/ANGLEPerfTest.cpp:837: Skipped Test skipped due to missing extension: GL_KHR_texture_compression_astc_ldr [ SKIPPED ] TracePerfTest.Run/native_asphalt_8 (182 ms) Bug: angleproject:6854 Change-Id: I2d88e2063a68ae95399a7932700f74032737ec91 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3565561 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Jamie Madill 3739a195 2022-03-09T13:56:36 perf tests: Record perf counter metrics. This adds a new command line argument that will allow the user to specify perf counters to record into the test output. Bug: angleproject:4918 Change-Id: Ia7432ff96eadf13ef681f67d2d503d00fd83e06e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3516970 Reviewed-by: Lingfeng Yang <lfy@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Cody Northrop 37bfc40d 2022-02-27T16:27:26 Tests: Add Blade&Soul Revolution trace Test: angle_perftests --gtest_filter="*blade_and_soul_revolution*" Bug: angleproject:7053 Change-Id: I0ef1442c5cf12c08f9b461559512ae858829e41c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3492850 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Lubosz Sarnecki b69349bc 2022-02-15T14:59:03 Tests: Add Real Racing 3 trace. Add GL_EXT_shader_framebuffer_fetch prerequisite. Test: angle_perftests --gtest_filter="*real_racing3*" Bug: angleproject:7026 Change-Id: Ie76e7ca43bb3a95c343e56d3b830f1f6d6e733c4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3475351 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 54d428dd 2022-02-10T20:25:51 Tests: Add MARVEL Strike Force trace Test: angle_perftests --gtest_filter="*marvel_strike_force*" Bug: angleproject:7005 Change-Id: Ife9c6f303651bc746953e0ecfc529a2c9ec0b0d7 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3457744 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 02ce52d2 2022-02-08T20:41:01 Test: Add Lords Mobile trace Test: angle_perftests --gtest_filter="*lords_mobile*" Bug: angleproject:7000 Change-Id: I451433be5269c199ff404162df406b16ecee155b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3450029 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 236a3d0f 2022-02-06T16:09:24 Tests: Add Dead Trigger 2 trace Test: angle_perftests --gtest_filter="*dead_trigger_2*" Bug: angleproject:5823 Bug: angleproject:6986 Change-Id: I259cfb2f9c9d2d0f14af315c0e02fcd42d24cb8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3442757 Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Lubosz Sarnecki 9bf5716c 2022-01-26T16:39:11 Tests: Add War Planet Online trace. Add GL_KHR_texture_compression_astc_ldr prerequisite. Test: angle_perftests --gtest_filter="*war_planet_online*" Bug: angleproject:6774 Change-Id: I3d595453a0a570a1af4b1e6673cfc77e4ff9210b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3420296 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Lubosz Sarnecki 42c8b29d 2022-01-05T13:35:23 Tests: Add Dead By Daylight trace. Add GL_EXT_shader_framebuffer_fetch prerequisite. Ignore SYNC-HAZARD-READ_AFTER_WRITE validation error in RendererVk. Test: angle_perftests --gtest_filter="*dead_by_daylight*" Bug: angleproject:6870 Change-Id: I01f53ff8d26b704b75afe8c02ac12777b51fd5de Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3372793 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Lubosz Sarnecki <lubosz.sarnecki@collabora.com>
Tim Van Patten 706e44b0 2021-12-23T19:36:44 Tests: Add PUBG Mobile launch trace Note: This isn't full representative of the shader compilation phase, since the glGetProgramBinary() calls are excluded from the trace due to missing functionality. The goal of this trace is to benchmark the compile/link/use program steps, so this trace is still useful from that perspective. Test: TracePerfTest.Run/*pubg_mobile_launch Bug: angleproject:6848 Bug: angleproject:6850 Change-Id: Ic0572b9fd1d0d26a53571c64446e577c7af7fa3a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3355556 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill cb96c236 2022-01-26T18:53:55 Revert "Vulkan: Enable framebuffer fetch on SwiftShader." This reverts commit 5107231939b5e04d3d5e4376176db42c3ae60193. Reason for revert: Fails new code paths in Chrome+Skia. Bug: angleproject:6947 Original change's description: > Vulkan: Enable framebuffer fetch on SwiftShader. > > This also fixes a bug with non-coherent fetch in the symbol table. > > Bug: angleproject:6947 > Bug: angleproject:6948 > Change-Id: I190b2e0cddf1bc1b53a79079d3e2f79ccbb40d15 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3412998 > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: angleproject:6947 Bug: angleproject:6948 Change-Id: I8bd6c55598552b733547e45c854f6d55768d2b65 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3417503 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 51072319 2022-01-25T10:41:25 Vulkan: Enable framebuffer fetch on SwiftShader. This also fixes a bug with non-coherent fetch in the symbol table. Bug: angleproject:6947 Bug: angleproject:6948 Change-Id: I190b2e0cddf1bc1b53a79079d3e2f79ccbb40d15 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3412998 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 4d893a93 2021-09-07T11:47:23 Re-land: "Trace Tests: Remove auto-generated code." No significant changes in the re-land. Bug: angleproject:5133 Change-Id: Ib5bb8fba3e9e2f1f648d5af251b7b2319c9f37dd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3352432 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 26fa0fe6 2021-12-15T10:44:40 Tests: Add Asphalt 9 trace Test: angle_perftests --gtest_filter="*asphalt_9*" Bug: angleproject:5883 Change-Id: I8d180e6bd865d04ccc5c5938d62d86d1293de901 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3308852 Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 709d8727 2021-12-14T16:11:33 Revert "Trace Tests: Remove auto-generated code." This reverts commit 1c0bb44862fbc6107d73d056c2e07c59bcfa8d09. Reason for revert: Causing failures on Intel Linux with native driver. Original change's description: > Trace Tests: Remove auto-generated code. > > Bug: angleproject:5133 > Change-Id: I71a82071b1c667475f7fefcd6c8766a9de71141d > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144215 > Reviewed-by: Cody Northrop <cnorthrop@google.com> > Reviewed-by: Tim Van Patten <timvp@google.com> > Commit-Queue: Jamie Madill <jmadill@chromium.org> Bug: angleproject:6816 Change-Id: Ic35145c8c3bb23ccf196b86def42f4a82f07aad5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3340332 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Tim Van Patten <timvp@google.com>
Jamie Madill 1c0bb448 2021-09-07T11:47:23 Trace Tests: Remove auto-generated code. Bug: angleproject:5133 Change-Id: I71a82071b1c667475f7fefcd6c8766a9de71141d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3144215 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 7fc6c07c 2021-09-29T14:02:29 Capture/Replay: Update process for trace upgrading. Includes changes to the retracing script. Also includes documentation on how the process works. Bug: angleproject:5133 Change-Id: I1acfe338f3fe0282a0461c314274c761ed04bd2f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3193418 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 66e1fb86 2021-12-09T11:52:24 Trace Tests: Ensure zillow runs on SwiftShader. This trace was being skipped based on incorrect GPU detection. Bug: angleproject:5133 Change-Id: I15e36e099aa2443153184f95b360a8afec278019 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3330575 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Jamie Madill <jmadill@chromium.org>
Jamie Madill 8c634492 2021-11-17T11:06:23 Updates to perf test running script. - Fixes logging (needed reload) - Improves logging messages (less spam) - Reduces time in test calibration & sampling - Record failures on test errors more robustly - Redesign the result recording class Bug: angleproject:6090 Change-Id: I53fd86e9e009bd52ec98507334c69b05e711d83e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3288206 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Jamie Madill 316dcb56 2021-10-06T09:31:49 Add SwANGLE Skia Gold testing. Required updating our system info helper to be able to retrieve SwiftShader device information. Bug: angleproject:6496 Change-Id: Ib38ea4da65d199433e17b87df2630c3fd77cb619 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3208646 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 45ffabd0 2021-11-04T09:45:03 Skip world_cricket_championship_2 Intel Linux Timing out. Bug: angleproject:6657 Change-Id: Ia4b6456adbffd41764ae2bccac6d1cf79f3b4fb6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262032 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 73da1648 2021-11-04T09:26:00 Tests: Skip zillow trace on desktop Vulkan Bug: angleproject:6658 Change-Id: I0d0152c83930b6a789bd9660ad2f16e9a8e9f80a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3262031 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Yuxin Hu 8aec7f35 2021-11-02T22:01:25 Add World Cricket Championship 2 Trace Test: angle_perftests --gtest_filter="*world_cricket_championship_2*" Bug: b/194508692 Change-Id: I0f36eba247b4726bc13b327634c429339ad1297c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3258343 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Shahbaz Youssefi f3d5dac3 2021-08-23T17:25:15 Vulkan: SPIR-V Gen: Drop dependency to glslang The SPIR-V gen path is now made default. Compilation through glslang is still supported for debugging, and is enabled on the GLSL* end2end tests for smoke testing. On release builds, glslang is not supported. To test with glslang, add the following gn arg (only necessary if dcheck is disabled): angle_enable_spirv_gen_through_glslang = true Then enable the generateSPIRVThroughGlslang feature. This can be done by setting an environment variable: ANGLE_FEATURE_OVERRIDES_ENABLED=generateSPIRVThroughGlslang ./angle_deqp_gles2_tests Binary size saving: - 1.3MB on Linux (SPIR-V gen itself: 240KB) - 730KB on Android (SPIR-V gen itself: 140KB) Perf tests: - LinkProgramBenchmark.Run/vulkan_compile_single_thread * Through glslang: truncated mean: 1287033.36 * Direct SPIR-V Gen: truncated mean: 244495.91 (~80% reduction) - LinkProgramBenchmark.Run/vulkan_compile_multi_thread * Through glslang: truncated mean: 4565894.83 * Direct SPIR-V Gen: truncated mean: 1158164.10 (~75% reduction) Bug: angleproject:4889 Bug: angleproject:6210 Change-Id: I486342702977c8114e90073b97183aba115a8b2d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3115140 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org> Reviewed-by: Tim Van Patten <timvp@google.com>
Yuly Novikov c0ab6a77 2021-10-09T00:38:40 Skip crashing pokemon_unite trace on Linux Intel Already skipped on Windows Bug: b/201900915 Bug: angleproject:6494 Change-Id: I4c586d88bb91ff13700157ee5ca585370e7c7887 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3213755 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Cody Northrop da804530 2021-10-08T12:52:04 Capture/Replay: Skip pokemon_unite on Intel+Windows Test is getting inconsistent results around foliage edges. Test: angle_perftests --gtest_filter="*pokemon_unite*" Bug: b/201900915 Bug: angleproject:6494 Bug: angleproject:6548 Change-Id: I06a72bcd2e471613caf1787ee8e5fd6e7f22817d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3214691 Reviewed-by: Jamie Madill <jmadill@chromium.org> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop fe943910 2021-10-02T21:55:34 Tests: Add Pokemon UNITE trace Test: angle_perftests --gtest_filter="*pokemon_unite*" Bug: b/201900915 Bug: angleproject:6494 Change-Id: I37b52a8557f135ca4d7e42eb964f17104d004513 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/3201031 Reviewed-by: Tim Van Patten <timvp@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>