I have noticed recently that the dithering does not work correctly in the Vulkan HW renderer. Here is photos to see the difference. The first 2 photos are what the dithering in Silent Hill should look like, and the second 2 are how it looks in Vulkan:
I did some digging on the subject, and it seems that this is a known issue. Maybe not a bug report but rather a feature request? I think from my reading that Vulkan does not implement 16bpp color rendering properly, like the software and GL renderers do. I would guess that it is rendering games in 32bpp and so the dithering doesn't react correctly because the actual values of colors and luma are different from what they would be in 16bpp. Not entirely sure, but the GL renderer has a toggleable 16bpp option that seems to resolve the issues and match software renderers. So currently dithering is correct in software and GL, as well as Duckstation both SW and HW renderers. It's a small thing but it has a cascading affect throughout games. Skies that are supposed to be a solid blue will be dithered instead, pure black is covered in dithering making it look gray with CRT shaders instead of black, shadows have dithering when they shouldn't, dithering colors are solid instead, etc. Nothing quite matches up correctly anymore. I'm guessing implementing 16bpp compatability just isn't high priority, or maybe this is all due to something else entirely.
I have noticed recently that the dithering does not work correctly in the Vulkan HW renderer. Here is photos to see the difference. The first 2 photos are what the dithering in Silent Hill should look like, and the second 2 are how it looks in Vulkan:
I did some digging on the subject, and it seems that this is a known issue. Maybe not a bug report but rather a feature request? I think from my reading that Vulkan does not implement 16bpp color rendering properly, like the software and GL renderers do. I would guess that it is rendering games in 32bpp and so the dithering doesn't react correctly because the actual values of colors and luma are different from what they would be in 16bpp. Not entirely sure, but the GL renderer has a toggleable 16bpp option that seems to resolve the issues and match software renderers. So currently dithering is correct in software and GL, as well as Duckstation both SW and HW renderers. It's a small thing but it has a cascading affect throughout games. Skies that are supposed to be a solid blue will be dithered instead, pure black is covered in dithering making it look gray with CRT shaders instead of black, shadows have dithering when they shouldn't, dithering colors are solid instead, etc. Nothing quite matches up correctly anymore. I'm guessing implementing 16bpp compatability just isn't high priority, or maybe this is all due to something else entirely.