struttura D3DDDICB_RENDER (d3dumddi.h)
La struttura D3DDDICB_RENDER descrive il buffer del comando corrente di cui eseguire il rendering.
Sintassi
typedef struct _D3DDDICB_RENDER {
UINT CommandLength;
UINT CommandOffset;
UINT NumAllocations;
UINT NumPatchLocations;
VOID *pNewCommandBuffer;
UINT NewCommandBufferSize;
D3DDDI_ALLOCATIONLIST *pNewAllocationList;
UINT NewAllocationListSize;
D3DDDI_PATCHLOCATIONLIST *pNewPatchLocationList;
UINT NewPatchLocationListSize;
D3DDDICB_RENDERFLAGS Flags;
HANDLE hContext;
UINT BroadcastContextCount;
HANDLE BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
ULONG QueuedBufferCount;
D3DGPU_VIRTUAL_ADDRESS NewCommandBuffer;
VOID *pPrivateDriverData;
UINT PrivateDriverDataSize;
D3DDDI_MARKERLOGTYPE MarkerLogType;
UINT RenderCBSequence;
union {
struct {
UINT FirstAPISequenceNumberHigh;
UINT CompletedAPISequenceNumberLow0Size;
UINT CompletedAPISequenceNumberLow1Size;
UINT BegunAPISequenceNumberLow0Size;
UINT BegunAPISequenceNumberLow1Size;
};
UINT BatchedMarkerDataCount;
};
union {
struct {
const UINT *pCompletedAPISequenceNumberLow0;
const UINT *pCompletedAPISequenceNumberLow1;
const UINT *pBegunAPISequenceNumberLow0;
const UINT *pBegunAPISequenceNumberLow1;
};
const D3DDDI_BATCHEDMARKERDATA *pBatchedMarkerData;
};
} D3DDDICB_RENDER;
Members
CommandLength
[in] Dimensioni, in byte, del buffer dei comandi, a partire dall'offset zero.
CommandOffset
[in] Offset, in byte, al primo comando nel buffer dei comandi.
NumAllocations
[in] Numero di elementi nell'elenco di allocazione.
NumPatchLocations
[in] Numero di elementi nell'elenco patch-location.
pNewCommandBuffer
[out] Puntatore a un buffer dei comandi ricevuto dal driver di visualizzazione in modalità utente da usare nella chiamata successiva alla funzione pfnRenderCb .
NewCommandBufferSize
[in/out] Dimensione, in byte, richiesta dal driver in modalità utente per il buffer di comando successivo.
Il driver riceve le dimensioni, in byte, del buffer dei comandi successivo da usare.
pNewAllocationList
[out] Matrice di strutture D3DDDI_ALLOCATIONLIST ricevute dal driver di visualizzazione in modalità utente da usare come elenco di allocazione nella chiamata successiva alla funzione pfnRenderCb .
NewAllocationListSize
[in/out] Numero di elementi che il driver visualizzato in modalità utente richiede per l'elenco di allocazione successivo.
Il driver riceve il numero di elementi per l'elenco di allocazione che sarà disponibile quando viene inviato il buffer dei comandi successivo.
pNewPatchLocationList
[out] Matrice di strutture D3DDDI_PATCHLOCATIONLIST ricevute dal driver di visualizzazione in modalità utente da usare come elenco patch-location nella chiamata successiva alla funzione pfnRenderCb .
NewPatchLocationListSize
[in/out] Numero di elementi che il driver visualizzato in modalità utente richiede per l'elenco patch-location successivo.
Il driver riceve il numero di elementi per l'elenco patch-location che sarà disponibile quando viene inviato il buffer dei comandi successivo.
Flags
[in] Struttura D3DDDICB_RENDERFLAGS che indica le informazioni su un buffer dei comandi di cui eseguire il rendering.
hContext
[in] Handle al contesto a cui il driver invia l'operazione di rendering. Il driver di visualizzazione in modalità utente ha creato in precedenza questo contesto chiamando la funzione pfnCreateContextCb .
BroadcastContextCount
[in] Numero di contesti aggiuntivi nella matrice specificata dal membro BroadcastContext .
BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]
[in] Matrice di handle per i contesti aggiuntivi a cui trasmettere il buffer del comando corrente. La costante D3DDDI_MAX_BROADCAST_CONTEXT, definita come 64, definisce il numero massimo di contesti aggiuntivi a cui il driver di visualizzazione in modalità utente può trasmettere il buffer del comando corrente.
Il contesto originale specificato dal membro hContext e proprietario del buffer dei comandi non è un elemento nella matrice BroadcastContext . Ad esempio, se la matrice BroadcastContext contiene un elemento, il driver di visualizzazione in modalità utente invia il buffer dei comandi al contesto proprietario (hContext) e trasmette a tale contesto aggiuntivo.
QueuedBufferCount
[out] Numero di buffer DMA accodati al contesto specificato dal membro hContext dopo l'invio corrente.
NewCommandBuffer
Questo membro è riservato e deve essere impostato su zero.
Questo membro è disponibile a partire da Windows 7.
pPrivateDriverData
[in] Questo membro è riservato e deve essere impostato su zero.
Questo membro è disponibile a partire da Windows 7.
PrivateDriverDataSize
[in] Questo membro è riservato e deve essere impostato su zero.
Questo membro è disponibile a partire da Windows 7.
MarkerLogType
Enumerazione D3DDDI_MARKERLOGTYPE che indica il tipo di marcatore nel log ETW (Event Tracing for Windows) supportato dal driver di visualizzazione in modalità utente.
RenderCBSequence
Identificatore univoco per ogni chiamata di funzione pfnRenderCb . Inizia con il valore 1 per i contesti associati alle DDI in modalità utente a thread singolo e a un valore di 0x80000001 per i contesti associati alle DDI in modalità utente a thread libero. Il driver di visualizzazione in modalità utente deve incrementare il valore per ogni chiamata pfnRenderCb eseguita su qualsiasi motore.
FirstAPISequenceNumberHigh
Usato dal driver per passare il numero di sequenza API del contesto.
CompletedAPISequenceNumberLow0Size
Usato dal driver per passare il numero di sequenza API del contesto.
CompletedAPISequenceNumberLow1Size
Usato dal driver per passare il numero di sequenza API del contesto.
BegunAPISequenceNumberLow0Size
Usato dal driver per passare il numero di sequenza API del contesto.
BegunAPISequenceNumberLow1Size
Usato dal driver per passare il numero di sequenza API del contesto.
BatchedMarkerDataCount
pCompletedAPISequenceNumberLow0
Puntatore usato dal driver per passare il numero di sequenza API del contesto.
pCompletedAPISequenceNumberLow1
Puntatore usato dal driver per passare il numero di sequenza API del contesto.
pBegunAPISequenceNumberLow0
Puntatore usato dal driver per passare il numero di sequenza API del contesto.
pBegunAPISequenceNumberLow1
Puntatore usato dal driver per passare il numero di sequenza API del contesto.
pBatchedMarkerData
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista |
Intestazione | d3dumddi.h (include D3dumddi.h) |