Repository navigation
test(agc): read the depth bits of a SW_64KB_Z_X surface from guest memory - #7385
Merged
oneandonlydean merged 1 commit intoOct 18, 2026
Merged
oneandonlydean merged 1 commit into
oneandonlydean merged 1 commit into
Conversation
…mory A compute shader loads every texel of a 256x192 32_UINT, 32_SINT and 16_UINT texture in SW_64KB_Z_X whose memory holds a known pattern and no depth surface, from untracked memory and from a guest allocation, and stores what it read. Every texel must keep its stored bits, NaN, infinity and denormal patterns included; without the 32-bit fix the 32_UINT read throws.
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
This is the follow-up test that thuanquang suggested on #7346 (comment), which has since merged. It adds the 32_SINT, 16_UINT and registered-allocation cases that #7346 left for a separate PR.
The case it covers: NHL 26 (PPSA26785) stopped at start-up on
mainwith frankea's line from #7304 (main922dc89, RTX 4090):#7346 reads such a T# over guest memory through a float view, and frankea's run with it reaches the legal screen. #7346's own case reads a 128x128 32_UINT texture.
The test:
agc_driver_depth_bits_guest_memory, intests/execution/DepthBitsGuestMemory.cpp, the only file this PR adds:SW_64KB_Z_X, laid out with the driver's swizzle equations, with no depth surface drawn.0x00000001,0x007fffff,0x80000001), quiet and signalling NaNs (0x7fc00000,0x7f800001,0x7fbfffff,0xffffffff) and infinities.Tested
ShaderResources.cppchange reverted,agc_driver_depth_bits_guest_memoryand fix(agc): read a 32-bit depth-bits T# over guest memory through a float view #7346'sagc_driver_depth_plane_samplingboth fail on the Linux runner.precise_waittiming test fails on the Linux runner with and without fix(agc): read a 32-bit depth-bits T# over guest memory through a float view #7346's change.check_skipspasses.check_skipsflags only its known IPv6 skip,guest_sce_net.Checklist
main(on fix(agc): read a 32-bit depth-bits T# over guest memory through a float view #7346's merged head 4aaa125, and it merges cleanly withmaina86577e); no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)