Condividi tramite


struttura D3DDDICB_RENDER (d3dumddi.h)

La struttura D3DDDICB_RENDER descrive il buffer dei comandi 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;

Membri

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 nella chiamata successiva alla funzione pfnRenderCb.

NewCommandBufferSize

[in/out] Dimensioni, in byte, richieste dal driver in modalità utente per il buffer dei comandi 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 come elenco di allocazioni nella chiamata successiva alla funzione pfnRenderCb.

NewAllocationListSize

[in/out] Numero di elementi che l'utente visualizza le richieste del driver 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 come elenco di percorsi patch 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 di percorsi patch che saranno disponibili quando viene inviato il buffer dei comandi successivo.

Flags

[in] Struttura D3DDDICB_RENDERFLAGS che indica 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 funzionepfnCreateContextCb.

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 pfnRenderCb chiamata di funzione. Inizia con un valore pari a 1 per i contesti associati a DDI in modalità utente a thread singolo e intervalli 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

Fabbisogno

Requisito Valore
client minimo supportato Windows Vista
intestazione d3dumddi.h (include D3dumddi.h)

Vedere anche

D3DDDICB_RENDERFLAGS

D3DDDI_ALLOCATIONLIST

D3DDDI_PATCHLOCATIONLIST

pfnRenderCb