Compartilhar via


PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB função de retorno de chamada (d3dumddi.h)

pfnUpdateGpuVirtualAddressCb é uma operação especial usada no contexto de recursos de bloco. Ele permite que o driver de modo de usuário especifique várias operações de mapeamento a serem aplicadas ao espaço de endereço virtual do processo em um único lote de atualizações de tabela de página.

O intervalo de endereços virtuais de GPU (unidade de processamento gráfico) em todas as operações (exceto o endereço de origem das operações de cópia) deve pertencer a um único intervalo de endereços virtuais obtido chamando pfnReserveGpuVirtualAddressCb. Da mesma forma, os intervalos de endereços virtuais de todas as fontes em operações de cópia devem pertencer a um único intervalo de endereços virtuais, que foi obtido chamando pfnReserveGpuVirtualAddressCb.

As atualizações da tabela de página são executadas em um contexto de paginação, dedicadas ao contexto de renderização especificado e executadas na GPU somente após o contexto de renderização associado sinalizar FenceValue para o objeto de cerca monitorado especificado. Quando as atualizações da tabela de páginas são concluídas, o contexto de paginação sinaliza o objeto de cerca monitorado para FenceValue+1, permitindo que o contexto de renderização faça um interconectamento apertado com as atualizações da tabela de páginas.

Sintaxe

PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB Pfnd3dddiUpdategpuvirtualaddresscb;

HRESULT Pfnd3dddiUpdategpuvirtualaddresscb(
  HANDLE hDevice,
  const D3DDDICB_UPDATEGPUVIRTUALADDRESS *unnamedParam2
)
{...}

Parâmetros

hDevice

Um identificador para o dispositivo de exibição.

unnamedParam2

pData [in]

Um ponteiro para uma estrutura D3DDDICB_UPDATEGPUVIRTUALADDRESS que descreve a operação a ser executada.

Retornar valor

Se essa função de retorno de chamada for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Os intervalos de endereços virtuais nas operações de atualização têm permissão para interseção. As operações serão aplicadas na ordem em que forem enviadas.

Em uma única chamada pfnUpdateVirtualAddressCb :

  • Todos os intervalos de endereços virtuais em operações de mapeamento e o intervalo de destino em operações de cópia devem pertencer ao mesmo intervalo reservado (zero).
  • O intervalo de endereços virtuais de origem em operações de cópia tem permissão para ser de um intervalo reservado diferente (zero).
  • O intervalo de endereços virtuais de origem em todas as operações de cópia deve pertencer ao mesmo intervalo reservado (zero).
O driver do modo de usuário pode enviar muitas chamadas e operações pfnUpdateGpuVirtualAddressCb serão enfileiradas atrás da cerca de renderização. Quando o número de operações de atualização na fila exceder 128, o thread de chamada será bloqueado até que as operações anteriores sejam processadas pelo gerenciador de memória de vídeo.

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)

Confira também

D3DDDICB_UPDATEGPUVIRTUALADDRESS

pfnReserveGpuVirtualAddressCb