A enumeração D3DKMDT_GDISURFACETYPE indica o tipo de superfície bloqueável usada pelo DWM (Gerenciador de Janelas da Área de Trabalho) para redirecionamento.
D3DKMDT_GDISURFACE_INVALID O driver não deve ver esse valor.
D3DKMDT_GDISURFACE_TEXTURE Indica que a superfície tem as seguintes propriedades:
Ele tem uma textura de um nível.
Ele não é visível para a CPU e o gerenciador de memória de vídeo o criará como uma superfície compartilhada.
Ele é aberto por um driver de modo de usuário e usado como uma textura durante a composição do DWM.
Ele é usado por um driver de modo de usuário como um destino de renderização para renderização DirectX.
Ele é usado como uma superfície de origem ou destino em operações aceleradas por hardware GDI.
D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE Indica que a superfície tem as seguintes propriedades:
Ele é visível para a CPU e será amplamente usado pela CPU. A alocação deve ser um formato linear e em um segmento de abertura de GPU coerente com cache.
Ele é usado como uma superfície de origem em operações aceleradas por hardware GDI.
Ele é usado como uma superfície de destino em operações de GDI bitblt (somente cópia).
Sua inclinação deve ser retornada pelo driver de miniporta de exibição.
Seu valor de tom e o endereço de superfície devem ser alinhados ao valor do membro AlignmentShift da estrutura DXGK_PRESENTATIONCAPS (ou seja, DXGK_DRIVERCAPS-PresentationCaps.AlignmentShift>).
D3DKMDT_GDISURFACE_STAGING Indica que a superfície tem as seguintes propriedades:
Ele não é visível para a CPU.
Ele é usado como uma superfície de origem ou destino em operações aceleradas por hardware GDI.
Ele é usado como uma superfície de origem ou destino em operações de bitblt GDI (somente cópia).
D3DKMDT_GDISURFACE_LOOKUPTABLE Indica que a superfície tem as seguintes propriedades:
Ele não é visível para a CPU.
Ele é usado somente durante o processamento de comandos especificados por ClearTypeBlend e OpCode. DXGK_GDIOP_BITBLT membros (somente cópia) da estrutura DXGK_RENDERKM_COMMAND .
A alocação de pesquisa gama é criada uma vez e nunca é alterada depois de inicializada. A alocação é inicializada no formato D3DDDIFMT_A8 emitindo um comando DXGK_RENDERKM_COMMAND-Opcode.DXGK_GDIOP_BITBLT> de uma superfície D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE.
D3DKMDT_GDISURFACE_EXISTINGSYSMEM Indica que a superfície tem as seguintes propriedades:
Ele é visível para a CPU. A alocação deve ser um formato linear e em um segmento de abertura de GPU coerente com cache.
Seu valor de tom e o endereço de superfície devem ser alinhados ao valor do membro AlignmentShift da estrutura DXGK_PRESENTATIONCAPS (ou seja, DXGK_DRIVERCAPS-PresentationCaps.AlignmentShift>).
O endereço da superfície é passado para o driver.
Esse valor é usado da mesma forma que o valor D3DKMDT_GDISURFACE_STAGING_CPUVISIBLE.
D3DKMDT_GDISURFACE_TEXTURE_CPUVISIBLE Reservado para uso do sistema. Não use esse valor em seu driver.
Com suporte a partir do Windows 8.
D3DKMDT_GDISURFACE_TEXTURE_CROSSADAPTER Indica que a superfície tem as seguintes propriedades:
Ele não é visível para a CPU e o gerenciador de memória de vídeo o criará como uma superfície de adaptador cruzado compartilhada.
Sua inclinação deve ser retornada pelo driver de miniporta de exibição no membro Pitch da estrutura D3DKMDT_GDISURFACEDATA .
A inclinação e a altura devem ter o alinhamento necessário para o recurso de adaptador cruzado. Você pode usar as constantes D3DKMT_CROSS_ADAPTER_RESOURCE_PITCH_ALIGNMENT e D3DKMT_CROSS_ADAPTER_RESOURCE_HEIGHT_ALIGNMENT para validar se o driver retorna a inclinação e a altura corretas para o recurso de adaptador cruzado. Essas constantes são definidas em D3dukmdt.h.
Suporte começando com Windows 8.1.
D3DKMDT_GDISURFACE_TEXTURE_CPUVISIBLE_CROSSADAPTER Reservado para uso do sistema. Não use esse valor em seu driver.