Commit Graph

2980 Commits

Author SHA1 Message Date
Adrià Franch d3afdb02e2 docs(architecture): describe shader compilation at registration
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-08 19:47:03 +02:00
boykopovar 239412351e
Merge pull request #639 from boykopovar/feat/no-ingame-shaders-recomp
perf(agc): baseline shader recompilation on registration
In main, baseline recompilation depends on the resource configuration and runs on the first use of each corresponding variant.

This branch prepares IR, the static interface, baseline SPIR-V, and available ABI variants during shader registration. The compiled artifact is separate from per-draw and per-dispatch data.

Before the first execution with a new resource configuration, the runtime reads descriptors, validates compatibility, prepares the binding plan, specializes existing SPIR-V by substituting constants and removing unused branches and computations, materializes invocation data, and creates the Vulkan pipeline. These results are cached.

Variants that depend on linked graphics stages are prepared when the corresponding ABI is resolved. Unregistered compute shaders undergo baseline preparation on their first dispatch, emit an error log, and cache the result.

Subsequent executions reuse prepared artifacts, specializations, and pipelines while updating invocation data and resources as needed.
2026-10-08 20:45:54 +03:00
Adrià 2b297842e4
Merge pull request #1715 from adriadam10/ci/flat-store-serial
test(agc): run agc_driver_flat_store alone
2026-10-08 19:38:53 +02:00
Adrià Franch beaaa4de18 test(agc): run agc_driver_flat_store alone
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-08 19:28:29 +02:00
Adrià 17350cf5fd
Merge pull request #895 from Kikoarl/feat/s-call-b64
feat(shader): implement S_CALL_B64
2026-10-08 19:24:59 +02:00
boykopovar 7ac08cbac4 fix(shader): declare required invocation inputs and correct derivative test dimensions 2026-10-08 20:24:58 +03:00
Adrià b83e849f84
Merge pull request #1710 from adriadam10/ci/relinker-job-name
ci: show a plain name for skipped relinker jobs
2026-10-08 19:23:22 +02:00
Adrià Franch f8402dcdff ci: drop the relinker job's custom name so a skipped job shows a plain name
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-08 19:21:03 +02:00
Adrià 7995d6578d
Merge pull request #1704 from adriadam10/ci/path-filters
ci: skip jobs unrelated to the changed paths
2026-10-08 19:06:48 +02:00
Adrià 1b368ae7ea
Merge pull request #1697 from adriadam10/ci/ctest-parallel
ci: run ctest in parallel
2026-10-08 19:05:27 +02:00
Adrià Franch 377535261d ci: skip jobs unrelated to the changed paths
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-08 19:02:18 +02:00
Adrià Franch e197a5455e ci: run ctest in parallel
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-08 18:57:28 +02:00
boykopovar 8b15d88839 fix(shader): use guest wave lane for ADD_TID on narrow subgroups 2026-10-08 19:48:08 +03:00
boykopovar 199eeb1805 fix(shader): preserve structured exits during SPIR-V specialization 2026-10-08 19:19:50 +03:00
boykopovar 2767da6a8a fix(tests): check Vulkan availability before shader registration 2026-10-08 19:09:13 +03:00
boykopovar 2da24e8a62 fix(tests): keep bindless image selection within one host subgroup 2026-10-08 19:04:45 +03:00
boykopovar e4c604d64e fix(shader): update linux shader cache structure size assertions 2026-10-08 18:43:06 +03:00
boykopovar 6741e90a1c fix(shader): restore prepared image compatibility and update regression fixtures 2026-10-08 18:32:12 +03:00
boykopovar 0fa7114e93 fix(tests): correct raw buffer bounds in DCC many-buffer and interlock tests 2026-10-08 18:24:15 +03:00
boykopovar d0a62b7ba0 fix(tests): correct raw buffer bounds modes in image tests 2026-10-08 18:21:50 +03:00
boykopovar 381d12b3b4 fix(tests): correct buffer bounds modes in GDS LDS and scalar tests 2026-10-08 18:20:08 +03:00
boykopovar bae0aed3bf fix(driver): adapt shader preparation to updated main apis 2026-10-08 18:12:47 +03:00
boykopovar eb68ad3b02 fix(shader): preserve main buffer alignment and image formats in prepared shaders 2026-10-08 17:51:05 +03:00
Adrià 4b005b229e
Merge pull request #1603 from yabanana/fix/formatting-test-registration
fix(ci): remove stale formatting test exception
2026-10-08 16:49:19 +02:00
Adrià eb2818f505
Merge pull request #1476 from awake-devel/fix/timedwait-nested-waiter
fix(libkernel): give each nested TimedWait its own waiter on Windows
2026-10-08 16:48:48 +02:00
boykopovar 082f371758 fix(shader): correct emulated color comparison specialization 2026-10-08 17:40:12 +03:00
boykopovar 4b5a395219 fix(shader): correct msaa sample addressing and prepared test failure cleanup 2026-10-08 17:40:10 +03:00
boykopovar 6a4c5b5ded fix(shader): support non-array image views and packed unorm runtime modes 2026-10-08 17:38:11 +03:00
boykopovar e5cd1c6079 test(font): avoid deleting an open system font on windows 2026-10-08 17:37:40 +03:00
boykopovar 1b3da3a740 test(agc): update graphics binding and bda range checks 2026-10-08 17:37:40 +03:00
boykopovar c3e6727163 fix(agc): prune expired rectangle preparation links 2026-10-08 17:37:39 +03:00
boykopovar 6acf4ee0ee test(agc): isolate shader linking and interpolant preparation checks 2026-10-08 17:37:38 +03:00
boykopovar 1f8a7e0b94 test(shader): align specialization checks with runtime abi 2026-10-08 17:37:37 +03:00
boykopovar 19ede29259 test(agc): fix mrt export index and vertex fetch abi checks 2026-10-08 17:37:36 +03:00
boykopovar 8c4e0b1524 fix(shader): propagate binding plan initialization failures outside call_once 2026-10-08 17:37:35 +03:00
boykopovar 6c858dab2c fix(shader): validate unsupported sRGB sampling and SINT d16 writes at materialization 2026-10-08 17:37:35 +03:00
boykopovar 6ac7fbc5a4 fix(agc): stop profile writer before DLL teardown 2026-10-08 17:37:34 +03:00
boykopovar 416e284a31 fix(tests): align prepared shader checks with raw compute caching 2026-10-08 17:37:33 +03:00
boykopovar 92fcdbb1f7 fix(tests): correct buffer OOB modes in image and BVH tests 2026-10-08 17:37:33 +03:00
boykopovar fa2df2e2ff fix(tests): correct buffer descriptors in memory and wave execution tests 2026-10-08 17:37:32 +03:00
boykopovar 49f36309bf fix(tests): correct buffer OOB modes in half, FMA and packed arithmetic tests 2026-10-08 17:37:31 +03:00
boykopovar 9e7aad07c8 fix(tests): correct buffer OOB modes in F32, F64 and division tests 2026-10-08 17:37:30 +03:00
boykopovar 972122bcef fix(tests): correct buffer OOB modes in VOP and SDWA tests 2026-10-08 17:37:29 +03:00
boykopovar d2c6546124 fix(tests): correct buffer OOB modes in DPP, DS, LDS and scalar tests 2026-10-08 17:37:28 +03:00
boykopovar 0cd9650100 fix(shader): initialize null pixel shader registration state 2026-10-08 17:37:27 +03:00
boykopovar 2d93308780 fix(shader): preserve main behavior in cached specialization 2026-10-08 17:37:25 +03:00
Adrià 29e533aca0
Merge pull request #1469 from arvindfroi/refactor/coredump-stopinfo-gpu-name
refactor(libkernel): name the Jrs7UUkGOFo Coredump stub by its NID
2026-10-08 16:37:04 +02:00
boykopovar 7fc7372274 perf(shader): cache registered state + reduce preparation transaction overhead 2026-10-08 17:37:03 +03:00
Adrià 700c0babc6
Merge pull request #1468 from arvindfroi/refactor/ajm-wvorbis-names
refactor(libSceAjm.native): name the WVorbis stubs by their NIDs
2026-10-08 16:36:34 +02:00
boykopovar 2441bd265d perf(log): write frame timings async to a buffered file 2026-10-08 17:29:49 +03:00