Skip to content

feat(agc): snapshot resident multisample color bytes - #6987

Open
Amoenus wants to merge 6 commits into
boykopovar:mainfrom
Amoenus:codex/feat-native-color-snapshot-mainfd9
Open

Amoenus wants to merge 6 commits into
boykopovar:mainfrom
Amoenus:codex/feat-native-color-snapshot-mainfd9

Conversation

@Amoenus

@Amoenus Amoenus commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

What

Prepare lossless CPU snapshots of an existing resident multisample color target, the next foundation for the native-buffer publication work in #6480. This prepares bytes; it does not publish guest memory or retire ownership.

Stacked on refreshed #6973 77dd406ddb. The snapshot-only range remains five files, +442/-11. Main's sample-order path and the parent's initializer/layout work are retained.

  • Finish the owning recorder, copy native samples through an unsigned sampled array view, and return the source to tracked GENERAL layout. Reject another active recorder on the same device and readback inside completion callbacks.
  • Retile uncompressed single-layer R_X samples into the saved guest footprint, preserving padding or a recognized full-fill pattern. Capture the original guest baseline after producer completions and reject unexpected guest changes.
  • Check complete payloads against independent MIMG sample reads, exact exceptional half-float bits, attachment/sampled reuse, bounds, chunks and explicit capability/subresource/metadata refusals. Guest bytes and access guards remain unchanged.

This uses the existing shared reader and layout contracts. No new shader instruction semantics, console-equivalence, title-unblock, startup/FPS or performance claim. General metadata and depth publication, ownership transfer and large-title costs remain separate.

Tested

Current-main maintenance — 2026-10-22

Exact head 9e2fa8118607b73931d4caedc396709872ee4f16, main a6dcea9279b53b3a39c13695eac66f7c8b5b503c. Selected affected-library and real fixture targets build on Windows 11 Enterprise 26200 / WinLibs GCC 15.2 r7 UCRT Release, SPIRV-Tools enabled. This refresh does not claim a new full-default or full-suite build.

14 positive executions: 14 verified physical-GPU processes and 0 CPU processes; 0 retained failures. Maximum process time 3.282 s, all within 30 s. Both actual RTX 5080 and Radeon Graphics/gfx1036 identities and Khronos 1.4.363 device-layer insertion are verified. Required Vulkan, application shader cache/pipeline journal disabled, verbose serial CTest, no whole-test skips or timeouts; driver caches and implicit layers uncontrolled. GPU driver/OS details remain on the checklist.

Capability groups: agc_driver_native_color_readback, agc_driver_native_color_snapshot. Each runs three fresh processes per GPU. Existing main/change groups are counted separately; absent main registrations are never credited as passes.

The 2 shared executions match literal main a6dcea9279 per process for pass/failure, VUID set and validation-message counts. Total candidate diagnostics: 0 validation errors and 0 warnings.

Current-main conventions, description and patch-whitespace checks pass. Range comparison finds every topic commit unchanged from its previous qualified patch; merged parents are represented by current main, and original authorship is retained. Earlier full builds, analyzer results, fault controls, external reports and title observations below retain their original pins. No fresh game/FPS, Linux, console-equivalence or full-suite claim.

Earlier qualification at its recorded pins

Source refresh — 2026-10-21

Head e7e649b15f, based on main 745b3946294a9d79e1177a289482768d6ab88c9a. This supersedes the previous current-head labels in the historical qualification below.

  • Selected affected-library and native-fixture targets build on Windows 11 Enterprise 26200, WinLibs GCC 15.2 r7/UCRT Release, SPIRV-Tools ON. This refresh does not claim a new full-default build or full-suite result.
  • 12 verified physical-GPU process passes, across RTX 5080 /610.62 and Radeon Graphics/gfx1036 /32.0.21036.18. Required Vulkan, application cache/journal disabled, Khronos 1.4.363 actually loaded, serial verbose CTest with 30 s bounds. Driver caches remain uncontrolled. No process skips/timeouts.
  • Focused modes per GPU: agc_driver_native_color_readback x3, agc_driver_native_color_snapshot x3. These pass with no validation errors/warnings.
  • The unchanged-main readback control passes once per GPU. New capability/retile assertions and prior negative controls retain the distinctions and source pins in the historical report; an absent main capability is not counted as a main pass.
  • Current-main conventions and patch whitespace pass. Newer reviewed main 2c4b116da9 merges cleanly; this is source review, not a runtime result at that newer pin. Earlier Linux, full-build, hardware-reference and negative-control results retain their original pins. No new title or speed result.
Earlier qualification at its recorded pins **Current head `6185950ed74eefb63ac53c542b9b9131527d1c99`; main `e25333e39aac4ab537fdf8c143da0fc24634c714`; #6973/main parent `73a96cb5df288859ee084f11bc82ae51e7dd328d`.** Windows 11 Enterprise 26200, WinLibs GCC 15.2 r7/UCRT Release, SPIRV-Tools enabled. Full default build passes (695.599 s), followed by explicit libraries/relinker/fixtures; parent and restoration target builds pass (80.047 /20.834 s).
Focused head groups, three fresh serial processes per group/device RTX 5080 Radeon Graphics
Native-color readback, snapshot, initial contents, default multisample sampling 12 pass 12 pass
Manual DCC recreation-layout case inherited from #6973 3 pass 3 numeric assertion failures
CPU/mock write tracking and graphics 6 pass total n/a

33 positive head checks; three inherited-parent numeric failures remain failures. This matrix completes the initial selection with the restored AMD default/recreation runs. The earlier extra failed AMD invocation is retained separately, not replaced by a pass.

  • Matched candidate → parent → restored-candidate control: the complete AlphaToCoverage.cpp is byte-identical on head and parent. In every arm, recreation layout and the existing 4x DCC-clear case each pass 3/3 on NVIDIA and fail 3/3 on AMD, without VUIDs or validation errors/warnings. The new recreation failure is a sampled DCC target recreated with another pipe-bank XOR did not resolve its new samples; the 4x failure remains the separate undrawn-samples/channels/scissor assertion from AGC: MSAA DCC-clear resolve checks fail on AMD Radeon iGPU at 2x/4x/8x #7936. Their common cause is unconfirmed. The recreation case passes its earlier per-sample probes before failing the resolved-image check. Restored snapshot, readback and default sampling each pass 3/3 on both adapters. These repeat/control rows overlap the completed head matrix and are not summed as extra unique passes. #6973 review evidence retains its older successful composition at its own pin.
  • Literal-main comparison: main e25333e39a passes 45 GPU and nine CPU/mock invocations, with nine AMD DCC-clear assertion failures (2x/4x/8x, each 3/3). Default native-MSAA sampling passes 3/3 per GPU on main and this head. New snapshot modes and the feat(agc): preserve initial native multisample color contents #6973 recreation fixture are absent from bare main; no bare-main pass is fabricated for them. Historical snapshot fault controls retain their original pins below.
  • Actual hardware/setup: NVIDIA GeForce RTX 5080 10de:2c02, driver 610.62/32.0.16.1062; AMD Radeon(TM) Graphics 1002:13c0, driver 32.0.21036.18. Required Vulkan, app shader cache/pipeline journal disabled, loaded Khronos 1.4.363, verbose serial CTest, every observed process below 30 s. Actual adapters verified per GPU log; zero VUIDs, validation errors/warnings, whole-test skips or timeouts in the real-fixture runs. Driver caches/implicit layers uncontrolled. An earlier execution-not-built stub was detected and excluded before the documented CMake fixture list was expanded; compilation-database entries now confirm the real sources.
  • Analysis: Cppcheck 2.20 then clang-tidy 23.1.3 on the two changed C++ units, 25.596 analyzer seconds, no parser/configuration failures/timeouts. Two inherited Cppcheck allocation advisories and the byte-to-word sizeof advisory emitted by both tidy runs remain. The batch is allocated on its dereferenced branch or construction throws; fixture Require throws before memset on allocation failure. No suppression, automatic fix or static-clean claim.
  • Conventions and whitespace pass. The source merges cleanly with checked newer main a8b92e43ce; those newer commits are not claimed runtime-tested. No new Linux/full-suite/title/FPS or console-equivalence claim. Full upstream CI remains maintainer-triggered. AI-assisted: yes (Codex); author responsible.

External validation at its reported source pins

akkadbakkad89 reports the selected snapshot/readback/initial-content and sample groups passing at older head d577c265e, RTX 3070 (Ampere), driver 617.42, Windows 11 26200, GCC 15.2 Release, serial CTest with application shader caching disabled.

These are the contributors' own reported runs at the stated older pins. No fresh local Ampere, current-head equivalence or Khronos comparison is inferred from them.

Historical qualification and fault controls at their original pins

Conditional title evidence — updated2026-10-19

The main04078 integration retains a separate tracked native-owner FMASK view. It avoids the previously refused81920-byte CMASK read and reaches Sonic Continue/menu, movie and level loading, then a distinct Mesh-preparation unreadable-memory stop. The compressed DCC/CMASK color-snapshot exclusion is unchanged. This neither implements general metadata publication nor validates the unchanged PR head against Sonic. Uncompressed-only scope and Unblocks: none remain.

Central evidence records39 checks atf68e (30 GPU,9 CPU),0 VUID/errors/warnings, the ordinary NVIDIA run and its guest wait symptoms. The native-owner-only follow-up is now fork-pushed and component-qualified; the focused native-owner-only PR #7948 is now open. This is not an unchanged-PR-head Sonic run; details and remaining gaps are maintained in #7260. AI-assisted: yes, Codex.

Current refresh — 2026-10-19: head c4bd172d57 is stacked on qualified #6973 at cafd4f749f (main 1e774a3b22 plus the declared original dependencies). Own review delta. All own added/removed code and test lines match the previous published topic except one private-API adaptation: ReadSamples now calls checkDccCurrent(target, false) after synchronization, retaining full metadata validation. Main only passes true while absorbing a fresh refill inside ApplyFastClear. The initial unchanged-call preparation did not compile; its incomplete analysis/build are excluded. The two adjacent method blocks are both retained.

Windows11 Enterprise26200, WinLibsGCC15.2r7/UCRT Release: full default and explicit libs/relinker builds pass. 72 focused passes (63 GPU/9 CPU), plus nine unchanged AMD DCC assertion failures. Each non-DCC GPU group passes three fresh processes per actual RTX5080/Radeon Graphics. The 2x/4x/8x DCC groups each pass3/3 on NVIDIA and fail3/3 on AMD at the same #7936 assertion as literal main1e774. NVIDIA completes the added refill checks; AMD fails earlier in DccFastClearTests, so no AMD refill-assertion coverage is claimed. All selected logs have zero VUID/errors/warnings, unsupported subcases, whole-test skips or timeouts; actual devices and the loaded requested Khronos layer are verified.

Cppcheck then clang-tidy on this head takes20.481s and reports2 advisories/findings. Every reported seven-line context occurs in the prior topic, qualified parent or main; no parser/configuration failure or timeout. Source contexts are inspected advisory evidence, with no clean whole-analysis or fresh main-analyzer claim. Historical fault/negative controls below retain their original source pins and were not freshly rerun for this adaptation.

Conventions and whitespace checks pass. Fetched main c0adf025b8 merges cleanly; these results retain their main1e774 source pin. Original prerequisite ancestry/authorship is preserved. No new title/FPS, Linux, Intel, console or full-suite claim. AI-assisted: yes (Codex).

Current common main/change comparison: literal main 1e774a3b22 and this head c4bd172d57 use identical AlphaToCoverage.cpp fixtures. Their 2x/4x/8x DCC groups run three times per actual GPU with the same machine and settings: nine NVIDIA passes and nine matching AMD undrawn-samples/channels/scissor assertion failures on each source. This shared baseline is recorded in #7936 and qualified with parent #6973; zero VUID/errors/warnings in either source. The fresh child results above repeat those common groups. This comparison covers the coexistence with main's new refill code; new snapshot/publication modes remain separately counted capability checks rather than fabricated main passes.

Vulkan required, application shader cache and pipeline journal disabled, VK_LAYER_KHRONOS_validation confirmed loaded, verbose serial CTest and30s bound. No missing requested layer; driver caches uncontrolled. Earlier dependency-only/fault comparisons remain at their original tested pins.

Earlier validation at its original source pins

Current refresh (2026-10-18 UTC): head 699704a2b9 incorporates main a6dd29b3daf3ba25bf4c2e138ad380b887ad4d49 through the refreshed #6973 parent 66688998b0. Original topic/prerequisite authorship is retained. The own delta remains five files, +442/-11: snapshot-only comparison.

The refresh retains main's now-merged #6215 device ownership, lifetime/accounting checks, range-write tracking and copy settlement. It also preserves snapshot full-color-fill tracking, distinct HTILE fill/refusal tracking, both view overloads, regular/array layouts, clear handoff and pass ordering. Test registrations are grouped beside their existing fixture, retaining upstream's new accounting tests. #6215, #6635, #6452 and #6175 are merged; remaining declared dependencies apply.

Matching full Windows build passes: relinker, system libraries and all selected fixtures. Eleven GPU groups repeat three times per verified device: native-color readback, snapshot and initialization; default sampling; shared readback; upload; pass ordering; retirement; storage-file write; alias-copy label; two-device host-only fill. Five CPU groups repeat three times: graphics, shader memory, copy-input budget, depth-copy budget and write tracking. 33 NVIDIA + 33 AMD + 15 CPU = 81 passes, no skips/VUIDs/validation errors/warnings/timeouts. Actual device identity and Khronos 1.4.363 insertion are checked per process; individual tests have a 30-second bound.

Windows 11 Enterprise 26200 / WinLibs GCC 15.2 r7; RTX 5080 driver 610.62/32.0.16.1062 and Radeon(TM) Graphics driver 32.0.21036.18. Vulkan required, application shader cache disabled, driver caches uncontrolled; no separate game running.

Cppcheck 2.20 then clang-tidy 23.1.3 on both affected translation units: 25.134 analyzer seconds, no parser/configuration failures or timeouts, zero selected clang-tidy diagnostics. The two Cppcheck advisories concern conditional batch construction before its selected dereference and fixture allocation checked by throwing Require before memset; the relevant helpers remain unchanged from the inspected parent. No new null path established, suppression, automatic fix or whole-project static-clean claim.

Earlier snapshot and padding negative controls retain their original pins below. Parent #6973 separately reran the clear-handoff removal control: six expected failures and 12 restored passes on its 6668 head. These are distinct controls, not new snapshot-control runs on 6997.

Later main through 3d0cd98d8e merges cleanly. Intervening kernel/relinker/FreeType/Ngs2 changes are outside the snapshot path; the AGC change removes WAIT_BIT only from optional GPU timing-query collection. Snapshot producer synchronization and byte-copy code are unchanged. Results above retain exact 6997/a6dd pins; no runtime test of that newer composition, fresh Linux/Intel result, full-suite, title-unblock, console-equivalence or performance claim. Ordinary game observations remain in #7260 and discussion #4443.

Previous b4c9/main0fd refresh, retained at its original pins

Current refresh (2026-10-18 UTC): head b4c9854d5a incorporates main 0fd3555ad6ea56e2acc4caaaec9019db4314db47 through the now-published #6973 parent d9f244e8b8. The published topic and prerequisite authorship are preserved; the own delta remains five files, +442/-11. Merge resolution retains both snapshot full-color-fill tracking and upstream #6297's separate HTILE fill/refusal tracking, plus both view overloads. The strengthened nonuniform-color/cleared-HTILE case and merged #6175's pass ordering remain covered.

Matching full Windows relinker/library and affected fixture builds pass. Seven GPU groups repeat 3 times per verified device: native-color readback, snapshot, initial contents, default multisample sampling, shared readback, upload and pass ordering. 21 NVIDIA + 21 AMD + 6 CPU = 48 passes, with no skips, VUIDs, validation errors or warnings. Graphics and shader-memory CPU groups each repeat 3 times. Actual device identity and Khronos 1.4.363 loading verified per GPU process; each test has a 30-second bound.

Windows 11 Enterprise 26200 / WinLibs GCC 15.2 r7; RTX 5080 driver 610.62/32.0.16.1062 and Radeon(TM) Graphics driver 32.0.21036.18. Vulkan required, application shader cache disabled, serial fresh processes; no game ran concurrently.

Cppcheck 2.20 then clang-tidy 23.1.3 completed in 25.379 analyzer seconds, no parser/configuration failures or timeouts. No selected clang-tidy findings. The same two Cppcheck advisories concern conditional batch allocation and checked fixture allocation; their complete relevant function bodies are byte-identical to inspected parent d9f2. No new null path, suppression, automatic fix or whole-project static-clean claim.

Later main eb1a15b5cc merges cleanly in a local merge-tree check. Its intervening changes are libc math/tests, conversion-time game-patch support and pixel helper-lane EXEC copies; snapshot/HTILE implementation is unchanged. Evidence retains exact b4c9/0fd pins: the newer merged composition is not runtime-tested here, and no exact-head Linux/Intel, title-unblock, console-equivalence or performance claim is made. Earlier platform/fault-control evidence below retains its original pins. The new clear-handoff removal-only control is documented on parent #6973. #6635, #6452 and #6175 are merged; remaining dependencies apply.

Previous refresh at5ec, retained at its original pin

Earlier refresh (2026-10-18): head 5ec8692b8a8f2567a05fddd256d8619e244c94a3 includes main 5bf2e139ef76cfd526b8690b01dbcb9ea86c1684. Published prerequisites and topic changes are preserved; C++ merges/transplants are unchanged (core range diff matches), with only debt-entry conflict resolutions. Full Windows relinker/library build passes. Focused groups repeat3 times: 18 verified NVIDIA +12 verified AMD +3 CPU = 33 passes, no selected skips/VUIDs/validation errors/warnings; every test below30s. GPU identity and Khronos1.4.363 loading verified per process. Windows11 26200, RTX5080 driver32.0.16.1062; Radeon Graphics driver32.0.21036.18. Conventions/whitespace pass.

Prior Linux/title evidence below retains its own pins; the new stack is not a new title or exact-head Linux validation claim. The sampled-cache memory fixture ignores ANYPS5_GPU and used NVIDIA in both selector matrices; no AMD coverage is claimed for that case. A focused fixture correction is being prepared. No speed claim.

Initial runtime pin d14c1ad453229a8be65895573537b173d17fa047, main 2d16248a2. Updated runtime/analysis pin fac362ea755a5744461a7cc529b89b821d623960 includes main e1ac3300d and adds the explicit completion-callback refusal and its direct test. The intervening main changes only relinker files; affected modes are rerun for the guard. The final commit only clarifies technical-debt wording. Relinker, system libraries and selected fixture targets build on Windows and Linux at the updated source. This is dependency-composed validation, not untouched-main execution or a full CTest run.

  • 49 successful fresh processes: at d14c1ad, original sampling/storage, native readback, snapshot and initializer modes, each repeated 3x per verified NVIDIA/AMD/llvmpipe device (36); snapshot once per device after restoring the control (3); readback and snapshot with confirmed Khronos 1.4.363.0 insertion on llvmpipe (2). At fac362e, both affected modes pass once per device (6) and with the layer (2), including direct refusals from a producer completion. Both layer matrices have zero VUIDs/validation errors. Maximum 3.95 s. Project shader cache disabled; driver caches uncontrolled. Core validation only, not synchronization validation.
  • Windows checks 2/4/8 fragments and XOR 0/0x8100. llvmpipe checks supported 4x configurations and explicitly excludes unavailable 2x/8x subcases; no whole-test skip. The snapshot completion test validates both original/current payloads after an owning-recorder callback changes guest bytes and reports a recognized full fill.
  • 9 matched negative controls at 6d755526e: remove only the pre-baseline readbackRecorder().Sync(). Snapshot fails 3/3 per device with guest color changed during native multisample snapshot; restoration passes. No timeout/device loss. Earlier padding-loss controls remain at their original 94e861939 pin, not relabeled as rerun here.
  • Cppcheck 2.20 then clang-tidy 23.1.3, both changed C++ translation units at fac362e, 42.495 s: two existing Cppcheck allocation warnings (the conditional batch helper and fixture Block helper); no selected clang-tidy diagnostic, parser/configuration failure or suppression. These helpers and warning contexts match the earlier main-7fcc baseline; upstream MultisampleTarget.cpp is byte-identical between that baseline and e1ac. This is not a clean whole-project analysis.
  • Conventions, whitespace and registration checks pass (923 executable registrations, not 923 executed tests). The overlap review distinguishes fix(agc): read a multisampled target's CMASK by its MSAA codes #6669's CMASK decoding, fix(agc): keep the guest's sample order where pixel (0,0)'s locations stand in for a 2x2 grid #6683's attachment sample-order work, feat(agc): import cleared native multisample D32S8 targets and whole HTILE fills #6300's native-depth import, and prerequisite/insertion-point overlaps. No other open PR was found implementing these snapshot APIs. Full upstream CI requires maintainer dispatch.

Reproduce with ctest --test-dir <build> --output-on-failure -R '^agc_driver_native_color_(readback|snapshot)$', ANYPS5_REQUIRE_VULKAN=1 and ANYPS5_GPU selecting the device. Windows 11 Enterprise 26200 / WinLibs GCC15.2r7; Linux Ubuntu24.04 WSL/GCC13.3, Mesa25.2.8 llvmpipe LLVM20.1.2.

Earlier refresh and validation, 2026-10-18

Head 653612c207, on refreshed parent #6973 e02c29d899, includes validated main 3de84fa10698aef4ff43d6bd821d15698f9c8db0. Later main bd4ae99709 changes only PlayerSelectionDialog; its AGC, shader and contribution-policy trees are identical. Sources stayed fixed throughout validation.

Consolidated this topic's seven own fixups into one commit; the old published 1f72288b64 is preserved. The changed-line sequences in all four production/test files exactly match the old net topic; only the debt entry's EOF context differs on the newer parent. All credited prerequisite commits remain in the parent. This refresh retains completion-before-baseline capture, exact exceptional half-float bits, same-device/recorder-completion refusals and every existing snapshot assertion; it adds no new snapshot behavior.

  • Both full builds pass: Windows11 Enterprise26200 / WinLibs GCC15.2r7 and Ubuntu24.04 WSL2 / GCC13.3, Release, SPIRV-Tools enabled.
  • **Repeated behavioral checks:**22 groups3x per verified Windows device selection: 66 passes each on NVIDIA RTX5080 (10de:2c02,610.62/32.0.16.1062) and AMD Radeon(TM) Graphics (1002:13c0,32.0.21036.18). Linux's17 registered groups pass3x: 51 passes on Mesa25.2.8 llvmpipe LLVM20.1.2. Counts include CPU checks; they are not all GPU tests. Five Windows-only import-settle modes are absent from Linux registration. Unsupported Linux2x/8x internal sample cases remain explicitly excluded.
  • Includes native snapshot/readback/initialization, shared unsigned readers/upload, sample-mask/layout/guest access, retirement/pass-order, recorder read-list/kept-byte and CPU graphics, plus the new Windows async-settle/first-use/earlier-import/retirement modes. No whole-test skips, failures, timeouts or logged VUID/validation errors/warnings. Khronos1.4.363 loaded, Vulkan required, project cache/pipeline journal disabled, serial30s test bounds; driver caches uncontrolled. A separate frozen title replay was concurrent, so no performance comparison is claimed.
  • Local C++ analysis: both changed translation units, Cppcheck then clang-tidy,27.919s analyzer time. Two inherited Cppcheck guarded-pointer diagnostics remain: conditional batch allocation and the test allocator's throwing Require before memset. Zero selected clang-tidy diagnostics, no parser/configuration errors or suppressions; not a static-clean claim. Conventions and whitespace pass against inspected mainbd4.

Earlier controls and external RTX3070 feedback retain their original source pins above/in the comments. No Intel, console-equivalence, full-suite, PR-only title startup or FPS claim. The separate Sonic integration remains in #7260; full upstream CI needs maintainer dispatch. Dependencies must land first.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: feat(agc): preserve initial native multisample color contents #6973 and its declared prerequisites; feat(agc): read individual multisample image samples #6601 is merged
  • Fixes: none
  • Unblocks: none
  • GPUs tested: NVIDIA GeForce RTX5080 (10de:2c02),610.62/32.0.16.1062; AMD Radeon(TM) Graphics (1002:13c0),32.0.21036.18; Windows11 Enterprise26200. Earlier Mesa25.2.8 llvmpipe/Ubuntu24.04 WSL results retain their original pins.
  • AI-assisted: yes (Codex); author responsible

@github-actions

github-actions Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

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.

Pull request Conflicting files (lines on main) Same exports Same new files
PR 6628 core/libs/prx/libSceAgcDriver/tests/execution/SampleMultisampleTarget.cpp L723
PR 7803 core/libs/prx/libSceAgcDriver/Graphics/include/MultisampleTarget.hpp L69
core/libs/prx/libSceAgcDriver/Graphics/src/MultisampleTarget.cpp L489
core/libs/prx/libSceAgcDriver/tests/execution/SampleMultisampleTarget.cpp L725-728
PR 8223 core/libs/prx/libSceAgcDriver/Graphics/src/MultisampleTarget.cpp L625-626, L635-636, L717-718
core/libs/prx/libSceAgcDriver/tests/execution/SampleMultisampleTarget.cpp L152, L154, L160, L162, L217
PR 8847 core/libs/prx/libSceAgcDriver/Graphics/src/MultisampleTarget.cpp L103, L489-490
PR 8998 core/libs/prx/libSceAgcDriver/Graphics/src/MultisampleTarget.cpp L103, L275-276, L1022-1023
PR 9186 core/libs/prx/libSceAgcDriver/Graphics/src/MultisampleTarget.cpp L625-626, L717-718
PR 9260 core/libs/prx/libSceAgcDriver/Graphics/src/MultisampleTarget.cpp L163-164

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.

Pull request Shared files not compared
PR 1368 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 1395 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 2434 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 4448 core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
docs/dev/debt/libSceAgcDriver.md
PR 4449 docs/dev/debt/libSceAgcDriver.md
PR 5021 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 5058 docs/dev/debt/libSceAgcDriver.md
PR 5371 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 5372 docs/dev/debt/libSceAgcDriver.md
PR 5431 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 5609 core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
PR 5925 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
docs/dev/debt/libSceAgcDriver.md
PR 6044 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6182 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6185 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6186 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6187 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6188 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6192 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6194 docs/dev/debt/libSceAgcDriver.md
PR 6197 core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
PR 6202 core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
PR 6209 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 6223 docs/dev/debt/libSceAgcDriver.md
PR 6280 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
docs/dev/debt/libSceAgcDriver.md
PR 6292 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
PR 6300 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 6412 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 6481 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
docs/dev/debt/libSceAgcDriver.md
PR 6501 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6539 core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
PR 6548 docs/dev/debt/libSceAgcDriver.md
PR 6549 docs/dev/debt/libSceAgcDriver.md
PR 6615 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
PR 6642 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6727 docs/dev/debt/libSceAgcDriver.md
PR 6743 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 6788 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6808 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/src/MultisampleTarget.cpp
core/libs/prx/libSceAgcDriver/tests/execution/SampleMultisampleTarget.cpp
docs/dev/debt/libSceAgcDriver.md
PR 6848 core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
PR 6867 docs/dev/debt/libSceAgcDriver.md
PR 6868 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
docs/dev/debt/libSceAgcDriver.md
PR 6946 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
docs/dev/debt/libSceAgcDriver.md
PR 6947 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
docs/dev/debt/libSceAgcDriver.md
PR 6960 core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
PR 7201 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 7223 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 7256 core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
docs/dev/debt/libSceAgcDriver.md
PR 7275 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 7457 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 7508 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 7604 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
docs/dev/debt/libSceAgcDriver.md
PR 7642 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
docs/dev/debt/libSceAgcDriver.md
PR 7705 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 7800 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
docs/dev/debt/libSceAgcDriver.md
PR 7910 docs/dev/debt/libSceAgcDriver.md
PR 8014 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 8246 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
PR 8395 docs/dev/debt/libSceAgcDriver.md
PR 8423 docs/dev/debt/libSceAgcDriver.md
PR 8484 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/include/Texture.hpp
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 8527 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
docs/dev/debt/libSceAgcDriver.md
PR 8552 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 8592 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 8658 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Graphics/src/Texture.cpp
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
PR 8672 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/tests/Recorder.cpp
docs/dev/debt/libSceAgcDriver.md
PR 9406 docs/dev/debt/libSceAgcDriver.md

@akkadbakkad89

Copy link
Copy Markdown
Contributor

Runtime datapoint on NVIDIA hardware. RTX 3070, Ampere, driver 617.42, Windows 11 26200, WinLibs GCC 15.2.0, Release, ANYPS5_NO_SHADER_CACHE=1. Head d577c26, all binaries rebuilt on this head, ctest serial:

Test Result
agc_driver_native_color_snapshot pass
agc_driver_native_color_readback pass
agc_driver_native_color_initial pass
agc_driver_msaa_layout pass
agc_driver_multisample_readback_* (uint8/16/64/128, depth, upload) pass x6
agc_driver_sample_multisample_target pass
agc_driver_sample_mask_multisample pass

13/13 pass on Ampere — snapshot machinery holds on a second NVIDIA family.

@Amoenus
Amoenus force-pushed the codex/feat-native-color-snapshot-mainfd9 branch from d577c26 to 8e8afdc Compare October 17, 2026 09:30
@github-actions github-actions Bot added needs rebase Conflicts with main, rebase needed and removed needs rebase Conflicts with main, rebase needed labels Oct 17, 2026
@Amoenus
Amoenus force-pushed the codex/feat-native-color-snapshot-mainfd9 branch from 8e8afdc to 1f72288 Compare October 17, 2026 13:35
@github-actions github-actions Bot removed the needs rebase Conflicts with main, rebase needed label Oct 17, 2026
@github-actions github-actions Bot added the needs rebase Conflicts with main, rebase needed label Oct 17, 2026
@Amoenus
Amoenus force-pushed the codex/feat-native-color-snapshot-mainfd9 branch from 1f72288 to 653612c Compare October 18, 2026 04:40
@github-actions github-actions Bot added needs rebase Conflicts with main, rebase needed and removed needs rebase Conflicts with main, rebase needed labels Oct 18, 2026
@Amoenus
Amoenus force-pushed the codex/feat-native-color-snapshot-mainfd9 branch from 653612c to 5ec8692 Compare October 18, 2026 13:43
@github-actions github-actions Bot removed the needs rebase Conflicts with main, rebase needed label Oct 18, 2026
@github-actions github-actions Bot added needs rebase Conflicts with main, rebase needed and removed needs rebase Conflicts with main, rebase needed labels Oct 18, 2026
@Amoenus
Amoenus force-pushed the codex/feat-native-color-snapshot-mainfd9 branch from 4652bf8 to 76e0187 Compare October 19, 2026 16:48
@github-actions github-actions Bot added needs rebase Conflicts with main, rebase needed and removed needs rebase Conflicts with main, rebase needed labels Oct 19, 2026
@Amoenus
Amoenus force-pushed the codex/feat-native-color-snapshot-mainfd9 branch from 76e0187 to c4bd172 Compare October 19, 2026 19:08
@github-actions github-actions Bot removed the needs rebase Conflicts with main, rebase needed label Oct 19, 2026
@oneandonlydean oneandonlydean self-assigned this Oct 20, 2026
@github-actions github-actions Bot added the needs rebase Conflicts with main, rebase needed label Oct 21, 2026
@oneandonlydean

Copy link
Copy Markdown
Collaborator

@Amoenus this PR is stacked on #6973 and inherits its conflicts with main in Texture.hpp and MultisampleTarget.cpp; see the note on #6973. Please rebase it after #6973 is reworked on current main.

@Amoenus
Amoenus force-pushed the codex/feat-native-color-snapshot-mainfd9 branch from 6185950 to e7e649b Compare October 21, 2026 14:12
@github-actions github-actions Bot removed the needs rebase Conflicts with main, rebase needed label Oct 21, 2026
MarcZX100 and others added 6 commits October 22, 2026 00:41
Consolidate the previously published initializer and its fault/regression coverage onto the refreshed layout/uploader foundations and the credited boykopovar#6971 dependency composition. Preserve the full snapshot and supported uniform/nonuniform paths, restrict borrowed sampled-view usage and keep current main ownership/device/CMASK handling. Original initializer and test work is preserved at published8068 and its archived history; boykopovar#6971 f65cecd remains an original ancestor. Written with AI assistance.
@Amoenus
Amoenus force-pushed the codex/feat-native-color-snapshot-mainfd9 branch from e7e649b to 9e2fa81 Compare October 21, 2026 22:17

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agc libSceAgc* build docs shader core/shader

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants