Compartir a través de


DXGKDDI_SUSPENDCONTEXT función de devolución de llamada (d3dkmddi.h)

DxgkddiSuspendContext indica a la GPU que suspenda un contexto. Si la GPU no reconoce la finalización de la suspensión en el tiempo de espera de TDR (detección de tiempo de espera y recuperación), el sistema operativo detectará el tiempo de espera del motor y realizará un restablecimiento del motor.

Sintaxis

DXGKDDI_SUSPENDCONTEXT DxgkddiSuspendcontext;

NTSTATUS DxgkddiSuspendcontext(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_SUSPENDCONTEXT pSuspendContext
)
{...}

Parámetros

hAdapter

[in] Contexto de hardware que se va a adelantar y marcar como suspendido. Este tipo de solicitud de adelantamiento no tiene un período de gracia y se espera que la GPU lo respete lo antes posible.

pSuspendContext

[in] Puntero a una estructura de DXGKARG_SUSPENDCONTEXT que contiene argumentos adicionales para esta función.

Valor devuelto

DxgkddiSuspendContext devuelve STATUS_SUCCESS si el contexto ya está suspendido en el momento de esta llamada. De lo contrario, este valor se establece en STATUS_PENDING y la operación de suspensión se finalizará cuando se indique contextSuspendFence a través de una interrupción.

Observaciones

Registre la implementación de esta función de devolución de llamada estableciendola en DRIVER_INITIALIZATION_DATA.

Aunque la GPU puede iniciar el adelantamiento round robin, el sistema operativo todavía necesita una manera de adelantar el contexto por otras razones; por ejemplo, si necesita mover sus asignaciones alrededor o realizar una transición de energía de GPU.

El valor de suspensión de contexto es necesario para controlar los casos en los que el sistema operativo suspende un contexto, no espera la confirmación de suspensión, se reanuda y suspende de nuevo un contexto. El valor de suspensión permitirá que el sistema operativo distinga entre la confirmación de suspensión anterior y la más reciente.

Una vez suspendido un contexto, se supone que todas las referencias a ella se han ido de la GPU y el sistema operativo es libre de destruir el contexto o mover su memoria. A diferencia de WDDM 2.3 o versiones anteriores, no hay ningún comando de modificador de contexto NULL independiente (indicado anteriormente por el marca ContextSwitch en DxgkDdiSubmitCommandVirtual) está presente en el modo de programación WDDM 2.4, ya que DxgkddiSuspendContext se supone que realiza este trabajo.

Requisitos

Requisito Valor
encabezado de d3dkmddi.h

Consulte también

dxgkddiResumeContext

DXGKARG_SUSPENDCONTEXT