The runtime's save path (dump/modules/../../save) failed on consoles without /data/SSBU/dump/modules, so nothing was saved (patches/windowsmash-ps4.patch). build-ssbu.sh: the package name's -full test no longer stops a build without the data under set -e.
build-ssbu.sh SSBU_WITH_DATA=1 stages dump/ (romfs.cfg naming /app0/data), the NROs as built and the shader packs into the package (SSBU-vXX.YY-full.pkg, ~24 GB); ssbu_port.cpp copies the DXVK and Mesa packs out to their cache folders once.
v00.15's match: 940 ms of compiling a shader, up to 370 waiting, their draws skipped (the stage
half drawn, the sky black then white), three cores busy compiling (frame times 15-100 ms).
- scripts/build-mesa-host.sh: RADV for the PC with the console's identity (Mesa's
ac_ps4_info.h, AC_PS4_HOST_IDENTITY: the GPU the queries describe, DRM 3.61, address32_hi
0x44, conditional rendering off), same build id and btver2 target (no FMA): the same cache
folder and pipeline keys as the console's (checked against the console's cache)
- scripts/build-dxvk-host.sh: DXVK for the PC as the PS4 build is (native_ps4)
- tools/shaderpack + scripts/build-shaderpack.sh: the game's 45,653 DXBC shaders made through
them (8.5 min on 20 threads): RADV's cache (ssbu_pack.foz, 331 MB) and DXVK's IR cache
- scripts/pack-shadercache.py: the DXBC cache folder as one file (dump/shadercache.pak), read
by the runtime instead of 45,000 files (the renderer waited in stat 30% of its time)
- the port reads ssbu_pack as a read-only Mesa cache (MESA_DISK_CACHE_READ_ONLY_FOZ_DBS)
- the PS4 DXVK rebuilt from the committed tree: its cache version matches the PC's