struttura D3DKMDT_FENCESTORAGESURFACEDATA (d3dkmddi.h)
La struttura D3DKMDT_FENCESTORAGESURFACEDATA descrive i segmenti di memoria in cui deve essere posizionata l'archiviazione di recinzione.
Sintassi
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;
Membri
PhysicalAdapterIndex
[in] Indice dell'adattatore fisico in una configurazione LDA in cui risiederà l'archiviazione di recinzione.
FenceStorageValueType
[in] Valore DXGKARG_FENCESTORAGEVALUETYPE che specifica il tipo del valore di recinto nativo.
FenceStorageType
[in] Valore D3DDDI_NATIVEFENCE_TYPE che specifica il tipo di recinto nativo.
PrivateDriverDataSize
[in] Dimensioni, in byte, dei dati del driver privato a cui pPrivateDriverData punta.
pPrivateDriverData
[in] Puntatore ai dati del driver privato. Riservato per uso futuro.
Flags
[in] Valore DXGKARG_FENCESTORAGEFLAGS che specifica i flag per l'archiviazione di recinzione.
Reserved
[in] Riservato per uso futuro.
AllocationInfo
[out] Struttura DXGK_ALLOCATIONINFO in cui il driver deve restituire le proprietà di allocazione.
Osservazioni
Quando il sistema operativo chiama il driver in modalità kernel DxgkDdiGetStandardAllocation funzione con un tipo di allocazione standard di D3DKMDT_STANDARDALLOCATION_FENCESTORAGE, il driver deve restituire i segmenti di memoria in cui l'archiviazione di isolamento deve essere posizionata in D3DKMDT_FENCESTORAGESURFACEDATA.
In base ai campi di input, il driver deve compilare le informazioni di allocazione seguenti in AllocationInfo:
- SupportedWriteSegmentSet
- rimozioneSegmentSet
- PreferredSegment
Il driver deve ignorare il puntatore ai dati privati. Il driver non deve verificare che il puntatore sia NULL e non debba richiedere dati privati impostandone le dimensioni.
I valori monitorati delle recinzioni native devono essere posizionati in un segmento di memoria visibile della CPU, perché vengono aggiornati usando puntatori CPU.
Dopo la creazione di un oggetto di isolamento nativo con il tipo di D3DDDI_NATIVEFENCE_TYPE_INTRA_GPU, il driver in modalità utente deve sempre impostare il valore iniziale inviando un pacchetto DMA usando un indirizzo virtuale GPU. I valori correnti vengono compressi in una pagina di memoria 4K, che può trovarsi in un segmento di memoria locale non visibile dalla CPU. Quindi, il sistema operativo non ha un modo per impostare il valore iniziale.
Le allocazioni condivise vengono sempre inserite nella memoria di sistema.
Per altre informazioni, vedere oggetti di isolamento GPU nativi.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 11, versione 24H2 (WDDM 3.2) |
intestazione |
d3dkmddi.h |
Vedere anche
D3DKMDT_STANDARDALLOCATION_TYPE