struttura DXGK_CONTEXTINFO (d3dkmddi.h)
La struttura DXGK_CONTEXTINFO descrive un contesto di dispositivo.
Sintassi
typedef struct _DXGK_CONTEXTINFO {
UINT DmaBufferSize;
UINT DmaBufferSegmentSet;
UINT DmaBufferPrivateDataSize;
UINT AllocationListSize;
UINT PatchLocationListSize;
UINT Reserved;
DXGK_CONTEXTINFO_CAPS Caps;
ULONG PagingCompanionNodeId;
} DXGK_CONTEXTINFO;
Membri
DmaBufferSize
Dimensioni, in byte, del buffer dei comandi hardware inviati tramite l'accesso diretto alla memoria (DMA) all'unità di elaborazione grafica (GPU).
Il buffer DMA può aumentare e compattare dopo la creazione del contesto; Tuttavia, il buffer DMA non può mai ridurre le dimensioni iniziali specificate DmaBufferSize.
DmaBufferSegmentSet
Identificatori dei segmenti in cui il buffer DMA deve essere reso accessibile alla GPU.
DmaBufferPrivateDataSize
Dimensioni, in byte, della struttura di dati privati residenti nel driver associata a ogni buffer DMA. La memoria per questa struttura di dati privati viene allocata da un pool non di pagine. Se il driver specifica zero in DmaBufferPrivateDataSize, non viene allocata alcuna memoria per la struttura di dati privati.
La struttura di dati privati associata a un buffer DMA viene inizializzata su zero quando viene creato il buffer DMA. Durante la durata del buffer DMA, il gestore di memoria video non accede mai alla struttura dei dati privati associata al buffer DMA.
AllocationListSize
Numero iniziale di elementi in una matrice di allocazioni, ovvero una matrice di strutture DXGK_ALLOCATIONLIST. Questo numero è il numero iniziale di allocazioni che il driver richiede di trovarsi nel pAllocationList membri delle strutture di DXGKARG_PRESENT e DXGKARG_RENDER nelle chiamate alle funzioni DxgkDdiPresent e dxgkDdiRender rispettivamente.
L'elenco di allocazioni può aumentare e ridursi dopo la creazione del contesto; Tuttavia, l'elenco di allocazioni non può mai ridurre le dimensioni iniziali specificate AllocationListSize.
PatchLocationListSize
Numero iniziale di elementi in una matrice di posizioni patch (ovvero una matrice di strutture D3DDDI_PATCHLOCATIONLIST) per il dispositivo in modalità utente e in modalità kernel. Questo numero è il numero iniziale di percorsi patch che il driver richiede di trovarsi nel pPatchLocationListIn membri delle strutture di DXGKARG_RENDER nelle chiamate alla relativa funzione DxgkDdiRender.
L'elenco di percorsi patch può aumentare e ridurre dopo la creazione del contesto; Tuttavia, l'elenco di percorsi patch non può mai ridurre le dimensioni iniziali specificate PatchLocationListSize.
Reserved
Questo membro è riservato e deve essere impostato su zero.
Questo membro è disponibile a partire da Windows 7.
Caps
Descrive le funzionalità facoltative supportate dal contesto.
Supportato a partire da Windows 10.
PagingCompanionNodeId
Specifica l'identificatore del motore in base zero del motore da usare per questo complementare di paging del contesto.
Supportato a partire da Windows 10.
Osservazioni
Un driver miniport di visualizzazione specifica i valori per i membri DmaBufferSize e AllocationListSize per garantire che:
- Il sottosistema di grafica Microsoft DirectX può usare un solo buffer DMA (Direct Memory Access) per visualizzare (usando la funzione dxgkDdiPresent del driver miniport di visualizzazione) almeno una struttura RECT per tutti gli scenari.
- Le dimensioni dei buffer DMA e allocation-list sono sufficienti per contenere almeno un comando che non può essere suddiviso tra più buffer.
- Le dimensioni dei buffer DMA e allocation-list sono sufficienti per evitare l'installazione e il sovraccarico DMA.
Se il driver imposta DmaBufferSegmentSet su 0, la gestione memoria video alloca la memoria contigua bloccata a paging, mappata alla memoria combinata di scrittura, per i buffer DMA. Pertanto, la GPU deve accedere ai buffer DMA usando cicli PCI nei computer in cui i trasferimenti AGP che si verificano all'esterno dell'apertura AGP non sono consentiti.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista |
intestazione | d3dkmddi.h (include D3dkmddi.h) |