mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-07 13:39:55 +00:00
A 16-word compute kernel copies a buffer in 16-byte elements: 64 threads a group, thread t of group g loads elements g*128+t and g*128+64+t from the index-addressed buffer in s[0:3] and stores them at the same indices of s[4:7]. Run as a shader against host imports it costs 11.8 ms of GPU per present in PPSA25344's main menu on an RTX 4060. Matched like the existing copy kernel, by its code hash and its descriptors (16-byte stride and no swizzle on both, the same word 3), it becomes one copy through the existing copy HLE path: the elements the kernel stores, min of groups * 128 and the destination's record count, when the source's record count covers them all. APS5_NO_COPY_HLE turns it off with the other kernel.