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 exibe 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 comandos 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 exibição do modo de usuário solicita para a próxima lista de locais de patch.
O driver recebe o número de elementos da lista de locais de patch que estarão disponíveis quando o próximo buffer de comandos 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 no modo de usuário pode transmitir o buffer de comando atual.
O contexto original especificado pelo membro do hContext 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 que o hContext membro especifica após o envio atual.
NewCommandBuffer
Esse membro é reservado e deve ser definido como zero.
Este membro está disponível a partir do Windows 7.
pPrivateDriverData
[in] Esse membro é reservado e deve ser definido como zero.
Este membro está disponível a partir do Windows 7.
PrivateDriverDataSize
[in] Esse membro é reservado e deve ser definido como zero.
Este membro está disponível a partir do Windows 7.
MarkerLogType
Uma enumeração D3DDDI_MARKERLOGTYPE 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 a DDIs de modo de usuário com thread livre. O driver de exibição do modo de usuário deve incrementar o valor para cada chamada pfnRenderCb que ele faz 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 |
---|---|
de cliente com suporte mínimo | Windows Vista |
cabeçalho | d3dumddi.h (inclua D3dumddi.h) |