Themaister / parallel-rdp

A low-level Vulkan compute emulation of the N64 RDP
MIT License
153 stars 15 forks source link

Snapdragon/Adreno support and Vulkan Extensions #47

Open golivax opened 1 year ago

golivax commented 1 year ago

Hi! In the article that you wrote a couple years ago, you mentioned:

With these fixes, paraLLEl-RDP runs correctly on at least Galaxy S9/S10 with Android 10 and Mali GPUs, and the Tegra in Shield TV. However, the support for 8/16-bit storage is still very sparse on Android, and I couldn’t find a single Snapdragon/Adreno GPU supporting it, oh well. One day Android will catch up. Don’t expect any magic for the time being w.r.t. performance, there are some horrible performance issues left which are Android specific outside the control of paraLLEl-RDP, and need to be investigated separately.

More recent Samsung Galaxy phones (e.g., S20 FE and Fold 3) now do support the VK_KHR_16bit_storage extension. However, the driver still lacks the 8bit storage extension support.

I am a complete noob in Vulkan, but I wonder if there's any possible workaround for this issue. Would it be possible to force the usage of VK_KHR_16bit_storage when the 8bit extension is not available (e.g., by padding the original data with zeros or something)? Thanks a lot!