PFND3DDDI_MAPGPUVIRTUALADDRESSCB função de retorno de chamada (d3dumddi.h)
pfnMapGpuVirtualAddressCb mapeia intervalos de endereço virtual de GPU (VA) para um intervalo de alocação específico ou o coloca no estado de inválido ou zero.
Sintaxe
PFND3DDDI_MAPGPUVIRTUALADDRESSCB Pfnd3dddiMapgpuvirtualaddresscb;
HRESULT Pfnd3dddiMapgpuvirtualaddresscb(
HANDLE hDevice,
D3DDDI_MAPGPUVIRTUALADDRESS *unnamedParam2
)
{...}
Parâmetros
hDevice
Um identificador para o dispositivo de exibição.
unnamedParam2
[in/out] pDate é um ponteiro para uma estrutura D3DDDI_MAPGPUVIRTUALADDRESS que descreve a operação a ser executada.
Valor de retorno
pfnMapGpuVirtualAddressCb retorna um dos seguintes valores:
Código de retorno | Descrição |
---|---|
S_OK | A operação foi concluída com êxito. |
E_PENDING | A chamada foi bem-sucedida, mas a operação não foi concluída. O chamador deve aguardar o valor de cerca retornado antes de acessar a alocação. |
Essa função também pode retornar outros valores.
Observações
O driver do modo de usuário pode especificar um VA (endereço virtual de GPU) base para mapear ou permitir que o gerenciador de memória de vídeo escolha automaticamente um. Ao especificar um valor BaseAddress não NULL, todo o intervalo de BaseAddress a BaseAddress+Size deve estar em um estado liberado ou pertencer a um intervalo va que foi obtido chamando pfnMapGpuVirtualAddressCb ou pfnReserveGpuVirtualAddressCb. Quando Protection.Zero ou Protection.NoAccess for especificado, o intervalo de VA não poderá pertencer a um intervalo obtido chamando pfnMapGpuVirtualAddressCb.
O driver de modo de usuário pode especificar se o mapeamento deve permitir privilégios de gravação e execução, além de privilégios de leitura, que sempre existem por padrão.
Na configuração LDA (adaptador de exibição vinculado), a fila de paginação define uma GPU física cujas tabelas de página são modificadas e o identificador de alocação (se não NULL) define para onde as entradas da tabela de página estão apontando. A alocação pode ser residente em qualquer segmento de memória de GPU física.
O intervalo de VA da GPU, que é alocado pela API, é liberado quando a alocação (a VA da GPU é mapeada para) é destruída. O intervalo de VA também pode ser liberado chamando PFND3DDDI_FREEGPUVIRTUALADDRESSCB, mas isso precisa ser sincronizado com a destruição da alocação, se necessário.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10 |
servidor com suporte mínimo | Windows Server 2016 |
da Plataforma de Destino | Área de trabalho |
cabeçalho | d3dumddi.h (inclua D3dumddi.h) |