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
UINT 值,指定顯示迷你埠驅動程式是否可以執行從主要介面到相同主要介面的位區塊傳輸(bitblt)。 如果 已設定 NoScreenToScreenBlt,驅動程式就無法執行螢幕對螢幕位區塊傳輸。 因此,Microsoft DirectX 圖形核心子系統 (Dxgkrnl.sys) 不會要求驅動程式執行這類位區塊傳輸。
設定這個成員相當於設定 32 位 Value 成員的第一個位 (0x00000001)。
[in] NoOverlapScreenBlt
UINT 值,指定顯示迷你埠驅動程式是否可以執行重疊的位區塊傳輸。 如果 已設定 NoOverlapScreenBlt,驅動程式就無法執行重疊的位區塊傳輸。 因此,DirectX 圖形核心子系統不會要求驅動程式執行這類位區塊傳輸。
設定此成員相當於設定 32 位 Value 成員的第二個位 (0x00000002)。
SupportKernelModeCommandBuffer
[in]UINT 值,指定顯示迷你埠驅動程式是否支援 GDI 硬體加速命令緩衝區處理。 如果 SupportKernelModeCommandBuffer 設定,當 DirectX 圖形核心子系統呼叫 display miniport 驅動程式的 DxgkDdiRenderKm 函式時,驅動程式可以執行各種硬體加速位區塊傳輸 (bitblt) 和填滿作業。
從 Windows 7 開始支援。
[in] NoSameBitmapAlphaBlend
UINT 值,指定當來源和目的地配置相同時,顯示迷你埠驅動程式是否可以執行 Alpha 混合運算。 如果已設定 NoSameBitmapAlphaBlend,驅動程式就無法執行這類作業,而且 DirectX 圖形核心子系統不會要求它。
設定這個成員相當於設定 32 位 Value 成員的第四位 (0x00000008)。
從 Windows 7 開始支援。
[in] NoSameBitmapStretchBlt
UINT 值,指定當來源和目的地配置相同時,顯示迷你埠驅動程式是否可以執行延展位區塊傳輸作業。 如果已設定 NoSameBitmapStretchBlt,驅動程式就無法執行這類作業,而且 DirectX 圖形核心子系統將不會要求它。
設定這個成員相當於設定 32 位 Value 成員的第五位 (0x00000010)。
從 Windows 7 開始支援。
[in] NoSameBitmapTransparentBlt
UINT 值,指定當來源和目的地配置相同時,顯示迷你埠驅動程式是否可以執行透明位區塊傳輸作業。 如果已設定 NoSameBitmapStretchBlt,驅動程式就無法執行這類作業,而且 DirectX 圖形核心子系統將不會要求它。
設定這個成員相當於設定 32 位 Value 成員的第六位 (0x00000020)。
從 Windows 7 開始支援。
[in] NoSameBitmapOverlappedAlphaBlend
UINT 值,指定當來源和目的地配置相同且來源和目的地矩形重疊時,顯示迷你埠驅動程式是否可以執行 Alpha 混合運算。 如果已設定 NoSameBitmapOverlappedAlphaBlend,驅動程式就無法執行這類作業,而且 DirectX 圖形核心子系統不會要求它。
設定此成員相當於設定 32 位 Value 成員的第七位 (0x00000040)。
從 Windows 7 開始支援。
[in] NoSameBitmapOverlappedStretchBlt
UINT 值,指定當來源和目的地配置相同且來源和目的地矩形重疊時,顯示迷你埠驅動程式是否可以執行延展位區塊傳輸作業。 如果已設定 NoSameBitmapOverlappedStretchBlt,驅動程式就無法執行這類作業,而且 DirectX 圖形核心子系統將不會要求它。
設定這個成員相當於設定 32 位 Value 成員的 8 位 (0x00000080)。
從 Windows 7 開始支援。
[in] DriverSupportsCddDwmInterop
UINT 值,指定顯示迷你埠驅動程式是否支援 Canonical Display Driver (CDD) 將作業呈現至使用者模式驅動程式針對桌面 Windows 管理員 (DWM) 所建立的紋理配置。 如果已設定 DriverSupportsCddDwmInterop,則顯示迷你埠驅動程式支援這類目前作業。
如果顯示迷你埠驅動程序支援 GDI 硬體加速 ,則會忽略 driverSupportsCddDwmInterop。 在此情況下,驅動程式必須支持呈現CDD作業給使用者模式驅動程式所建立的 DWM 紋理配置。
設定這個成員相當於設定 32 位 Value 成員的第九位 (0x00000100)。
從 Windows 7 開始支援。
[in] Reserved0
這個成員是保留的,而且應該設定為零。
設定這個成員相當於設定 32 位 Value 成員的第十位 (0x00000200)。
從 Windows 7 開始支援。
[in] AlignmentShift
UINT 值,指定 XxxPitch DXGK_GDIARG_XXX 結構成員所需的最小對齊值,以位元組為單位。 AlignmentShift 是以二元指數形式提供。 例如,若要指定所需的對齊值 16 個字節,顯示迷你埠驅動程式應設定 AlignmentShift = 4。 最小值 AlignmentShift = 2,指定 4 位元組對齊。
設定此成員相當於設定 32 位 Value 成員的第十一位 (0x00000400)。
從 Windows 7 開始支援。
[in] MaxTextureWidthShift
UINT 值,指定顯示迷你埠驅動程式支援的紋理寬度上限,其計算為:
支援的紋理寬度上限 = 2 ^ (MaxTextureWidthShift + 11) 紋素。
例如,如果 MaxTextureWidthShift = 0,支援的紋理寬度上限為 2 ^ 11 = 2048。
設定這個成員相當於設定 32 位 Value 成員的第 12 位 (0x00000800)。
從 Windows 7 開始支援。
[in] MaxTextureHeightShift
UINT 值,指定顯示迷你埠驅動程序支援的最大紋理高度,其計算為:
最大支援的紋理高度 = 2 ^ (MaxTextureHeightShift + 11) 紋素。
例如,如果 MaxTextureHeightShift = 0,則支援的紋理高度上限為 2 ^ 11 = 2048。
設定此成員相當於設定 32 位 Value 成員的第 32 位 (0x00001000)。
從 Windows 7 開始支援。
[in] SupportAllBltRops
UINT 值,指定顯示迷你埠驅動程式是否支援所有 GDI ROP3 點陣作業,並以純色做為 BitBlt 和 ColorFill 命令中的圖樣。 如果已設定 SupportAllBltRops,驅動程式支援這類點陣作業。
設定這個成員相當於設定第 32 位 Value 成員的第 14 位 (0x00002000)。
從 Windows 7 開始支援。
[in] SupportMirrorStretchBlt
UINT 值,指定顯示迷你埠驅動程式是否支援鏡像模式中的 Stretch Blt 作業(使用 DXGK_GDIARG_STRETCHBLT 結構)。 如果已設定 SupportMirrorStretchBlt ,驅動程式就會支援這類作業。
設定這個成員相當於設定 32 位 Value 成員的第 15 位 (0x00004000)。
從 Windows 7 開始支援。
[in] SupportMonoStretchBltModes
UINT 值,指定顯示迷你埠驅動程式是否支援 BLACKONWHITE 或 WHITEONBLACK 單色轉譯模式中的 Stretch Blt 作業(使用 DXGK_GDIARG_STRETCHBLT 結構)。 如果已設定 SupportMonoStretchBltModes,驅動程式就會支援這類作業。
設定這個成員相當於設定 32 位 Value 成員的第 16 位 (0x00008000)。
從 Windows 7 開始支援。
[in] StagingRectStartPitchAligned
UINT 值,指定顯示迷你埠驅動程式是否需要 CPU 可見暫存介面上矩形的起點(左上方點)對齊,這表示左邊座標為 0。 如果 AlignmentShift 設定,則矩形的左上方點會對齊間距。
設定此成員相當於設定 32 位 Value 成員的第 17 位 (0x00010000)。
從 Windows 7 開始支援。
[in] NoSameBitmapBitBlt
UINT 值,指定當來源和目的地配置相同時,顯示迷你埠驅動程式是否可以執行位區塊傳輸作業。 如果 已設定 NoSameBitmapBitBlt,驅動程式就無法執行這類作業。 因此,DirectX 圖形核心子系統不會要求驅動程式執行這類作業。
設定此成員相當於設定 32 位 Value 成員的第 18 位 (0x00020000)。
從 Windows 7 開始支援。
[in] NoSameBitmapOverlappedBitBlt
UINT 值,指定當來源和目的地配置相同且來源和目的地矩形重疊時,顯示迷你埠驅動程式是否可以執行位區塊傳輸作業。 如果已設定 NoSameBitmapOverlappedBitBlt,驅動程式就無法執行這類作業,而且 DirectX 圖形核心子系統不會要求它。
設定此成員相當於設定 32 位 Value 成員的第 19 位 (0x00040000)。
從 Windows 7 開始支援。
[in] Reserved1
這個成員是保留的,而且應該設定為零。 將此成員設定為零相當於設定 32 位 Value 成員的第二十位 (0x00080000)。
從 Windows 7 開始支援。
[in] NoTempSurfaceForClearTypeBlend
UINT 值,指定驅動程式在處理 DXGK_RENDERKM_COMMAND 結構 ClearTypeBlend 成員所指定的命令時,是否需要暫存介面。 如果 已設定 NoTempSurfaceForClearTypeBlend,驅動程式就不需要暫存表面。 在此情況下,驅動程式會使用較少的視訊記憶體。
將此成員設定為零相當於將 32 位 Value 成員的 21 位設定為 21 位 (0x00100000)。
從 Windows 7 開始支援。
[in] SupportSoftwareDeviceBitmaps
這個成員是保留的,而且應該設定為零。
設定此成員相當於設定 32 位 Value 成員的 22 秒位 (0x00200000)。
從 Windows 8 開始支援。
[in] NoCacheCoherentApertureMemory
UINT 值,指定驅動程序不支援快取相干光圈記憶體。
設定此成員相當於設定 32 位 Value 成員的 23 位 (0x00400000)。
從 Windows 8 開始支援。
[in] SupportLinearHeap
驅動程式支援預備介面的線性堆積配置。
設定此成員相當於設定 32 位 Value 成員的 24 位 (0x00800000)。
從 Windows 8 開始支援。
[in] Reserved
這個成員是保留的,而且應該設定為零。
設定此成員相當於設定 32 位 Value 成員的 25 位 (0x01000000)。
從 Windows 8 開始支援。
[in]這個成員是保留的,而且應該設定為零。
設定此成員相當於設定 32 位 Value 成員的 25 位 (0x02000000)。
從 Windows 8 開始支援。
Value
識別驅動程序呈現功能的32位值。
言論
顯示迷你埠驅動程式可以藉由在32位 Value 成員中設定位,或在DXGK_PRESENTATIONCAPS包含的等位中設定結構個別成員,來指定呈現功能。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows Vista |
標頭 | d3dkmddi.h (包括 D3dkmddi.h) |