Repository navigation
Conversation
johnmaia
force-pushed
the
fix/agc-stale-host-import
branch
from
October 9, 2026 09:55
e5c91ef to
b597c7f
Compare
Contributor
|
Windows run: Windows 11 Pro 25H2 (10.0.26200.9457), RTX 5060 Ti (NVIDIA 617.42), MinGW-w64 GCC 15.2.0 (WinLibs r7), Release,
AI-assisted: yes |
UploadPrepare merges overlapping regions. A registered range that took an exact-size host import at the lease can merge with a descriptor range that runs past its end, and with the next registered range. The merged region kept the first range's import in `direct`. UploadPrepare and UploadFinish reused it while the import epoch was unchanged, and Descriptor then bound the view only up to that import's end, throwing "guest buffer view exceeds its GPU owner". The import is reused only while it covers the whole region; otherwise the region looks one up again (or is copied, as before). PPSA15657 stopped at its first presentation on this. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0134RWCyiyydJBbfKz8g9Bwe
johnmaia
force-pushed
the
fix/agc-stale-host-import
branch
from
October 9, 2026 13:32
b597c7f to
57ba6cd
Compare
Collaborator
|
Closing: #1489 (merged since) drops the import in |
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
UploadPreparemerges overlapping regions. At the lease, a registered range takes a host import of exactly its size and records it indirect. When a descriptor range runs past that range's end, and into the next registered range, all three merge into one region. The merged region keeps the first range's import indirect.UploadPrepareandUploadFinishthen reuse that import while the import epoch is unchanged.Descriptorbinds the view only up to the import's end and throwsguest buffer view exceeds its GPU owner.Both reuse sites now keep the import only while it covers the whole region. Otherwise the region looks an import up again (
findImportalready requires coverage) or is copied, as before.Disney Epic Mickey: Rebrushed (PPSA15657, UE4) stopped at its first presentation on this. A 0x50000-byte import was kept for a merged 0x80000-byte region, under a 0x7f800-byte storage view at its base.
Tested
Linux (Ubuntu 24.04, GCC), RX 7600 (RADV).
agc_driver_recorder_testsgetscrossingImportTests. It registers two adjacent 64 KiB ranges, imports both, and binds a 512-byte view across their boundary in an address-based build. Onmainit throwsguest buffer view exceeds its GPU owner; with the change it passes.ctestpasses, 497/497.tools/check_conventions.pyandtools/check_test_registration.pypass.mainwith a local stack of open PRs: before, its first presentation fails with this error. With the change, the stale import is dropped once, and the title gets past it to the next stops (Draw with no pixel program fails: "prepared shader artifact is missing for the requested static ABI" (null pixel program) #1901 / fix(agc): prepare the null pixel program at draw when its variant was not prepared #1902, Rect-list draw aborts with "prepared rectangle artifacts are missing" when its pixel variant was prepared at draw #1927 / fix(agc): prepare a rect-list draw's missing rectangle at draw from its prepared stages #1928, then layered color targets).Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt.mdfiles or images added to the repository (attach them to this PR)🤖 Generated with Claude Code
https://claude.ai/code/session_0134RWCyiyydJBbfKz8g9Bwe