10-bit movies draw correctly on OpenGL ES with PowerVR and Mali GPUs (GitHub #47)
FMV mods with 10-bit video, such as Cosmos FMV (30 fps), came out grey and green with banding on OpenGL ES on the MagicX Mini 028 (PowerVR) and the Retroid Pocket 4 Pro (Mali). The 15 fps version was fine.
What caused it: 10-bit movie frames were uploaded as 16-bit textures. On OpenGL ES those need an extension that Adreno GPUs have but many PowerVR and Mali GPUs don't. It's the same missing feature behind the frame buffer crash fixed in 1.1.2. Movies whose colour format FFNx has to convert were affected too, because the conversion also produces 10-bit frames.
The fix: on those GPUs, 10-bit frames are now cut down to 8-bit before they're uploaded. The game then draws them as an ordinary 8-bit movie, with the same colours. FFNx.log has a line starting with movies: when this happens. Vulkan and Adreno GPUs are unchanged.
Tested on an AYN Thor on OpenGL ES with the 16-bit path switched off: SYW Unified FMV's 10-bit opening movie played with correct colours and no banding.
Updating
- In the launcher, go to Settings → Updates (or install this APK over your current version), then press Play.
- If it asks, tap Update the game once.
APK SHA-256: 823f0d74183962c2403639b27d0949257dc127b8a213176cf2897eaa6a210093
Signing certificate SHA-256: 4f:c0:18:09:12:1b:af:25:f5:8c:8f:5e:7a:47:c4:80:c4:f8:6c:1e:a0:66:6e:37:c7:41:19:13:40:4d:1d:7c