src/tests/perf_tests


Log

Author Commit Date CI Message
Takuto Ikuta d9c0aa4a 2025-01-09T18:08:08 Reland "Roll third_party/glmark2/src/ ca8de51fe..2054465f6 (77 commits)" This is a reland of commit 68b594e859f036b01974f78f8ddca8c419bc8ce3 Includes fixes to glmark2Benchmark.cpp to parse updated output. Original change's description: > Roll third_party/glmark2/src/ ca8de51fe..2054465f6 (77 commits) > > https://chromium.googlesource.com/external/github.com/glmark2/glmark2/+log/ca8de51fedb7..2054465f6f7c > > $ git log ca8de51fe..2054465f6 --date=short --no-merges --format='%ad %ae %s' > 2024-04-25 alexandros.frantzis Use std::filesystem throughout the codebase > 2024-04-25 alexandros.frantzis android: Build native code with C++17 > 2024-04-25 alexandros.frantzis Doc: Recommend meson for building win32 flavors > 2024-04-25 alexandros.frantzis github: Build win32 flavors with msvc in CI > 2024-04-25 alexandros.frantzis github: Build win32 flavors with mingw in CI > 2024-04-25 alexandros.frantzis include/getopt: Always use non-const char array to avoid MSVC errors > 2024-04-25 alexandros.frantzis libmatrix: Add utility function to get idle time > 2024-04-25 alexandros.frantzis libmatrix: Add utility function to get process times > 2024-04-24 alexandros.frantzis libmatrix: Add utility function to get the number of processors > 2024-04-25 alexandros.frantzis libmatrix: Use C++ std::chrono instead of clock_gettime > 2024-04-25 alexandros.frantzis libmatrix: Use C++17 std::filesystem instead of dirent > 2024-04-25 alexandros.frantzis Build: Add support for win32 flavors in meson > 2024-04-24 alexandros.frantzis libmatrix: Provide a copy of the va_list to __android_log_vprint > 2024-04-13 kode54 NativeStateX11: Fix WM_DELETE_WINDOW handling > 2024-02-15 alexandros.frantzis NativeStateWayland: Explicitly destroy all Wayland resources at shutdown > 2024-02-15 alexandros.frantzis Explicitly release GL related resources at shutdown > 2023-06-03 prlw1 src/meson.build: add x11 dependency to glx > 2024-02-07 timchen021 Fix memory leaks using smart pointers > 2024-01-12 daniel.levin Add missing includes in scene-collection.h > 2023-11-01 alexandros.frantzis GLVisualConfig: By default don't care about the stencil config component > 2023-11-01 alexandros.frantzis Options,GLStateEGL,GLStateGLX: Add option to require a good visual config > 2023-07-26 abs GLStateEGL,GLStateGLX: Change failure to get a "good" visual config to warning > 2023-11-01 alexandros.frantzis libmatrix: Add Log::warning() function > 2023-05-20 prlw1 meson.build: fix build and avoid sigsegv > 2023-05-03 ofourdan NativeStateX11: Add winsys option for position > 2023-01-19 alexandros.frantzis Build,Doc: Update files for 2023.01 release > 2023-01-19 alexandros.frantzis NativeStateMir: Remove Mir/mirclient support > 2023-01-03 alexandros.frantzis ResultsFile: Support storing results in an XML file > 2023-01-03 alexandros.frantzis ResultsFile: Support storing results in a CSV file > 2023-01-03 alexandros.frantzis Options,ResultsFile: Add option to set the results file > 2023-01-03 alexandros.frantzis Introduce infrastructure to support saving results to a file > 2023-01-03 alexandros.frantzis CanvasGeneric: Store individual info elements in separate strings > 2023-01-03 alexandros.frantzis MainLoop: Store indivitual result values in separate strings > 2023-01-03 alexandros.frantzis Scene: Remove trailing ':' from scene info string > 2023-01-04 alexandros.frantzis SceneTerrain: Silence unused variable warning > 2022-12-21 pierre-yves.mordret NativeStateGBM: Lock and release the front buffer on flip > 2022-12-21 alexandros.frantzis MainLoop,Scene: Support reporting shader compilation time > 2022-12-20 alexandros.frantzis MainLoop,Scene: Add busy percentage in CPU time results > 2022-12-20 alexandros.frantzis MainLoop,Scene: Support reporting CPU time results > 2022-12-20 alexandros.frantzis Options: Introduce option to specify benchmark results to show > 2022-12-20 alexandros.frantzis Scene: Update elapsed times when a benchmark finishes > 2022-12-19 alexandros.frantzis Scene: Introduce struct to keep track of elapsed time > 2022-12-15 alexandros.frantzis Scene: Introduce infrastructure for more complex scene stats > 2022-12-15 alexandros.frantzis Scene: Move common preparation logic to Scene::prepare > 2022-12-13 alexandros.frantzis Scene: Introduce non-virtual methods to prepare and finish a scene for benchmark > 2022-12-08 alexandros.frantzis GLVisualConfig: Support specifying the config id in --visual-config > 2022-12-08 alexandros.frantzis libmatrix: Support prefix dependent input conversions from string > 2022-12-08 alexandros.frantzis GLStateEGL,GLStateGLX: Fail if no suitable config is found > 2022-12-08 alexandros.frantzis GLStateEGL,GLStateGLX: Don't limit the configs passed to our selection mechanism > 2022-12-08 alexandros.frantzis GLVisualConfig: Penalize configs with components smaller than requested > 2022-11-16 alexandros.frantzis github: Build x11-gl-egl flavor in CI > 2022-11-14 rilian-la-te build: Add x11-gl-egl flavor > 2022-11-10 alexandros.frantzis GLStateGLX: Support multisampled configs > 2022-11-10 l.stach GLStateEGL: Support multisampled configs > 2022-11-10 l.stach GLVisualConfig: Add multisampling support > 2022-09-02 120989324 Add missing newline at end of log messages > 2022-11-10 alexandros.frantzis NativeStateDRM,NativeStateGBM: Support configuring the DRM device > 2022-11-10 alexandros.frantzis Options: Support passing window system specific options > 2022-04-23 nunes.erico NativeStateGBM: Add GBM offscreen backend > 2022-07-07 wuqianhai SceneJellyfish: Fix memory leak > 2022-07-07 wuqianhai SceneRefract: Fix texture leak > 2022-07-07 wuqianhai SceneIdeas: Fix texture leak > 2022-06-14 Martin.Jansa waflib: fix compatibility with python-3.11 > 2022-05-12 jeffy.chen NativeStateDRM: Honor visual configuration > 2022-05-13 alexandros.frantzis GLStateEGL,GLStateGLX: Use SwapInterval 1 for FIFO swap mode > 2022-04-15 alexandros.frantzis NativeStateDrm: Implement swap interval 0 > 2022-02-14 alexandros.frantzis github: Run apt-get update to get latest packages > 2022-02-14 alexandros.frantzis CanvasGeneric,CanvasAndroid: Display surface config info > 2022-02-14 alexandros.frantzis Options: Support --version command line argument > 2022-02-14 alexandros.frantzis libmatrix: Add missing <utility> include > 2022-02-10 hillma libmatrix: avoid -Wimplicit-fallthrough > 2021-12-23 alexandros.frantzis Build,Doc: Update files for 2021.12 release > 2021-12-23 alexandros.frantzis NativeStateDrm: Fix crash when we can't become DRM master > 2021-09-30 jf android: Fix benchmark parameter edition > 2021-08-30 alexandros.frantzis Use highp precision modifier only on GLES > 2021-08-30 alexandros.frantzis GLStateEGL: Support EGL versions < 1.4 > 2021-04-11 maahiuzeon Fix model loading on big endian. > > Created with: > roll-dep third_party/glmark2/src > > Bug: chromium:40263312 > No-Presubmit: true > Change-Id: Ifee506badac67ff5af57605994daff01278c6d56 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6162277 > Reviewed-by: Yuly Novikov <ynovikov@chromium.org> > Auto-Submit: Takuto Ikuta <tikuta@chromium.org> > Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Test: angle_perftests --gtest_filter="*GLMark2Benchmark*" Bug: chromium:40263312 Change-Id: I54d8982cb37e488f80b7511ad0111d1ff111f004 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6174747 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuxin Hu d65751b4 2025-01-03T15:44:59 Skip monopoly_go trace on devices where the trace crashes Bug: angleproject:385226328 Change-Id: I8448e9bd355205dbf36599b6d82e5e05873b936e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6143534 Reviewed-by: Solti Ho <solti@google.com> Commit-Queue: Solti Ho <solti@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com>
Cody Northrop 244c0514 2024-12-07T23:06:03 Tests: Add Balatro trace Test: angle_trace_tests --gtest_filter="*balatro*" Bug: b/382914040 Bug: b/382960265 Change-Id: Iebebae9dc2da1b1f20f6e9c184130ebfd544ae52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6077333 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop 973c37d1 2024-12-08T22:43:32 Traces: Fix screenshot pixel pack state Without this fix, if the trace had non-default pixel pack state, our screenshots were broken. This just backs up the current state, sets defaults, then restores them. Test: return_to_monkey_island screenshots Bug: b/383027719 Change-Id: I8eaa1d58cdf34fbbaefdf4bbb054bff3fd8a5e9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6079310 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov a45099fd 2024-11-04T18:12:54 Tests: offscreen trace replay uses a single EGL context diablo_immortal changes the context by calling eglMakeCurrent which causes a failure during offscreen -> onscreen blit. Restore the context to the original one during offscreen handling. Bug: b/370089935 Change-Id: Ie501a66b14beef5b27b8f16ff63b6fd3f3c0a338 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5990995 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Roman Lavrov c174aa70 2024-12-05T15:36:18 Trace perf: add a basic fps limiter Adds sleeps based on each 4 frames timing (4 instead of just last frame makes fps a bit closer to requested) Example: --fps-limit=30 *RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 33.3556469900 ms *RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 33.4376432467 ms --fps-limit=50 *RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 20.0218095000 ms *RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 20.0624947200 ms --fps-limit=100 *RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 10.1298787483 ms *RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 10.1781205983 ms --fps-limit=200 *RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 5.1289075067 ms *RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 5.1571364367 ms --fps-limit=400 *RESULT TracePerf_vulkan.wall_time: offscreen_bubble_shooter_and_friends= 2.6172564224 ms *RESULT TracePerf_vulkan.wall_time: bubble_shooter_and_friends= 2.7648291614 ms Bug: b/376300037 Change-Id: I63ef75fe342b149336c0e274bd9cbf6c3aa34c23 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6072435 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 57ccab32 2024-12-04T16:26:15 Skip dota_underlords on Windows NVIDIA Produces flaky images on on GTX 1660 driver 31.0.15.4601 Bug: angleproject:369533074 Change-Id: I7cfde430deeec2e67549803af425087716ee675e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6070070 Commit-Queue: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao d81834b6 2024-11-26T15:25:35 Vulkan: Store VkDevice in vk::SharedPtr So that we don't need to have two versions of destroy() APIs. In previous CLs I had to add another version of destroy() that does not take device argument due to SharedPtr may calls destroy when last reference count goes away. Because we do not have device information at that time, destroy() API was added but mostly just doing assertion that Vulkan object has been explicitly destroyed. With this CL, we now stores device in the SharedPtr so that we no longer need two destroy() APIs. The explicit destroy(device) call will be removed in the next CL. Bug: angleproject:372268711 Change-Id: Idcacbc3a922e17ac3d0f6056466b8f3aa084b02e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6052096 Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov f7cac0bb 2024-03-07T18:05:27 Start Win NVIDIA experiment On Windows 10 22H2 with 31.0.15.4601 driver. Suppress test failures on the new platform. Use-Permissive-Angle-Pixel-Comparison: True Bug: chromium:40805707, angleproject:42267037, angleproject:381211730 Bug: angleproject:377923479 Change-Id: I1b457e11de10daa081bb0dac9f564b6cce97164a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5352750 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao 87d61997 2024-11-21T14:20:55 Vulkan: Switch ShaderModule to use SharedPtr This CL gets rid of many vk::RefCounted<vk::ShaderModule> usage which is risky due to it allows you to direct manipulate reference count. Switch to vk::SharedPtr manages the reference counting automatically. Bug: angleproject:372268711 Change-Id: I14f5c509bcbd9ea7d17101637e033652a68710a0 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6039117 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
Yuly Novikov b18b0b02 2024-11-22T13:40:47 Skip couple non-deterministic angle_restricted_trace_gold_tests on Win Intel Vulkan. aztec_ruins aztec_ruins_high produce slightly different images once in a while. Bug: angleproject:353690308 Change-Id: Ib8043d8662b07a48ae86d731d7538153da517122 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6038527 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Geoff Lang d8e183ab 2024-11-19T13:23:35 Skip the antutu_refinery perf test on Windows/Intel This test times out on this bot due to the excessive complexity and memory requirements of the trace. Bug: angleproject:379886383 Change-Id: I1ecf12429cd70f436fc83cf89a84c225d315aac6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6033296 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 42f9c200 2024-11-19T08:50:35 Comments: www.anglebug.com -> anglebug.com The former doesn't work. Bug: None Change-Id: Ib16b005adb5b61a3a1277588e240c3d68705205c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6034293 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 51ff063c 2024-11-16T12:03:28 Skip real_racing3 trace on Linux NVIDIA SYNC-HAZARD-WRITE-AFTER-WRITE with 535.183.01 driver Bug: angleproject:377923479 Change-Id: I5791445bc36dacd6b71cd001d4c454d8b495f7bf Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6022951 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi ba81145f 2024-11-08T15:45:44 Vulkan: Emulate coherent framebuffer fetch everywhere Many apps expect coherent framebuffer fetch to be available, and multiple downstream emulators end up forcing coherent framebuffer fetch enabled despite the hardware not being coherent. This change attempts to do a best-effort emulation of coherent framebuffer fetch by automatically inserting barriers before framebuffer fetch draws. While this doesn't correctly handle self-overlapping geometry, it works well enough in practice for the applications. As a result, framebuffer fetch is practically enabled everywhere after this change. Bug: angleproject:377923479 Change-Id: I3900a1de0f4db755b7e70871f57df3ea112073f9 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6004336 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 54e8e665 2024-11-12T12:53:54 Trace tests: generate and use trace list according to gn args Generates out/<config>/gen/trace_list.json which contains the list of traces included in the build according to the angle_restricted_traces gn arg (or all traces if not set). Test runner uses that file instead of the full restricted_traces.json. Android runner pushes that file to the device to the usual location (e.g. /sdcard/chroimum_tests_root/gen/trace_list.json) This also fixes the issue where `angle_trace_tests --list-tests` lists all traces, not just those that were selected with the gn arg. Similarly, running all traces without a filter would be limited to the same list. This transitively applies to trace bundles. Bug: b/376923930 Change-Id: I63506a074d766a51b860472f7211842f8a080ecd Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6011956 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 817b7d20 2024-11-13T10:41:49 Trace Tests: Skip solar_smash on Intel Windows Non-deterministic on Intel Windows. Bug: b/378900717 Change-Id: I393bf4fbeb6764ecb3cba61e012036f8f69605c2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/6017397 Reviewed-by: Solti Ho <solti@google.com> Commit-Queue: Solti Ho <solti@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Amirali Abdolrashidi 4707e5bb 2024-11-05T10:59:46 Unskip mini_world for other QCOM devices Currently, mini_world is being skipped for all QCOM devices. However, it seems to be working on more recent devices. Therefore, the skip could be limited to P4/P4XL due to image diffs and errors respectively. * In the case of P4XL, it is not confirmed if the original error still persists. Bug: b/331271522 Change-Id: I7ee00a74131ea47463a513121b15e445bddb9289 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5994385 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov ec262a32 2024-10-22T12:34:15 Trace tests: offscreen gles1 fix framebuffer binding handling gles1 traces can call glBindFramebufferOES (ex: plague_inc) so we need to intercept that for offscreen gles1 traces. Also OES_framebuffer_object does not provide "read" bindings, only a single framebuffer binding, so we need to special-case binding handling in the gles1 case. Bug: angleproject:370508393 Change-Id: Ia17df21ed67aa8a1e0aa45fe9bb929ce42852ba2 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5953095 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 922147f9 2024-10-22T18:20:44 Trace tests: offscreen sRGB traces use sRGB format Without this offscreen screenshots end up darker. Currently applies to 7 traces, can be found with: % egrep 'DrawSurfaceColorSpace.*0x3089' src/tests/restricted_traces/*/*.json Bug: angleproject:370089935 Change-Id: I4a05782de2e7400fcfcb5757d18acf758749d6ef Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5953096 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Roman Lavrov a8d9d813 2024-10-08T15:31:37 Trace perf: save individual screenshots in offscreen With --offscreen, _frameN.png is now the Nth frame, by reading the offscreen buffers pixels. This is more consistent with onscreen. Previously we would only get _frame24.png, _frame48.png etc with the grid of frames from framebuffer 0. Now we get these as _grid1.png, _grid2.png etc, and _frameN.png are individual frames. gles1 is an exception as we don't have grids and only render a single frame to framebuffer 0. Bug: b/370508393 Change-Id: Ia8cb13120f21ef92fa3e6662b5e2cffa918983d6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5916767 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Cody Northrop 30ae44bf 2024-10-09T14:17:03 Tests: Skip going_balls on Windows Intel Bug: b/372513853 Change-Id: Iec11e1acf3a36f7261cf46adcdfedd826ac88050 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5922076 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Mark Łobodziński <mark@lunarg.com>
Roman Lavrov d0e2141a 2024-09-30T16:55:59 Tests: GLES1 offscreen replay uses GL_OES_framebuffer_object ANGLE allows to mix GLES1 with non-GLES1 calls but the native driver crashes on e.g. glGenRenderbuffers. Use GL_OES_framebuffer_object so that we can render ANGLE and native the same way (glGenRenderbuffersOES etc) There is no glBlitFramebuffer for GLES1 though, so instead of that render a single frame to the default framebuffer. Also resize the grid from 1/3 screen to fullscreen for more useful screenshots, and remove window /= 4 resize to simplify. Bug: b/370508393 Change-Id: I9c8ac46937aa09f1be186a07548c1ec7e5b15579 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5899376 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi b16d105f 2024-10-03T10:25:32 Remove Desktop GL front-end support For Desktop GL applications, please use Zink! Bug: angleproject:370937467 Change-Id: Ie734634bb62a2e98c80e1b32d8b3d34624da3c04 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5905428 Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov 03b5ea39 2024-09-27T14:03:16 Traces: --offscreen syncs on N-2 frame GPU completion This avoids the issue described on the bug where an app's assumption about double buffering can create a race. This prevents the replay from getting too far ahead rendering to offscreen framebuffers. Also correct mOffscreenFramebuffers to use mTotalFrameCount as the use of mOffscreenFrameCount appears accidental. Bug: angleproject:370089935 Change-Id: I30f438eb66201fe77d61710cbe6e90d47e839dd8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5895974 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Mark Lobodzinski 7b0212b3 2024-09-27T10:02:58 Retrace cod_mobile for minimum requirements Test: angle_trace_tests --gtest_filter=*cod_mobile Bug: b/369984808 Change-Id: Ibf3b5c446311d27b0a78867cbd8cc523f76adcbc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5895156 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Yuly Novikov fe6c13d7 2024-09-25T13:34:49 Skip dota_underlords on Linux NVIDIA Recently became flaky on GTX 1660 driver 535.183.1.0. Bug: angleproject:369533074 Change-Id: Ieba8657366687f742812643cb25cadfd7ba09817 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5889565 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Charlie Lao 86a24b84 2024-09-20T09:36:02 Add TraceFrameIndex atrace counter This adds TraceFrameIndex atrace counter so that we can identify the exact frame index in the trace. Bug: b/319871513 Change-Id: I6cd20dd78746dd03b43ecea2ac7b102902e82d37 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5874417 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Charlie Lao <cclao@google.com>
Yuxin Hu 61a255cb 2024-09-10T10:56:58 Skip the critical_ops trace on S22 This trace crashes on S22: https://chromium-swarm.appspot.com/task?id=6bf09c55e48e1710. Skip it to keep the bot green and investigate the crash offline. Bug: b/267953710 Change-Id: Id8fc9f4b014ed3d97ca7cce2f56bc49cd9ef380f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5851574 Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuxin Hu <yuxinhu@google.com>
Cody Northrop bda33598 2024-09-08T16:08:04 Test: Add Critical Ops trace Test: angle_trace_tests --gtest_filter="*critical_ops*" Bug: b/365417418 Bug: b/365524876 Change-Id: I3e6f3278a9c6ea819d61a0136986631b19170018 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5843583 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Cody Northrop e19377af 2024-08-21T14:52:09 Tests: Support multiple users on Android On most Android platforms, the userId is '0' and many of our defaults just work. But on some, the default is non-zero, and that complicates things. To support this, we have to specify which user is correct, which can be determined with: adb shell am get-current-user Update everywhere we were using sdcard directly and use: Before: /sdcard After: /storage/emulated/<userId> Incorporate the userId to find the application's home directory: Before: /data/data/com.android.angle.test After: /data/user/<userId>/com.android.angle.test This CL: - Starts using a user flag in our Android scripts - Updates where tests look for test data and binaries - Updates where scripts use temp and external storage - Updates script to not use sdcard at all when root - Disables run-as when user is not default Bug: b/361388557 Change-Id: I0fb556ecb2d0f6bc6569a858c290b127217d4638 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5825122 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Rafael Cintron d1a4b0ff 2019-05-04T17:15:42 Remove Feature Level 9_3 code Feature Level 9_3 was originally added for developers creating apps for devices which did not have the DirectX 9 API and are no longer supported. Hence, we can remove the corresponding code in the 11 backend. Bug: angleproject:355462523 Change-Id: I22db15640b435c61db4d82a815edbc65cecc4e12 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5824661 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Rafael Cintron <rafael.cintron@microsoft.com>
Cody Northrop 21b286a1 2024-08-28T15:06:10 Trace replay: Call glFinish before screenshots On some platforms we're getting partial or no results in the screenshot, even though it ends up displaying correctly on screen. Adding a glFinish before glReadPixels clears up the issue. Bug: b/42263221 Change-Id: Id5d2384c01fece1f7cd4d79b7cc599d082fb2864 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5824180 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com>
Yuly Novikov 4dfba10a 2024-08-30T15:05:44 Skip passmark_complex on Linux Intel Bug: b/362801312 Change-Id: I743261c7f5086d5aaf98d28c1b32fa494c0fc2e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5822715 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Mark Lobodzinski c3309dbd 2024-08-23T15:47:27 Tests: Add Passmark benchmark Simple trace Add trace of the 'Simple' benchmark case of the Passmark performance test suite. Test: angle_trace_tests --gtest_filter=*passmark_simple* Bug: b/362784518 Change-Id: I387efb5cc0d7b1ee8c731f2fdedc56806701169c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5824181 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Brian Sheedy c094d4bc 2024-08-26T18:00:50 Enable tests on linux-exp-nvidia Enables tests on the new linux-exp-nvidia builder. Bug: chromium:357573052, chromium:362545033, chromium:362486580 Bug: chromium:362728695 Change-Id: Ib2f1c2edb139be1b3b2225dd9a9ec88df2bf1a84 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5814931 Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Cody Northrop 681b681b 2024-08-10T14:03:28 Tests: Add Grand Mountain Adventure trace Test: angle_trace_tests --gtest_filter="*grand_mountain_adventure*" Bug: b/358846996 Change-Id: If6815705b357eb69a777156d840be17fbe362938 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5779619 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Yuly Novikov 43dc24dd 2024-07-17T16:05:59 Skip couple non-deterministic angle_restricted_trace_gold_tests on Win Intel Vulkan. animal_crossing black_clover_m produce slightly different images each run. Bug: angleproject:353690308 Change-Id: I22f2353b2cd83801b857b281ee873c83804864af Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5717931 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 7d461b21 2024-07-10T14:11:53 Revert "Vulkan: Use VK_KHR_dynamic_rendering[_local_read]" This reverts commit c379ff48043a47e444c388c45270db40d3172d50. Reason for revert: Regresses CPU perf and memory when _not_ using DR Original change's description: > Vulkan: Use VK_KHR_dynamic_rendering[_local_read] > > Bug: angleproject:42267038 > Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155 > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> > Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> > Reviewed-by: Charlie Lao <cclao@google.com> Bug: angleproject:42267038 Change-Id: I3865f0d86813f0eeb9085a92875a33bd449b907f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5691337 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi c379ff48 2024-06-10T22:01:57 Vulkan: Use VK_KHR_dynamic_rendering[_local_read] Bug: angleproject:42267038 Change-Id: I1f4eb0f309992a9c1c287a69520dadf5eff23b26 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637155 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Reviewed-by: Charlie Lao <cclao@google.com>
Shahbaz Youssefi 3f572905 2024-06-19T17:46:38 Add basic begin/end support for perf counters The AMD_performance_monitor extension has explicit begin/end calls to capture counters. This was not implemented in ANGLE and the tests were relying on ANGLE always capturing counters (incurring a small overhead). This change does not complete the implementation of that extension, but does add basic support for starting and stopping perf counter measurements. While inactive, most counters are not updated. Bug: angleproject:42267038 Change-Id: I3ff6448b22ca247c217401cb2d76ef4142c9d759 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5639343 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov aeff80f1 2024-06-17T18:42:43 Android perf tests: add ATrace counters for trace loops TraceLoopFrameTimeAvgUs: frame time averaged over last loop, in us. Traced after each full loop is finished. TraceStage: tracking trace stage 0 (implicit) - before app and warmup starts 1 - initial warmup 2 - extended warmup for short traces 3 - running a trial 0 - trial finished (exit if single trial, or back to 3 if another trial) Intended for use with perfetto tracing, needs this in ftrace_config: atrace_apps: "com.android.angle.test:test_process" Useful for looking for correlations with other events, such as gpu frequency changes. Bug: b/319871513 Change-Id: I4bc273b7c7b3a6ee4d3a137b39a3b54fa7dd723e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637158 Reviewed-by: Cody Northrop <cnorthrop@google.com> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Shahbaz Youssefi d193d51b 2024-06-17T22:46:08 Replace issue ids post migration to new issue tracker This change replaces anglebug.com/NNNN links. Bug: None Change-Id: I8ac3aec8d2a8a844b3d7b99fc0a6b2be8da31761 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5637912 Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 3a3b55f7 2024-06-07T16:26:05 Tests: Disable modern_combat_5 on Pixel 6 + Android 13 Test uses an engine we haven't tested before and is triggering thermal throttling crashes only on Pixel 6 with Android 13(T). Throttling code improved by the Android 14(U) release. Test: angle_trace_tests --gtest_filter="*modern_combat_5*" Bug: b/42267261 Change-Id: Iffaf5c4d25e928c4914c2d7ec3223141929a961a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5609832 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Yuly Novikov f3c52204 2024-05-24T16:46:01 Skip antutu_refinery on Linux Intel and AMD Bug: angleproject:342545097 Change-Id: Id4cec570256dbfa13fc406ef31d4e714950f66d8 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5570937 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org>
Brian Sheedy e5606471 2024-04-25T14:48:53 Start Linux/Intel experiment Bug: chromium:41496254, angleproject:8680, angleproject:8682 Bug: angleproject:8683 Change-Id: I1956ac642969cae0c17fff87388e899237b9df2d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5491789 Auto-Submit: Brian Sheedy <bsheedy@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Brian Sheedy <bsheedy@chromium.org>
Mohan Maiya c1397510 2024-04-07T21:05:34 Vulkan: Fix data race in WarmUpGraphicsTask std::unordered_map doesn't support simultaneous read and write. Cache placeholder PipelineHelper in WarmUpGraphicsTask and std::move the newly created PipelineHelper when warm up is complete. Bug: angleproject:8297 Change-Id: I1cc4b3cd48147d0080666d5669d61de006c2252d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5431830 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 8e7d3379 2024-03-25T22:09:44 Vulkan: Add a perf test for multisample resolve + invalidate Bug: angleproject:7551 Change-Id: I1d45e720a6273650aaebd98aade9b363a804e886 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5392548 Reviewed-by: Yuxin Hu <yuxinhu@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mark Lobodzinski 2d4a027d 2024-03-20T12:07:45 Tests: Add Poppy Playtime Trace Test: angle_trace_tests --gtest_filter=TraceTest.poppy_playtime Bug: b/330861486 Change-Id: Ifd18ec32bce1db585bb4d284a39ed78a94932d8f Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5387536 Commit-Queue: Mark Łobodziński <mark@lunarg.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi ad013650 2024-03-22T03:42:44 Revert "Rename LinkSubTask -> PostLinkTask" This reverts commit 00eb6edba074a22389b09990ab856adfd417dd64. Reason for revert: Sub tasks are not actually post-link tasks for all the other backends (other than Vulkan), but they are a real part of the link job. Original change's description: > Rename LinkSubTask -> PostLinkTask > > This is a renaming change, no behavior changes are expected. > > Bug: angleproject:8297 > Change-Id: I734c7959f5ed6db2447853cc6f6256e3c8e86213 > Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5382224 > Commit-Queue: mohan maiya <m.maiya@samsung.com> > Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> > Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bug: angleproject:8297 Change-Id: Iaebf9d165d810344bfc524042206ca427d270034 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5386432 Reviewed-by: Shahbaz Youssefi <syoussefi@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Mohan Maiya 00eb6edb 2024-03-20T06:49:38 Rename LinkSubTask -> PostLinkTask This is a renaming change, no behavior changes are expected. Bug: angleproject:8297 Change-Id: I734c7959f5ed6db2447853cc6f6256e3c8e86213 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5382224 Commit-Queue: mohan maiya <m.maiya@samsung.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 914fe61b 2024-03-15T13:20:49 Vulkan: Rename RendererVk.* to vk_renderer.* Done in a separate CL from the move to namespace vk to avoid possible rebase-time confusion with the file name change. Bug: angleproject:8564 Change-Id: Ibab79029834b88514d4466a7a4c076b1352bc450 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5370107 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov c9c7c4d7 2024-03-11T12:17:11 Trace tests: save debug files when gz decompression fails Input and output bytes saved to CAS outputs, for futher manual inspection Bug: b/296921272 Change-Id: I57c88090bdb41bf9ef48466f38c7da90572ce467 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5361574 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Roman Lavrov <romanl@google.com>
Cody Northrop 95294b24 2024-02-28T16:11:45 Android: Add Galaxy S22 support (Xclipse) Test: angle_tests Bug: b/267953710 Change-Id: I53ac424bce23a93fe980539f0946c04aeae6e91e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5333957 Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Amirali Abdolrashidi 2ee295b4 2024-02-15T11:27:39 Vulkan: Add per-level image update tracker * Add a per-level image write tracker to ImageHelper. * It tracks the updates scheduled for different parts of the image. Within each level, it also tracks different layers, currently up to 64. * kMaxParallelSubresourceUpload renamed to kMaxParallelLayerWrites; moved to vk_helper header. * It is reset when a barrier is issued for the image. * Modified ImageHelper::recordWriteBarrier(). * Added isWriteBarrierNecessary(). * Now it checks the added writes for the image. It will no longer issue a barrier if the image is in the same layout and there is no write to a part of the image to which was previously written. * Added ReadImageSubresources to CommandBufferAccess. * It is used for layouts that allow both reading and writing to the image (including self-copy): * TransferSrcDst (used in CopyImageSubData) * ComputeShaderWrite (used in compute-based mipmap generation) * CommandBufferImageWrite -> CommandBufferImageSubresourceAccess * Updated onImageSelfCopy() args to include read subresource data. * Improves gpu_time for TextureUploadETC2TranscodingBenchmark perf test * Windows/NVIDIA: ~180609 ns -> ~62669 ns (~2.88x) * Linux/NVIDIA: ~157283 ns -> ~93360 ns (~1.68x) * Windows/Intel: ~72297 ns -> ~57153 ns (~1.27x) * Added a test to show that self-copy for a write-after-read works. * ArraySelfCopyImageSubDataWithWriteAfterRead * (ArraySelfCopyImageSubData covers RAW hazards; renamed) Bug: b/308455694 Change-Id: I5cef296d991ce6ec02792edc3ffc5cc4994831e1 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5301855 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Mike Schuchardt f7cd1c56 2024-02-28T12:04:22 Tests: Add Toca Life World trace Test: angle_trace_tests --gtest_filter=TraceTest.toca_life_world Bug: b/327354357 Change-Id: I5dc900532dc8b5db516c8c2fbab63462fa7c20ea Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5333438 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mark Lobodzinski 8142dde7 2024-02-27T15:08:57 Tests: Add Pokemon Masters Ex trace Test: angle_trace_tests --gtest_filter=TraceTest.pokemon_masters_ex Bug: b/326199738 Change-Id: Ie0c4c4072865783b8f43332f9e4463a79acf3c35 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5328735 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Hailin Zhang 2978450a 2024-01-12T14:32:19 Vulkan: add etc to bc transcoding perf test. test case for testing etc to bc texture transcoding. Bug: b/319117463 Change-Id: If663fad689a4e6886bc76145c296e8fbfe21b354 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5194408 Commit-Queue: Hailin Zhang <hailinzhang@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com>
Roman Lavrov 4cda949b 2024-01-22T10:21:25 Trace tests: extend warmup to at least 1.5s Some traces are very short (e.g. 10 frames) finishing the first loop very quickly. There appears to be some delayed activity within ~1s after this first loop, so make this part of warmup as well. Example log after this change: Warmup: 10 steps Stopping test after 10 trial steps. Warmup: Looping for remaining warmup time (1.38 seconds). Stopping test after 1.38 seconds. Warmup took 1.50 seconds. Bug: b/308975999 Change-Id: If861f275f280fcb61d839e34d672e6c948317f4c Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5224902 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov efeb6570 2024-01-16T10:00:32 Suppress ParallelLinkProgramBenchmark.Run/gl_* on Linux Already suppressed on Windows, linux-nvidia-gtx1660-perf has a high rate of flakes. Bug: angleproject:8410 Change-Id: I5031ec0ab913938d10141121b555878883e9bb9b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5201387 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi ab992c3e 2023-12-01T11:51:13 Clarify which link failed in link program perf test Bug: angleproject:8417 Change-Id: I5445518fdf6dcc2533ea055588221d6e45c45d9a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5077412 Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov eef89870 2023-12-01T09:47:40 Trace tests: skip mini_world on win intel native Flaking Bug: angleproject:8440 Change-Id: Iff415531d4820937ef5e42c8fcba05c305494c38 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5078288 Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 3680a5dc 2023-11-17T13:51:07 Vulkan: Let program warmup continue passed link The warmup task does not actually affect the link results, so there is no reason to wait for it when the application queries the link status. This change allows the warm up task to continue in parallel until the program is used at draw time. This allows the warm up to be more efficient when the link itself is not parallelized. For applications that create programs in the middle of every frame, it's still likely best to disable warm up (as the following immediate draw will already effectively do the warm up). Note that currently the warm up code in the Vulkan backend is not completely thread-safe, and so the program still blocks on that task before the first draw can happen (or the program is modified in any way). Bug: angleproject:8417 Change-Id: I0877fef39a0585c3279e32699ce817d4643d7cd6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5037538 Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Amirali Abdolrashidi 716c5d00 2023-11-13T10:23:10 Vulkan: Add RGB8-to-RGBA8 ubyte loading function Currently, to update RGB8 on desktop, ANGLE uses memcpy for each pixel, which is suboptimal. This CL adds a loading function to improve the copy time for RGB textures where RGBA is needed on the hardware. * Added a specialization to LoadToNative3To4() for unsigned bytes using 0xFF as the fourth component. * It is optimized for unsigned bytes when converting an RGB format to its corresponding RGBA format, e.g., RGB8 to RGBA8. * It uses uint32_t operations to speed up the process. * Added unit tests for the specialized LoadToNative3To4. * LoadToNative_unittest.cpp * Added perf test for RGB8 image allocation and loading. * RGBImageAllocationBenchmark in RGBImageAllocation.cpp. * RGBImageAllocationBenchmark shows some improvement in cpu_time and wall_time on a Linux and a Windows device. (Results below using aligned source pointer and texture size of 2048): * On Windows: +~85% cpu_time, +~71% wall_time * On Linux: +~26% cpu_time, +~27% wall_time Bug: b/308177124 Change-Id: I421d83f75fdc513b0111dffb0a5d5e74682dd6fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4995489 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Charlie Lao <cclao@google.com> Commit-Queue: Amirali Abdolrashidi <abdolrashidi@google.com>
Shahbaz Youssefi 1169f6b4 2023-11-18T21:03:54 Add bad app behavior to parallel link perf test A large majority of apps hinder parallelism by immediately querying the link status after glLinkProgram. The parallel link perf test is now exercising this behavior as well. Additionally, since the Vulkan backend's default is to disable parallel link, the perf test is also enhanced to include this case. A follow up change will improve the performance of both these scenarios with the Vulkan backend. Bug: angleproject:8417 Change-Id: I39b9d5703a17d051d20d35fd4cede2b415e770a4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5042344 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com> Commit-Queue: Charlie Lao <cclao@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi 35f4ff2f 2023-11-13T09:50:08 Test suppressions Bug: angleproject:8409 Bug: angleproject:8410 Change-Id: I9fb41292382563f7b9cc802167bf48432a46f55d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5023829 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org>
Shahbaz Youssefi aec4ffac 2023-11-06T14:13:06 Add a perf test for parallel compile and link Bug: angleproject:8297 Change-Id: I40ec3af49bd0f5effbafc82b557840c615fd4c64 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/5008040 Reviewed-by: Charlie Lao <cclao@google.com> Reviewed-by: Geoff Lang <geofflang@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Yuly Novikov 262edacc 2023-08-31T18:45:45 Skip 2 DrawCallPerfBenchmark tests on Pixel 6 angle_perftests.DrawCallPerfBenchmark.Run/gles_offscreen_attrib_change angle_perftests.DrawCallPerfBenchmark.Run/gles_offscreen_prog_change Bug: b/298407224 Change-Id: I03e9f5daead86447cea456abc01cb46b229c8bbe Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4834211 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>
Roman Lavrov 2ed7d887 2023-08-31T09:42:55 Tests: EGLMakeCurrentPerfTest loads GLES Following https://crrev.com/c/4812049 which makes warmup call glFinish that requires GLES to be loaded. It's the only test that hits this - LoadUtilEGL isn't normally called by tests. Breaks on perf bots. Bug: b/297418214 Change-Id: Ib6a7eb863f75e6f461ea021d30dc57baf23afbdc Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4832092 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov d6fd7eaf 2023-08-25T16:33:27 Trace/perf tests: remove calibration and most warmup options This removes calibration and warmup except for --warmup (which does what --warmup-steps=-1 used to do: render each frame once with glFinish) Trace and perf tests now default to no warmup. Unchanged by this CL: --fixed-test-time=x runs a single trial for x seconds. --fixed-test-time-with-warmup=x is effectively the above flag coupled with --warmup-steps=-1 --run-to-key-frame runs to the key frame (no longer disables warmup as it's now off by default) Bug: b/297418214 Change-Id: I7a0d3e490067dbde57c5f519c1b9092ba70b1480 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812049 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com>
Roman Lavrov 7e41c5bc 2023-08-24T18:30:43 Remove scripts/perf_test_runner.py and references to it src/tests/run_perf_tests.py is similar and is maintained (runs on CI) Bug: b/297418214 Change-Id: I6fb12ac1fb856672b3bb83c0a4e34eb68afa1475 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4812135 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 893325b8 2023-08-24T10:03:51 Perf tests: call base class SetUp in all tests https://crrev.com/c/4799388 moved code to SetUp assuming base class SetUp was always called but a few cases were missing this. Changes ASSERT to a check that is enabled in release builds (e.g. perf bots) Bug: b/291604008 Change-Id: I1c3fb123903f09631ef348e311f3dc1c77b4e221 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4810187 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Cody Northrop 72c00885 2023-08-23T08:00:03 Tests: Skip injustice_2 on Windows/Nvidia Bug: angleproject:8316 Change-Id: I5bdef9df9bc6f922a15f3377e4af31cc60db73a3 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4807130 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Cody Northrop <cnorthrop@google.com> Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org>
Mike Frysinger 71c90dfd 2023-08-18T21:50:22 gtest: disable legacy test case API Remove APIs that upstream has deprecated so we make sure no one uses them anymore in new tests. Bug: chromium:1474588 Change-Id: Ic760439ec41131a5bb5a30a59e23b9166c7fd23d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4794112 Commit-Queue: Shahbaz Youssefi <syoussefi@chromium.org> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Auto-Submit: Mike Frysinger <vapier@chromium.org>
Roman Lavrov 54770d82 2023-08-21T11:44:12 Perf tests: move calibration out of run() to SetUp() calibrateStepsToRun is called from SetUp for ANGLERenderTest subclasses, but direct ANGLEPerfTest subclasses call it from run() instead. Moving it to SetUp for consistency - just need a check to avoid doing this for render tests and we already have a hack to do that. Bug: b/291604008 Change-Id: Ifddb60d55c6404660b0dff938a079fcd0545a6fb Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4799388 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@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>
Cody Northrop 9d7bddc1 2023-08-03T16:46:41 Trace Replay: Allow screenshots of all frames As part of upgrading our traces to the latest format, we want to ensure we get the same rendering results for all frames, including after Reset. To do this, add the ability to pass -1 as the frame to save: angle_trace_tests --gtest_filter=TraceTest.blade_and_soul_revolution \ --use-angle=swiftshader --max-steps-performed 200 \ --screenshot-dir retrace-wip --screenshot-frame -1 In the above solution, there are 100 frames in the trace, but we'll get 200 screenshots (two loops). Bug: b/294882956 Change-Id: I9169403fe716bbe3ea9ba66ce36dfd5a0c58937b Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4760424 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Roman Lavrov <romanl@google.com>
Yuly Novikov 10194966 2023-07-10T13:56:13 Skip 2 flaky Perf tests on Win Intel Vulkan pubg_mobile_launch flaky timeout monster_hunter_stories flaky context lost Bug: angleproject:7929, angleproject:7557 Change-Id: I45d7b22bd3186419a584314c6c1f52ed0427ec8a Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4674342 Auto-Submit: Yuly Novikov <ynovikov@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com> Commit-Queue: Yuly Novikov <ynovikov@chromium.org> Reviewed-by: Roman Lavrov <romanl@google.com>
Roman Lavrov 9cd1205f 2023-07-07T12:22:14 Skip street_fighter_iv_ce on SwiftShader keyframe=86, runs very slow on SwS: https://anglebug.com/8243#c1 Bug: angleproject:8243 Change-Id: Iae3c758ea6b6e6a2a68f91a1355c10bc9c92f432 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4672588 Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mohan Maiya 122b292d 2023-06-26T14:32:32 Fix bug in ProgramPipelineObjectBenchmark Bug: angleproject:5102 Test: ProgramPipelineObjectBenchmark* Change-Id: I8d596ce7d6d9866b3333e675b40d9aad470525e6 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4647096 Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: mohan maiya <m.maiya@samsung.com>
Shahbaz Youssefi 764f31be 2023-06-22T23:52:43 Add more BitSetArray tests Bug: angleproject:8224 Change-Id: I8835da245df52e1be2e3e4ea17e32ce8c438e51e Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4636870 Reviewed-by: Roman Lavrov <romanl@google.com> Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov cf095dfb 2023-06-12T14:27:57 Tests: disable TraceTest.respawnables on native Win & Linux Bug: angleproject:8191 Change-Id: Ie61adc4b15c7db20aa890fad36c079e301f9ffc4 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4608487 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com>
Roman Lavrov 21f16cb1 2023-06-09T17:30:38 Disable clang-format on ANGLE features autogen outputs Updates the script to produce reasonably formatted code without clang-format. Autogen files moved to autogen/ sub-directories because clang-format does not support per-file settings ;( This allows to run this codegen very quickly (~50ms on my machine) Bug: angleproject:8193 Change-Id: Ie84282090d574ebb4debe3edcfd82f983f27a5ff Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4604578 Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Shahbaz Youssefi <syoussefi@chromium.org>
Roman Lavrov 55f3d3c7 2023-06-09T11:48:00 Tests: disable TraceTest.respawnables on native Bug: angleproject:8191 Change-Id: Ib6dec981830c0a6748e1e1f88dd6727b27592c52 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4605334 Reviewed-by: Cody Northrop <cnorthrop@google.com>
Roman Lavrov 52152933 2023-06-06T15:36:36 Add trace_interface: functions and callbacks for traces Defines the interface between the test suite (or an other TraceLibrary class user) and trace libraries. TraceFunctions defines entry points for calls suite->trace, such as SetupReplay() or SetBinaryDataDir(). TraceCallbacks defines entry points for calls trace->suite, for example for loading .angledata.gz files. These are set up via the exported SetupEntryPoints() call. Functions like SetupReplay etc no longer need to be exported from the trace library. TraceInfo (parsed representation of the trace json) is moved to trace_interface as is. This is convenient for further changes to the fixture that will allow to easily move some of the captured parameters to json. This also moves Decompress functionality (and memory ownership) to test suite entirely, which avoids Decompress/Delete callbacks - the trace just calls LoadBinaryData via TraceCallbacks and TraceLibrary releases the memory either on FinishReplay or in its destructor. This should also take care of the memory leak described in https://crrev.com/c/3858185 Bug: b/286072760 Change-Id: Ibc6f6f64156ad805b1917c8fc41a3b0d2c0d6375 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4594445 Reviewed-by: Amirali Abdolrashidi <abdolrashidi@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Shahbaz Youssefi 02e7f967 2023-05-25T14:54:49 Translator: Remove the "variables" option Variable collection is invariably enabled by the front-end as well as other major users of ANGLE such as Firefox. All translator backends except GLSL force-enable variable collection either way. This change removes this compile option and enables variable collection unconditionally. The flag itself remains in ShCompileOptions until references to it are removed from Chromium. Bug: chromium:1447314 Change-Id: I4d3b30c1bfbd345c5ad269abc62c0a6a59de2f56 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4568524 Auto-Submit: Shahbaz Youssefi <syoussefi@chromium.org> Commit-Queue: Geoff Lang <geofflang@chromium.org> Reviewed-by: Geoff Lang <geofflang@chromium.org>
Roman Lavrov c80c74a5 2023-05-25T12:58:23 Skip honkai_star_rail on Intel/windows Consistenly making Intel perf bots red by getting stuck Bug: angleproject:8175 Change-Id: I96b31d201b5b161c89ba6654cea48becbbc35169 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4567829 Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com>
Mike Schuchardt c18972fd 2023-04-05T10:22:38 Tests: Add Gangstar Vegas trace Test: angle_trace_tests --gtest_filter=TraceTest.gangstar_vegas Bug: b/280785771 Change-Id: Ia1d5de22d45979b44b0711fc510d2dfb7600b910 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4507340 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com>
Mark Lobodzinski 9e47cbd3 2023-05-18T14:40:37 Capture/Replay: Rework trace EGLDisplay handling Refactor the trace-replay EGLDisplay handling to allow initializing the global EGLDisplay handle in the InitializeReplay4() body. This included adding support for eglGetCurrentDisplay() to the EGL-on- WGL shim. Test: angle_trace_tests --gtest_filter=infinity_ops Bug: b/282725258 Change-Id: I2319fd9a35f8fb9c0a7f10547ca39f49ce402b8d Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4546267 Reviewed-by: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@google.com> Commit-Queue: Mark Łobodziński <mark@lunarg.com>
Cody Northrop c04ad8e0 2023-05-17T10:59:36 Tests: Add Honkai: Star Rail trace Test: angle_trace_tests --gtest_filter="*honkai_star_rail*" Bug: b/283129009 Change-Id: I4c41345b83b7ea2429bccb8a814994bcb13a7486 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4545308 Commit-Queue: Cody Northrop <cnorthrop@google.com> Reviewed-by: Yuxin Hu <yuxinhu@google.com>
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 074b98fe 2023-04-14T12:28:29 Remove unnecessary and unused --interpreter flag. The one we're using is --trace-interpreter and is more clear. Bug: b/276742336 Change-Id: Iea17ca54a17f41a0445cbc4d192ff1d9f5315cf5 Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4428750 Commit-Queue: Cody Northrop <cnorthrop@google.com> Commit-Queue: Roman Lavrov <romanl@google.com> Auto-Submit: Roman Lavrov <romanl@google.com> Reviewed-by: Cody Northrop <cnorthrop@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>