Repository navigation
fix(agc): apply completion-proven native depth clears - #5554
Conversation
f31230c to
e3eeeba
Compare
537ef29 to
a73ae3e
Compare
a73ae3e to
20589c4
Compare
|
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.
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.
|
|
@adriadam10 Independent Windows validation is green for your refreshed Full app/libs build and repository checkers pass. The27 selected groups pass once plus five repeats per NVIDIA/AMD selector:324 executions, no skips/timeouts, maximum5.73s. Fourteen runtime groups per vendor report the actual GPU. The post-drain notification retains the third native-extent argument. Exact pins, analysis advisory and scope are in the updated description; no new title/Linux/full-suite claim. Your published PR head is unchanged. AI-assisted: Codex. |
Main brings the pipelined-draw stack (boykopovar#1193/boykopovar#1201/boykopovar#1202), boykopovar#6316 after boykopovar#6060, boykopovar#5893, boykopovar#5910 and depth/HTILE work (boykopovar#454, boykopovar#5496, boykopovar#5554, boykopovar#5524, boykopovar#5627, 626cff7). Our SharedSpirv / cold-SPIR-V storage is replaced by main's mapped cache entries (CreateFileMappingW on Windows), so cached variants' words are views into the cache files instead of heap copies; APS5_COLD_SPIRV, APS5_COLD_SPIRV_FILE and APS5_CACHE_SPIRV_BACKING are gone. Kept local: lane hang fixes, boykopovar#5815, boykopovar#6227, table stores and storage tables, option 1 substitutes (.slots), stencil remap and alias path (a written storage view our alias path serves seeds from the depth surface instead of retiring it), 10_11_11 blending next to main's reversed-order blending, VRAM share/spill/fallbacks, diagnostics. Versions: FormatVersion 43, RuntimeAbi 17, request serializer v31. Notes in work/sync-20261013/*-4.md. AI-assisted: yes
What
Apply a completed, recognized HTILE mask clear to a sampling-eligible native multisampled depth owner. Keep the native image, attachment and sampled-view identities.
The clear requires exact direct-dispatch bounds for the existing 17-word mask kernel, complete tracked driver-store coverage since notification, no pending GPU or intervening CPU/depth write, and every HTILE word proving the current zero/one clear.
StoredOverremains an overlap query;StoredAllSinceproves coverage and does not prove fence completion.Partial, unproven, overlapping and raced clears throw. Guest publication, metadata-fill transitions, arbitrary producers and lost tracking remain unsupported. The strict native path is separate from generic HTILE range notification.
Parent #5524 and prerequisite #5496 are merged. The current head retains main's single HTILE notification after the pipeline drain, with the bounded native producer extent as its third argument.
The conditional Sonic Unleashed Recompiled PPSA99902 need is recorded in #3262 and bring-up #4443:
native multisample depth fast-clear transition is not implementedafter the sampling prerequisites. This head has not been replayed on the title.Current head:
c9a96a548cd7e63161f069433cdfc56cbae26ac6, refreshed by @adriadam10 on mainb3f9f89e62979d7328ff0dec2d14b006f8c2c0ab. Independent validation below uses composition213cd7dc6: this exact head plus #6333's unchanged one-line PM4 build dependency, now merged. The published PR branch is unchanged.Tested
Composition213cd7dc6: #5554 c9 + merged #6333, Windows11 Enterprise26200, WinLibs GCC15.2.0 Release, bundled dependencies/SPIRV-Tools enabled:
Recompiler.hppfailure intests/Pm4.cpp; red/green evidence.StoredAllSincecoverage, draw-write ranges, pipelined fill/DMA and predication ordering. D16/D32 completed-clear and partial/raced/unproven-producer refusal tests pass.Dispatch.cppparses without configuration errors/timeouts (8.785s analyzer time). Cppcheck has no selected diagnostic; clang reports an existingPerformanceTimernull-metric warning. Its path assumes a null constructor frame and later a nonnull unchanged frame; the private-frame/metric initialization invariant was inspected. No new defect was reproduced and no analyzer-clean claim is made. Prior six-TU analysis and earlier288-pass matrix remain pinned to a6abeafb0.Historical title/source/fault evidence retains its pins. This composition has no new title replay, Linux or full-suite result; it does not prove console equivalence or arbitrary producers. Full upstream CI still requires maintainer dispatch.
Checklist
main(c9 on b3f9; tested composition213 includes merged fix(agc): link agc_driver_pm4_tests against the shader recompiler #6333); no other open PR implements the same functions.mdfiles or images added to the repository