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