DXGKDDI_QUERYDEPENDENTENGINEGROUP función de devolución de llamada (d3dkmddi.h)
Dxgkrnllas llamadas del programador de GPU DxgkddiQuerydependentenginegroup para consultar las dependencias de los nodos en un adaptador de pantalla físico.
Sintaxis
DXGKDDI_QUERYDEPENDENTENGINEGROUP DxgkddiQuerydependentenginegroup;
NTSTATUS DxgkddiQuerydependentenginegroup(
IN_CONST_HANDLE hAdapter,
INOUT_DXGKARG_QUERYDEPENDENTENGINEGROUP pQueryDependentEngineGroup
)
{...}
Parámetros
hAdapter
[in] Identificador de un bloque de contexto asociado a un adaptador de pantalla. El controlador de minipuerto de pantalla proporcionó anteriormente este identificador al subsistema del kernel gráfico de DirectX en la función MiniportDeviceContext parámetro de salida del DxgkDdiAddDevice función.
pQueryDependentEngineGroup
[in/out] Estructura DXGKARG_QUERYDEPENDENTENGINEGROUP en la que KMD especifica todos los nodos afectados por la operación de restablecimiento.
Valor devuelto
DxgkddiQuerydependentenginegroup debe devolver STATUS_SUCCESS.
Observaciones
Dxgkrnlel programador de GPU llama a esta función para obtener una descripción de todos los adaptadores físicos (motores) que se verán afectados por una solicitud de restablecimiento del motor. Ayuda a mejorar la experiencia del usuario en las arquitecturas de hardware que tienen dependencias entre varios motores que pueden afectar al proceso de restablecimiento. Tenga en cuenta que todos los nodos afectados deben tener el mismo valor de afinidad del motor. (Consulte la explicación de afinidad del motor en cambios de TDR en Windows 8).
El programador de GPU llama a DxgkDdiQueryDependentEngineGroup cada vez que llama a DxgkDdiResetEngine. El programador de GPU espera 500 milisegundos para que el controlador de miniporte de pantalla complete el adelantamiento de todos los motores dependientes. En el caso de los motores que el controlador no puede completar un adelantamiento, el programador de GPU llama al DxgkDdiResetEngine función en función secuencial del valor ordinal del motor.
Este es un ejemplo de cómo calcular la máscara de bits en el DXGKARG_QUERYDEPENDENTENGINEGROUP.miembro dependentNodeOrdinalMask. Si los valores originales de la DXGKARG_QUERYDEPENDENTENGINEGROUP estructura NodeOrdinal y EngineOrdinal miembros son 1 y 0, respectivamente, y los nodos adicionales con identificadores 2 y 4 también se restablecerán cuando se restablezca el nodo 1, el controlador debe establecer DependentNodeOrdinalMask en 10110 o 0x16 en notación hexadecimal. Se supone que el valor de índice EngineOrdinal es idéntico para todos los nodos dependientes. El nodo que se restablece se incluye en el DependentNodeOrdinalMask máscara de bits.
Esta función debe ser paginable y siempre debe realizarse correctamente.
El sistema operativo garantiza que esta función sigue el modo de sincronización de primer nivel tal como se define en Subprocesos y sincronización de primer nivel.
Para obtener más información, consulta cambios de TDR en Windows 8.
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows 8 |
servidor mínimo admitido | Windows Server 2012 |
de la plataforma de destino de |
Escritorio |
encabezado de |
d3dkmddi.h |
irQL | PASSIVE_LEVEL |