I’m on a team working on a diagnostic imaging app that uses windowed Direct3D9 and we’re not able to make it display 10-bit grayscale on any NVIDIA hardware - Quadro or GeForce. It works on 10-bit enabled AMD GPUs. I’d like to understand if this is at all possible, and if we should do anything different for NVIDIA. I’ve read on some forum that it only works for fullscreen apps and an NVIDIA technical brief (“10 AND 12-BIT GRAYSCALE TECHNOLOGY”) from 2013 only talks about OpenGL. Troy on NVIDIA Customer Care L2 told me “Only Quadro class GPU’s support Windowed 10 bit rendering via d3d9. GeForce products do not support this feature. This functionality is expected to work with Quadro P600. I suggest you register with and contact Developer Relations for support with your application.” So here I am :)
The only difference in our app to enable 10-bit output is that we use back buffer format A2R10G10B10 for the swap chain. Other than that, the textures and shaders are the same. An L16 texture is used for the 10- or 12-bit medical images.
On the NVIDIA control panel/Display/Change resolution/3. Apply the following settings we have “Use NVIDIA color settings” and 10 bpc output color depth. Still no 10-bit output. Anything else we should check?