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