Skip to content

perf(agc): defer pipeline artifacts with first-use preparation - #6743

Draft
JJenkx wants to merge 1 commit into
boykopovar:mainfrom
JJenkx:fix/lazy-pipeline-abi
Draft

JJenkx wants to merge 1 commit into
boykopovar:mainfrom
JJenkx:fix/lazy-pipeline-abi

Conversation

@JJenkx

@JJenkx JJenkx commented Oct 16, 2026 •

Copy link
Copy Markdown
Contributor

What

Draft: matched-title performance validation and the review requirements below remain outstanding.

With APS5_LAZY_SHADER_PREPARE=1, registration is deferred but a title can still compile its unused PSO cache through the three pipeline ABI resolvers. Keep host shader and rectangle artifacts lazy there too, after registered-header and device validation. Guest metadata calculations are unchanged. Draws, dispatches and rectangle pairs still prepare missing artifacts at first use, and unsupported code still fails there. Default eager behavior is unchanged.

This follows merged #5872. The branch now contains only this follow-up commit on main 40393b0f959c; the former dependency commits have been removed.

Tested

Latest refresh: rebased as one linear commit onto main 40393b0f959c7a9522d65ee869f12a0f53693beb; new head d5ec29e08e. All seven selected test executables rebuilt. 28/28 selected checks pass on RADV and 28/28 on lavapipe, with Vulkan required and no skips, including main's eight new deferred ABI cases, lazy/synchronous-lazy modes, eager/prebuild variants, publication, exports, unregistered graphics and draw-cache relocation. Conventions and whitespace pass. Main's newer failed-registration handling and deferred-state regression are preserved. This is a source/test refresh; no new native title or matched-scene performance result is claimed. Earlier measurements below retain their original revision labels.

Earlier refresh onto main eb901bcf4e17 after #5872 and #6784 merged, new head 3bac469646f3. Only one follow-up commit remains, with no merge commits. Full libs and all seven selected test executables rebuilt; 20/20 checks pass on RX 6650 XT/RADV without skips, including eager/prebuild variants, lazy/synchronous-lazy modes, publication, unregistered graphics and draw-cache relocation. The same 20 checks also pass on lavapipe Mesa 26.2.4 / LLVM 23.1.1 with Vulkan required, without skips (4.32 seconds). Conventions and whitespace pass. An initial run accidentally used an old unregistered-graphics executable; rebuilding it resolved the ABI mismatch before this final result. The compositor repeat below tests the earlier 332b0b1b7 base and exact bc8e7275f2f9 head; the latest rebased head has no native title run yet.

Arch Linux 7.2.9, GCC 16.2.1, Ryzen 9 7950X, Radeon RX 6650 XT 8 GiB, RADV 26.2.4-arch1.1:

  • Earlier measured base 5d9dcc42d plus perf(agc): allow shader preparation on first use #5872 plus this change (35a3326639ab): full libs build and 17 preparation checks pass, including default/prebuild variants, lazy/synchronous-lazy modes and prepared-state publication. Conventions and whitespace checks pass.
  • The compute fixture resolves its ABI before dispatch, verifies that no artifact was prepared, then checks actual GPU writes. Its unsupported program still fails at dispatch and shutdown.
  • The new graphics fixture leaves stage and rectangle artifacts empty through repeated ABI calls, rejects an unregistered code address, then completes a first rectangle draw and checks that its stages and pair were prepared. Replacing only production ShaderRegistry.cpp with parent main-plus-perf(agc): allow shader preparation on first use #5872 code makes this regression fail at eager pipeline preparation; restoring the change passes.
  • Resident Evil Village PPSA01556 01.210.000, with that isolated combination: Capcom logo and readable VR Mode notice; normal close after 152.98 seconds. The log reports zero AnyPS5 shader-cache hits and a few dozen compiled artifacts, but Mesa/game state was not reset, so this is not a fully cold-cache benchmark.
  • A separate experimental integration with this change reaches readable Initial Settings and responds to an observed-prompt Cross command; it closes normally. That integration includes other pending changes and is distinguished from the isolated run in the evidence.

Exact source, native summaries, screenshots and limitations. Game bring-up.

Draft: broader title validation and repeatable complete-load timing remain pending. The controlled fixed-window startup traces below distinguish main, the dependency and this follow-up. These observations do not establish a gameplay, FPS, percentage speedup or complete-load claim. Windows/macOS runtime builds have not been run for this change.

Compositor repeat on current main

This repeat addresses the X11 capture limitation below. Both arms use current main 332b0b1b7, identical initial save hashes, separate initially empty AnyPS5/Mesa caches, 3840x2160 rendering, no scripted input or debugger, and XComposite for all eight screenshots. Only the official APS5_TRACE_SECONDS=0:120 switch and event capacity are set; game output stays on the terminal. Both traces report no dropped events.

Arm Exact head Compositor capture at120seconds Compositor capture at160seconds Native result
main + #5872 c6bb5fc8b1f2 black black normal close0,173.32s
main + #5872 + this PR bc8e7275f2f9 readable add-on check readable VR Mode notice normal close0,173.79s

This establishes startup UI progress over the parent in this observation window. It does not establish gameplay, complete-load timing, a warmed scene gain or an FPS improvement; rendered content differs. It does not retest unmodified main. The OS file cache was not reset. Earlier X11-only controls remain inconclusive, independently of this repeat.

Both exact-head traces, digests, report and matching compositor captures (compositor-startup-main332-public.json).

Compositor repeat summary lines (parent, change; startup content differs)
{"commit":"c6bb5fc8b1f2","dirty":false,"env":{"APS5_DRAW_CACHE_ENTRIES":"4096","APS5_HOST_IMPORT_MIB":"16384","APS5_LAZY_SHADER_PREPARE":"1","APS5_PAD_INPUT_FILE":"<path>","APS5_PIPELINED_DRAWS":"1","APS5_TRACE_EVENTS":"1048576","APS5_TRACE_SECONDS":"0:120"},"gpu":"AMD Radeon RX 6650 XT (RADV NAVI23)","driver":"radv Mesa 26.2.4-arch1.1","os":"Linux 7.2.9-arch1-1","resolution":"3840x2160","window":{"spec":"seconds 0:120","first_present":0,"ms":120015.597},"presents":7188,"frame_ms":{"p50":16.683,"p90":16.695,"p99":16.758,"max":77.432},"gpu_busy_ms_per_present":0.563,"worker_busy_pct":{"queue worker 0x0":92.149,"queue worker 0x38":0.426},"top_phases_ms_per_frame":{"VideoOut.Flip":16.639,"VideoOut.Flip.vblank_wait":15.538,"Driver.Packet":15.384,"Driver.Packet.rendering_wait":14.637,"Vulkan.GraphicsPipelinePrebuild":10.862,"Vulkan.GraphicsPipeline":10.861,"Vulkan.GraphicsPipelineLibrary":10.848,"Driver.Present":1.04},"trace_dropped":false,"trace":"aps5-trace-c6bb5fc8b1f2-3849841.json.gz"}
{"commit":"bc8e7275f2f9","dirty":false,"env":{"APS5_DRAW_CACHE_ENTRIES":"4096","APS5_HOST_IMPORT_MIB":"16384","APS5_LAZY_SHADER_PREPARE":"1","APS5_PAD_INPUT_FILE":"<path>","APS5_PIPELINED_DRAWS":"1","APS5_TRACE_EVENTS":"1048576","APS5_TRACE_SECONDS":"0:120"},"gpu":"AMD Radeon RX 6650 XT (RADV NAVI23)","driver":"radv Mesa 26.2.4-arch1.1","os":"Linux 7.2.9-arch1-1","resolution":"3840x2160","window":{"spec":"seconds 0:120","first_present":0,"ms":120071.495},"presents":826,"frame_ms":{"p50":119.073,"p90":142.018,"p99":300.918,"max":14838.718},"gpu_busy_ms_per_present":59.559,"worker_busy_pct":{"queue worker 0x0":94.644,"queue worker 0x38":45.742,"queue worker 0x20":22.087,"queue worker 0x28":81.299},"top_phases_ms_per_frame":{"Driver.Packet":351.652,"Driver.Packet.memory_wait":158.901,"Driver.Packet.dispatch":113.285,"Driver.Dispatch":112.851,"Vulkan.Dispatch":73.666,"Vulkan.Dispatch.shader_resources":73.277,"Driver.Packet.draw":57.519,"Driver.Draw":57.488},"trace_dropped":false,"trace":"aps5-trace-bc8e7275f2f9-3912401.json.gz"}

Controlled startup captures

Capture correction: a later same-window check found black X11 snapshots while XComposite showed readable UI. The main/parent controls below used X11 only. Their black images therefore do not prove the game rendered black, and the visual comparison is inconclusive pending XComposite controls. Numeric traces/cache totals remain attached; no speedup is claimed.

Same machine/session, identical initial save hashes and rendering/window settings, separate initially empty AnyPS5 and Mesa caches for each run. No scripted input, debugger, extra profiling flag or redirected game log. All three runs close normally at about 183 seconds. The 120-second traces have no dropped events.

Source Final capture at about 170 seconds Cache files / total bytes at close
unmodified main 5d9dcc42d X11 image black; actual scene unverified 4,227 / 1,204,739,726
main + #5872 cc621fc74 X11 image black; actual scene unverified 2,592 / 807,582,179
main + #5872 + this PR 35a332663 readable VR Mode notice; Capcom logo by the 60-second capture 121 / 14,064,461

File counts include shader/resource-plan artifacts, pipeline cache and metadata; they are not unique shader counts. This defers unused work; it does not eliminate all compilation. The OS file cache was not reset. This is a fixed-window startup comparison, not a completed cold load or the performance form's warmed-cache scene comparison. Rendered content differs, so the summary frame times do not support an FPS speedup claim. Broader titles and repeatable complete-load timing remain pending.

Three traces, digests, numeric report and matching final captures.

Official summary lines (main, parent, change; startup content differs)
{"commit":"5d9dcc42d2ec","dirty":false,"env":{"APS5_DRAW_CACHE_ENTRIES":"4096","APS5_HOST_IMPORT_MIB":"16384","APS5_LAZY_SHADER_PREPARE":"1","APS5_PAD_INPUT_FILE":"<path>","APS5_PIPELINED_DRAWS":"1","APS5_TRACE_EVENTS":"1048576","APS5_TRACE_SECONDS":"0:120"},"gpu":"AMD Radeon RX 6650 XT (RADV NAVI23)","driver":"radv Mesa 26.2.4-arch1.1","os":"Linux 7.2.9-arch1-1","resolution":"3840x2160","window":{"spec":"seconds 0:120","first_present":0,"ms":120001.577},"presents":3413,"frame_ms":{"p50":16.684,"p90":16.698,"p99":742.288,"max":4215.071},"gpu_busy_ms_per_present":0.737,"worker_busy_pct":{"queue worker 0x0":39.8,"queue worker 0x38":0.21},"top_phases_ms_per_frame":{"Shader.PrepareArtifact":52.965,"Vulkan.GraphicsPipelinePrebuild":34.991,"Vulkan.GraphicsPipeline":34.988,"Vulkan.GraphicsPipelineLibrary":34.963,"VideoOut.Flip":16.006,"VideoOut.Flip.vblank_wait":14.888,"Driver.Packet":13.992,"Driver.Packet.rendering_wait":13.178},"trace_dropped":false,"trace":"aps5-trace-5d9dcc42d2ec-3111965.json.gz"}
{"commit":"cc621fc74cb7","dirty":false,"env":{"APS5_DRAW_CACHE_ENTRIES":"4096","APS5_HOST_IMPORT_MIB":"16384","APS5_LAZY_SHADER_PREPARE":"1","APS5_PAD_INPUT_FILE":"<path>","APS5_PIPELINED_DRAWS":"1","APS5_TRACE_EVENTS":"1048576","APS5_TRACE_SECONDS":"0:120"},"gpu":"AMD Radeon RX 6650 XT (RADV NAVI23)","driver":"radv Mesa 26.2.4-arch1.1","os":"Linux 7.2.9-arch1-1","resolution":"3840x2160","window":{"spec":"seconds 0:120","first_present":0,"ms":120012.451},"presents":7189,"frame_ms":{"p50":16.683,"p90":16.695,"p99":16.754,"max":62.882},"gpu_busy_ms_per_present":0.562,"worker_busy_pct":{"queue worker 0x0":92.256,"queue worker 0x38":0.394},"top_phases_ms_per_frame":{"VideoOut.Flip":16.639,"VideoOut.Flip.vblank_wait":15.549,"Driver.Packet":15.399,"Driver.Packet.rendering_wait":14.69,"Vulkan.GraphicsPipelinePrebuild":10.747,"Vulkan.GraphicsPipeline":10.745,"Vulkan.GraphicsPipelineLibrary":10.733,"VideoOut.Flip.present":1.028},"trace_dropped":false,"trace":"aps5-trace-cc621fc74cb7-2978458.json.gz"}
{"commit":"35a3326639ab","dirty":false,"env":{"APS5_DRAW_CACHE_ENTRIES":"4096","APS5_HOST_IMPORT_MIB":"16384","APS5_LAZY_SHADER_PREPARE":"1","APS5_PAD_INPUT_FILE":"<path>","APS5_PIPELINED_DRAWS":"1","APS5_TRACE_EVENTS":"1048576","APS5_TRACE_SECONDS":"0:120"},"gpu":"AMD Radeon RX 6650 XT (RADV NAVI23)","driver":"radv Mesa 26.2.4-arch1.1","os":"Linux 7.2.9-arch1-1","resolution":"3840x2160","window":{"spec":"seconds 0:120","first_present":0,"ms":120003.176},"presents":866,"frame_ms":{"p50":115.899,"p90":134.66,"p99":305.938,"max":13694.997},"gpu_busy_ms_per_present":60.291,"worker_busy_pct":{"queue worker 0x0":93.885,"queue worker 0x38":48.018,"queue worker 0x20":23.446,"queue worker 0x28":80.181},"top_phases_ms_per_frame":{"Driver.Packet":337.238,"Driver.Packet.memory_wait":156.185,"Driver.Packet.dispatch":108.905,"Driver.Dispatch":108.494,"Vulkan.Dispatch":69.828,"Vulkan.Dispatch.shader_resources":69.468,"Driver.Packet.draw":54.578,"Driver.Draw":54.547},"trace_dropped":false,"trace":"aps5-trace-35a3326639ab-3041730.json.gz"}

Beyond the startup notice

An observed-input follow-up on this isolated branch confirms the autosave dialog and selects No at the VR prompt, then exits134 with AGC graphics: the depth target's sample count differs from the rasterizer's. A clean integration of all three #5907 commits passes five selected graphics checks but still reaches that error. A diagnostic-only follow-up records raster2/depth1, AA_CONFIG=0x00108001, MODE_CNTL_0=3, MODE_CNTL_1=0, DEPTH_CONTROL=0x007007e7, Z_INFO=0x20000183, and INPUT_ENA=INPUT_ADDR=0x2301.

The active inputs include ANCILLARY and position X/Y, which #5907 deliberately rejects to avoid changing fragment-coordinate semantics. Thus #5907's documented Village case does not establish support for this draw. No sample-count bypass was applied. A later diagnostic on main 332b0b1b7 captures the rejected312word pixel program; offline folded resource IR retains SampleId and both FragCoord components. Full materialization is not established because descriptor memory was not captured. All three progression runs are terminal with temporary settings restored. Register evidence, exact test branches and limits (village-mixed-samples-public.json). These are diagnostic progression tests, not performance captures; gameplay and a rendered title menu remain unverified.

Overlap

#5872 and #6366 are merged into main. This rebase retains #6366's failed-registration handling and all new deferred ABI tests alongside the opt-in lazy returns. No open dependency remains.

The additional overlap warning was reviewed against #6188 95ddd71bd8e8, #6454 22f8c1480189 and #6718 3fc42c0a221e. The first two conflict at the public declarations beside #5872's RegisteredShaders() (draw-ahead/cache APIs in #6188 and QueryPendingSpan in #6454); retain both declarations. #6718 adds an independent CPU texture-array test block beside the preparation test environment block; retain both registrations. None implements lazy ABI artifact deferral or is a code dependency. Local merge-tree checks confirm these mechanical conflicts; full combined builds for these three peers have not been run. Comparisons the bot could not complete are not claimed clean.

Checklist

  • Based on current main; no other open PR implements the same follow-up
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw; no silent stubs added
  • No notes, investigation .md files or images added to the repository
  • New third-party code is a submodule built from source (none added)
  • Generic behaviour, not specific to one title
  • Depends on: none (perf(agc): allow shader preparation on first use #5872 merged)
  • Unblocks: PPSA01556 Resident Evil Village (PPSA01556) #5169 (startup UI in first-use mode; gameplay unverified)
  • GPUs tested: AMD Radeon RX 6650 XT, RADV 26.2.4-arch1.1, and lavapipe Mesa 26.2.4 / LLVM 23.1.1, Arch Linux 7.2.9
  • AI-assisted: yes

@github-actions

github-actions Bot commented Oct 16, 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 6718 core/libs/prx/libSceAgcDriver/CMakeLists.txt L2411
PR 6820 core/libs/prx/libSceAgcDriver/CMakeLists.txt L2411
PR 7644 docs/dev/ARCHITECTURE.md L123

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 1341 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 1368 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 1395 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 4448 docs/dev/debt/libSceAgcDriver.md
PR 4449 docs/dev/debt/libSceAgcDriver.md
PR 5021 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 5058 docs/dev/debt/libSceAgcDriver.md
PR 5115 core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp
core/libs/prx/libSceAgcDriver/tests/execution/PreparedShaders.cpp
PR 5371 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 5426 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 5499 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 5656 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 5925 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/ARCHITECTURE.md
docs/dev/debt/libSceAgcDriver.md
PR 6044 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/ARCHITECTURE.md
PR 6146 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 6185 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6186 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6188 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp
PR 6192 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6194 docs/dev/debt/libSceAgcDriver.md
PR 6218 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 6223 docs/dev/debt/libSceAgcDriver.md
PR 6249 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6300 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 6501 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6548 docs/dev/debt/libSceAgcDriver.md
PR 6549 docs/dev/debt/libSceAgcDriver.md
PR 6611 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6612 core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp
docs/dev/debt/libSceAgcDriver.md
PR 6636 docs/dev/debt/libSceAgcDriver.md
PR 6683 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 6701 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6727 docs/dev/debt/libSceAgcDriver.md
PR 6741 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 6747 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6762 docs/dev/debt/libSceAgcDriver.md
PR 6788 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6808 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 6867 core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp
core/libs/prx/libSceAgcDriver/tests/execution/PreparedShaders.cpp
docs/dev/debt/libSceAgcDriver.md
PR 6868 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 6931 docs/dev/ARCHITECTURE.md
PR 6937 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6941 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 6946 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp
docs/dev/ARCHITECTURE.md
docs/dev/debt/libSceAgcDriver.md
PR 6947 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp
docs/dev/ARCHITECTURE.md
docs/dev/debt/libSceAgcDriver.md
PR 6958 docs/dev/debt/libSceAgcDriver.md
PR 6963 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 6966 core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp
core/libs/prx/libSceAgcDriver/tests/execution/PreparedShaders.cpp
docs/dev/debt/libSceAgcDriver.md
PR 6977 core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp
docs/dev/debt/libSceAgcDriver.md
PR 7008 docs/dev/debt/libSceAgcDriver.md
PR 7048 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 7201 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 7223 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 7254 docs/dev/debt/libSceAgcDriver.md
PR 7256 docs/dev/debt/libSceAgcDriver.md
PR 7258 docs/dev/debt/libSceAgcDriver.md
PR 7332 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 7390 docs/dev/debt/libSceAgcDriver.md
PR 7395 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 7432 docs/dev/debt/libSceAgcDriver.md
PR 7449 docs/dev/debt/libSceAgcDriver.md
PR 7505 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 7514 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 7604 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 7615 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 7622 core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp
PR 7642 core/libs/prx/libSceAgcDriver/CMakeLists.txt
core/libs/prx/libSceAgcDriver/Execution/src/Driver/Shaders/ShaderRegistry.cpp
docs/dev/ARCHITECTURE.md
docs/dev/debt/libSceAgcDriver.md
PR 7647 core/libs/prx/libSceAgcDriver/CMakeLists.txt
PR 7659 docs/dev/debt/libSceAgcDriver.md
PR 7729 docs/dev/debt/libSceAgcDriver.md
PR 7800 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md
PR 7803 core/libs/prx/libSceAgcDriver/CMakeLists.txt
docs/dev/debt/libSceAgcDriver.md

@JJenkx

JJenkx commented Oct 16, 2026

Copy link
Copy Markdown
Contributor Author

Temporarily closing this draft to free one of my 20 open-PR slots for a reproduced cache-header arithmetic correction following #6296. This first-use pipeline work remains on fix/lazy-pipeline-abi at 3bac469, and its prior testing integrations are preserved. It still needs an isolated main-versus-change title performance comparison before becoming ready. Reopen when a slot is available; no branch deletion.

@JJenkx JJenkx closed this Oct 16, 2026
@JJenkx JJenkx reopened this Oct 19, 2026
@github-actions github-actions Bot added perf Performance change unblocks title Names a title ID on the Unblocks line labels Oct 19, 2026
@JJenkx
JJenkx force-pushed the fix/lazy-pipeline-abi branch from 3bac469 to d5ec29e Compare October 19, 2026 02:24

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 perf Performance change unblocks title Names a title ID on the Unblocks line

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant