You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refs #1581. Accept the measured whole-range ACQUIRE_MEM packet over a 48-bit address range and the measured EVENT_WRITE type 56 cache-flush timestamp packet. These are the unimplemented packet groups for reset op bits 0x040 and 0x200 described in #1581, and unblock those groups in #1629. The 0x400 group remains unsupported.
The packet values and fields covered by the new cases come from the PS5 firmware 13.60 command-buffer measurement in #1581. Validation still rejects fields outside the 48-bit range, overflowing spans, null or misaligned timestamp addresses, and invalid event indices.
Tested
Linux, GCC 12.2, Release: built agc_driver_pm4_tests; ctest -R '^agc_driver_pm4$' passed. Added acceptance checks for the measured packets and rejection checks for invalid ranges, addresses, and indices. No PS5 hardware run was performed.
Checklist
Based on current main; no other open PR implements the same validation
One topic per PR; follow-ups go in a new PR
No comments in code except technical debt
Unimplemented paths throw; no new silent stubs
No notes, investigation files or images added to the repository
Other open pull requests touch the same code. Merging one will break the other, or both implement the same thing. If this one builds on them, list them in Depends on.
Closing after a full diff review. The 48-bit ACQUIRE_MEM validation and tests in this PR are already implemented by #1917. I also rechecked the measured EVENT_WRITE 0x38 packet: PAL identifies 0x38 as PIXEL_PIPE_STAT_CONTROL (gfx9CmdUtil.cpp), not a cache-flush timestamp. This PR only validates the packet and does not model its pixel-pipe statistics effect, so accepting it would claim behavior the driver does not implement. I removed that case in local follow-up commit d341201e; no distinct, correctly implemented change remains here. The measured event needs a behaviorally grounded implementation before it can be accepted.
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
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
Refs #1581. Accept the measured whole-range
ACQUIRE_MEMpacket over a 48-bit address range and the measuredEVENT_WRITEtype 56 cache-flush timestamp packet. These are the unimplemented packet groups for reset op bits0x040and0x200described in #1581, and unblock those groups in #1629. The0x400group remains unsupported.The packet values and fields covered by the new cases come from the PS5 firmware 13.60 command-buffer measurement in #1581. Validation still rejects fields outside the 48-bit range, overflowing spans, null or misaligned timestamp addresses, and invalid event indices.
Tested
Linux, GCC 12.2, Release: built
agc_driver_pm4_tests;ctest -R '^agc_driver_pm4$'passed. Added acceptance checks for the measured packets and rejection checks for invalid ranges, addresses, and indices. No PS5 hardware run was performed.Checklist
main; no other open PR implements the same validation