OpenGL のインストール可能なクライアント ドライバーの読み込み
OpenGL ランタイムは、レジストリにアクセスして、読み込む OpenGL ICD (Installable Client Driver) を決定します。 OpenGL ICD を読み込むために、OpenGL ランタイムは次のことを行います。
OpenGL ICD に関連付けられている名前、バージョン、フラグを決定します。これは、pData パラメーターが指す D3DKMT_QUERYADAPTERINFO 構造体の Type メンバーに設定された KMTQAITYPE_UMOPENGLINFO 値を使用して D3DKMTQueryAdapterInfo 関数を呼び出すことによって行われます。
D3DKMTQueryAdapterInfo が返す OpenGL ICD のバージョン番号を確認して、OpenGL ICD のバージョンを検証します。
OpenGL ICD の名前を使用して OpenGL ICD を読み込みます。
OpenGL ICD の関数へのアクセスを初期化します。
OpenGL ICD の名前を見つけるために、 D3DKMTQueryAdapterInfo は次のキーのレジストリを検索します。
HKLM/System/CurrentControlSet/Control/Class/{Adapter GUID}/0000/
このキーには、Microsoft Direct3D ユーザーモード ディスプレイ ドライバーの名前も含まれています。 このキーには、32 ビット Windows Vista で使用される 32 ビット Windows Vista ディスプレイ ドライバーの 4 つのレジストリ エントリと、64 ビット Windows Vista で使用される 32 ビット Windows Vista ディスプレイ ドライバーの 4 つのエントリが含まれています。 次のエントリは、32 ビット Windows Vista で使用される 32 ビット Windows Vista ディスプレイ ドライバー用です。
入力 | Type | 説明 |
---|---|---|
UserModeDriverName | REG_SZ | オペレーティング システムが OpenGL ICD をサポートしているかどうかに関係なく、Direct3D レンダリング デバイスの操作に必要な Direct3D ユーザーモード ディスプレイ ドライバーの名前。 |
OpenGLDriverName | REG_SZ | OpenGL ICD の名前。 たとえば、OpenGL ICD が Mydriver.dll である場合、このエントリの値は Mydriver.dll になります。 |
OpenGLVersion | REG_DWORD | OpenGL ICD のバージョンを検証するために OpenGL ランタイムが使用する OpenGL ICD のバージョン番号。 |
OpenGLFlags | REG_DWORD | フラグ ビットマスク。 現在、互換性のためにビット 0 (0x00000001) が設定されています。 ビット 1 (0x00000002) が設定されている場合、OpenGL ランタイムは、ICD のスワップバッファー関数を呼び出す前に、ICD の finish 関数を呼び出しません。 |
次のエントリは、64 ビット Windows Vista で使用される 32 ビット Windows Vista ディスプレイ ドライバー用です。
入力 | Type | 説明 |
---|---|---|
UserModeDriverNameWow | REG_SZ | 64 ビット Windows Vista 用の 32 ビット Microsoft Direct3D ユーザーモード ディスプレイ ドライバーの名前。 |
OpenGLDriverNameWow | REG_SZ | 64 ビット Windows Vista の 32 ビット OpenGL ICD の名前。 |
OpenGLVersionWow | REG_DWORD | 64 ビット Windows Vista 用の 32 ビット OpenGL ICD のバージョン番号。 |
OpenGLFlagsWow | REG_DWORD | 64 ビット Windows Vista 用の 32 ビット OpenGL ICD のフラグ ビットマスク。 |