Skip to content

test(agc): stamp the guest writes the recorder tests make behind the driver's back - #6155

Merged
oneandonlydean merged 1 commit into
boykopovar:mainfrom
Dextroid17:fix/agc-recorder-test-stamp-writes
Oct 17, 2026
Merged

oneandonlydean merged 1 commit into
boykopovar:mainfrom
Dextroid17:fix/agc-recorder-test-stamp-writes

Conversation

@Dextroid17

Copy link
Copy Markdown
Contributor

What

Three writes in agc_driver_recorder_tests change guest memory directly and never call GuestMemory::MarkWritten: the two memsets (0x22, 0x33) in resourceReadTests and guest[offset + 8] ^= 0xffu in misalignedRegionTests. Since 98ce8af (#5906, draw snapshot reuse) the draw snapshot trusts the stamp, so it hands back the old bytes and the checks second draw observed overwritten input and the shader's patched offset into the draw snapshot misses the view's bytes fail. This adds a MarkWritten after each write, 3 lines in tests/Recorder.cpp. No driver code changes.

This only shows on top of the (9) a scan under a pending write was kept fix, because that check stops the run first. That fix is #5883 (the same hunk as 6bd076c), so this PR is stacked on it.

Discussion and the bisect: #1532.

Tested

Checklist

@github-actions github-actions Bot added the agc libSceAgc* label Oct 15, 2026
This was referenced 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 1368 core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 1395 core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 5021 core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 5925 core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6188 core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6222 core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6373 core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6747 core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6946 core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6947 core/libs/prx/libSceAgcDriver/tests/Recorder.cpp

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