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