Skip to content

test(agc): cover repeated untracked storage writes after sampling - #5708

Merged
adriadam10 merged 3 commits into
boykopovar:mainfrom
MarcZX10:codex/test-untracked-storage-repeat-5693
Oct 15, 2026
Merged

adriadam10 merged 3 commits into
boykopovar:mainfrom
MarcZX10:codex/test-untracked-storage-repeat-5693

Conversation

@MarcZX10

@MarcZX10 MarcZX10 commented Oct 14, 2026 •

Copy link
Copy Markdown
Contributor

What

Adds an execution regression for #5693's repeated unwatched storage-image case. It stores an image, samples the live image into a separate surface, marks the original image dirty again without re-uploading it, then changes guest bytes while the repeated result is pending. The next guest read must preserve the CPU-written bytes.

This case failed at the existing "guest bytes not saved" guard before #5679. That fix is now on main; the case passes there and guards the behavior. It covers the sample-then-redirty path, distinct from #5760's direct second-store kernel case. The overlap bot also flags #5761, an explicitly test-only combined integration build that is not intended for merging; this PR contains only this regression case.

Tested

Checklist

@MarcZX10

Copy link
Copy Markdown
Contributor Author

The overlap is with #5761, whose description explicitly marks it as a combined test build, not for merging. This PR adds only the sample-then-redirty regression; it is distinct from the direct second-store case in #5760. I updated the body to record that distinction and the dependency on #5790 for safe fixture cleanup.

@github-actions github-actions Bot removed the needs rebase Conflicts with main, rebase needed label Oct 14, 2026
@adriadam10 adriadam10 self-assigned this Oct 15, 2026
@github-actions

github-actions Bot commented Oct 15, 2026 •

Copy link
Copy Markdown

Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.

Pull request Shared files not compared
PR 5761 core/libs/prx/libSceAgcDriver/tests/execution/StoreOverUntracked.cpp
PR 6188 core/libs/prx/libSceAgcDriver/tests/execution/StoreOverUntracked.cpp

@adriadam10

Copy link
Copy Markdown
Collaborator

Checked the new UntrackedRepeat case: it builds and passes on Linux (agc_driver_store_over_untracked, repeated runs).

Added one commit on your branch: output was a Surface local to the if block, so its memory was freed while ReadImage could still be queued. It is now an std::optional<Surface> declared before waitForWork, so it outlives the queued dispatch (same lifetime issue as #5790).

Merging once the full Build is green.

@adriadam10
adriadam10 force-pushed the codex/test-untracked-storage-repeat-5693 branch from e89c56d to 47cbb99 Compare October 15, 2026 12:13
@github-actions github-actions Bot added the needs rebase Conflicts with main, rebase needed label Oct 15, 2026
@adriadam10

Copy link
Copy Markdown
Collaborator

Rebased onto current main: the conflict was with the new NeighbourLeftWatch case in StoreOverUntracked.cpp; both cases are kept and the cases array is now sized 10. agc_driver_store_over_untracked passes on Linux (repeated runs). The earlier commit that keeps the sampled output surface alive until the queued read finishes stays.

Merging once the full Build is green.

@adriadam10
adriadam10 force-pushed the codex/test-untracked-storage-repeat-5693 branch from 47cbb99 to d17895e Compare October 15, 2026 12:29
@github-actions github-actions Bot removed the needs rebase Conflicts with main, rebase needed label Oct 15, 2026
@adriadam10
adriadam10 merged commit 37e0f16 into boykopovar:main Oct 15, 2026
8 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