[364.12, Linux 64-bit] vkGetPhysicalDeviceSurfaceFormatsKHR returns VK_FORMAT_B8G8R8A8_UNORM on 10-b

As the title describes, vkGetPhysicalDeviceSurfaceFormatsKHR seems to return the two formats VK_FORMAT_B8G8R8A8_UNORM and VK_FORMAT_B8G8R8A8_SRGB on my machine, even though I’m using a 10-bit display.

This results in the all-too-familiar color corruption I get when applications assume an 8 bit framebuffer even though it’s 10 bit: https://0x0.st/PEc.png (I get this appearance from every test program I’ve tried)

My glxinfo for comparison: https://0x0.st/PEm.txt (notice how I do not even have any 8-bit visuals)
My xdpyinfo: https://0x0.st/PEa.txt

This might be a fault in the NVIDIA Vulkan driver.

Please attach test program compilation and execution steps. Please also attach nvidia bug report by running nvidia-bug-report.sh script as root user. What driver version you tested on ? What is expected/unexpected result?

Thanks for reporting that issue. It will be fixed in the next 364 release.

We are tracking this issue under 1754122