mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-04 13:07:32 +00:00
A PS5 array may hold up to 8192 layers; Vulkan devices allow fewer (2048 on NVIDIA). A storage view of such an array created its whole image, with more layers than the device allows: vkCreateImage is then invalid (VUID-VkImageCreateInfo-arrayLayers-02256) and a store into a layer the device did not back faults the GPU. Uncharted: Legacy of Thieves Collection (PPSA05684) views a 16x16 RGBA8 array of up to 7809 layers in slices of a few hundred to 2048 in its orphanage chapter, which lost the device (Xid 109, write invalid) a few minutes in. StorageArrayWindow describes the viewed slices as an array of their own starting at the first viewed slice when the whole array is past the limit; a non-XOR swizzle does not depend on the slice index, so the slices detile alike. Views whose slices alone exceed the limit, XOR swizzles that mix in the slice, and any other image past the limit now throw instead of creating an invalid image. AI-assisted: yes