Repository navigation
Conversation
12 tasks done
Owner
|
Cherry-picked into fix/agc-heap-mirror-resident as 2d50c08 (you as author), thanks. |
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
Windows heap-mirror regressions in upstream #7647 do not both execute:
agc_sparse_heap_mirror_budgetlacks the DLL search path, andagc_driver_resident_heap_mirroruses the non-Windows write-watch availability probe and allocates heaps outside the Windows guest arena.Register the budget test with the existing Windows DLL-path setup and 30-second timeout. Allocate and commit Windows resident-test heaps through
GuestArena, reset/release them on destruction, preserve the explicit same-address reuse case, and check the arena's write-watch capability on Windows. The Linux allocation/probe paths and every existing assertion are retained. Production code is unchanged.This contribution targets
fma-rc:fix/agc-heap-mirror-resident, the source branch of upstream boykopovar#7647 at0b9b519a5e72b3f807399541d6de5ce6b421bd9a. It addresses LeandroLP23's Windows report. The original branch is not owned by this account, so this is a two-file contribution for its author to merge or cherry-pick. Fix commit:11e02f25438bcf809fcddad57f643ff73ca42f7e.Tested
Windows 11 build 26200, Intel Core i7-13700, NVIDIA GeForce RTX 4070 / driver 610.88; WinLibs GCC 15.2.0, Release, SPIR-V Tools enabled. Focused targets rebuilt from source. Candidate:
11e02f25438bcf809fcddad57f643ff73ca42f7eon original boykopovar#7647 head0b9b519a5e. Separate frozen main baseline:275e8967978f489eb950b8cdb4d5b40ecf441934.agc_sparse_heap_mirror_budget0xc0000135; no DLL-path modification; effectively unlimited timeoutagc_driver_resident_heap_mirrorNo manual unpatched-library PATH workaround is used for the passing budget test. The resident test retains its sparse held-byte checks, real GPU reads/stores and guest-byte checks, unchanged refresh, same-address allocation replacement, joined-import mirror cleanup, and whole-copy fallback when sparse address space is unavailable.
12 unique focused tests pass, zero skips. Seven shared graphics/mirror unit tests pass on main (9.12 s) and candidate (8.01 s). The same real Vulkan BDA-device and array-layer tests pass on main (4.78 s) and candidate (4.50 s). The three additional PR-specific tests are resident heap mirror, sparse mirror budget and queue plan; all pass. The four-test extended device group (including the shared BDA test) passes in 5.21 s. Every individual test finishes below 30 seconds.
All compared runs use
ANYPS5_REQUIRE_VULKAN=1,ANYPS5_NO_SHADER_CACHE=1,VK_INSTANCE_LAYERS=VK_LAYER_KHRONOS_validationand the same RTX 4070. The shared graphics/mirror unit tests use mocked interfaces; hardware coverage comes from the real Vulkan controls and resident fixture. Loader logs confirm Khronos 1.4.304 loads for the hardware runs, with no missing-layer diagnostics. Matched hardware logs contain identical existingVUID-VkDeviceCreateInfo-pNext-pNextdiagnostics for structure 1000574000 unknown to this older layer. The additional resident test reports the same known diagnostic; no new validation-error signatures are introduced. Zero total validation errors is not claimed.Diff and conventions checks against the contribution's target branch pass. The required stale-fork
origin/maincheck was attempted and fails with WindowsWinError 206; the actual target check succeeds.tools/pr_overlap.py --branch codex/resident-windows-tests --repo fma-rc/AnyPS5 --base fix/agc-heap-mirror-residentreports no overlap.This is Windows test coverage, not a new gameplay, memory saving or FPS measurement. Native AMD, Linux and other vendors were not rerun for this test-only contribution.
Checklist
main; no other open PR implements the same functions (this contribution targets the current fix(agc): bind heap mirrors only where the guest holds bytes boykopovar/AnyPS5#7647 source branch; main is tested separately)NotImplemented_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)