DXGK_DRIVERCAPS構造体 (d3dkmddi.h)
DXGK_DRIVERCAPS構造体は、ドライバーが DxgkDdiQueryAdapterInfo 関数の呼び出しを通じて提供するディスプレイ ミニポート ドライバーの機能について説明します。
構文
typedef struct _DXGK_DRIVERCAPS {
[out] PHYSICAL_ADDRESS HighestAcceptableAddress;
[out] UINT MaxAllocationListSlotId;
[out] SIZE_T ApertureSegmentCommitLimit;
[out] UINT MaxPointerWidth;
[out] UINT MaxPointerHeight;
[out] DXGK_POINTERFLAGS PointerCaps;
[out] UINT InterruptMessageNumber;
[out] UINT NumberOfSwizzlingRanges;
[out] UINT MaxOverlays;
union {
[out] DXGK_GAMMARAMPCAPS GammaRampCaps;
[out] DXGK_COLORTRANSFORMCAPS ColorTransformCaps;
};
[out] DXGK_PRESENTATIONCAPS PresentationCaps;
[out] UINT MaxQueuedFlipOnVSync;
[out] DXGK_FLIPCAPS FlipCaps;
[out] DXGK_VIDSCHCAPS SchedulingCaps;
[out] DXGK_VIDMMCAPS MemoryManagementCaps;
[out] DXGK_GPUENGINETOPOLOGY GpuEngineTopology;
[out] DXGK_WDDMVERSION WDDMVersion;
DXGK_VIRTUALADDRESSCAPS_DEPRECATED Reserved;
DXGK_DMABUFFERCAPS_DEPRECATED Reserved1;
[out] D3DKMDT_PREEMPTION_CAPS PreemptionCaps;
[out] BOOLEAN SupportNonVGA;
[out] BOOLEAN SupportSmoothRotation;
[out] BOOLEAN SupportPerEngineTDR;
[out] BOOLEAN SupportDirectFlip;
[out] BOOLEAN SupportMultiPlaneOverlay;
[out] BOOLEAN SupportRuntimePowerManagement;
[out] BOOLEAN SupportSurpriseRemovalInHibernation;
[out] BOOLEAN HybridDiscrete;
[out] UINT MaxOverlayPlanes;
BOOLEAN HybridIntegrated;
D3DGPU_VIRTUAL_ADDRESS InternalGpuVirtualAddressRangeStart;
D3DGPU_VIRTUAL_ADDRESS InternalGpuVirtualAddressRangeEnd;
BOOLEAN SupportSurpriseRemoval;
[out] BOOLEAN SupportMultiPlaneOverlayImmediateFlip;
[out] BOOLEAN CursorScaledWithMultiPlaneOverlayPlane0;
BOOLEAN HybridAcpiChainingRequired;
[out] UINT MaxQueuedMultiPlaneOverlayFlipVSync;
union {
struct {
UINT SupportContextlessPresent : 1;
UINT Detachable : 1;
UINT VirtualGpuOnly : 1;
UINT ComputeOnly : 1;
UINT IndependentVidPnVSyncControl : 1;
UINT NoHybridDiscreteDListDllSupport : 1;
UINT DisplayableSupport : 1;
UINT NoHybridDiscreteDListDllMuxSupport : 1;
UINT CursorDoesNotSupportXorBlendWithMultiPlaneOverlay : 1;
#if ...
UINT Reserved : 23;
#elif
UINT Reserved : 25;
#elif
UINT Reserved : 26;
#elif
UINT Reserved : 27;
#elif
UINT Reserved : 28;
#elif
UINT Reserved : 29;
#else
UINT Reserved : 30;
#endif
};
UINT Value;
} MiscCaps;
UINT MaxHwQueuedFlips;
DXGK_HWQUEUEDFLIP_CAPS HwQueuedFlipCaps;
} DXGK_DRIVERCAPS;
メンバー
[out] HighestAcceptableAddress
使用するシステム メモリ (RAM) の最大許容物理アドレスを示すPHYSICAL_ADDRESSデータ型 (LARGE_INTEGERとして定義されます)。
[out] MaxAllocationListSlotId
割り当てリスト スロット識別子の最大数。 割り当てリスト スロットは、ダイレクト メモリ アクセス (DMA) バッファリングで割り当てが送信される場所を表します。
[out] ApertureSegmentCommitLimit
ディスプレイ ミニポート ドライバーが開口セグメントへのマッピングにサポートする物理メモリの最大バイト数。 ビデオ メモリ マネージャーは、 ApertureSegmentCommitLimit が指定した制限を超える物理メモリを絞りセグメントにマップしません。
[out] MaxPointerWidth
マウス ポインターの最大幅 (ピクセル単位)。
[out] MaxPointerHeight
マウス ポインターの最大高さ (スキャン行)。
[out] PointerCaps
ドライバーがサポートできるマウス ポインター機能をビット フィールド フラグで識別するDXGK_POINTERFLAGS構造体。
[out] InterruptMessageNumber
メッセージシグナル割り込みが使用され、ドライバーが固定メッセージ番号に対応する割り込みハンドラーから DxgkCbNotifyInterrupt 関数を呼び出す場合に使用されるメッセージ番号。
[out] NumberOfSwizzlingRanges
ドライバーがサポートできるスウィズリング範囲の数。
[out] MaxOverlays
ドライバーがサポートできるオーバーレイの最大数。
[out] GammaRampCaps
ドライバーがサポートできるガンマ ランプ機能をビット フィールド フラグで識別するDXGK_GAMMARAMPCAPS構造体。
[out] ColorTransformCaps
表示パイプラインのガンマ変換機能と色空間変換機能を記述するためのフラグ。 注: このフィールドは、この構造体の WDDM 2.2 より前のバージョンの GammaRampCaps を置き換えます。
[out] PresentationCaps
ドライバーがサポートできる表示機能をビット フィールド フラグで識別するDXGK_PRESENTATIONCAPS構造体。
[out] MaxQueuedFlipOnVSync
グラフィックス ハードウェアでキューに入れ、保留中にできるフリップの数。 グラフィックスハードウェアがフリップをキューに入れているので、各フリップは、VSync割り込みごとにデジタルアナログコンバータ(DAC)にラッチされます。
[out] FlipCaps
ドライバーがサポートできる反転機能をビット フィールド フラグで識別するDXGK_FLIPCAPS構造体。
[out] SchedulingCaps
ドライバーがサポートできるグラフィックス処理装置 (GPU) スケジューリング機能をビット フィールド フラグで識別するDXGK_VIDSCHCAPS構造。
[out] MemoryManagementCaps
ドライバー が サポートできるビデオ メモリ管理機能を識別するDXGK_VIDMMCAPS構造。
[out] GpuEngineTopology
ドライバー が サポートできる GPU エンジン トポロジを記述するDXGK_GPUENGINETOPOLOGY構造。
[out] WDDMVersion
WDDM のバージョンを識別する DXGK_WDDMVERSION 値。 Windows 7 以降でサポートされています。
ドライバーが Windows 7 以降の機能 (DXGKDDI_INTERFACE_VERSION ≥ DXGKDDI_INTERFACE_VERSION_WIN7) をサポートしている場合、このメンバーは予約されており、ゼロに設定する必要があります。
Windows 7 以降の機能をサポートしていない古いドライバーの場合 (DXGKDDI_INTERFACE_VERSION < DXGKDDI_INTERFACE_VERSION_WIN7)。
- Windows 7 WDK (バージョン 7600) でドライバーをコンパイルするには、このメンバーを DXGKDDI_WDDMv1 に設定します。
- Windows 8 WDK を使用してドライバーをコンパイルするには、このメンバーを DXGKDDI_WDDMv1_2 に設定します。
Reserved
予約済み。
Reserved1
予約済み。
[out] PreemptionCaps
ドライバーがサポートする GPU グラフィックス要求のプリエンプションの機能を記述する D3DKMDT_PREEMPTION_CAPS 構造体。
Windows 8 以降でサポートされています。
[out] SupportNonVGA
TRUE の場合、ドライバーは、DxgkDdiStopDeviceAndReleasePostDisplayOwnership 関数を使用して、ディスプレイ デバイスをリセットし、現在の電源オン セルフテスト (POST) デバイスの所有権を解放することをサポートします。
Windows 8 以降でサポートされています。
[out] SupportSmoothRotation
TRUE の場合、ドライバーは DxgkDdiUpdateActiveVidPnPresentPath 関数を使用してアダプターのパスのローテーションを更新できますが、新しい VidPN の作成と設定は必要ありません。
Windows 8 以降でサポートされています。
[out] SupportPerEngineTDR
TRUE の場合、ドライバーは個々の GPU エンジンのリセットをサポートします。
このメンバーが設定されている場合、ディスプレイ ミニポート ドライバーは 、DxgkDdiQueryDependentEngineGroup、 DxgkDdiQueryEngineStatus、および DxgkDdiResetEngine 関数を実装する必要があります。
Windows 8 以降でサポートされています。
[out] SupportDirectFlip
TRUE の場合、ドライバーは共有マネージド プライマリ割り当ての作成とオープンをサポートします。 TRUE の値は、次のことも示します。
- ディスプレイ ミニポート ドライバーでは、 DxgkDdiSetVidPnSourceAddress 関数が呼び出されると、ドライバーはビデオ メモリを互換性のない割り当てに反転できないことを保証します。
- ユーザー モード ドライバーは、デスクトップ Windows マネージャー (DWM) が使用する前に Direct Flip リソースを検証します。
ビデオ メモリを Direct Flip リソースに反転できるのは DWM だけです。 DWM は、ユーザー モードの CheckDirectFlipSupport 関数を使用してこれらのリソースを検証します。
Windows 8 以降でサポートされています。
[out] SupportMultiPlaneOverlay
TRUE の場合、ディスプレイ ミニポート ドライバーはマルチプレーン オーバーレイをサポートし、ドライバーは MaxOverlayPlanes メンバーの値も設定する必要があります。 FALSE の場合、DirectX グラフィックス カーネル サブシステムはマルチプレーン オーバーレイ関数を呼び出しません。
Windows 8.1 以降でサポートされます。
[out] SupportRuntimePowerManagement
TRUE の場合、ディスプレイ ミニポート ドライバーは実行時の電源管理をサポートします。
このメンバーが設定されている場合、ディスプレイ ミニポート ドライバーは DxgkDdiSetPowerComponentFState 関数と DxgkDdiPowerRuntimeControlRequest 関数を実装する必要があります。
Windows 8 以降でサポートされています。
[out] SupportSurpriseRemovalInHibernation
TRUE の場合、ディスプレイ ミニポート ドライバーは、休止状態モードの外部ディスプレイ デバイスがシステムから切断された後、ソフトウェア リソースのクリーンアップをサポートします。
このメンバーが設定されている場合、ディスプレイ ミニポート ドライバーは、 DxgkDdiNotifySurpriseRemoval 関数を実装する必要があります 。 RemovalType パラメーターを DxgkRemovalHibernation に設定します。
詳細については、「 ハイブリッド システムでのアダプター間リソースの使用」を参照してください。
Windows 8 以降でサポートされています。
[out] HybridDiscrete
TRUE の場合、ディスプレイ ミニポート ドライバーはハイブリッド システムの個別の GPU です。
このメンバーが設定されている場合、ディスプレイ ミニポート ドライバーは次の操作を行う必要があります。
- WDDM 1.3 のサポート
- アダプター間リソースのサポート
- 表示出力がない
詳細については、「 ハイブリッド システムでのアダプター間リソースの使用」を参照してください。
Windows 8.1 以降でサポートされます。
[out] MaxOverlayPlanes
SupportRuntimePowerManagement が TRUE の場合、ディスプレイ ミニポート ドライバーは MaxOverlayPlanes を、サポートできる 1 つの出力 (プライマリ サーフェスを含む) で同時に表示できるオーバーレイ プレーンの最大数に設定する必要があります。 使用可能なプレーンの数が操作モードの変更時に変更される場合、ドライバーは最適なシナリオを反映する数値を使用する必要があります。
Windows 8.1 以降でサポートされます。
HybridIntegrated
現在の GPU がハイブリッドであるかどうかを示します。
InternalGpuVirtualAddressRangeStart
内部 GPU 仮想アドレス範囲が開始します。
InternalGpuVirtualAddressRangeEnd
内部 GPU 仮想アドレス範囲の終了。
SupportSurpriseRemoval
TRUE の場合、ディスプレイ ミニポート ドライバーは、突然の削除をサポートします。
[out] SupportMultiPlaneOverlayImmediateFlip
TRUE の場合、表示ミニポート ドライバーは、変更する値が表示される物理アドレスである限り、マルチプレーン オーバーレイ プレーンへの即時反転をサポートします。
[out] CursorScaledWithMultiPlaneOverlayPlane0
TRUE の場合、ディスプレイ ハードウェアは、平面ごとにマルチプレーン オーバーレイ ストレッチが適用されている場合、平面 0 に適用されるのと同じ拡大縮小率をハードウェア カーソルに常に適用します。
HybridAcpiChainingRequired
このハイブリッド ディスクリート ドライバーには、統合アダプターでトリガーされる ACPI イベントのチェーンが必要であることを示します。
[out] MaxQueuedMultiPlaneOverlayFlipVSync
1 つのプレーンに対する更新の最大数を 1 つの Vsync 期間内に作成できることを示します。この場合、最新の更新プログラムは以前の更新プログラムをオーバーライドします。 ドライバーが ハードウェア フリップ キューをサポートしている場合、OS はこの値を無視します。
MiscCaps
その他の機能。
MiscCaps.SupportContextlessPresent
DDI 呼び出しで null コンテキストをサポートします。 この値を設定すると、OS は現在の関連 DDI で NULL コンテキストを渡します。 WDDM 2.4 以降でサポートされています。
MiscCaps.Detachable
取り外し可能、つまりホットプラグ可能。 アダプターがホット プラグ可能な場合、ドライバーはアダプターの初期化中にこのビットを設定します。 WDDM 2.4 以降でサポートされています。
MiscCaps.VirtualGpuOnly
アダプターは、ホスト上の Direct3D アプリケーションで使用しないでください。 WDDM 2.5 以降でサポートされています。
MiscCaps.ComputeOnly
WDDM のレンダリング専用デバイス機能をレンダリングすることで、Compute-Only デバイスをサポートします。 Windows 10 バージョン 1901 (WDDM 2.6) 以降でサポートされます
MiscCaps.IndependentVidPnVSyncControl
この機能を設定するドライバーは、DdiControlInterrupt3 で指定された VidPnSourceId を読み取り、前述の VidPnSourceId で VSync を制御する必要があります。 Windows 10 バージョン 2004 (WDDM 2.7) 以降でサポートされています。
MiscCaps.NoHybridDiscreteDListDllSupport
ドライバーが d-List をサポートしているかどうかを示します。 Windows 10 バージョン 2004 (WDDM 2.8) 以降でサポートされています。
MiscCaps.DisplayableSupport
ドライバーが表示可能な機能をサポートしているかどうかを示します。 Windows 11 (WDDM 3.0) 以降でサポートされます。
MiscCaps.NoHybridDiscreteDListDllMuxSupport
MiscCaps.CursorDoesNotSupportXorBlendWithMultiPlaneOverlay
MiscCaps.Reserved
予約済み。
MiscCaps.Value
MiscCaps ビットにアクセスする別の方法。
MaxHwQueuedFlips
ドライバーがサポートするハードウェア フリップ キューの最大数。 OS でハードウェア フリップ キューのサポートが許可されている場合、ドライバーは MaxHwQueuedFlips を 1 より大きい値に設定できます。 Windows Server 2022 (WDDM 2.9) で追加されました。Windows 11 (WDDM 3.0) 以降でサポートされています。
HwQueuedFlipCaps
ハードウェア フリップ キューの機能を説明する DXGK_HWQUEUEDFLIP_CAPS 値。 Windows Server 2022 (WDDM 2.9) で追加されました。Windows 11 (WDDM 3.0) 以降でサポートされています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
Header | d3dkmddi.h (D3dkmddi.h を含む) |
こちらもご覧ください
DxgkDdiUpdateActiveVidPnPresentPath
DxgkDdiStopDeviceAndReleasePostDisplayOwnership
DxgkDdiSetPowerComponentFState
DxgkDdiPowerRuntimeControlRequest