PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB función de devolución de llamada (d3dumddi.h)

pfnUpdateGpuVirtualAddressCb es una operación especial que se usa en el contexto de los recursos de mosaico. Permite al controlador de modo de usuario especificar una serie de operaciones de asignación que se aplicarán al espacio de direcciones virtuales del proceso en un único lote de actualizaciones de tabla de páginas.

El intervalo de direcciones virtuales de la unidad de procesamiento gráfico (GPU) en todas las operaciones (excepto la dirección de origen de las operaciones de copia) debe pertenecer a un único intervalo de direcciones virtuales que se obtuvo mediante una llamada a pfnReserveGpuVirtualAddressCb. Del mismo modo, los intervalos de direcciones virtuales de todos los orígenes de las operaciones de copia deben pertenecer a un único intervalo de direcciones virtuales, que se obtuvo llamando a pfnReserveGpuVirtualAddressCb.

Las actualizaciones de la tabla de páginas se ejecutan en un contexto de paginación, dedicado al contexto de representación especificado y se ejecutan en la GPU solo después del contexto de representación asociado señalizado FenceValue para el objeto de barrera supervisado especificado. Cuando finalizan las actualizaciones de la tabla de páginas, el contexto de paginación indica al objeto de barrera supervisado a FenceValue+1, lo que permite que el contexto de representación realice un interbloqueo estrecho con las actualizaciones de la tabla de páginas.

Sintaxis

PFND3DDDI_UPDATEGPUVIRTUALADDRESSCB Pfnd3dddiUpdategpuvirtualaddresscb;

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

Parámetros

hDevice

Identificador del dispositivo de visualización.

unnamedParam2

pData [in]

Puntero a una estructura de D3DDDICB_UPDATEGPUVIRTUALADDRESS que describe la operación que se va a realizar.

Valor devuelto

Si esta función de devolución de llamada se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Los intervalos de direcciones virtuales de las operaciones de actualización pueden intersecrse. Las operaciones se aplicarán en el orden en que se envíen.

En una sola llamada pfnUpdateVirtualAddressCb :

  • Todos los intervalos de direcciones virtuales de las operaciones de asignación y el intervalo de destino de las operaciones de copia deben pertenecer al mismo intervalo reservado (cero).
  • El intervalo de direcciones virtuales de origen en las operaciones de copia puede ser de un intervalo reservado (cero) diferente.
  • El intervalo de direcciones virtuales de origen de todas las operaciones de copia debe pertenecer al mismo intervalo reservado (cero).
El controlador en modo de usuario puede enviar muchas llamadas pfnUpdateGpuVirtualAddressCb y las operaciones se ponen en cola detrás de la barrera de representación. Cuando el número de operaciones de actualización en cola supera 128, el subproceso que realiza la llamada se bloqueará hasta que el administrador de memoria de vídeo procese las operaciones anteriores.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 10
Servidor mínimo compatible Windows Server 2016
Plataforma de destino Escritorio
Encabezado d3dumddi.h (incluya D3dumddi.h)

Consulte también

D3DDDICB_UPDATEGPUVIRTUALADDRESS

pfnReserveGpuVirtualAddressCb