estrutura DXGK_CONTEXTINFO (d3dkmddi.h)
A estrutura DXGK_CONTEXTINFO descreve um contexto de dispositivo.
typedef struct _DXGK_CONTEXTINFO {
UINT DmaBufferSize;
UINT DmaBufferSegmentSet;
UINT DmaBufferPrivateDataSize;
UINT AllocationListSize;
UINT PatchLocationListSize;
UINT Reserved;
DXGK_CONTEXTINFO_CAPS Caps;
ULONG PagingCompanionNodeId;
} DXGK_CONTEXTINFO;
DmaBufferSize
O tamanho, em bytes, do buffer de comandos de hardware que é enviado por meio de DMA (acesso direto à memória) para a GPU (unidade de processamento de gráficos).
O buffer de DMA pode crescer e reduzir após a criação do contexto; no entanto, o buffer de DMA nunca pode reduzir menor que o tamanho inicial que especifica DmaBufferSize.
DmaBufferSegmentSet
Os identificadores dos segmentos em que o buffer de DMA deve ser disponibilizado para a GPU.
DmaBufferPrivateDataSize
O tamanho, em bytes, da estrutura de dados privados residente no driver associada a cada buffer de DMA. A memória dessa estrutura de dados privados é alocada do pool nãopagado. Se o driver especificar zero em DmaBufferPrivateDataSize, nenhuma memória será alocada para a estrutura de dados privada.
A estrutura de dados privados associada a um buffer de DMA é inicializada como zero quando o buffer de DMA é criado. Durante o tempo de vida do buffer de DMA, o gerenciador de memória de vídeo nunca acessa a estrutura de dados privada associada ao buffer de DMA.
AllocationListSize
O número inicial de elementos em uma matriz de alocações (ou seja, uma matriz de estruturas de DXGK_ALLOCATIONLIST). Esse número é o número inicial de alocações que o driver solicita estar no pAllocationList membros das estruturas DXGKARG_PRESENT e DXGKARG_RENDER em chamadas para as funções DxgkDdiPresent e DxgkDdiRender, respectivamente.
A lista de alocação pode crescer e reduzir após a criação do contexto; no entanto, a lista de alocação nunca pode reduzir menor do que o tamanho inicial especificado AllocationListSize.
PatchLocationListSize
O número inicial de elementos em uma matriz de locais de patch (ou seja, uma matriz de estruturas de D3DDDI_PATCHLOCATIONLIST) para o dispositivo no modo de usuário e no modo kernel. Esse número é o número inicial de locais de patch que o driver solicita estar no pPatchLocationListIn membros das estruturas de DXGKARG_RENDER em chamadas para sua função DxgkDdiRender.
A lista de locais de patch pode crescer e reduzir após a criação do contexto; no entanto, a lista de locais de patch nunca pode reduzir menor do que o tamanho inicial que especifica PatchLocationListSize.
Reserved
Esse membro é reservado e deve ser definido como zero.
Este membro está disponível a partir do Windows 7.
Caps
Descreve os recursos opcionais compatíveis com o contexto.
Com suporte a partir do Windows 10.
PagingCompanionNodeId
Especifica o identificador de mecanismo baseado em zero do mecanismo a ser usado para esse complemento de paginação de contexto.
Com suporte a partir do Windows 10.
Um driver de miniporto de exibição especifica valores para os membros DmaBufferSize e AllocationListSize para garantir que:
- O subsistema gráfico do Microsoft DirectX pode usar apenas um buffer de DMA (acesso direto à memória) para exibir (usando a estrutura DxgkDdiPresent do driver de miniporto de exibição) pelo menos um estrutura de RECT para todos os cenários.
- Os tamanhos de buffers de DMA e lista de alocação são grandes o suficiente para manter pelo menos um comando que não pode ser dividido entre vários buffers.
- Os tamanhos de buffers de DMA e lista de alocação são grandes o suficiente para evitar a instalação e a sobrecarga de DMA.
Se o driver definir DmaBufferSegmentSet como 0, o gerenciador de memória de vídeo alocará memória bloqueada com página contígua, que é memória mapeada com gravação combinada, para os buffers de DMA. Portanto, a GPU deve acessar buffers de DMA usando ciclos de PCI em computadores em que as transferências de AGP que ocorrem fora da abertura do AGP não são permitidas.
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista |
cabeçalho | d3dkmddi.h (inclua D3dkmddi.h) |