DXGK_VIDMMCAPS 結構 (d3dkmddi.h)

DXGK_VIDMMCAPS結構會識別顯示迷你埠驅動程式支援的視訊記憶體管理功能。

語法

typedef struct _DXGK_VIDMMCAPS {
  union {
    struct {
      UINT OutOfOrderLock : 1;
      UINT DedicatedPagingEngine : 1;
      UINT PagingEngineCanSwizzle : 1;
      UINT SectionBackedPrimary : 1;
      UINT CrossAdapterResource : 1;
      UINT VirtualAddressingSupported : 1;
      UINT GpuMmuSupported : 1;
      UINT IoMmuSupported : 1;
      UINT ReplicateGdiContent : 1;
      UINT NonCpuVisiblePrimary : 1;
      UINT ParavirtualizationSupported : 1;
      UINT IoMmuSecureModeSupported : 1;
      UINT DisableSelfRefreshVRAMInS3 : 1;
      UINT IoMmuSecureModeRequired : 1;
      UINT MapAperture2Supported : 1;
      UINT CrossAdapterResourceTexture : 1;
      UINT CrossAdapterResourceScanout : 1;
      UINT AlwaysPoweredVRAM : 1;
#if ...
      UINT Reserved : 14;
#elif
      UINT Reserved : 15;
#elif
      UINT Reserved : 18;
#elif
      UINT Reserved : 19;
#elif
      UINT Reserved : 21;
#elif
      UINT Reserved : 22;
#elif
      UINT Reserved : 27;
#elif
      UINT Reserved : 28;
#else
      UINT Reserved : 31;
#endif
    };
    UINT Value;
  };
  UINT  PagingNode;
} DXGK_VIDMMCAPS;

成員

OutOfOrderLock

指定驅動程式是否可以鎖定最新實例以外的配置實例。 如果 DDI 線程必須鎖定應用程式線程先前已鎖定和捨棄的頂點緩衝區,驅動程式通常會針對 DDI 線程和負載平衡設定此值。 設定此成員相當於設定 32 位 Value 成員的第一個位 (0x00000001) 。

DedicatedPagingEngine

這個成員是保留的,而且應該設定為零。

PagingEngineCanSwizzle

這個成員是保留的,而且應該設定為零。

SectionBackedPrimary

指定驅動程式是否支援區段支援的主要配置。 從 Windows 8 開始支援。

CrossAdapterResource

指定驅動程式是否提供第 1 層支援在 混合式系統中<的跨適配卡資源複製和複製。 從 Windows 8.1 開始支援。

從WDDM 2.4 開始,DXGI 可為更廣泛的案例啟用目前的混合式簡報優化,無論轉譯是在一個 GPU 上,並在另一個 GPU 監視器上呈現。 只有在兩個 GPU 都支援跨適配卡資源時,才能這樣做。

交叉配接器資源屬性如下所列。

  • 資源只能分頁到 aperture GPU 記憶體區段
  • 資源會配置為共用。
  • 資源必須標示為 CPU Visible。
  • 配置將會由OS建立為寫入合併。
  • 資源只有一個配置,而且具有線性格式。
  • 資源 (128 個字節) 的標準音調對齊。 D3DKMT_CROSS_ADAPTER_RESOURCE_PITCH_ALIGNMENT定義會針對間距對齊方式新增。 資源必須以這個對齊方式的最小倍數建立,其中包含資源內容。
  • 資源 (4 個數據列) 的標準高度對齊。 已新增D3DKMT_CROSS_ADAPTER_RESOURCE_HEIGHT_ALIGNMENT。 資源必須以這個對齊方式的最小倍數建立,其中包含資源內容。
#define D3DKMT_CROSS_ADAPTER_RESOURCE_PITCH_ALIGNMENT 128

#define D3DKMT_CROSS_ADAPTER_RESOURCE_HEIGHT_ALIGNMENT 4
  • 資源記憶體的起始位址會對齊一個頁面界限。
  • 資源可能是從核心模式建立為標準配置,之後由UMD開啟。
  • 資源可能是由 UMD 所建立。

交叉配接器配置可作為主要配接器,但驅動程式將不會取得資訊,通常是在建立主要複本時提供的資訊

VirtualAddressingSupported

指定驅動程式是否支援虛擬記憶體尋址。 為了表示 GPU 虛擬記憶體尋址的支援,驅動程式應該設定 VirtualAddressingSupported cap 和 GpuMmuSupportedIoMmuSupported caps。 GpuMmuSupportedIoMmuSupported 無法同時設定。 從Windows 10 開始支援。

GpuMmuSupported

指定配接器是否支援 GpuMmu 模型。 適配卡無法同時支援不同引擎上的 GpuMmuIoMmu 模型。 如需詳細資訊,請參閱 GpuMmu 模型 。 從Windows 10 開始支援。

IoMmuSupported

指定配接器是否支援 IoMmu 模型。 適配卡無法同時支援不同引擎上的 GpuMmuIoMmu 模型。 如需詳細資訊,請參閱 IoMmu模型 。 從 Windows 10 (WDDM 2.0) 開始支援。

ReplicateGdiContent

指定配接器是否支援 GDI 內容的複寫。 從Windows 10 開始支援。

NonCpuVisiblePrimary

表示不需要 GDI 配置才能顯示 CPU。 從Windows 10 開始支援。

ParavirtualizationSupported

如果實作所有 DIS,主機 KMD 必須設定上限。 從 Windows 10 1703 版 (WDDM 2.2) 開始支援。

IoMmuSecureModeSupported

表示驅動程式支援 以IOMMU為基礎的 GPU 隔離。 從 Windows 10 1803 版 (WDDM 2.4) 開始支援。

DisableSelfRefreshVRAMInS3

停用 S3 中 VRAM 自我重新整理的支援。 從 Windows 10 1803 版開始支援。

IoMmuSecureModeRequired

指出需要 IommuSecureModeSupported) 旗標所參考的IOMMU硬體和隔離支援 (,否則OS將不會啟動適配卡。 從 Windows 10 2004 (WDDM 2.7) 版開始支援。

MapAperture2Supported

表示驅動程式支援ioMMU DMA重新對應所需的DXGK_OPERATION_MAP_APERTURE_SEGMENT2分頁緩衝區作業。 從 WDDM 2.9 版開始支援。

CrossAdapterResourceTexture

指定驅動程式是否提供第 2 層支援交叉配接器資源的文字。 指出 CrossAdapterResourceTexture 支援的驅動程式也必須指出 CrossAdapterResource 的支援。 從 WDDM 2.9 版開始支援。

CrossAdapterResourceScanout

指定驅動程式是否提供第 3 層支援掃描跨配接器資源。 指出 CrossAdapterResourceScanout 支援的驅動程式也必須指出 CrossAdapterResource 和 CrossAdapterResourceTexture 的支援。 從 WDDM 2.9 版開始支援。

第 3 層支援要求驅動程式能夠針對下列最低規格的跨適配卡資源,在 DXGK_FLIPCAPS 中宣告支援的翻轉功能:

  • 跨配接器主要緩衝區大小 1920 x 1080 或更小
  • 下列任何支援的 DisplayScanOut 格式的緩衝區像素格式:
    • DXGI_FORMAT_R16G16B16A16_FLOAT
    • DXGI_FORMAT_R10G10B10A2_UNORM
    • DXGI_FORMAT_R8G8B8A8_UNORM
    • DXGI_FORMAT_R8G8B8A8_UNORM_SRGB
    • DXGI_FORMAT_B8G8R8A8_UNORM
    • DXGI_FORMAT_R10G10B10_XR_BIAS_A2_UNORM
    • DXGI_FORMAT_B8G8R8A8_UNORM_SRGB

DXGI 運行時間會查詢驅動程式的 CrossAdapterResourceScanout 支援,如果支援,簡報堆棧應向下移至 1 個複製路徑。 因此,也需要宣告 支援 CrossAdapterResourceScanout 的驅動程式:

  • 支援 DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT3
  • 針對上述最低規格的交叉配接器主要複本,支援所有相關的簡報相關 DIS。 一些範例包括 pfnCreateResource、pfnCheckMultiplaneOverlaySupport 和 pfnPresentMultiplaneOverlay/pfnPresent1。 如需必要詳細數據,請參閱現有的規格,例如 MPO 規格和混合式規格。如需有關脫離 CASO 的詳細資訊,請參閱下一節。

AlwaysPoweredVRAM

Reserved

這個成員是保留的,而且應該設定為零。 將這個成員設定為零相當於將 Value 成員的 OutOfOrderLock () 設定為零之後,將剩餘的 31 位設定為零。 請注意,只有在DXGKDDI_INTERFACE_VERSION DXGKDDI_INTERFACE_VERSION_WIN7<時,才能使用 [保留]。

Value

這個值是用來共同操作成員。

PagingNode

要用於分頁作業之節點之以零起始的索引。 如果驅動程式未設定 DXGK_DRIVERCAPS 結構之 SchedulingCaps 成員的 MultiEngineAware 位字段成員,DirectX 圖形核心子系統會忽略 PagingNode 的設定。 此成員僅適用於 WDDM 1.x。 在 WDDM 2.x 中, PagingNode 已移至 DXGK_PHYSICALADAPTERCAPS

規格需求

需求
最低支援的用戶端 Windows Vista
標頭 d3dkmddi.h (包含 D3dkmddi.h)

另請參閱

DXGK_DRIVERCAPS

DXGK_PHYSICALADAPTERCAPS