D3DKMTNotifyWorkSubmission function (d3dkmthk.h)

Important

Some information relates to a prerelease product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

D3DKMTNotifyWorkSubmission notifies the kernel-mode display driver that the user-mode display driver has submitted work to the GPU.

Syntax

NTSTATUS D3DKMTNotifyWorkSubmission(
  D3DKMT_NOTIFY_WORK_SUBMISSION *unnamedParam1
);

Parameters

unnamedParam1

Pointer to a D3DKMT_NOTIFY_WORK_SUBMISSION structure that identifies the hardware queue on which the work was submitted.

Return value

D3DKMTNotifyWorkSubmission returns STATUS_SUCCESS if it succeeds in pinging KMD. Otherwise, it returns an appropriate error code such as STATUS_INVALID_PARAMETER if an invalid hardware queue or flag are specified.

Remarks

KMD can specify the doorbell connection status as D3DDDI_DOORBELL_STATUS_CONNECTED_NOTIFY at doorbell creation time. Whenever UMD sees this doorbell status, it adjusts its work submission workflow such that after writing a new command and ringing the doorbell, it calls into the kernel using D3DKMTNotifyWorkSubmission. Dxgkrnl forwards this call to KMD using DxgkDdiNotifyWorkSubmission.

KMD can also request notification dynamically after doorbell creation. If KMD detects a condition where it should be notified of work submission on this hardware queue, then it can first disconnect the doorbell by calling Dxgkrnl's DxgkCbDisconnectDoorbell with status D3DDDI_DOORBELL_STATUS_DISCONNECTED_RETRY. Later, when UMD tries to reconnect the doorbell, KMD can make the connection with status D3DDDI_DOORBELL_STATUS_CONNECTED_NOTIFY.

See DxgkDdiNotifyWorkSubmission for details on how and when KMD should use this functionality.

Requirements

Requirement Value
Minimum supported client WIN11_FUTURE
Header d3dkmthk.h

See also

D3DKMT_NOTIFY_WORK_SUBMISSION

DxgkDdiNotifyWorkSubmission