DXGKDDI_RESUMEHWENGINE callback function

Instructs the GPU scheduler to re-submit contexts that were not invalidated by the reset. DxgkDdiResumeHwEngine is invoked by the DXG kernel after a GPU engine has been successfully reset.

Syntax

DXGKDDI_RESUMEHWENGINE DxgkddiResumehwengine;

NTSTATUS DxgkddiResumehwengine(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARG_RESUMEHWENGINE pResumeHwEngine
)
{...}

Parameters

hAdapter

The logical adapter for which a new focus Present has completed.

pResumeHwEngine

Pointer to a DXGKARG_RESUMEHWENGINE structure that contains information to resume the hardware engine.

Return Value

Return STATUS_SUCCESS if the operation succeeds. Otherwise, return an appropriate NTSTATUS Values error code. If the call fails, the OS will perform a full GPU reset.

Remarks

Register your implementation of this callback function by setting the appropriate member of DXGKARG_RESUMEHWENGINE and then calling DxgkDdiResumeHwEngine.

DxgkDdiResetHwEngine implementation should inform the OS of all running contexts that were affected by the GPU engine reset operation via DxgkCbInvalidateHwContext callback. These context devices will be set in error and future submissions will not be performed.

After DxgkDdiResetHwEngine is called, the engine is not considered resumed yet, and contexts that were not invalidated are not allowed to be submitted. The OS needs to re-enable interrupts from this engine and synchronize its state with the reset GPU engine. After that, the OS will enable interrupts and call DxgkDdiResumeHwEngine, which instructs the GPU engine to start scheduling all runnable contexts that were not affected by the engine reset.

Requirements

   
Header d3dkmddi.h