Repository navigation
test(agc): stamp the guest writes the recorder tests make behind the driver's back - #6155
Merged
oneandonlydean merged 1 commit intoOct 17, 2026
Conversation
This was referenced Oct 15, 2026
9 tasks done
|
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.
|
This was referenced Oct 15, 2026
Closed
11 tasks done
11 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Three writes in
agc_driver_recorder_testschange guest memory directly and never callGuestMemory::MarkWritten: the twomemsets (0x22, 0x33) inresourceReadTestsandguest[offset + 8] ^= 0xffuinmisalignedRegionTests. Since 98ce8af (#5906, draw snapshot reuse) the draw snapshot trusts the stamp, so it hands back the old bytes and the checkssecond draw observed overwritten inputandthe shader's patched offset into the draw snapshot misses the view's bytesfail. This adds aMarkWrittenafter each write, 3 lines intests/Recorder.cpp. No driver code changes.This only shows on top of the
(9) a scan under a pending write was keptfix, 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
agc_driver_recorder_tests, no arguments, exit 0,Recorder read tracking and label tests passed, 3 of 3, about 2 s each.second draw observed overwritten input. With the two memsets stamped it stops next atthe shader's patched offset into the draw snapshot misses the view's bytes(3 of 3, main eea428c). With the (9) hunk, the run passes at 11adb34 (parent of 98ce8af) and stops atsecond draw observed overwritten inputat 98ce8af, 2 of 2 each.python tools/check_conventions.py --base upstream/mainpasses.Checklist
main; no other open PR implements the same functions (test(agc): account for unknown pending DCC key writes #5883 is the (9) hunk only; it does not touch these writes)