Compartir a través de


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 del icono. Permite al controlador del 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 unidad de procesamiento de gráficos (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 llamando 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ñalado FenceValue para el objeto de barrera supervisado especificado. Cuando finaliza la actualización de la tabla de páginas, el contexto de paginación indica al objeto de barrera supervisado que 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 hrESULT código de error.

Observaciones

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 diferente (cero).
  • El intervalo de direcciones virtuales de origen de todas las operaciones de copia debe pertenecer al mismo intervalo reservado (cero).
El controlador del modo de usuario puede enviar muchas pfnUpdateGpuVirtualAddressCb llamadas y 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 los 128, el subproceso de llamada se bloqueará hasta que el administrador de memoria de vídeo procese las operaciones anteriores.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 10
servidor mínimo admitido Windows Server 2016
de la plataforma de destino de Escritorio
encabezado de d3dumddi.h (incluya D3dumddi.h)

Consulte también

D3DDDICB_UPDATEGPUVIRTUALADDRESS

pfnReserveGpuVirtualAddressCb