RPCS3 / rpcs3

PlayStation 3 emulator and debugger
https://rpcs3.net/
GNU General Public License v2.0
15.33k stars 1.91k forks source link

[BLES01857] Destiny - Flashing corrupted textures on Vulkan #13708

Open cohaereo opened 1 year ago

cohaereo commented 1 year ago

Quick summary

When interacting with certain UI elements, some flashing textures that look corrupted can appear.

This issue does not appear when using OpenGL, only on Vulkan

Details

This issue is most visible in orbit, where hovering over the player card causes a weird texture to flash over the card image

A similar issue is also present in the director, where a corrupted version of the purple quest triangle appears on the Earth node when hovering over planets or other UI elements image

Attach a log file

RPCS3.log.gz

Attach capture files for visual issues

This capture should be from the exact moment the texture over the player card appears, it's difficult to take captures of these kinds of issues. https://mega.nz/file/xL4HVSCD#jX75Jbm0MT4cGYbG2zj4jAMlx5Pao4k8SGi-ruZgItI

System configuration

No response

Other details

No response

kd-11 commented 1 year ago

Turns out I have the same GPU and I could reproduce it (when not capturing traces). I switched to the NV card after noticing some glitching and realized it doesn't happen on NVIDIA GPUs. NVIDIA cards tend to have a much more simplified interface w.r.t parallelism, so that means I need to actually implement the synchronization2 stuff that I've been putting off.

kd-11 commented 1 year ago

Meta https://github.com/RPCS3/rpcs3/issues/13718

syberphunk commented 1 year ago

I get this problem: image

On a GeForce 4080.

I attempted to replicate this on the latest RPCS3 version, unfortunately RPCS3 latest version (and the last few) will not compile the PPU modules on my computer, it crashes.

I have to revert to version RPCS3 0.0.27-14845-7081b89e Alpha, compile, and then update, then disable shader caches else it also then crashes.

So here's my experience on GeForce 4080 version RPCS3 0.0.27-14845-7081b89e Alpha Shaders are set to 'low'.

https://youtu.be/4vPnD5z3O-0

RPCS3.log.gz

Updating RPCS3 and setting shaders to 'ultra' I get a mess, and also some of the texture issues seen above:

https://youtu.be/4OdWhb5orSo

https://youtu.be/4OdWhb5orSo?t=339

RPCS3.log.gz

kd-11 commented 1 year ago

This generally matches my observations:

  1. On nvidia cards, the UI cards do not flash like on AMD, but the background does. This is likely a different issue altogether however.
  2. On newer builds, models and animations are fucked. The underlying cause is known (recent change in SPU calculations for reciprocals) and someone is working on that.
  3. Ingame, there is texture corruption of some kind. The last time I looked at the game, it was in very rough shape, so I thought it needed detiling, but with the latest builds (with the SPU calculations bug reverted) the visuals seem a lot more coherent, which to me indicates we just have some texture corruption to fix.
cohaereo commented 1 year ago

It seems that the player card issue happens on both AMD and NVIDIA when shader quality is set to either high or ultra, it's fine on low. The issue with the quest icon still happens regardless of shader quality

cohaereo commented 1 year ago

It seems that the player card issue happens on both AMD and NVIDIA when shader quality is set to either high or ultra, it's fine on low. The issue with the quest icon still happens regardless of shader quality

Correction, player card issue does not appear to happen on NVIDIA 30 and 40 series whatsoever