D3DKMDT_FENCESTORAGESURFACEDATA Struktur (d3dkmddi.h)
Die D3DKMDT_FENCESTORAGESURFACEDATA Struktur beschreibt die Speichersegmente, in denen der Zaunspeicher platziert werden soll.
Syntax
typedef struct _D3DKMDT_FENCESTORAGESURFACEDATA {
UINT PhysicalAdapterIndex;
DXGKARG_FENCESTORAGEVALUETYPE FenceStorageValueType;
D3DDDI_NATIVEFENCE_TYPE FenceStorageType;
UINT PrivateDriverDataSize;
BYTE *pPrivateDriverData;
DXGKARG_FENCESTORAGEFLAGS Flags;
UINT Reserved;
DXGK_ALLOCATIONINFO AllocationInfo;
} D3DKMDT_FENCESTORAGESURFACEDATA;
Angehörige
PhysicalAdapterIndex
[in] Der Index des physischen Adapters in einer LDA-Konfiguration, in der sich der Zaunspeicher befindet.
FenceStorageValueType
[in] Ein DXGKARG_FENCESTORAGEVALUETYPE Wert, der den Typ des systemeigenen Zaunwerts angibt.
FenceStorageType
[in] Ein D3DDDI_NATIVEFENCE_TYPE Wert, der den Typ des systemeigenen Zauns angibt.
PrivateDriverDataSize
[in] Die Größe der privaten Treiberdaten in Byte, auf die pPrivateDriverData verweist.
pPrivateDriverData
[in] Ein Zeiger auf die daten des privaten Treibers. Reserviert für die zukünftige Verwendung.
Flags
[in] Ein DXGKARG_FENCESTORAGEFLAGS Wert, der die Flags für den Zaunspeicher angibt.
Reserved
[in] Reserviert für die zukünftige Verwendung.
AllocationInfo
[out] Eine DXGK_ALLOCATIONINFO Struktur, in der der Treiber Zuordnungseigenschaften zurückgeben soll.
Bemerkungen
Wenn das Betriebssystem die DxgkDdiGetStandardAllocation Funktion des Kernelmodustreibers mit einem Standardzuordnungstyp von D3DKMDT_STANDARDALLOCATION_FENCESTORAGEaufruft, muss der Treiber die Speichersegmente zurückgeben, in denen der Zaunspeicher in D3DKMDT_FENCESTORAGESURFACEDATAplatziert werden soll.
Basierend auf den Eingabefeldern muss der Treiber die folgenden Zuordnungsinformationen in AllocationInfo-ausfüllen:
- SupportedWriteSegmentSet-
- EvictionSegmentSet
- PreferredSegment-
Der Treiber sollte den Zeiger auf private Daten ignorieren. Der Treiber sollte nicht überprüfen, ob der Zeiger NULL ist und keine privaten Daten anfordern sollte, indem er seine Größe festlegt.
Überwachte Werte systemeigener Zäune müssen in einem CPU-sichtbaren Speichersegment platziert werden, da sie mithilfe von CPU-Zeigern aktualisiert werden.
Nach der Erstellung eines systemeigenen Zaunobjekts, das den D3DDDI_NATIVEFENCE_TYPE_INTRA_GPU Typ aufweist, muss der Benutzermodustreiber immer den Anfangswert festlegen, indem ein DMA-Paket mit einer virtuellen GPU-Adresse übermittelt wird. Aktuelle Werte werden auf einer 4K-Speicherseite verpackt, die sich in einem nicht CPU sichtbaren lokalen Speichersegment befinden kann. Das Betriebssystem hat also keine Möglichkeit, den Anfangswert festzulegen.
Freigegebene Zuordnungen werden immer im Systemspeicher platziert.
Weitere Informationen finden Sie unter native GPU-Zaunobjekte.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Windows 11, Version 24H2 (WDDM 3.2) |
Header- | d3dkmddi.h |
Siehe auch
D3DKMDT_STANDARDALLOCATION_TYPE