Repository navigation
AGC: sampled 2D MSAA depth with ITERATE_256 is refused (PPSA99902 conditional startup) #3262
Description
Resolved capability, 2026-10-22
The specific sampled-2D-MSAA-depth/ITERATE_256 capability and its tracked lifecycle follow-ups are now covered by merged #5496, #5524, #5554, #7233 and #7371. The final queued-clear handoff landed as 329efe1bfdaff116c57cdf62718026ee4f5521ae; its qualified source d62377dd75 has matched main/change checks on RTX5080 and Radeon Graphics plus failing fixture-only controls. Maintained qualification.
Closing this specific capability report. The uncovered production write-tracking limitation stays in #8759, broader stencil work in #9533, and the separate decoder/colour/FMASK reports retain their own scopes. #4443 tracks overall title bring-up. This closure is based on merged capability/lifecycle code and component evidence; it does not claim a fresh current-main Sonic replay, gameplay or FPS result. The older title/replay sections below are historical.
AI-assisted report maintenance: yes.
Current depth PR maintenance and pinned title evidence
Submitted and tested on main at3c87cdfda, parent-first:
- #5496/008f91501: native numeric sampling;14 groups once+5 per NVIDIA/AMD selector, maximum5.52633s repeated. The review's actual-draw feedback refusal and four contradictory HTILE/clear configurations are covered. Three one-line mutants each fail for the intended assertion ×5 per physical vendor (30 expected failures); production restored byte-for-byte and fully rebuilt/retested.
- #5524/d7f476b6c: complete allocation retirement on parent008;15 groups once+5 per selector, maximum5.7654s.
- #5554/104ea4e60: completed HTILE clears on retirementd7;17 groups once+5 per selector, maximum5.44355s.
Each passes full Windows application/libraries, patched-library checks, conventions and registration, without CTest failures/skips. Per-fixture output verifies9/10/12 runtime groups on each physical vendor; other groups are CPU/unit evidence. Native D16/D32 ×2/4/8 ×zero/one cases run12 per vendor with unavailable0. Windows11 Enterprise26200, RTX5080/610.62 and Radeon Graphics/32.0.21036.18. Source/control pins and scope are maintained in each PR description. Each candidate merges cleanly with later main atab9a47684; those merged compositions are untested. Full upstream CI requires maintainer dispatch. This head-specific evidence does not include Linux, a full CTest suite or isolated title runs.
The earlier stencil-address routing correction remains: nine mocked format/sample configurations check27 declined color aliases and18 retained plane-reader guards, with native-device classification checks. Published615 plus test-only control fails before the ordering correction. Combined stencil import and DAVE THE DIVER's other bypasses are not validated by this work.
Latest retained title replay: e1c6af65b is main at4808d9c20 plus PR #5851 and retained local patches, including broader DCC/transfers/snapshots/publication, native depth and MSAA arrays. On RTX5080 it reaches the title/autosave screen, opening cutscene and level loading, then stops at706.129s/0xC0000409, without timeout: guest writes to a resident multisample target or its metadata are not implemented. Six input pulses,48 ordinary BMPs; no gameplay or FPS result. Originals/runtime/guest libc/user data restore and hashes pass, cleanup errors empty. This is one composed run, not an isolated effect of any submitted depth head. #3036 and the #5851 review hold exact scope.
Earlier composition, diagnostic, allocation and source evidence below keeps its original pins.
Earlier main0b6 integration check
Integration feb6c224f, main0b6 plus retained local changes, has a full build/libs/checker pass,35 focused groups and nine critical groups ×5 on both GPUs without skips. Its freshly converted original PPSA99902/01.003.000 executable/guest libc and full128-module runtime load5/5.
The normal RTX5080 run stops after 28.675s, exit0xC0000409, no timeout:
AGC graphics: native multisample depth import requires watched guest memory
It stops before the first scheduled input pulse; no new gameplay or FPS claim. Original ELF/modules, baseline runtime/guest libc and user data restore/hash verification pass, with no cleanup errors.
Source audit: this failure is in the integration's older eager attachment-import path, DepthSurface.cpp:59, called at attachment creation. The focused #5496 implementation records unsupported initial sampling state while preserving existing drawing, then refuses actual sampling; it is not byte-identical to this legacy path. This run does not reproduce unchanged #5496 or isolate any upstream change. The actual depth-versus-HTILE range and why tracking is absent remain unknown. No guard was bypassed, no private capture added.
Validated alignment: fork c7e3a456d, canonical branch codex/experimental-ppsa99902-msaa-restored, integrates the focused 13-patch main0b6 rebase069be9744, retaining color snapshots/clears and other prerequisites. Core depth code uses the focused implementation plus legacy layout/overlap helpers. Unsupported initial sampling remains refused while existing drawing behavior is preserved.
Full build/libs/conventions/registration pass; 40 focused groups pass with no skips (maximum24.8258s), and 14 critical groups ×5 on each GPU pass without skips (maximum1.27366s NVIDIA/1.22426s AMD). Win11 Enterprise26200, RTX5080/610.62 and AMD1002:13c0/32.0.21036.18, WinLibs15.2.0r7 Release/SPIRV-Tools ON. These are adapted composition results, not unchanged PR-head results.
The initial migration build exposed an obsolete one-argument clear call; updated fixture calls supply the explicit native extent proof. Legacy tests now assert deferred sampling refusal and the focused complete-store diagnostic; partial HTILE completion remains refused. One focused retirement test needed the integration color path's actual detiler, enabled formatless-transfer features and tiled footprint. Its original failure and corrected validation are preserved. No production guard or tolerance was weakened.
Fresh aligned title replay: the full frozen c7e3a45 runtime and newly converted original PPSA99902 executable/guest libc pass loader checks (5/5). On RTX 5080, normal execution stops after 34.566s, exit 0xC0000409, without timeout:
[videoout] presentation failed: AGC graphics: multisample target reuse requires watched guest memory; untracked writes are not implemented
The replay passes the earlier eager depth-import refusal and reaches the retained color owner's reuse check. That check rejects either a zero initial generation or an unwatched color/metadata range; this message does not identify which range or its cause. No guard was bypassed. No input pulse was sent before the stop; one ordinary BMP frame was archived, with no new gameplay or FPS claim. Original files, baseline runtime/guest libc and user data were restored and hash-verified; cleanup errors are empty. This is a composed-integration result, not unchanged current main or an isolated PR-head result. The three PR branches remain at their published a5 heads; only a separate rebase checkpoint is pushed while latest #4820/#5111 dependency heads evolve. The earlier main1978 matched buffer comparison retains its later resident-color stop and original scope.
Earlier focused contributions at main0dea (historical validation)
- feat(agc): sample native multisampled depth attachments #5496: native numeric MSAA-depth sampling; head db71c52bb, depends on feat(agc): sample a multisampled color target through its 2D MSAA texture #4820.
- fix(agc): retire fully released native depth owners #5524: complete depth/HTILE allocation retirement; focused change, depends on feat(agc): sample native multisampled depth attachments #5496.
- fix(agc): apply completion-proven native depth clears #5554: completion-proven native HTILE clears; focused change, depends on fix(agc): retire fully released native depth owners #5524/fix(agc): give each slice of a depth array its own HTILE #5111, transitively feat(agc): sample native multisampled depth attachments #5496/feat(agc): sample a multisampled color target through its 2D MSAA texture #4820. Includes the tested 32-bit dispatch-span bound; this corrects the extent proof, not a demonstrated game-corruption bug.
All three heads are rebased on main 0dea07ab27df5c894fae55b0dbefe2ba20a10482. Current validation composition retains the earlier submitted patches and exact dependency heads, plus the validation-only public producer fixture. Full build/libs and conventions pass. Seven groups ×5 pass on RTX 5080 and AMD integrated graphics without skips (maximum 0.54s): sampling, retirement, clears, refusals, real GPU producer, write tracking and color sampling. Real Vulkan BDA-device controls ×5 pass on each GPU; graphics unit controls, including exact host-import joins, ×5 pass (maximum 5.45s). Preceding main-ce5 validation additionally passes ten changed-main groups ×5. Earlier full-suite and pre-fix controls below retain their original pins.
The clear matrix still covers all 24 D16/D32 ×2/4/8-sample ×HTILE-layout ×initial-endpoint configurations, alternating endpoints across three cycles on each GPU, with coverage/CPU/depth/pending-write fault controls. The latest rebase preserved both upstream layered-storage teardown and our native-depth guard teardown. Unsupported publication and metadata-fill paths still throw.
Own contributions: 3 merged, 4 open, 16 available slots. #4451 remains held for #5137. Native-color sampling stays with #4820; its inactive-owner lookup finding remains reported to that author. AI-assisted: Codex.
Fresh title validation: on main + local patches (integration78204b40d/main d167), PPSA99902 displays its opening cinematic and reaches the existing MTBUF descriptor-range refusal after841.377s. Runtime, dump and user data restoration is verified with zero cleanup errors. GPU submission timeouts precede the refusal; fields/cause remain untraced. Canonical replay details and presentation-rate scope, decoder report updated in place. This validates the retained integration, not this depth PR alone or unchanged-main gameplay.
Sampled MSAA depth / ITERATE_256
Current checkpoint (2026-10-13): Proposed retirement42aebfe20 has passing native retirement controls and a completed before/after/restored conditional title comparison. The uninstrumented run reaches MIMG descriptor register range overflow after GPU submission/fence failures. A later refusal-only capture identifies sampler104-107 and a GPU-free current-main decoder control in #4991; the earlier GPU failure remains unexplained. The production comparison and protected-file restoration are in Production title comparison below. Older snapshot/geometry evidence retains its pinned source scope.
Historical fork integration08891d938 retains the validated native depth support and adds immutable native GPU color snapshots plus recognition of the captured11-word constant metadata-fill kernel. The first snapshot-only profile reproduced a dirty-target metadata refusal; two private captures and pinned Mesa source identify full DCC=00/CMASK=CC fills. Known full clears now apply to the retained native image only after completion/coverage/CPU/pending/sample/write-serial checks. Uncertain transitions still fail explicitly; actual CPU reads retain sample-preserving publication.
Full build/libs/registration/conventions pass; 16 relevant groups ×5/full recorder ×5,96 snapshot configurations,72 recompiler GPU constant-fill configurations,14 faults ×5. Full872 suite:867pass/0fail/5 explicit skips, maximum15.4859s. Frozen before/restored profiles fail29.130/30.682s; changed normal runs reach60s without fatal output. A separate180s observer captures PRESS START,1895 snapshot lookups/947 clear imports and zero dirty guest publications. These counts are not FPS; interactive gameplay, audio, rendering accuracy, console/AMD equivalence and Linux/lavapipe remain unverified. Pinned a672 integration, not unchanged upstream main.
Canonical current evidence, source provenance, controls and limitations. Controlled input verifies the autosave notice and NEW GAME menu; the later480.719s/43-frame observation shows several later opening-cinematic scenes after four verified input pulses, with no fatal diagnostic. Interactive gameplay remains unverified. A separate frozen pre-snapshotcfc9b0411 parent control (481.207s/43 frames) also shows a fully visible Next dialog with no visible body text: this observation predates134/088; cause untraced, no new defect claimed. Observer/reverted sources restored byte-for-byte; full build/libs and four relevant groups ×5 pass. Original/module/converted libc/exact123-file baseline and empty working saves/config/marker restored. Captures/generated saves stay private; no production change in the observation; validated integration now pushed to the fork, no new PR. The longer run now reaches post-movie NOW LOADING, then fails at dithered/rounded alpha-to-coverage0x18701: new issue4285,764.735s/C0000409/not a timeout,71 private captures, exact mode refusal5/5. No interactive gameplay; same guard checked in current main source, not whole-main startup. Original/runtime/working state restored. Measured presentation-counter FPS by phase and limits are in the canonical report; next requested validation is discussion2242 on Windows/RTX5080.
Proposed implementation: native GPU snapshots plus completed constant metadata clears/allocation accounting; depends on earlier MSAA foundation, not standalone current-main patches. Exact088 full build/libs/registration/conventions, seven groups ×5 and fresh full872 suite867pass/0fail/5skip (max15.5141s) verified before fork push. The fixture correction is now merged upstream via #4159; no extra fixture PR proposed.
Published numeric snapshot solution and earlier validation (2026-10-11)
Fork7b70443c0, basea11c8f7f70a0ed4e71504a89de69e8cdae687817, refreshes the historical numeric R16_UNORM/R32_SFLOAT depth prototype onto the sampled-color/DCC foundation in parentc0113cde2. It preserves merged full HTILE coverage and stencil-reuse fixes. This is an experimental integration with math/kernel/D64 prerequisites, not an isolated unchanged-main patch; historical render/FMASK/BDA overlays are not carried. No new PR.
General supported subset:2/4/8-fragment Z_X guest surfaces and array views; raw numeric samples; texture-compatible HTILE zero/one clears and expanded tiles, including mixed known tiles. Recorded/storage producers are synchronized and each lookup creates a fresh snapshot. Compressed descriptors require pipe-aligned ITERATE_256; unknown compression, other formats, comparison reads and resident host-depth/stencil/HTILE overlaps throw. Ownership is checked after synchronization. At that published fork checkpoint, resident depth readback and multisampled depth rendering were unimplemented; clearing the descriptor flag alone is not this implementation.
- Independent geometry/address check: compiled current production against unchanged PAL c5e80007:240 configurations/run×5;10,510,976 depth sample addresses and2,252,352 HTILE addresses/run match. D16/D32,2/4/8 fragments, small/boundary/3840×2160 extents, layers1/3 and legal XORs. Missing8x-pattern, pipe-XOR and layer controls caught5/5 each. Declared source model
0x00100044/revision0x82,16 pipes/256B interleave; not console measurement, no new runtime dependency. - Real RDNA regression: new
agc_driver_image_multisample_depthexecutes recompiled IMAGE_LOAD dimensions6/7 through production lookup. Both formats;2/4/8 fragments;2D, base-array and first-layer-through-array views; nonzero XORs.18 raw configurations plus18 HTILE configurations×7 states =144 cases/run. Expanded→zero→one→mixed→changed raw texels→zero→one at reused addresses. Every fragment and four components checked across block boundaries; R16_UNORM within one float ULP, endpoints/R32_SFLOAT exact. Five repeated runs pass/no unavailable cases. Wrong clear-one→zero production mutant is caught atstate2 (actual=0 expected=1065353216); byte-exact source restored, full rebuilt and five restored native repeats pass. - Build/regression: full build/all122 patched libraries, conventions and registration pass (642 executables registered).60 of61 selected groups pass all five parallel repeats;
agc_driver_sampled_cache_budgethas one Numerical exception under-j4, then passes five isolated repeats and the full suite. Its cause was not traced in that campaign; a later deterministic divide-by-zero reproduction is tracked in #4141. No depth/TLS attribution. Full843 tests:836 pass/5 skip/2 previously reproduced failures (Windows: windows_exceptions fails since #1423, unwinding through runtime DLL frames (std::call_once) no longer reaches the catch #3411/linux CI + NVIDIA:agc_driver_emulated_color_comparefails on main since #3438 (8-bit sRGB compare refused on the decode path) #3526). This validates the integration, not unchanged-main or a fix for those failures.
Fresh game controls
Sonic Unleashed Recompiled/PPSA99902/01.003.000, Windows11 Enterprise26200, Ryzen9950X3D, RTX5080/driver32.0.16.1062, WinLibs GCC15.2r7, Release. Same guarded f609 executable/converted guest libc; not a fresh a11 relink or unchanged-main startup. Vulkan required/shader cache disabled; other recorded bypass flags absent.
| Control | First fatal guard | Seconds |
|---|---|---|
| Before | descriptor word6 bit10 | 29.296 |
| After1/2 | raster MSAA, register0x2f8 = 0x2030e003 |
32.097 /29.565 |
| Restored before-profile | descriptor word6 bit10 | 29.567 |
All enter guest, exit0xC0000409, no60s timeout. Complete122-library before/after snapshots differ in8 relinked modules/114 byte-identical; no AGC-only attribution. Original eboot/guest ELF, exact123-file baseline (120PRX+three toolchain DLLs) and saved guest module restored/hash-verified after every replay. Source clean; temporary mutation removed. No guard bypass or guest metadata rewrite.
Descriptor and source evidence
Two earlier logging-only captures at parentc0113cde2, preserving the guard:
407dc000 c1600000 821bc3bf e3830204 00000000 00400030 00280400 00408db0
4081c000 c1600000 821bc3bf e3830204 00000000 00400030 00280400 004091b0
Both:3840×2160, format22/32_FLOAT, type14/2DMSAA,8 fragments, tile24/64KB_Z_X, ITERATE_256, compression and pipe-aligned metadata set. Addresses differ; cause unasserted. Pinned gfx10-rsrc.json names bit10; descriptor construction sets it for TC-compatible MSAA HTILE. Clear/expanded states follow ac_descriptors.h and zero/one TC-clear restriction. Assumptions/limits are in TechnicalDebt.
Game-independent historical decoder reproduction: call DecodeTextureResource with the second eight-word array;961b's unchanged guard refuses5/5. Decoder-only controls clearing bit10 decode5/5, but were never injected into the title. Current native tests exercise the implementation, not that bypass.
Historical961b captures contained267,386,880 depth bytes and655,360 HTILE bytes, all zero before/after synchronization. These have not been recaptured on7b70443c0; no current complete depth/HTILE producer trace or actual sampled title values are claimed. Independent scalar helper history remains preserved.
Next blocker and related work
Previous conditional frontier (2026-10-13): the refreshed main495 fork0c74657e stops at the resident-color write guard after784.791s. Swapping only libc and libSceAgcDriver to the tested #4474 color/metadata retirement adaptationb553a8f76, with122 other libraries byte-identical, reaches this private depth refusal after791.335s:
AGC graphics: guest writes over native multisample depth are not implemented
The adaptation's full NVIDIA suite passes1035/0/8 of1043, with16 relevant groups×5 and a failing pre-adaptation retirement control; exact native/title evidence and scope. Both title runs use the same frozen f609 executable/guest libc and six scheduled input pulses, show the opening movie, exit0xC0000409 without timeout, and restore/hash-check originals/runtime/guest/user data. No interactive gameplay, depth values, console equivalence or FPS claim. The later guard is in the private DepthSurface.cpp coherence checks; its message is shared by the depth-unchanged and all-ranges-unchanged predicates, so the exact first predicate and cause are not identified yet. New CPU generation stamps do not prove completed CPU stores. Trace depth/HTILE mapping provenance and successful allocation-release coverage before adapting retirement; this is not evidence of a new current-main defect or a reason to bypass the guard.
Depth release observer result: a separate temporary scalar observer on the frozen b553 conditional stack ends after802.420s/0xC0000409, without timeout;61 private captures and all protected files restored/hash-verified. It records one prepared8x3840×2160 depth surface:
depth 0x4081c00000+0x0ff00000, initial generation34311
HTILE 0x4091b00000+0x000a0000, initial generation34312
successful unmap-piece and unmap-whole: 0x4081c00000+0x0ffa4000, observer present
That single successful unmap covers the complete depth plane and HTILE (the piece/whole lines describe the same operation). Later the run stops at SET_CONTEXT_REG_INDIRECT at DWORD96917: sample-preserving guest publication of native multisample depth is not implemented. Neither first-coherence-predicate diagnostic fires in this run. Instrumentation changed which refusal is reached, so this does not identify the first predicate of the791.335s production run. The private depth guard/cache has no release retirement, and this read refusal occurs after the recorded full release; depth retirement is now a concrete local correction to test, while partial/live-data refusals must remain. No completed CPU-store, sampled-value, gameplay or new current-main defect claim.
Observer and restored production builds/libraries pass, with16 relevant groups×5 each; native tests exercise both diagnostic predicate labels. Source is restored byte-for-byte before the game run. Registry logs include releases≥32MiB only, so lack of a line never excludes smaller releases; tracker snapshots on refusal are separate from the predicate lock. Diagnostic source/binaries and captures remain private; the production forkb553 is the proposed color-retirement reference, not a depth fix. Tested proposed correction: fork42aebfe20, branch codex/experimental-ppsa99902-depth-retire, based on b553, unifies color/depth guard registration under the existing successful-release observer. It accounts for the remaining original guarded intervals and retires a resident only after every color/metadata or depth/HTILE byte is released, including split/middle releases. Protection changes, failed host unmaps and still-live partial ranges retain the refusal. Inactive depth objects are excluded from view/clear/overlap/cache lookup; old Vulkan objects remain alive until device teardown. Clearing color targets preserves a remaining depth guard/observer.
Full Windows Release build/all patched libraries, conventions and registration pass. Full NVIDIA1036 passed /0 failed /8 skipped of1044, maximum23.940s, --parallel2 --timeout30, RTX5080/610.62, WinLibs15.2r7/g++.exe, shader cache disabled. All17 relevant groups pass×5 without skips. The new fixture checks24 configurations: D16/D32 ×2/4/8 samples ×allocation removal/whole unmap/half-plane releases/middle split. It checks retained protection/failed/partial refusals, completed retirement, new image/sampled-view identity and exact clear-one samples/output guards at reused addresses. The no-op host-unmap callback scope remains as above. Replacing the three changed production files with exact b553 while retaining the new regression fails at the stale native-depth read guard; byte-exact restoration/full rebuild passes. The initial fixture omitted registry registration, was corrected before these results, and its failed attempt is preserved locally.
Production title comparison of the proposed retirement correction
Same frozen f609 executable/converted guest libc, Windows11/RTX5080/610.62, WinLibs15.2r7 Release, Vulkan required/shader cache disabled, same six scheduled300ms input pulses and sparse readback settings. Only libSceAgcDriver.prx changes;123 other runtime libraries are byte-identical to the b553 control. The rebuilt124-library audit also finds only AGC differs after normalizing PE timestamps/checksum/named-import hints; the focused title profile uses the exact baseline bytes for all123 other modules.
| Frozen profile | Observed stop | Seconds / private captures |
|---|---|---|
| Production b553, previous completed control | Guest writes over native multisample depth are not implemented | 791.335 /61 |
| Tested retirement42a, one run | MIMG descriptor register range overflow | 807.203 /59 |
| Restored frozen b553 control | Guest writes over native multisample depth are not implemented | 786.544 /60 |
All three exit0xC0000409 without the1080s timeout. The restored run uses the exact original124-module b553 profile, repeats the original depth-write refusal and has independently verified restoration/capture hashes. This strengthens the before/after/restored comparison; it still does not identify the first depth predicate or explain the later GPU/MIMG failure. All six pulses were sent; consumption was not independently logged in these uninstrumented runs. The changed run also logs GPU submission37032/37033 stalled at37029 for10s and vkWaitForFences failed with error code0xFFFFFFFC before the MIMG exception. Do not infer a new missing instruction capability, a valid shader being rejected, or the cause of the GPU failure from that exception. The failing instruction/PC is not captured yet. Current main ea2bbefb2b5d1fbe40b3e9e4b6b4bab98f5c80c1 has the same decoder source after newline normalization, including this range guard; this is a source check, not unchanged-main title execution. Exact-message and broader MIMG/register-overflow searches found no matching report; related image-table/scalar-call work does not establish this cause.
Native regressions independently establish the stale-retirement correction. The changed conditional run reaches a different refusal and the restored control repeats the original one; this does not identify the original first depth-coherence predicate or prove gameplay, sampled-depth values, rendering accuracy, FPS/performance or console equivalence. Original eboot/module ELF, converted executable, exact baseline runtime/guest libc and saved user data are independently hash-rechecked after restoration;59 archived captures are hash-verified and remain private. Source is clean. No temporary diagnostic/bypass is in this run.
The proposal still depends on the private native-MSAA foundation/#4474 and is not a standalone current-main PR. No new capability issue is asserted yet. Next: record the exact failing MIMG PC/descriptor-register operands and copied/mapped code extent with the refusal preserved before choosing a fix or a separate issue. The private refusal-only observer is now complete:787.253s/59 captures,0xC0000409/no timeout, six pulses sent/consumption unlogged, independently verified restoration and clean source. It captures one image_sample at raw program0x20ba53400, PC0x260/index152,256 copied words: T#s72-s79 fits; S#base104/four words crosses the ordinary-SGPR bound. This observed run has no logged submission-stall/fence failure. The earlier uninstrumented run retains its different GPU diagnostic sequence. The observer/native controls still pass full NVIDIA1036/0/8 of1044 (max22.770s),26 groups x5 before/after restoration, and scalar accepted/refusal controls. Its frozen profile changes only AGC from42a;123 other modules are identical. No extra guest reads/retries/bypasses or production observer commit.
Separate reproducible decoder boundary: #4991 records the captured sampler104-107 tuple, GPU-free reproduction against exact current-main c2565f0 decoder/headers, the sampler100 positive control, and LLVM's explicit s104/s105/VCC tuple source. The current-main case tests one instruction; it is not a whole-main title run or a hardware measurement. A fix needs correct VCC component definition/use/resource capture; no implemented alias-lowering solution or title progress past this instruction is claimed. No proprietary shader/captures attached. Next: inspect the tuple model and build a focused source-backed general correction for #4991. Historical title/geometry scope remains unchanged. Historical title/geometry results retain their own scope. AI-assisted: Codex. AI-assisted: Codex.
Color work remains in #3036, FMASK in #3219; #4443 maintains the shared current stack. Historical snapshot/address controls above retain their original source scope.
#374's physical HTILE-coverage correction is merged; it did not implement this sampled-depth descriptor path. Related work includes #425/#1368/#2053/#2076/#2904. No duplicate capability issue needed.
AI-assisted code/investigation/reporting: Codex. No proprietary dump/shader attached; no console/AMD hardware equivalence or Linux/lavapipe validation claim. This body is updated in place; shared history is cross-linked.
Activity