Função D3DKMTConnectDoorbell (d3dkmthk.h)
Importante
Algumas informações estão relacionadas a um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
D3DKMTConnectDoorbell conecta (ou reconecta) uma campainha criada anteriormente para uma fila de hardware.
Sintaxe
NTSTATUS D3DKMTConnectDoorbell(
D3DKMT_CONNECT_DOORBELL *unnamedParam1
);
Parâmetros
unnamedParam1
[in] Ponteiro para uma estrutura *D3DKMT_CONNECT_DOORBELL* que descreve a campainha a ser conectada.
Retornar valor
D3DKMTConnectDoorbell retorna STATUS_SUCCESS quando o sistema operacional conecta com êxito a campainha à fila de hardware e a UMD pode usar essa campainha para envio de trabalho. Normalmente, essa chamada não deve falhar; no entanto, um código de falha seria de GPU perdida ou tipos de parada de cenários irrecuperáveis.
Comentários
Sempre que o UMD envia um novo trabalho para a fila de hardware e toca a campainha, ele deve ler o DoorbellStatusCPUVirtualAddress para marcar se o anel de campainha foi bem-sucedido. Em caso de falha, a UMD deve chamar D3DKMTConnectDoorbell para reconectar a campainha e tentar o envio novamente.
Uma campainha pode ser desconectada por vários motivos:
- Quando uma campainha é criada, o sistema operacional a inicializa em um estado "desconectado" e só a conecta quando UMD chama D3DKMTConnectDoorbell pela primeira vez.
- A campainha foi "vitimizada" em hardware que dá suporte ao modelo de campainha dedicado. Ou seja, a campainha física dessa fila de hardware foi atribuída a outra fila de hardware. Essa reatribuição é provável porque há mais filas de hardware criadas na GPU do que campainhas físicas.
- A campainha foi desconectada como parte da suspensão da fila de hardware ou da diminuição da GPU.
Quando a UMD chama D3DKMTConnectDoorbell para conectar a campainha atribuída a uma fila de hardware, o sistema operacional faz uma chamada DxgkDdiConnectDoorbell correspondente para KMD, para que o KMD possa encontrar uma campainha física, atribuí-la a essa fila de hardware e fazer as conexões necessárias entre a fila de hardware, a campainha, o agendador de GPU e assim por diante.
Para obter mais informações, consulte Envio de trabalho no modo de usuário.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 11, versão 24H2 (WDDM 3.2) |
Cabeçalho | d3dkmthk.h |