struttura D3DKMT_RENDER (d3dkmthk.h)
La struttura D3DKMT_RENDER descrive il buffer dei comandi corrente di cui eseguire il rendering.
Sintassi
typedef struct _D3DKMT_RENDER {
union {
[in] D3DKMT_HANDLE hDevice;
[in] D3DKMT_HANDLE hContext;
};
[in] UINT CommandOffset;
[in] UINT CommandLength;
[in] UINT AllocationCount;
[in] UINT PatchLocationCount;
[out] VOID *pNewCommandBuffer;
[in/out] UINT NewCommandBufferSize;
[out] D3DDDI_ALLOCATIONLIST *pNewAllocationList;
[in/out] UINT NewAllocationListSize;
[out] D3DDDI_PATCHLOCATIONLIST *pNewPatchLocationList;
[in/out] UINT NewPatchLocationListSize;
[in] D3DKMT_RENDERFLAGS Flags;
[in] D3DKMT_ALIGN64 ULONGLONG PresentHistoryToken;
[in] ULONG BroadcastContextCount;
D3DKMT_HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
[out] ULONG QueuedBufferCount;
[out] D3DKMT_ALIGN64 D3DGPU_VIRTUAL_ADDRESS NewCommandBuffer;
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
} D3DKMT_RENDER;
Membri
[in] hDevice
Tipo di dati D3DKMT_HANDLE che rappresenta un handle in modalità kernel nel dispositivo in cui viene eseguito il rendering del buffer dei comandi. Un handle di dispositivo viene fornito alla funzione D3DKMTRender
[in] hContext
Oggetto D3DKMT_HANDLE tipo di dati che rappresenta un handle in modalità kernel nel contesto di dispositivo in cui viene eseguito il rendering del buffer dei comandi.
[in] CommandOffset
Offset, in byte, al primo comando nel buffer dei comandi.
[in] CommandLength
Dimensioni, in byte, del buffer dei comandi a partire dall'offset zero.
[in] AllocationCount
Numero di elementi nell'elenco di allocazione inviato.
[in] PatchLocationCount
Numero di elementi nell'elenco patch-location inviato.
[out] pNewCommandBuffer
Puntatore a un buffer dei comandi ricevuto da OpenGL ICD nella chiamata successiva alla funzione D3DKMTRender
Supportato in Windows 7 e versioni successive:
[in] Puntatore al buffer dei comandi di cui eseguire il rendering se il flag RenderKm
[in/out] NewCommandBufferSize
Dimensioni, in byte, richieste da Progettazione immagine e configurazione OpenGL per il buffer dei comandi successivo se il flag
A seconda delle condizioni di memoria correnti, le dimensioni dell'output potrebbero non corrispondere alle dimensioni di input.
[out] pNewAllocationList
Matrice di strutture
Supportato in Windows 7 e versioni successive:
[in] Puntatore all'elenco di allocazioni di cui eseguire il rendering se il flag RenderKm
[in/out] NewAllocationListSize
Numero di elementi che l'ICD OpenGL richiede per l'elenco di allocazione successivo se il flag
A seconda delle condizioni di memoria correnti, le dimensioni dell'output potrebbero non corrispondere alle dimensioni di input.
[out] pNewPatchLocationList
Matrice di strutture D3DDDI_PATCHLOCATIONLIST ricevute dalla progettazione immagine e configurazione OpenGL da usare come elenco di percorsi patch nella chiamata successiva alla funzione D3DKMTRender. Il driver deve sempre aggiornare il puntatore all'elenco dei percorsi patch dopo qualsiasi chiamata a D3DKMTRender indipendentemente dal fatto che la chiamata abbia esito positivo.
[in/out] NewPatchLocationListSize
Numero di elementi che l'ICD OpenGL richiede per l'elenco patch-location successivo se il ResizePatchLocationList flag di campo di bit viene specificato nel membro Flags. Se ResizePatchLocationList non viene specificato, il valore in NewPatchLocationListSize viene ignorato. Nell'output, il driver riceve il numero di elementi che saranno disponibili in una matrice di posizioni patch quando viene inviato il buffer dei comandi successivo.
A seconda delle condizioni di memoria correnti, le dimensioni dell'output potrebbero non corrispondere alle dimensioni di input.
[in] Flags
Struttura D3DKMT_RENDERFLAGS che indica il tipo di buffer dei comandi, in flag di campo di bit, di cui eseguire il rendering.
[in] PresentHistoryToken
Token di cronologia attuale per le chiamate reindirizzate alla funzione
Un token di cronologia presente è un pacchetto di dati inviato dall'app di rendering per informare Desktop Window Manager (DWM) che il rendering è completo e che il buffer back della catena di scambio è pronto per essere presentato.
[in] BroadcastContextCount
Numero di contesti aggiuntivi nella matrice specificata BroadcastContext.
[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
Matrice di D3DKMT_HANDLE tipi di dati che rappresentano handle in modalità kernel nei contesti aggiuntivi a cui trasmettere il buffer dei comandi corrente. La costante D3DDDI_MAX_BROADCAST_CONTEXT, definita come 64, definisce il numero massimo di contesti a cui OpenGL ICD può trasmettere il buffer dei comandi corrente.
Il contesto originale specificato dal membro hContext
[out] QueuedBufferCount
Numero di buffer DMA accodati al contesto specificato dal membro hContext dopo l'invio.
[out] NewCommandBuffer
Puntatore a un buffer dei comandi ricevuto da OpenGL ICD nella chiamata successiva alla funzione D3DKMTRender
Supportato in Windows 7 e versioni successive:
[in] Puntatore al buffer dei comandi di cui eseguire il rendering se il flag RenderKm
pPrivateDriverData
Questo membro è riservato e deve essere impostato su zero.
Questo membro è disponibile a partire da Windows 7.
PrivateDriverDataSize
Questo membro è riservato e deve essere impostato su zero.
Questo membro è disponibile a partire da Windows 7.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Vista |
intestazione |
d3dkmthk.h (include D3dkmthk.h) |