mirror of
https://github.com/libretro/parallel-ps2.git
synced 2026-11-09 11:31:34 -10:00
sampler_feedback's TextureAnalysis uniform held u16vec2 base and two uint16_t, so the module declared UniformAndStorageBuffer16BitAccess, a feature paraLLEl-GS neither requires nor checks for. Upstream packed block stride and layers into one word (65b7e57, also put forward as the cure for a GPU hang on NVIDIA Blackwell) but left base, so the capability stayed; base is now packed too, and the module needs only what GSRenderer::init checks. TextureAnalysis also stops being an out parameter, as in upstream cc6184a: an out struct holding buffer references crashes AMD's Windows shader compiler. The CPU struct keeps its offsets, now pinned against the shader's std140 layout. The module is rebuilt with shaderc 2023.8 (Ubuntu 24.04 glslc), recorded in shaderbank_build.sh; every other module is byte for byte unchanged. tests/pgs pgs_bank_caps: no module in the bank declares a 16-bit storage capability paraLLEl-GS does not require. pgs_ss_copies parses the bank once instead of rescanning it for every word, 0.9 s to under 0.01 s, and 56 s to 0.02 s under ASan.