共用方式為


DXGK_IOMMU_CAPS結構 (d3dkmddi.h)

DXGK_IOMMU_CAPS結構可用來指出驅動程式是否支援IOMMU線性重新對應。

語法

typedef struct _DXGK_IOMMU_CAPS {
  union {
    struct {
      UINT32 IommuIsolationSupported : 1;
      UINT32 IommuIsolationRequired : 1;
      UINT32 DmaRemappingSupported : 1;
      UINT32 GpuVaIommuRequired : 1;
      UINT32 GpuVaIommuGlobalRequired : 1;
      UINT32 Reserved : 27;
    };
    UINT32 Value;
  };
} DXGK_IOMMU_CAPS;

成員

IommuIsolationSupported

表示驅動程式支援 IOMMU 隔離,並充分利用 IOMMU 回呼 API,將驅動程式配置的記憶體對象對應至 IOMMU 網域。 此欄位會模擬 DXGK_DRIVERCAPS。MemoryManagementCaps.IOMMUSecureModeSupportedDxgkrnl 預期這些功能相符。

IommuIsolationRequired

表示需要 IOMMU,硬體才能正常且安全地運作。 如果系統上沒有 IOMMU,或網域無法連結至裝置,裝置將不會啟動。 此欄位會模擬 DXGK_DRIVERCAPS。MemoryManagementCaps.IOMMUSecureModeRequiredDxgkrnl 預期這些功能相符。

DmaRemappingSupported

表示驅動程式支援線性重新對應,而不只是用於標準隔離的 1:1 對應。 如果多個鏈接的實體適配卡有其最高可見位址的不同值,驅動程式應該報告所有實體適配卡的最小值。

GpuVaIommuRequired

GpuVaIommuGlobalRequired

Reserved

保留;請勿使用 。

Value

存取位的替代方法。

備註

Dxgkrnl 呼叫 DxgkDdiQueryAdapterInfoDXGK_QUERYADAPTERINFOTYPEDXGKQAITYPE_IOMMU_CAPS時,驅動程式會填入這個結構。 Dxgkrnl 會在所有實體適配卡呼叫 DxgkDdiQueryAdapterInfo 之後呼叫 DxgkddiAddDevice ,但在 DxgkddiStartDevice 之前。 驅動程式目前應該知道所有鏈接實體適配卡。

若要指出邏輯 DMA 重新對應支援,驅動程式也必須據以填入 DXGK_PHYSICAL_MEMORY_CAPS

如需詳細資訊,請參閱 IOMMU DMA 重新對應

規格需求

需求
最低支援的伺服器 Windows Server 2022
標頭 d3dkmddi.h

另請參閱

DXGK_PHYSICAL_MEMORY_CAPS

DXGK_QUERYADAPTERINFOTYPE

DXGK_VIDMMCAPS

DxgkddiAddDevice

DxgkDdiQueryAdapterInfo

DxgkddiStartDevice