estrutura D3DDDICB_RENDER (d3dumddi.h)

A estrutura D3DDDICB_RENDER descreve o buffer de comando atual a ser renderizado.

Sintaxe

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;

Membros

CommandLength

[in] O tamanho, em bytes, do buffer de comando, começando do deslocamento zero.

CommandOffset

[in] O deslocamento, em bytes, para o primeiro comando no buffer de comando.

NumAllocations

[in] O número de elementos na lista de alocação.

NumPatchLocations

[in] O número de elementos na lista de locais de patch.

pNewCommandBuffer

[out] Um ponteiro para um buffer de comando que o driver de exibição do modo de usuário recebe para usar em sua próxima chamada para a função pfnRenderCb .

NewCommandBufferSize

[entrada/saída] O tamanho, em bytes, que o driver de exibição do modo de usuário solicita para o próximo buffer de comando.

O driver recebe o tamanho, em bytes, do próximo buffer de comando a ser usado.

pNewAllocationList

[out] Uma matriz de estruturas de D3DDDI_ALLOCATIONLIST que o driver de exibição do modo de usuário recebe para usar como a lista de alocação em sua próxima chamada para a função pfnRenderCb .

NewAllocationListSize

[entrada/saída] O número de elementos que o driver de modo de usuário solicita para a próxima lista de alocação.

O driver recebe o número de elementos para a lista de alocação que estará disponível quando o próximo buffer de comando for enviado.

pNewPatchLocationList

[out] Uma matriz de estruturas de D3DDDI_PATCHLOCATIONLIST que o driver de exibição do modo de usuário recebe para usar como a lista de locais de patch em sua próxima chamada para a função pfnRenderCb .

NewPatchLocationListSize

[entrada/saída] O número de elementos que o driver de modo de usuário exibe solicita para a próxima lista de locais de patch.

O driver recebe o número de elementos para a lista de locais de patch que estarão disponíveis quando o próximo buffer de comando for enviado.

Flags

[in] Uma estrutura D3DDDICB_RENDERFLAGS que indica informações sobre um buffer de comando a ser renderizado.

hContext

[in] Um identificador para o contexto ao qual o driver envia a operação de renderização. O driver de exibição do modo de usuário criou esse contexto anteriormente chamando a função pfnCreateContextCb .

BroadcastContextCount

[in] O número de contextos adicionais na matriz especificada pelo membro BroadcastContext .

BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

[in] Uma matriz de identificadores para os contextos adicionais para os qual transmitir o buffer de comando atual. A constante D3DDDI_MAX_BROADCAST_CONTEXT, que é definida como 64, define o número máximo de contextos adicionais para os quais o driver de exibição do modo de usuário pode transmitir o buffer de comando atual.

O contexto original que o membro hContext especifica e que possui o buffer de comando não é um elemento na matriz BroadcastContext . Por exemplo, se a matriz BroadcastContext contiver um elemento, o driver de exibição do modo de usuário enviará o buffer de comando para o contexto proprietário (hContext) e transmitirá para esse contexto adicional.

QueuedBufferCount

[out] O número de buffers de DMA que são enfileirados no contexto especificado pelo membro hContext após o envio atual.

NewCommandBuffer

Esse membro é reservado e deve ser definido como zero.

Esse membro está disponível a partir do Windows 7.

pPrivateDriverData

[in] Esse membro é reservado e deve ser definido como zero.

Esse membro está disponível a partir do Windows 7.

PrivateDriverDataSize

[in] Esse membro é reservado e deve ser definido como zero.

Esse membro está disponível a partir do Windows 7.

MarkerLogType

Um D3DDDI_MARKERLOGTYPE enumeração que indica o tipo de marcador no log ETW (Rastreamento de Eventos para Windows) compatível com o driver de exibição no modo de usuário.

RenderCBSequence

Um identificador exclusivo para cada chamada de função pfnRenderCb . Começa com um valor de 1 para contextos associados a DDIs de modo de usuário de thread único e intervalos para um valor de 0x80000001 para contextos associados aos DDIs do modo de usuário de thread livre. O driver de exibição do modo de usuário deve incrementar o valor para cada chamada pfnRenderCb feita em qualquer mecanismo.

FirstAPISequenceNumberHigh

Usado pelo driver para passar o número de sequência de API do contexto.

CompletedAPISequenceNumberLow0Size

Usado pelo driver para passar o número de sequência de API do contexto.

CompletedAPISequenceNumberLow1Size

Usado pelo driver para passar o número de sequência de API do contexto.

BegunAPISequenceNumberLow0Size

Usado pelo driver para passar o número de sequência de API do contexto.

BegunAPISequenceNumberLow1Size

Usado pelo driver para passar o número de sequência de API do contexto.

BatchedMarkerDataCount

pCompletedAPISequenceNumberLow0

Um ponteiro usado pelo driver para passar o número de sequência de API do contexto.

pCompletedAPISequenceNumberLow1

Um ponteiro usado pelo driver para passar o número de sequência de API do contexto.

pBegunAPISequenceNumberLow0

Um ponteiro usado pelo driver para passar o número de sequência de API do contexto.

pBegunAPISequenceNumberLow1

Um ponteiro usado pelo driver para passar o número de sequência de API do contexto.

pBatchedMarkerData

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista
Cabeçalho d3dumddi.h (inclua D3dumddi.h)

Confira também

D3DDDICB_RENDERFLAGS

D3DDDI_ALLOCATIONLIST

D3DDDI_PATCHLOCATIONLIST

pfnRenderCb