DXGKARG_CONNECTDOORBELL - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// d3dkmddi.h

typedef struct _DXGKARG_CONNECTDOORBELL {
  HANDLE                        hDoorbell;
  DXGKARG_CONNECTDOORBELL_FLAGS Flags;
  void                          *KernelCpuVirtualAddress;
  void                          *SecondaryKernelCpuVirtualAddress;
  D3DDDI_DOORBELLSTATUS         Status;
} DXGKARG_CONNECTDOORBELL;
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (ns-d3dkmddi-dxgkarg_connectdoorbell)

Description

The DXGKARG_CONNECTDOORBELL structure contains parameters for DxgkDdiConnectDoorbell.

Members

hDoorbell

[in] KMD handle to the doorbell object, which was previously created using DxgkDdiCreateDoorbell.

Flags

[in] A bit field of DXGKARG_CONNECTDOORBELL_FLAGS values specifying the doorbell connection flags. If UMD created this doorbell with the RequireSecondaryCpuVA flag, then Dxgkrnl sets the RequireSecondaryAddress flag in this DDI to inform KMD that this doorbell requires two physical addresses.

KernelCpuVirtualAddress

[out] Kernel-mode CPU virtual address mapped to the physical address that KMD wants to assign to this doorbell. Dxgkrnl will map this address to a process address space CPU virtual address that was provided to the UMD in D3DKMTCreateDoorbell. UMD will write a specific value to this address, effectively "ringing the doorbell" to notify the GPU scheduler of a new work submission on hHwQueue.

SecondaryKernelCpuVirtualAddress

[out/optional] Kernel-mode CPU virtual address mapped to the secondary physical address that KMD wants to assign to this doorbell, if required.

Status

[out] A D3DDDI_DOORBELLSTATUS value that KMD wants Dxgkrnl to write into the UMD-visible page that pDoorbellStatusCpuVirtualAddress points to. This value can only be D3DDDI_DOORBELL_STATUS_CONNECTED or D3DDDI_DOORBELL_STATUS_CONNECTED_NOTIFY.

Remarks

For more information, see User-mode work submission.

See also

D3DDDI_DOORBELLSTATUS

D3DKMTCreateDoorbell

DXGKARG_CONNECTDOORBELL_FLAGS

DxgkDdiConnectDoorbell