DXGK_VIDMMCAPS Struktur (d3dkmddi.h)
Die DXGK_VIDMMCAPS Struktur identifiziert die Videospeicherverwaltungsfunktionen, die ein Kernelmodus-Miniporttreiber (KMD) unterstützt.
Syntax
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;
Angehörige
OutOfOrderLock
Gibt an, ob der Treiber andere Zuordnungsinstanzen als die neueste Instanz sperren kann. Der Treiber legt diesen Wert in der Regel für DDI-Threading und Lastenausgleich fest, wenn ein DDI-Thread einen Vertexpuffer sperren muss, den ein Anwendungsthread zuvor gesperrt und verworfen hatte.
DedicatedPagingEngine
Dieses Element ist reserviert und sollte auf Null festgelegt werden.
PagingEngineCanSwizzle
Dieses Element ist reserviert und sollte auf Null festgelegt werden.
SectionBackedPrimary
Gibt an, ob der Treiber abschnittsgestützte primäre Zuordnungen unterstützt. Wird ab Windows 8 unterstützt.
CrossAdapterResource
Gibt an, ob der Treiber Unterstützung für das Kopieren in und aus adapterübergreifenden Ressourcen in einem Hybridsystembietet. Wird ab Windows 8.1 unterstützt.
Ab WDDM 2.4 ermöglicht DXGI die aktuellen Hybridpräsentationsoptimierungen für das breitere Szenario, wo sich das Rendering auf einer GPU befindet und auf dem Monitor einer anderen GPU präsentiert wird. Dies ist nur möglich, wenn beide GPUs Adapterübergreifende Ressourcen unterstützen.
Die Eigenschaften der Adapterressourcen sind unten aufgeführt.
- Die Ressource kann nur für das Blenden-GPU-Speichersegment ausgelagert werden.
- Die Ressource wird als freigegeben zugewiesen.
- Die Ressource muss als CPU Sichtbar gekennzeichnet sein.
- Die Zuordnung wird vom Betriebssystem als "write-combined" erstellt.
- Die Ressource weist nur eine Zuordnung auf und weist das lineare Format auf.
- Die Ressource verfügt über eine standardmäßige Ausrichtung des Pitches (128 Byte). Die D3DKMT_CROSS_ADAPTER_RESOURCE_PITCH_ALIGNMENT Definition wird für die Ausrichtung der Neigung hinzugefügt. Die Ressource muss am kleinsten Vielfachen dieser Ausrichtung erstellt werden, die den Ressourceninhalt enthält.
- Die Ressource hat eine Standardhöhenausrichtung (4 Zeilen). Die D3DKMT_CROSS_ADAPTER_RESOURCE_HEIGHT_ALIGNMENT wird hinzugefügt. Die Ressource muss am kleinsten Vielfachen dieser Ausrichtung erstellt werden, die den Ressourceninhalt enthält.
#define D3DKMT_CROSS_ADAPTER_RESOURCE_PITCH_ALIGNMENT 128
#define D3DKMT_CROSS_ADAPTER_RESOURCE_HEIGHT_ALIGNMENT 4
- Die Startadresse des Ressourcenspeichers wird an einer Seitengrenze ausgerichtet.
- Die Ressource kann als Standardzuordnung aus dem Kernelmodus erstellt und später von der UMD geöffnet werden.
- Die Ressource kann von der UMD erstellt werden.
Die Übergreifende Adapterzuordnung kann als primär verwendet werden, aber der Treiber erhält keine Informationen, die normalerweise beim Erstellen der primären Datei bereitgestellt werden.
VirtualAddressingSupported
Gibt an, ob der Treiber die Adressierung des virtuellen Speichers unterstützt. Um die UNTERSTÜTZUNG für die ADRESSIERUNG virtueller GPU-Speicher auszudrücken, sollte der Treiber die VirtualAddressingSupported Cap und GpuMmuSupported oder IoMmuSupported Caps festlegen. GpuMmuSupported und IoMmuSupported nicht gleichzeitig festgelegt werden können. Wird ab Windows 10 (WDDM 2.0) unterstützt.
GpuMmuSupported
Gibt an, ob der Adapter das GpuMmu--Modell unterstützt. Ein Adapter kann die GpuMmu- und die IoMmu- Modelle auf verschiedenen Motoren nicht gleichzeitig unterstützen. Weitere Informationen finden Sie unter GpuMmu-Modell. Wird ab Windows 10 (WDDM 2.0) unterstützt.
IoMmuSupported
Gibt an, ob der Adapter das IoMmu--Modell unterstützt. Ein Adapter kann die GpuMmu- und die IoMmu- Modelle auf verschiedenen Motoren nicht gleichzeitig unterstützen. Weitere Informationen finden Sie unter IoMmu-Modell. Wird ab Windows 10 (WDDM 2.0) unterstützt.
ReplicateGdiContent
Gibt an, ob der Adapter die Replikation von GDI-Inhalten unterstützt. Wird ab Windows 10 (WDDM 2.0) unterstützt.
NonCpuVisiblePrimary
Gibt an, dass GDI-Zuordnungen nicht für die CPU sichtbar sind. Wird ab Windows 10 (WDDM 2.0) unterstützt.
ParavirtualizationSupported
Gibt an, dass die KMD GPU-Paravirtualisierungunterstützt. Der Host-KMD muss die Obergrenze festlegen, wenn alle DDIs implementiert sind. Eingeführt in Windows 10, Version 1703 (WDDM 2.2).
IoMmuSecureModeSupported
Gibt an, dass der Treiber IOMMU-basierte GPU-Isolationunterstützt. Unterstützt ab Windows 10, Version 1803 (WDDM 2.4).
DisableSelfRefreshVRAMInS3
Deaktivieren Sie die Unterstützung für die selbstaktualisierung von VRAM in S3. Unterstützt ab Windows 10, Version 1803.
IoMmuSecureModeRequired
Gibt an, dass die IOMMU-Hardware- und Isolationsunterstützung (die durch die IommuSecureModeSupported Flag bezeichnet wird) erforderlich ist oder das Betriebssystem den Adapter andernfalls nicht startet. Unterstützt ab Windows 10, Version 2004 (WDDM 2.7).
MapAperture2Supported
Gibt an, dass der Treiber den DXGK_OPERATION_MAP_APERTURE_SEGMENT2 Pagingpuffervorgang unterstützt, der für IOMMU DMA-Neumappingerforderlich ist. Unterstützt ab WDDM, Version 2.9.
CrossAdapterResourceTexture
Gibt an, ob der Treiber Unterstützung für Texturierung der Ebene 2 von adapterübergreifenden Ressourcen bietet. Ein Treiber, der die Unterstützung für CrossAdapterResourceTexture- angibt, muss auch die Unterstützung für CrossAdapterResource-angeben. Unterstützt ab WDDM, Version 2.9.
CrossAdapterResourceScanout
Gibt an, ob der Treiber Unterstützung der Stufe 3 für das Scannen von Adapterressourcen bietet. Ein Treiber, der die Unterstützung für CrossAdapterResourceScanout- angibt, muss auch die Unterstützung für CrossAdapterResource- und CrossAdapterResourceTexture-angeben. Unterstützt ab WDDM, Version 2.9.
Die Unterstützung der Stufe 3 erfordert, dass der Treiber die unterstützten Flippingfunktionen ausführen kann, die vom Treiber in DXGK_FLIPCAPSdeklariert werden, für adapterübergreifende Ressourcen der folgenden Mindestspezifikationen:
- Primäre Puffergröße des Queradapters von 1920 x 1080 oder kleiner
- Pufferpixelformat eines der folgenden unterstützten DisplayScanOut-Formate:
- 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
Die DXGI-Laufzeit fragt die CrossAdapterResourceScanout Unterstützung des Treibers ab, und wenn dies unterstützt wird, wird der Präsentationsstapel den 1 Kopierpfad herunterfahren. Daher sind Auch Treiber erforderlich, die unterstützung für CrossAdapterResourceScanout- deklarieren:
- Support DXGKDDI_CHECKMULTIPLANEOVERLAYSUPPORT3.
- Unterstützen Sie alle relevanten präsentationsbezogenen DDIs für Cross-Adapter-Primaries der oben genannten Mindestspezifikationen. Einige Beispiele sind pfnCreateResource, pfnCheckMultiplaneOverlaySupport und pfnPresentMultiplaneOverlay/pfnPresent1. Bitte beziehen Sie sich auf vorhandene Spezifikationen für die erforderlichen Details, z. B. MPO-Spezifikation und Hybridspezifikation. Weitere Informationen zum Ausfall von CASO finden Sie im folgenden Abschnitt.
AlwaysPoweredVRAM
Reserved
Dieses Element ist reserviert und sollte auf Null festgelegt werden. Das Festlegen dieses Elements auf Null entspricht dem Festlegen der verbleibenden 31 Bits (nach dem Festlegen OutOfOrderLock-) des Value Members auf Nullen. Beachten Sie, dass reservierte nur verfügbar ist, wenn DXGKDDI_INTERFACE_VERSION < DXGKDDI_INTERFACE_VERSION_WIN7.
Value
Dieser Wert wird verwendet, um die Mitglieder zusammen zu bearbeiten.
PagingNode
Der nullbasierte Index des Knotens, der für Pagingvorgänge verwendet werden soll. Wenn der Treiber das MultiEngineAware- Bitfeldmember des SchedulingCaps Member der DXGK_DRIVERCAPS-Struktur nicht festlegt, ignoriert das DirectX-Grafik-Kernel-Subsystem die Einstellung PagingNode-. Dieses Mitglied gilt nur für WDDM 1.x. In WDDM 2.x wurde PagingNode- in DXGK_PHYSICALADAPTERCAPSverschoben.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows Vista (WDDM 1.0) |
Header- | d3dkmddi.h (einschließlich D3dkmddi.h) |