共用方式為


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) 和填滿作業。

注意 只有快取一致的 GPU 光圈區段存在,而且 CPU 存取記憶體時,顯示迷你埠驅動程式應該才會報告它支援 GDI 硬體加速。
 
設定此成員相當於 (0x00000004) 設定 32 位 Value 成員的第三個位。

從 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)

另請參閱

D3DKMDT_GDISURFACETYPE

DXGK_DRIVERCAPS

DxgkDdiQueryAdapterInfo

DxgkDdiRenderKm