PFND3DDDI_MAPGPUVIRTUALADDRESSCB função de retorno de chamada (d3dumddi.h)
pfnMapGpuVirtualAddressCb mapeia intervalos de ENDEREÇO VIRTUAL (VA) de GPU para um intervalo de alocação específico ou o coloca no estado 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
[entrada/saída] pDate é um ponteiro para uma estrutura D3DDDI_MAPGPUVIRTUALADDRESS que descreve a operação a ser executada.
Retornar valor
pfnMapGpuVirtualAddressCb retorna um dos seguintes valores:
Código de retorno | Descrição |
---|---|
S_OK | A operação foi concluída com sucesso. |
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.
Comentários
O driver de 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 é especificado, o intervalo va não pode pertencer a um intervalo que foi 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 do 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 FOR 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 de GPU, que é alocado pela API, é liberado quando a alocação (a VA da GPU é mapeada para) é destruída. O intervalo va também pode ser liberado chamando PFND3DDDI_FREEGPUVIRTUALADDRESSCB, mas isso precisa ser sincronizado com a destruição de alocação, se necessário.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10 |
Servidor mínimo com suporte | Windows Server 2016 |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | d3dumddi.h (inclua D3dumddi.h) |