Hi,
There's a bug in Vulkan drivers for Adreno 500+ (not sure exactly which model is the first affected) where if you draw with a stencil writing mode set, like VK_COMPARE_ALWAYS and VK_STENCIL_OP_REPLACE, and discard some pixels in the fragment shaders, the stencil value will get written even to the pixels that should have been discarded.
I have a very easy repro.
Install this APK: https://buildbot.orphis.net/ppsspp/index.php?m=dl&rev=v1.7.5-309-g5f58ca...
Or any later than v1.7.5-308 from the same buildbot.
Start it, make sure that Backend is set to Vulkan in graphics settings, and go to Settings/Tools/Developer Tools/GPU Driver Test.
You'll find that some of the green text doesn't print correctly on Adreno 540+ (and possibly some earlier models) . This is a sure sign of the bug. On all other GPU families, all the green text prints correctly.
A fix would be nice.
Thanks,
Henrik
(This is really the same bug as https://developer.qualcomm.com/forum/qdn-forums/software/adreno-gpu-sdk/... , just now with a repro and simpler setup)
Thank you for reporting the issue.
The issue has been fixed and will be rolling out in commercial drivers soon.
In PPSSPP ver. 1.7.2
What should happen?Vulkan - All backrounds display flickering lines even at native psp resolution
- Transparent box appear around sprites over some effects (ie. fire attacks)
OpenGL - Transparent box appear around sprites over some effects (ie. fire attacks)
Graphics were shown correctly in ver. 1.6.3
What hardware, operating system, and PPSSPP version? On desktop, GPU matters for graphical issues.PPSSPP ver. 1.7.2
Phone: Xiaomi Redmi Note 4
OS: Android 7.0 - MIUI 9.6.3
Chip: Snapdragon 625
GPU: Adreno 506