Partilhar via


estrutura DXGK_DEVICEINFO (d3dkmddi.h)

A estrutura DXGK_DEVICEINFO descreve os parâmetros que o subsistema de kernel de elementos gráficos do Microsoft DirectX exige do driver de miniporto de exibição.

Sintaxe

typedef struct _DXGK_DEVICEINFO {
  [out] UINT                 DmaBufferSize;
  [out] UINT                 DmaBufferSegmentSet;
  [out] UINT                 DmaBufferPrivateDataSize;
  [out] UINT                 AllocationListSize;
  [out] UINT                 PatchLocationListSize;
  [out] DXGK_DEVICEINFOFLAGS Flags;
} DXGK_DEVICEINFO;

Membros

[out] DmaBufferSize

O tamanho, em bytes, do buffer de comandos de hardware que é enviado por meio do DMA (acesso direto à memória) para o hardware.

O buffer de DMA pode crescer e reduzir depois que o dispositivo é criado; no entanto, o buffer de DMA nunca pode reduzir menor que o tamanho inicial que especifica DmaBufferSize.

[out] DmaBufferSegmentSet

Os identificadores dos segmentos em que os buffers de DMA devem ser disponibilizados para a GPU (unidade de processamento de gráficos).

[out] 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.

[out] 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 de estruturas DXGKARG_PRESENT e DXGKARG_RENDER em chamadas para as funções de DxgkDdiPresent do driver e DxgkDdiRender.

A lista de alocação pode crescer e reduzir após a criação do dispositivo; no entanto, a lista de alocação nunca pode reduzir menor do que o tamanho inicial especificado AllocationListSize.

[out] 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 de 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 dispositivo; no entanto, a lista de locais de patch nunca pode reduzir menor do que o tamanho inicial que especifica PatchLocationListSize.

[out] Flags

Uma estrutura DXGK_DEVICEINFOFLAGS que identifica, em sinalizadores de campo de bit, informações sobre o dispositivo.

Observações

O driver de miniporto de exibição especifica valores para os membros DmaBufferSize e AllocationListSize para garantir o seguinte:

  • O subsistema de elementos gráficos DirectX pode usar apenas um buffer DMA para exibir (usando a função DxgkDdiPresent do driver de miniporto de exibição) pelo menos um estrutura 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 dispositivo.

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 sistemas 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_PRESENT

DXGKARG_RENDER

DXGK_ALLOCATIONLIST

DXGK_DEVICEINFOFLAGS

DxgkDdiCreateDevice

DxgkDdiPresent

DxgkDdiRender