Skip to content

test(agc): give the flip store test the deadline its siblings use - #7774

Merged
oneandonlydean merged 1 commit into
boykopovar:mainfrom
ionut27001:test/flip-stores-small-results-deadline
Oct 19, 2026
Merged

oneandonlydean merged 1 commit into
boykopovar:mainfrom
ionut27001:test/flip-stores-small-results-deadline

Conversation

@ionut27001

Copy link
Copy Markdown
Contributor

What

agc_driver_flip_stores_small_results fails on a loaded host with AGC graphics: the flip did not reach the GPU. It is an execution test, so the Windows job does not run it (ANYPS5_AGC_EXECUTION_TESTS picks three), and the Linux job runs it on llvmpipe in 0.1 to 1.1 s; the failure comes up in a full local ctest --parallel 4 run, where it failed once in 1,593 tests while the AGC execution tests around it compiled their shaders.

The test submits one frame and waits 2 s for the flip and the stored texels. That window also holds the driver's start on the first submission and the compute program's compilation at dispatch (ANYPS5_NO_SHADER_CACHE=1 in the test's environment, so it compiles on every run):

[Shaders/ShaderRegistry.cpp:568 ReportPreparedAtUse] Compute shader 0x7ff6c33cc600 was not registered; preparing its artifact at dispatch
AGC graphics: the flip did not reach the GPU

The other execution tests that wait on a deadline after Submit give it 10 s (AliasCopyLabel, PipelinedDispatch, PipelinedDma, PreparedShaders, StoreOverUntracked, UnimportedLabelOrder, among others). This one now waits 10 s as well. The driver is not changed. Test-only.

Tested

AMD Ryzen 7 5800X3D (8 cores, 16 threads), NVIDIA GeForce RTX 4080 SUPER, driver 617.42, Windows 11 Pro 26300, WinLibs GCC 15.2.0 r7 (UCRT), Release, main 72a3d9f2a (the test and PacketMemory.cpp are the same on current main c1ca83479). Each round started 24 copies of the test together, with 16 busy loops in the same session to load the host; the test's own environment (ANYPS5_NO_SHADER_CACHE=1, APS5_NO_PIPELINE_JOURNAL=1, the source root as working directory).

main this change
24 copies together, 10 rounds, 16 busy loops 180 of 240 fail 0 of 240 fail
24 copies together, 3 rounds, 16 busy loops 59 of 72 fail, all the flip did not reach the GPU not run
8 copies together, 10 rounds, 8 busy loops 0 of 80 fail not run
one copy at a time, unloaded 0 of 5 fail 0 of 3 fail (ctest)

Revert check: with the small-result store at a flip removed from PacketMemory.cpp (the call StoreSmallPending("flip") that #4841 added), the test fails 10 of 10 runs with a small image written before a flip did not reach guest memory while the queue kept working, with and without this change.

python tools/check_conventions.py against main passes.

Not checked: Linux and macOS, though the change is platform-independent test code.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: none
  • Fixes: none
  • Unblocks: none
  • GPUs tested: NVIDIA GeForce RTX 4080 SUPER, driver 617.42, Windows 11 Pro 26300
  • AI-assisted: yes (Claude Code)

agc_driver_flip_stores_small_results waits 2 s for the flip and the
stored texels. That window also holds the driver's start and the
compute program's compilation at dispatch, so on a loaded host the
flip arrives late and the test reports that it did not reach the GPU.
Wait 10 s, as the other execution tests do.
@github-actions github-actions Bot added the agc libSceAgc* label Oct 19, 2026
@oneandonlydean oneandonlydean self-assigned this Oct 19, 2026
@oneandonlydean
oneandonlydean merged commit 72c2d5e into boykopovar:main Oct 19, 2026
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agc libSceAgc*

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants