0

で指定されているように D3D12 デバイスを作成しようとしています

https://msdn.microsoft.com/en-us/library/dn899120%28v=vs.85%29.aspx

NVidia 670 gtx、Windows 10 プレビュー ビルド 9926、および最新の 10041 Windows SDK があります。

また、最新の NVidia ベータ ドライバーも持っています。GeForce のシステム情報は、DirectX12 ランタイムを報告します。

通話中

ID3D12Device* device;
    HRESULT hr = D3D12CreateDevice(NULL, D3D_DRIVER_TYPE::D3D_DRIVER_TYPE_HARDWARE,
        D3D12_CREATE_DEVICE_FLAG::D3D12_CREATE_DEVICE_NONE,
        D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_11_0, D3D12_SDK_VERSION, __uuidof(ID3D12Device), (void**)&device);

NOINTERFACE エラー コードを含む HRESULT を返します

奇妙な呼び出し:

ID3D12Object* device;
    HRESULT hr = D3D12CreateDevice(NULL, D3D_DRIVER_TYPE::D3D_DRIVER_TYPE_HARDWARE,
        D3D12_CREATE_DEVICE_FLAG::D3D12_CREATE_DEVICE_NONE,
        D3D_FEATURE_LEVEL::D3D_FEATURE_LEVEL_11_0, D3D12_SDK_VERSION, __uuidof(ID3D12Object), (void**)&device);

は有効なオブジェクトを返しますが、後で QueryInterface を使用して有効なデバイス オブジェクトを取得することはできません。

同じエラー コードを返す d3d12 ヘッダーを使用する代わりに、既に LoadLibrary/GetProcAddress を使用しようとしたことに注意してください。

4

1 に答える 1

4

API はビルド間で変更される可能性があるため、常に同じ OS と SDK ビルドを使用する必要があります。SDK をビルド 10041 に使用しているため、Windows 10 もビルド 10041 に更新する必要があります。設定アプリを開き、新しい Windows 10 ビルドを検索してインストールします。

于 2015-03-29T06:22:07.100 に答える