Repository navigation
fix(agc): import committed spans of partially accessible windows - #6918
Scramblrrrr wants to merge 3 commits into
Conversation
|
Title diagnostic qualification before a user-requested pause: the original dominant12.5MiB copied span was misclassified by an experimental sampler checking only its first4bytes. It crosses2MiB registrations, so it is not title evidence for this single-registration fix. Corrected findings: #5714 (comment) . This PR's clean-main synthetic negative/positive and real Vulkan fill remain valid independently (7/7 restored, two new fixtures fail with only production restored to main). This fix was included in title integrationc70803a19 with #5372 plus an opt-in16MiB window. That combined stack renders the offline menu at1.80194FPS, but no isolated benefit is attributed to this PR. Still draft; Linux and commitment-query-cost review remain pending. No new runs will start until the user resumes. AI-assisted: Codex. |
|
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.
|
|
Linux cross-test of 955e7c3 on
Not run: a hardware GPU, the full suite, any title. AI-assisted: yes (Claude Code) |
|
AMD / Windows run of this PR at 955e7c3: Radeon 780M (RDNA 3, 0x15bf), AMD driver 25.10.20.01 (32.0.21020.1007), Windows 11 Home 10.0.26100, WinLibs GCC 15.2.0 r7, Release.
AI-assisted: yes (runs made on the device above). |
|
Thanks @SleglJan and @keravyn-ops for the independent Linux red/green and AMD Windows runs. I have recorded both in the PR description. The Linux comparison isolates the intended production failure at both new assertions, with the container write-watch limitation retained; the AMD run covers actual host imports on Windows. This remains draft pending the import-query cost review. Our current 007 integration passes its selected host-import/graphics controls, but no isolated title FPS benefit is claimed for this fix. AI-assisted: Codex. |
What
A small committed access in a large registered allocation can lose host import because its 64 MiB import window also includes inaccessible pages. Main rejects the entire window even when the actual GPU access is wholly committed. The synthetic Vulkan case reserves 128 MiB, commits 64 KiB and fills 4 KiB: main refuses the fill; this branch imports the committed prefix and preserves the GPU-written pattern.
windowRunnow checks commitment after its usual cell selection and overlap growth. For a partially accessible window it selects the aligned committed span containing the whole requested access. It keeps the original refusal path if the span cannot cover the access or narrowing would cut an overlapping import. Existing held-import, registry-owner, budget and device-import checks still apply. Whole-run callers and registrations no larger than the window retain their existing policy.Related: #6442 caches rejected windows, #6097 changes probe/hold accounting, #6182 retires sibling windows on unmap, #6457 combines adjacent registered blocks, #5372 joins crossed registrations. This is the single-registration/partially committed window case; no dependency on those branches. Coordination: 007 investigation.
Tested
Windows 11 Pro, NVIDIA RTX 5070 Ti, driver 617.42, MinGW GCC 15.2. Release, SPIRV-Tools OFF. Clean main 93e54ce plus this branch; no other title fixes.
agc_driver_graphics,agc_driver_host_import_windows,agc_host_import_unmap,agc_host_import_retirement,agc_sparse_run_import,agc_sparse_run_import_copied,agc_host_import_second_mapping.GuestBufferMemory.cppwith main93e54cedd, keep both final fixtures, rebuild. Both new cases fail (1.10 s):a committed access was refused because its import window includes uncommitted pages;host import windows: cannot fill the committed prefix. Restored source/rebuilt: 7/7 above.955e7c3c7on main93e54cedd, Arch Linux container, GCC 16.2.1, Mesa 26.2.4 lavapipe/LLVM 23.1.1, Release. Ten host-import/graphics/BDA tests: nine pass, sparse-import control skips. Restoring only main's production file makes both new assertions fail; the other eight keep their pass/skip result. userfaultfd is unavailable, so this container uses the memory-comparison tracking fallback. No hardware GPU or title result.955e7c3c7, Radeon 780M, AMD 25.10.20.01, Windows 11 26100, GCC 15.2 Release. Host-import windows passes (0.44 s), graphics passes (5.14 s).Investigated during PPSA11386 bring-up. No title FPS improvement or title unblock claimed: the title runtime test of this candidate is pending. Keeping this draft until that cross-test and review of commitment-query cost. Raw title assets, requests, descriptors and logs stay local.
Checklist
main; no other open PR implements the same functions (related work listed above; collaborator independently checked overlap).mdfiles or images added to the repository