Compartilhar via


Definir o tamanho e a densidade da alocação de memória

Um driver de miniporto de exibição que dá suporte à aceleração de hardware GDI deve definir o tamanho e o tom das alocações de memória de vídeo ou do sistema ao processar as chamadas de alocação a seguir.

DxgkDdiCreateAllocation
Quando o driver processa uma chamada para DxgkDdiCreateAllocation, ele deve definir o tamanho, em bytes, da alocação de memória de vídeo ou sistema. O tamanho da alocação é definido por meio do membro pCreateAllocation-pAllocationInfo-Size>>. Se a alocação for visível para a CPU, o tamanho deve incluir o valor de pitch, que é a largura da superfície, incluindo o preenchimento, em bytes.

As alocações serão visíveis para a CPU se o membro pGetStandardAllocationDriverData->pCreateGdiSurfaceData-Type> estiver definido como D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE ou D3DKMDT_GDISURFACE_EXISTINGSYSMEM. Para obter as propriedades desses tipos de superfície, consulte as descrições em D3DKMDT_GDISURFACETYPE.

DxgkDdiGetStandardAllocationDriverData
Quando o driver processa uma chamada para DxgkDdiGetStandardAllocationDriverData para uma alocação visível para a CPU, ele deve:

  1. Defina o membro pGetStandardAllocationDriverData->StandardAllocationType como D3DKMDT_STANDARDALLOCATION_GDISURFACE.

  2. Defina a descrição de uma superfície que pode ser usada para redirecionamento pela Aceleração de Hardware GDI e pelo DWM (Gerenciador de Windows da Área de Trabalho) por meio da estrutura D3DKMDT_GDISURFACEDATA apontada pelo membro pGetStandardAllocationDriverData->pCreateGdiSurfaceData . Por exemplo, defina o tom da alocação por meio do membro Pitch de D3DKMDT_GDISURFACEDATA.