DXGK_PRESENTATIONCAPS構造体 (d3dkmddi.h)
DXGK_PRESENTATIONCAPS構造体は、DxgkDdiQueryAdapterInfo 関数の呼び出しを通じてドライバーが提供するディスプレイ ミニポート ドライバーのプレゼンテーション機能を識別します。
構文
typedef struct _DXGK_PRESENTATIONCAPS {
union {
struct {
UINT NoScreenToScreenBlt : 1;
UINT NoOverlapScreenBlt : 1;
UINT SupportKernelModeCommandBuffer : 1;
UINT NoSameBitmapAlphaBlend : 1;
UINT NoSameBitmapStretchBlt : 1;
UINT NoSameBitmapTransparentBlt : 1;
UINT NoSameBitmapOverlappedAlphaBlend : 1;
UINT NoSameBitmapOverlappedStretchBlt : 1;
UINT DriverSupportsCddDwmInterop : 1;
UINT Reserved0 : 1;
UINT AlignmentShift : 4;
UINT MaxTextureWidthShift : 3;
UINT MaxTextureHeightShift : 3;
UINT SupportAllBltRops : 1;
UINT SupportMirrorStretchBlt : 1;
UINT SupportMonoStretchBltModes : 1;
UINT StagingRectStartPitchAligned : 1;
UINT NoSameBitmapBitBlt : 1;
UINT NoSameBitmapOverlappedBitBlt : 1;
UINT Reserved1 : 1;
UINT NoTempSurfaceForClearTypeBlend : 1;
UINT SupportSoftwareDeviceBitmaps : 1;
UINT NoCacheCoherentApertureMemory : 1;
UINT SupportLinearHeap : 1;
#if ...
UINT Reserved : 1;
#else
UINT Reserved : 4;
#endif
};
UINT Value;
};
} DXGK_PRESENTATIONCAPS;
メンバーズ
[in] NoScreenToScreenBlt
ディスプレイ ミニポート ドライバーがプライマリ サーフェスから同じプライマリ サーフェスへのビット ブロック転送 (bitblt) を実行できるかどうかを指定する UINT 値。 NoScreenToScreenBlt 設定されている場合、ドライバーは画面間ビット ブロック転送を実行できません。 したがって、Microsoft DirectX グラフィックス カーネル サブシステム (Dxgkrnl.sys) は、このようなビット ブロック転送を実行するようにドライバーに要求しません。
このメンバーの設定は、32 ビット Value メンバー (0x00000001) の最初のビットを設定することと同じです。
[in] NoOverlapScreenBlt
ディスプレイ ミニポート ドライバーが重複するビット ブロック転送を実行できるかどうかを指定する UINT 値。 NoOverlapScreenBlt 設定されている場合、ドライバーは重複するビット ブロック転送を実行できません。 そのため、DirectX グラフィックス カーネル サブシステムは、このようなビット ブロック転送を実行するドライバーを要求しません。
このメンバーの設定は、32 ビット Value メンバー (0x00000002) の 2 番目のビットを設定することと同じです。
SupportKernelModeCommandBuffer
[in]ディスプレイ ミニポート ドライバーが GDI ハードウェア アクセラレータコマンド バッファー処理をサポートするかどうかを指定する UINT 値。 SupportKernelModeCommandBuffer が設定されている場合、DirectX グラフィックス カーネル サブシステムがディスプレイ ミニポート ドライバーの DxgkDdiRenderKm 関数を呼び出すときに、ドライバーはさまざまなハードウェアアクセラレータビットブロック転送 (bitblt) およびフィル操作を実行できます。
Windows 7 以降でサポートされています。
[in] NoSameBitmapAlphaBlend
ソースと宛先の割り当てが同じ場合に、ディスプレイ ミニポート ドライバーがアルファ ブレンド操作を実行できるかどうかを指定する UINT 値。 noSameBitmapAlphaBlend 設定されている場合、ドライバーはこのような操作を実行できず、DirectX グラフィックス カーネル サブシステムは要求しません。
このメンバーの設定は、32 ビット Value メンバー (0x00000008) の 4 番目のビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] NoSameBitmapStretchBlt
ソースと宛先の割り当てが同じ場合に、ディスプレイ ミニポート ドライバーがストレッチ ビット ブロック転送操作を実行できるかどうかを指定する UINT 値。 NoSameBitmapStretchBlt 設定されている場合、ドライバーはこのような操作を実行できず、DirectX グラフィックス カーネル サブシステムは要求しません。
このメンバーの設定は、32 ビット Value メンバー (0x00000010) の 5 番目のビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] NoSameBitmapTransparentBlt
ソースと宛先の割り当てが同じ場合に、ディスプレイ ミニポート ドライバーが透過的なビット ブロック転送操作を実行できるかどうかを指定する UINT 値。 NoSameBitmapStretchBlt 設定されている場合、ドライバーはこのような操作を実行できず、DirectX グラフィックス カーネル サブシステムは要求しません。
このメンバーの設定は、32 ビット Value メンバー (0x00000020) の 6 番目のビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] NoSameBitmapOverlappedAlphaBlend
ソースとターゲットの割り当てが同じで、ソースとターゲットの四角形が重なっている場合に、ディスプレイ ミニポート ドライバーがアルファ ブレンド操作を実行できるかどうかを指定する UINT 値。 NoSameBitmapOverlappedAlphaBlend 設定されている場合、ドライバーはこのような操作を実行できず、DirectX グラフィックス カーネル サブシステムは要求しません。
このメンバーの設定は、32 ビット Value メンバー (0x00000040) の 7 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] NoSameBitmapOverlappedStretchBlt
ソースと宛先の割り当てが同じで、ソースと宛先の四角形が重なっている場合に、ディスプレイ ミニポート ドライバーがストレッチ ビット ブロック転送操作を実行できるかどうかを指定する UINT 値。 NoSameBitmapOverlappedStretchBlt 設定されている場合、ドライバーはこのような操作を実行できず、DirectX グラフィックス カーネル サブシステムは要求しません。
このメンバーの設定は、32 ビット Value メンバー (0x00000080) の 8 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] DriverSupportsCddDwmInterop
ディスプレイ ミニポート ドライバーが、デスクトップ Windows マネージャー (DWM) で使用するユーザー モード ドライバーによって作成されたテクスチャ割り当てに対する標準ディスプレイ ドライバー (CDD) の現在の操作をサポートするかどうかを指定する UINT 値。 DriverSupportsCddDwmInterop が設定されている場合、ディスプレイ ミニポート ドライバーは、このような現在の操作をサポートします。
ディスプレイ ミニポート ドライバーが GDI ハードウェア アクセラレーションをサポートしている場合、DriverSupportsCddDwmInterop は無視されます。 この場合、ドライバーは、ユーザー モード ドライバーによって作成された DWM テクスチャ割り当てに対する CDD 操作の提示をサポートする必要があります。
このメンバーの設定は、32 ビット Value メンバー (0x00000100) の 9 番目のビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] Reserved0
このメンバーは予約されており、0 に設定する必要があります。
このメンバーの設定は、32 ビット Value メンバー (0x00000200) の 10 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] AlignmentShift
XxxPitch DXGK_GDIARG_XXX構造体のメンバーに必要な最小アライメント値 (バイト単位) を指定する UINT 値。 AlignmentShift はバイナリ指数として指定されます。 たとえば、16 バイトの必須の配置値を指定するには、ディスプレイ ミニポート ドライバーは、AlignmentShift = 4 設定する必要があります。 最小値は alignmentShift = 2 で、4 バイトのアラインメントを指定します。
このメンバーの設定は、32 ビット Value メンバー (0x00000400) の 11 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] MaxTextureWidthShift
ディスプレイ ミニポート ドライバーがサポートする最大テクスチャ幅を指定する UINT 値。次のように計算されます。
サポートされる最大テクスチャ幅 = 2 ^ (MaxTextureWidthShift + 11) テクセル。
たとえば、MaxTextureWidthShift = 0 の場合、サポートされるテクスチャの最大幅は 2 ^ 11 = 2048 になります。
このメンバーの設定は、32 ビット Value メンバー (0x00000800) の 12 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] MaxTextureHeightShift
ディスプレイ ミニポート ドライバーがサポートする最大テクスチャの高さを指定する UINT 値。次のように計算されます。
サポートされる最大テクスチャの高さ = 2 ^ (MaxTextureHeightShift + 11) テクセル。
たとえば、MaxTextureHeightShift = 0 の場合、サポートされるテクスチャの最大高さは 2 ^ 11 = 2048 になります。
このメンバーの設定は、32 ビット Value メンバー (0x00001000) の 13 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] SupportAllBltRops
ディスプレイ ミニポート ドライバーが BitBlt コマンドと ColorFill コマンドのパターンとして単色のすべての GDI ROP3 ラスター操作をサポートするかどうかを指定する UINT 値。 SupportAllBltRops が設定されている場合、ドライバーはこのようなラスター操作をサポートします。
このメンバーの設定は、32 ビット Value メンバー (0x00002000) の 14 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] SupportMirrorStretchBlt
ディスプレイ ミニポート ドライバーが (DXGK_GDIARG_STRETCHBLT 構造体を使用して) ストレッチ Blt 操作をミラー モードでサポートするかどうかを指定する UINT 値。 SupportMirrorStretchBlt が設定されている場合、ドライバーはこのような操作をサポートします。
このメンバーの設定は、32 ビット Value メンバー (0x00004000) の 15 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] SupportMonoStretchBltModes
ディスプレイ ミニポート ドライバーが BLACKONWHITE または WHITEONBLACK 単色レンダリング モードでストレッチ Blt 操作 (DXGK_GDIARG_STRETCHBLT 構造体を使用) をサポートするかどうかを指定する UINT 値。 SupportMonoStretchBltModes が設定されている場合、ドライバーはこのような操作をサポートします。
このメンバーの設定は、32 ビット Value メンバー (0x00008000) の 16 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] StagingRectStartPitchAligned
ディスプレイ ミニポート ドライバーが CPU に表示されるステージングサーフェイス上の四角形の開始点 (左上のポイント) をピッチアラインする必要があるかどうかを指定する UINT 値。これは、左座標が 0 であることを意味します。 AlignmentShift 設定すると、四角形の左上のポイントがピッチアラインされます。
このメンバーの設定は、32 ビット Value メンバー (0x00010000) の 17 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] NoSameBitmapBitBlt
ソースと宛先の割り当てが同じ場合に、ディスプレイ ミニポート ドライバーがビット ブロック転送操作を実行できるかどうかを指定する UINT 値。 NoSameBitmapBitBlt 設定されている場合、ドライバーはこのような操作を実行できません。 したがって、DirectX グラフィックス カーネル サブシステムは、ドライバーがこのような操作を実行することを要求しません。
このメンバーの設定は、32 ビット Value メンバー (0x00020000) の 18 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] NoSameBitmapOverlappedBitBlt
ソースと宛先の割り当てが同じで、ソースと宛先の四角形が重なっている場合に、ディスプレイ ミニポート ドライバーがビット ブロック転送操作を実行できるかどうかを指定する UINT 値。 NoSameBitmapOverlappedBitBlt 設定されている場合、ドライバーはこのような操作を実行できず、DirectX グラフィックス カーネル サブシステムは要求しません。
このメンバーの設定は、32 ビット Value メンバー (0x00040000) の 19 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] Reserved1
このメンバーは予約されており、0 に設定する必要があります。 このメンバーを 0 に設定することは、32 ビット Value メンバー (0x00080000) の 20 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] NoTempSurfaceForClearTypeBlend
DXGK_RENDERKM_COMMAND 構造体の ClearTypeBlend メンバーで指定されたコマンドの処理中に、ドライバーが一時的なサーフェスを必要とするかどうかを指定する UINT 値。 NoTempSurfaceForClearTypeBlend 設定されている場合、ドライバーは一時的なサーフェスを必要としません。 この場合、ドライバーは使用するビデオ メモリが少なくなります。
このメンバーを 0 に設定することは、32 ビット Value メンバー (0x00100000) の最初の 20 ビットを設定することと同じです。
Windows 7 以降でサポートされています。
[in] SupportSoftwareDeviceBitmaps
このメンバーは予約されており、0 に設定する必要があります。
このメンバーの設定は、32 ビット Value メンバー (0x00200000) の 22 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
[in] NoCacheCoherentApertureMemory
ドライバーがキャッシュ コヒーレントアパーチャ メモリをサポートしないことを指定する UINT 値。
このメンバーの設定は、32 ビット Value メンバー (0x00400000) の 23 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
[in] SupportLinearHeap
ドライバーは、ステージング サーフェイスからの線形ヒープの割り当てをサポートしています。
このメンバーの設定は、32 ビット Value メンバー (0x00800000) の 24 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
[in] Reserved
このメンバーは予約されており、0 に設定する必要があります。
このメンバーの設定は、32 ビット Value メンバー (0x01000000) の 25 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
[in]このメンバーは予約されており、0 に設定する必要があります。
このメンバーの設定は、32 ビット Value メンバー (0x02000000) の 25 ビットを設定することと同じです。
Windows 8 以降でサポートされています。
Value
ドライバーのプレゼンテーション機能を識別する 32 ビット値。
備考
ディスプレイ ミニポート ドライバーは、32 ビット 値 メンバーのビットを設定するか、またはDXGK_PRESENTATIONCAPSに含まれる共用体の構造体の個々のメンバーを設定することによって、プレゼンテーション機能を指定できます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista |
ヘッダー | d3dkmddi.h (D3dkmddi.h を含む) |
関連項目
DxgkDdiQueryAdapterInfo の