DXGK_DEVICEINFO struttura (d3dkmddi.h)
La struttura DXGK_DEVICEINFO descrive i parametri richiesti dal sottosistema kernel della grafica Microsoft DirectX dal driver miniport visualizzato.
Sintassi
typedef struct _DXGK_DEVICEINFO {
[out] UINT DmaBufferSize;
[out] UINT DmaBufferSegmentSet;
[out] UINT DmaBufferPrivateDataSize;
[out] UINT AllocationListSize;
[out] UINT PatchLocationListSize;
[out] DXGK_DEVICEINFOFLAGS Flags;
} DXGK_DEVICEINFO;
Members
[out] DmaBufferSize
Le dimensioni, in byte, del buffer dei comandi hardware inviati tramite l'accesso diretto alla memoria (DMA) all'hardware.
Il buffer DMA può aumentare e compattare dopo la creazione del dispositivo; tuttavia, il buffer DMA non può mai ridurre le dimensioni iniziali specificate da DmaBufferSize .
[out] DmaBufferSegmentSet
Gli identificatori dei segmenti in cui i buffer DMA devono essere resi accessibili all'unità di elaborazione grafica (GPU).
[out] DmaBufferPrivateDataSize
Dimensioni, in byte, della struttura di dati privati residenti nel driver associata a ogni buffer DMA. La memoria per questa struttura dati privata viene allocata dal pool non a pagina. Se il driver specifica zero in DmaBufferPrivateDataSize, non viene allocata alcuna memoria per la struttura dei dati privati.
La struttura di dati privata associata a un buffer DMA viene inizializzata su zero quando viene creato il buffer DMA. Durante la durata del buffer DMA, la gestione memoria video non accede mai alla struttura di dati privata associata al buffer DMA.
[out] 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 nei membri pAllocationList di DXGKARG_PRESENTe DXGKARG_RENDER strutture nelle chiamate alle funzioni DxgkDdiPresent e DxgkDdiRender.
L'elenco di allocazione può aumentare e compattare dopo la creazione del dispositivo; Tuttavia, l'elenco di allocazione non può mai ridurre le dimensioni iniziali specificate da AllocationListSize .
[out] PatchLocationListSize
Numero iniziale di elementi in una matrice di posizioni delle 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 di patch che il driver richiede di trovarsi nei membri pPatchLocationListIn delle strutture di DXGKARG_RENDER nelle chiamate alla funzione DxgkDdiRender .
L'elenco di patch-location può aumentare e compattare dopo la creazione del dispositivo; Tuttavia, l'elenco di patch-location non può mai ridurre le dimensioni iniziali specificate da PatchLocationListSize .
[out] Flags
Struttura DXGK_DEVICEINFOFLAGS che identifica, in flag di campo a bit, informazioni sul dispositivo.
Commenti
Il driver miniport visualizzato specifica i valori per i membri DmaBufferSize e AllocationListSize per garantire quanto segue:
- Il sottosistema grafico DirectX può usare un solo buffer DMA per visualizzare (usando la funzione DxgkDdiPresent del driver di visualizzazione) almeno una struttura RECT per tutti gli scenari.
- Le dimensioni dei buffer DMA e di elenco di allocazione sono sufficienti per contenere almeno un comando che non può essere suddiviso tra più buffer.
- Le dimensioni dei buffer DMA e di elenco di allocazione sono sufficienti per evitare il sovraccarico di configurazione e DMA.
Se il driver imposta DmaBufferSegmentSet su 0, la gestione memoria video alloca memoria bloccata a pagina contigua, che viene mappata alla memoria combinata di scrittura, per i buffer DMA. Pertanto, la GPU deve accedere ai buffer DMA usando cicli PCI nei sistemi in cui i trasferimenti AGP che si verificano all'esterno dell'apertura AGP non sono consentiti.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Intestazione | d3dkmddi.h (include D3dkmddi.h) |