方法 :デバイスの機能レベルの取得

Direct3D 11 デバイスでは、D3D_FEATURE_LEVEL 列挙型で定義されている機能レベルの固定セットをサポートしています。デバイスがサポートする最上位の機能レベルがわかれば、そのデバイスに適したコード パスを実行できます。

デバイスの機能レベルを取得するには

  1. ppDevice パラメーターに NULL を指定して、D3D11CreateDevice 関数または D3D11CreateDeviceAndSwapChain 関数を呼び出します。この呼び出しはデバイスの作成前に実行できます。

    - または -

    デバイスの作成後に ID3D11Device::GetFeatureLevel を呼び出します。

  2. 前の手順で返された D3D_FEATURE_LEVEL 列挙値を調べて、サポートされている機能レベルを確認します。

次のコード例は、D3D11CreateDevice 関数を呼び出して、サポートされている最上位の機能レベルを確認する方法を示しています。この例では、switch ステートメントを使用して、pFeatureLevel パラメーターで返される D3D_FEATURE_LEVEL 列挙型の値を調べています。

 HRESULT hr = E_FAIL; D3D_FEATURE_LEVEL FeatureLevel;  hr = D3D11CreateDevice(NULL, D3D_DRIVER_TYPE_HARDWARE, NULL, 0, NULL, 0,                        D3D11_SDK_VERSION, NULL, &FeatureLevel, NULL );  if(FAILED(hr)) {     return hr; } 

関連項目

ダウンレベルのハードウェア上の Direct3D 11