estrutura DXGK_CONTEXTINFO (d3dkmddi.h)
A estrutura DXGK_CONTEXTINFO descreve um contexto de dispositivo.
Sintaxe
typedef struct _DXGK_CONTEXTINFO {
UINT DmaBufferSize;
UINT DmaBufferSegmentSet;
UINT DmaBufferPrivateDataSize;
UINT AllocationListSize;
UINT PatchLocationListSize;
UINT Reserved;
DXGK_CONTEXTINFO_CAPS Caps;
ULONG PagingCompanionNodeId;
} DXGK_CONTEXTINFO;
Membros
DmaBufferSize
O tamanho, em bytes, do buffer de comandos de hardware enviados por meio de DMA (acesso direto à memória) para a GPU (unidade de processamento gráfico).
O buffer de DMA pode crescer e diminuir após a criação do contexto; no entanto, o buffer de DMA nunca pode reduzir menor do que o tamanho inicial especificado por 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 privados.
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 para estar nos membros pAllocationList do DXGKARG_PRESENT e DXGKARG_RENDER estruturas em chamadas para as funções DxgkDdiPresent e DxgkDdiRender do driver, 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 por 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 para estar nos membros pPatchLocationListIn das estruturas DXGKARG_RENDER em chamadas para sua função DxgkDdiRender .
A lista de locais de patch pode crescer e diminuir após a criação do contexto; no entanto, a lista de localização de patch nunca pode reduzir menor do que o tamanho inicial especificado por PatchLocationListSize .
Reserved
Esse membro é reservado e deve ser definido como zero.
Esse membro está disponível a partir do Windows 7.
Caps
Descreve os recursos opcionais compatíveis com o contexto.
Com suporte começando com 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 começando com Windows 10.
Comentários
Um driver de miniporto de exibição especifica valores para os membros DmaBufferSize e AllocationListSize para garantir que:
- O subsistema de gráficos do Microsoft DirectX pode usar apenas um buffer de DMA (acesso direto à memória) para exibir (usando a função DxgkDdiPresent do driver de miniporta de exibição) pelo menos uma estrutura RECT para todos os cenários.
- Os tamanhos dos 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 contígua com bloqueio de página, que é memória mapeada com gravação combinada, para os buffers de DMA. Portanto, a GPU deve acessar buffers de DMA usando ciclos PCI em computadores em que as transferências de AGP que ocorrem fora da abertura do AGP não são permitidas.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Cabeçalho | d3dkmddi.h (inclua D3dkmddi.h) |