Hi there,
I am working on HDR output support in the Godot game engine and have come across an unexpected behaviour in NVIDIA Windows drivers that I cannot reproduce with other GPU drivers, such as Intel integrated graphics.
The issue that I am experiencing can be reproduced using an unmodified version of Microsoft’s D3D12 HDR output sample project. To reproduce the issue:
- Use a high-quality HDR monitor that supports 10-bit full range RGB, such as the Asus PA32UCDM
- Ensure HDMI output to the monitor is full range RGB, 10-bit HDR
- Run the sample project
- Press spacebar to enter full screen mode and use Pg Up / Pg Down to compare
DXGI_FORMAT_R10G10B10A2_UNORMandDXGI_FORMAT_R16G16B16A16_FLOAT - Note that uneven banding that is not related to 10-bit quantization is visible on the gradients with
DXGI_FORMAT_R10G10B10A2_UNORM - Press spacebar to leave full screen mode
- Note that the uneven banding is no longer visible, no matter what size the window is
I have also created a modified version of this sample project that makes the issue more visible. This modified version can be found here: GitHub - allenwp/DirectX-Graphics-Samples at banding-test-pattern
The following image shows four photos of different swapchain formats with NVIDIA and Intel drivers, showing that the issue is specific to NVIDIA drivers:
I have reproduced this issue on two different computers with Windows 11 Pro Version 10.0.26100 Build 26100 with an NVIDIA GeForce RTX 5070 Ti with these driver versions:
Game ready: 581.08 and 577.0
Studio: 580.97
Some more notes:
- Before installing these drivers, I have tried running
CleanupTool_1.0.20.0.exeas an administrator and rebooted. https://developer.nvidia.com/cleanup-tool - Enabling Debug Mode from the NVIDIA control pannel does not change the behaviour
- I am not aware of any overlays that may be running on my computer (NVIDIA Experience/App is not installed and Discord/Steam/etc are not running)
About the Godot game engine: Godot is a free and open source project and is one of the three most popular general purpose game engines today. In recent GMTK game jams, over 3,700 entries were made with the Godot game engine, almost matching the number of submissions made with the Unity game engine and greatly surpassing all other engines.
Thanks for your help,
Allen
