次の方法で共有


Windows 7 用プラットフォーム更新プログラム

このトピックでは、Windows 7 用プラットフォーム更新プログラムを通じて使用できるようになる Windows 7 グラフィックス スタックのコンポーネントの機能強化について説明します。

Windows 7 にインストールすると、Windows 7 用プラットフォーム更新プログラムによって Windows 7 が更新され、Windows 8で使用できる機能が提供されます。 たとえば、次のWindows 8 コンポーネントは、完全な機能で使用できるようになります。

  • Direct2D 1.1 (Direct2D 効果を含む)
  • DirectWrite
  • Windows Imaging Component (WIC)

これらは部分的な機能を提供します。

  • Direct3D 11.1
  • DXGI 1.2

たとえば、このコンポーネントは使用できません。

  • DirectComposition (DComp)

プラットフォームの更新プログラムを使用した Direct2D、DirectWrite、WIC に関する情報については、次のトピックを参照してください。

プラットフォーム更新プログラムを使用した Direct3D と DXGI に関する情報については、次のトピックを参照してください。

プラットフォーム更新プログラムがインストールされると、Direct3D11.1 と DXGI 1.2 で導入されたインターフェイスが部分的な機能で使用できるようになります。 これらのグラフィックス コンポーネントの機能は、グラフィックス カーネル コンポーネント、グラフィックス ドライバー、およびグラフィックス ハードウェアに直接関連付けられています。 Windows 7 で Direct3D11.1 を使用する前に、次の詳細について理解しておいてください。

  • Windows 8 WDDM 1.2 ドライバー モデルが導入されました。これにより、関連付けられている API サーフェス全体ですべての機能レベルが改善されました。 Direct3D11.1 のドキュメントを読むときは、 新しいドライバー が WDDM 1.2 ドライバーを意味することを理解してください。 これらの更新されたドライバー バージョンと、 CheckFeatureSupport を介して公開されるほとんどのオプション機能は、Windows 7 では使用できません。 これらのオプション機能が使用できる保証はないため、目的の機能が使用できない場合に、アプリケーションに適切なフォールバック動作があることを確認してください。

    重要な例外が 1 つあります。 定数バッファー オフセットを持つ PSSetConstantBuffers1 などのいくつかの機能では、 機能レベル 10 以上の新しいドライバーが必要ですが、実際には機能レベル 9 に対してエミュレートされます。 このエミュレーションは、プラットフォーム更新プログラムを使用して Windows 7 で使用できます。 エミュレート される 機能の詳細については、「D3D11_FEATURE_DATA_D3D11_OPTIONS」を参照してください。

  • WINDOWS 8 WDDM 1.2 ドライバー モデルでは、D3D 機能レベル 11.1 を介して公開される、新しい世代のハードウェアがサポートされています。 プラットフォーム更新プログラムが適用された Windows 7 では WDDM 1.1 ドライバー モデルのみがサポートされているため、機能レベル 11.1 のハードウェア サポートは (プラットフォーム更新プログラムを通じて) 使用できません。 プラットフォーム更新プログラムが適用された Windows 7 では、 D3D11CreateDevice は常に 11.0 以下の機能レベルを返します。ただし、Windows 7 で 11.1 コード パスをテストするために使用できる参照デバイスを除きます。 機能レベルのリファレンスで説明されているように、対象の機能レベルで使用できる機能のみを使用します。

  • DGXI 1.2 で導入された一部の新しいメソッドは、Windows 7 用プラットフォーム更新プログラムでは完全にはサポートされていません。これらの関数を直接呼び出してエラー コードを確認することで、これらの関数の可用性をテストできます。 目的の機能が使用できない場合は、プラットフォーム更新プログラムで Windows 7 を対象とするアプリケーションにフォールバックが設定されていることを確認します。 Windows 7 用プラットフォーム更新プログラムでは、次のクラスの機能を使用できません。

    • ステレオ
    • Hwnds をターゲットにしていないスワップチェーン
    • オクルージョン状態通知
    • デスクトップの重複
    • NT ハンドル リソース

    具体的には、次の API は、DXGI_ERROR_UNSUPPORTED、DXGI_ERROR_INVALID_CALL、E_NOTIMPL、またはE_INVALIDARGを返します。

  • これらの API には、次のように動作の違いがあります。

  • 現在、microsoft Visual Studio 2010 以前のアプリケーションで D3D11_CREATE_DEVICE_DEBUG フラグを使用して作業している開発者の場合、 D3D11CreateDevice の呼び出しは失敗します。 これは、D3D11.1 ランタイムにD3D11SDKLayers.dllではなくD3D11_1SDKLayers.dllが必要になったためです。 この新しい DLL (D3D11_1SDKLayers.dll) を取得するには、Windows 8 SDKVisual Studio 2012、または Visual Studio 2012 リモート デバッグ ツールをインストールします。 詳細については、 デバッグ レイヤー のドキュメントを参照してください。