Preserve partial overlaps with CPU-written report words #442
No reviewers
Labels
No labels
accessibility
autorelease: pending
autorelease: tagged
bug
dependencies
documentation
duplicate
enhancement
github_actions
good first issue
help wanted
invalid
question
testing wanted
wontfix
No milestone
No assignees
1 participant
Due date
No due date set.
Dependencies
No dependencies set
Reference
MagicBeanDev/Hookshot!442
Loading…
Reference in a new issue
No description provided.
Delete branch "codex/protect-partial-report-writeback"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What this fixes
Mirrored GPU writes can overwrite a newer CPU-written timestamp or query result when the copied range starts halfway through its 8-byte report word.
Why merge
RX_VK_WB_REPORTSoverride unchanged.Change
gpu/vk/vk_memory.cpp: usecpu_words.lower_bound((p.lo + at) & ~7ull)when cutting protected ranges.tests/test_report_words.py: check the actual helper against expected bytes for partial starts, partial ends, adjacent words and all 4-byte-aligned ranges in the fixture.Tested
python -I -B tests/test_report_words.py --cxx clang++checks protected and nonowned bytes. Fails on the old code, passes now.Not covered