Windows 10 Creators Updateで追加されたディスプレイ輝度,色空間の取得プログラム

CEDECの時にWindows 10 Creators Updateでディスプレイの輝度や色空間などの情報がとれるようになったという話題をしましが,起動するとその情報をコマンドラインに表示するだけのサンプルを公開します.

https://github.com/shaderjp/DisplaySpecCheck

※ビルド済み実行ファイルも添付しているので試すだけならexeあればOKです..

パネルディスカッションでは,HDR10対応(BT.2020)環境の話題がメインでしたが,このプログラム自体はSDRのモニタでも使用可能です.このスクリーンショットの例で使用したディスプレイはDellのSDRの4KモニタP2715Q です。

今回のサンプルはDXGI_OUTPUT_DESC1構造体より取得した情報を表示しています.

DXGI_OUTPUT_DESC1
https://msdn.microsoft.com/en-us/library/windows/desktop/mt825228(v=vs.85).aspx

HDR10かどうかを判断する場合,DXGI_OUTPUT_DESC1のメンバのColorSpaceをチェックします.これが709から2020になっているとHDR10の出力ができます.

輝度値は,MaxLuminance、MinLuminance、MaxFullFrameLuminanceあたりですが,単位はnitsです.SDRの際の表示は手元のいくつかのディスプレイで試しましたが最小0.5, 最大270を出すものが多くあてになるかは不明です.

このサンプルでは,DXGIやスワップチェーンの初期化をやっていますが,自分ですでに生成済み環境であればGetDisplayInformation関数だけ持ってきてIDXGISwapChain4を入れればOKです.