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 requer do driver de miniporta 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 de DMA (acesso direto à memória) para o hardware.

O buffer de AMD pode crescer e diminuir depois que o dispositivo é criado; no entanto, o buffer de AMD nunca pode reduzir menor do que o tamanho inicial especificado por DmaBufferSize .

[out] DmaBufferSegmentSet

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

[out] DmaBufferPrivateDataSize

O tamanho, em bytes, da estrutura de dados privados residente no driver associada a cada buffer de DMA. A memória para essa 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 privados 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 para estar nos membros pAllocationList das estruturas DXGKARG_PRESENT e DXGKARG_RENDER em chamadas para as funções DxgkDdiPresent e DxgkDdiRender do driver.

A lista de alocação pode aumentar e diminuir depois que o dispositivo é criado; no entanto, a lista de alocação nunca pode reduzir menor do que o tamanho inicial especificado por 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 para estar nos membros pPatchLocationListIn de estruturas DXGKARG_RENDER em chamadas para sua função DxgkDdiRender .

A lista de locais de patch pode aumentar e diminuir depois que o dispositivo é criado; no entanto, a lista de locais de patch nunca pode reduzir menor do que o tamanho inicial especificado por PatchLocationListSize .

[out] Flags

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

Comentários

O driver de miniporta 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 miniporta de exibição) pelo menos uma estrutura RECT para todos os cenários.
  • Os tamanhos de DMA e buffers de lista de alocação são grandes o suficiente para manter pelo menos um comando que não pode ser dividido em vários buffers.
  • Os tamanhos de DMA e buffers de lista de alocação são grandes o suficiente para evitar a instalação e a sobrecarga de DMA.
O driver de miniporta de exibição pode especificar apenas segmentos de abertura no membro DmaBufferSegmentSet ; se o driver especificar um segmento de memória, ocorrerá uma falha na criação do dispositivo.

Se o driver definir DmaBufferSegmentSet como 0, o gerenciador de memória de vídeo alocará memória bloqueada com paginação contígua, que é mapeada com memória combinada de gravação, para os buffers de DMA. Portanto, a GPU deve acessar buffers de DMA usando ciclos 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
Cliente mínimo com suporte Windows Vista
Cabeçalho d3dkmddi.h (inclua D3dkmddi.h)

Confira também

D3DDDI_PATCHLOCATIONLIST

DXGKARG_PRESENT

DXGKARG_RENDER

DXGK_ALLOCATIONLIST

DXGK_DEVICEINFOFLAGS

DxgkDdiCreateDevice

DxgkDdiPresent

DxgkDdiRender