Condividi tramite


DXGK_CONTEXTINFO struttura (d3dkmddi.h)

La struttura DXGK_CONTEXTINFO descrive un contesto del 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;

Members

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 da DmaBufferSize .

DmaBufferSegmentSet

Gli 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 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.

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 rispettivamente nei membri pAllocationList dei DXGKARG_PRESENT e dellestrutture DXGKARG_RENDER nelle chiamate alle funzioni DxgkDdiPresent e DxgkDdiRender.

L'elenco di allocazione può aumentare e compattarsi dopo la creazione del contesto; Tuttavia, l'elenco di allocazione non può mai ridurre le dimensioni iniziali specificate da AllocationListSize .

Nota Se DXGK_CREATECONTEXTFLAGS. GdiContext è impostato su 1, ovvero il contesto viene creato come contesto specifico di GDI, AllocationListSize deve essere impostato su un valore pari a 256.
 

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ò crescere e compattarsi dopo la creazione del contesto; Tuttavia, l'elenco di patch-location non può mai ridurre le dimensioni iniziali specificate da 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.

Commenti

Un driver miniport visualizzato specifica i valori per i membri DmaBufferSize e AllocationListSize per garantire che:

  • Il sottosistema grafico Microsoft DirectX può usare un solo buffer DMA (Direct Memory Access) 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.
Il driver miniport visualizzato può specificare solo segmenti di apertura nel membro DmaBufferSegmentSet ; se il driver specifica un segmento di memoria, si verifica un errore di creazione del contesto.

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 computer 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)

Vedi anche

D3DDDI_PATCHLOCATIONLIST

DXGKARG_CREATECONTEXT

DXGKARG_PRESENT

DXGKARG_RENDER

DXGK_ALLOCATIONLIST

DXGK_CREATECONTEXTFLAGS

DxgkDdiPresent

DxgkDdiRender

RECT