Ler em inglês

Compartilhar via


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

Observação Se DXGK_CREATECONTEXTFLAGS. GdiContext é definido como 1, o que significa que o contexto é criado como um contexto específico de GDI, AllocationListSize deve ser definido como um valor de 256.
 

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.

Observações

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.
O driver de miniporto de exibição pode especificar apenas segmentos de abertura no membro DmaBufferSegmentSet; se o driver especificar um segmento de memória, ocorrerá uma falha de criação de contexto.

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.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows Vista
cabeçalho d3dkmddi.h (inclua D3dkmddi.h)

Consulte também

D3DDDI_PATCHLOCATIONLIST

DXGKARG_CREATECONTEXT

DXGKARG_PRESENT

DXGKARG_RENDER

DXGK_ALLOCATIONLIST

DXGK_CREATECONTEXTFLAGS

DxgkDdiPresent

DxgkDdiRender

RECT