I'm struggling to find any win32 api call that can correctly identify the bit depth of a connected monitor in terms of bits per channel. The attached screenshot shows the setting visible.
With DXGI it is possible to enumerate all modes on an output and identify their bit depth easily, however there is no call to get the current mode.
All current win32 calls which return bitsPerPel always indicate 32bpp.
Does anybody know which call can get this data? I can detect this with NvAPI and ADL however have no solution for intel based machines.
I would additionally be interested in the active signal resolution vs desktop resolution field and how to retrieve these.
DXGI_OUTPUT_DESC1
structure gets you that:
BitsPerColor
Type: UINT
The number of bits per color channel for the active wire format of the display attached to this output.
…
The DXGI_OUTPUT_DESC1 structure is initialized by the
IDXGIOutput6::GetDesc1
method.
Just an example of what sort of data you get there:
--