D3DKMTConnectDoorbell 함수(d3dkmthk.h)

중요

일부 정보는 상용 출시 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.

D3DKMTConnectDoorbell이전에 만든 초인종 개체 를 하드웨어 큐에 연결(또는 다시 연결)합니다.

구문

NTSTATUS D3DKMTConnectDoorbell(
  D3DKMT_CONNECT_DOORBELL *unnamedParam1
);

매개 변수

unnamedParam1

[in] 연결할 초인종을 설명하는 D3DKMT_CONNECT_DOORBELL 구조체에 대한 포인터입니다.

반환 값

D3DKMTConnectDoorbell 은 OS가 초인종 개체를 하드웨어 큐에 성공적으로 연결하고 UMD가 작업 제출에 이 초인종을 사용할 수 있을 때 STATUS_SUCCESS 반환합니다. 일반적으로 이 호출은 실패하지 않아야 합니다. 그러나 실패 코드는 복구할 수 없는 시나리오의 종류를 분실하거나 중지하는 GPU에서 발생합니다.

설명

UMD가 큐에 새 작업을 제출하고 초인종을 울릴 때마다 pDoorbellStatusCPUVirtualAddress를 읽어 초인종 링이 성공했는지 여부를 검사 합니다. 실패 시 UMD는 D3DKMTConnectDoorbell 을 호출하여 초인종을 다시 연결한 다음 제출을 다시 시도해야 합니다.

다음과 같은 여러 가지 이유로 초인종의 연결을 끊을 수 있습니다.

  • 초인종을 만들 때 OS는 "연결이 끊긴" 상태로 초기화하고 UMD가 D3DKMTConnectDoorbell을 처음 호출할 때만 연결됩니다.
  • 초인종은 전용 초인종 모델을 지원하는 하드웨어에서 "희생"되었습니다. 즉, 이 하드웨어 큐의 물리적 초인종이 다른 하드웨어 큐에 할당되었습니다. 이 재할당은 실제 초인종보다 GPU에 만들어진 하드웨어 큐가 더 많기 때문일 수 있습니다.
  • 초인종은 하드웨어 큐를 일시 중단하거나 GPU 전원을 끊는 과정의 일부로 연결이 끊어졌습니다.

UMD가 D3DKMTConnectDoorbell 을 호출하여 하드웨어 큐에 할당된 초인종을 연결하면 OS는 KMD에 해당하는 DxgkDdiConnectDoorbell 호출을 수행하여 KMD가 실제 초인종을 찾고, 이 하드웨어 큐에 할당하고, 하드웨어 큐, 초인종, GPU 스케줄러 등 간에 필요한 연결을 만들 수 있도록 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 WIN11_FUTURE
머리글 d3dkmthk.h

추가 정보

D3DKMT_CONNECT_DOORBELL

D3DKMTCreateDoorbell

DxgkDdiConnectDoorbell