Condividi tramite


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)

Vedi anche

D3DDDICB_RENDERFLAGS

D3DDDI_ALLOCATIONLIST

D3DDDI_PATCHLOCATIONLIST

pfnRenderCb