web-dev-qa-db-ja.com

Windows 10のVS2013でD3D11デバッグレイヤーを使用する

D3D 11プロジェクトでは、常に追加します

#if (defined(DEBUG) || defined(_DEBUG))
deviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif /* (defined(DEBUG) || defined(_DEBUG)) */

デバッグ出力を有効にするデバイス作成フラグに追加します。私はWindows 10にアップグレードしたので、これはもう機能しません。デバイスの作成は次の出力で失敗します。

D3D11CreateDevice:Windows 10のD3D11 SDKレイヤーを必要とするフラグ(0x2)が指定されましたが、システムに存在しません。これらのフラグを削除するか、Windows 10 SDKをインストールする必要があります。フラグは次のとおりです:D3D11_CREATE_DEVICE_DEBUG

ただし、Windows 10 SDKを使用することも、VS2013からVS 2015 atmにプロジェクトをアップグレードすることもできません。この問題を解決する方法はありますか。つまり、VS2013を使用するWindows 10でD3D11デバッグレイヤーを有効にできますか?

24
Christoph

デバッグメッセージは少し誤解を招くものです。 Windows 10の場合、Windows SDKはDirect3Dデバッグレイヤーをインストールしなくなりました。代わりに、デバッグレイヤーを含む「グラフィックツール」と呼ばれるWindowsオプション機能を有効にする必要があります。 VS 2015とWindows 10 SDKをWindows 10にインストールすると、この機能も自動的に有効になりますが、直接実行することもできます。

(a)設定パネル->システム->アプリと機能->オプション機能の管理->機能の追加->「グラフィックツール」を選択

(b)adminコマンドラインプロンプトから:

Dism /online /add-capability /capabilityname:Tools.Graphics.DirectX~~~~0.0.1.0

この投稿 を参照してください。

Windows 10(10240)から2015年11月のアップデート(10586)にアップグレードする場合、グラフィックツールのオプション機能を再度有効にする必要がある場合があります。

47
Chuck Walbourn