DXGKDDI_PREEMPTCOMMAND função de retorno de chamada (d3dkmddi.h)
A função DxgkDdiPreemptCommand preempõe um buffer de DMA (acesso direto à memória) que foi enviado anteriormente e atualmente enfileirado na unidade de execução de comando de hardware.
Sintaxe
DXGKDDI_PREEMPTCOMMAND DxgkddiPreemptcommand;
NTSTATUS DxgkddiPreemptcommand(
[in] IN_CONST_HANDLE hAdapter,
[in] IN_CONST_PDXGKARG_PREEMPTCOMMAND pPreemptCommand
)
{...}
Parâmetros
[in] hAdapter
Um identificador para um bloco de contexto associado a um adaptador de exibição. O driver de miniporto de exibição forneceu anteriormente esse identificador para o subsistema de kernel de elementos gráficos do Microsoft DirectX na função MiniportDeviceContext da função DxgkDdiAddDevice.
[in] pPreemptCommand
Um ponteiro para uma estrutura de DXGKARG_PREEMPTCOMMAND que descreve o comando usado para prever um buffer de DMA enviado anteriormente para a unidade de execução de comando de hardware.
Valor de retorno
Retorna STATUS_SUCCESS após a conclusão bem-sucedida. Se o driver retornar um código de erro, o sistema operacional fará com que ocorra uma verificação de bugs do sistema. Para obter mais informações, consulte a seção Comentários a seguir.
Observações
Se o driver determinar que o hardware já terminou de processar todos os buffers de DMA enviados e que o hardware informou o agendador da GPU (unidade de processamento gráfico) sobre as conclusões, quando sua função DxgkDdiPreemptCommand é chamada para preempitar os buffers de DMA, O driver deve executar as seguintes operações em vez de enviar a cerca preempt identificada pelo PreemptionFenceId membro do DXGKARG_PREEMPTCOMMAND para o hardware:
- Elevar o IRQL para o nível de interrupção. Por exemplo, o driver pode chamar a função DxgkCbSynchronizeExecution para sincronizar com sua função de DxgkDdiInterruptRoutine.
-
Informe o agendador de GPU sobre as informações de preempção. O driver pode chamar a função DxgkCbNotifyInterrupt diretamente ou chamar sua função de DxgkDdiInterruptRoutine (por exemplo, se o driver também precisar executar outras atualizações).
Observe que o agendador de GPU lida com instâncias em que o hardware parou de responder devido ao trabalho de TDR (Detecção e Recuperação de Tempo Limite).
- 0x2
- O código de erro NTSTATUS retornado da chamada de driver com falha
- Um ponteiro para a estrutura DXGKARG_PREEMPTCOMMAND
- Um ponteiro para uma estrutura de dados do agendador interno
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows Vista |
da Plataforma de Destino | Área de trabalho |
cabeçalho | d3dkmddi.h |
IRQL | DISPATCH_LEVEL |