Skip to content

[RHI] [Vulkan] Dithering Innaccuracies - 32bpp vs 16bpp color? #967

Description

@mohawkmoe

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:

Image Image Image Image

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions