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) |