Windows 图形显示驱动开发-WDDM 2.7功能-MCDM KM 驱动程序实现指南(三)

发布于:2025-03-29 ⋅ 阅读:(27) ⋅ 点赞:(0)

意外删除支持

对于可选的意外删除支持,还必须提供指向以下函数的指针:

  • DxgkDdiNotifySurpriseRemoval

取消支持

对于可选的取消支持,还必须提供指向以下函数的指针:

  • DxgkDdiCancelCommand

接口支持

对于可选接口支持,还必须提供指向以下函数的指针:

  • DxgkDdiQueryInterface

硬件计划支持

对于可选的硬件计划支持,还必须提供指向以下函数的指针:

  • DxgkDdiCreateHwContext
  • DxgkDdiCreateHwQueue
  • DxgkDdiDestroyHwContext
  • DxgkDdiDestroyHwQueue
  • DxgkDdiPresentToHwQueue
  • [DxgkDdiResetHwEngine
  • DxgkDdiResumeContext
  • DxgkDdiResumeHwEngine
  • DxgkDdiSetContextSchedulingProperties
  • DxgkDdiSetSchedulingLogBuffer
  • DxgkDdiSetupPriorityBands
  • DxgkDdiSignalMonitoredFence
  • DxgkDdiSubmitCommandToHwQueue
  • DxgkDdiSuspendContext
  • DxgkDdiSwitchToHwContextList
  • DxgkDdiUpdateHwContextState

UpdateAllocationProperty 支持

对于可选的 UpdateAllocationProperty 支持,还必须提供指向以下函数的指针:

  • DxgkDdiValidateUpdateAllocationProperty

转义支持

对于可选的转义支持,还必须提供指向以下函数的指针:

  • DxgkDdiEscape

Windows 事件跟踪支持

对于可选的 ETW 支持,还必须提供指向以下函数的指针:

  • DxgkDdiControlEtwLogging

子设备支持

对于可选的子设备支持,还必须提供指向以下函数的指针:

  • DxgkDdiGetChildContainerId

功耗报告支持

对于可选的功耗报告支持,还必须提供指向以下函数的指针:

  • DxgkDdiSetTrackedWorkloadPowerLevel

命令提交验证

对于可选的命令提交验证,还必须提供指向以下函数的指针:

  • DxgkDdiValidateSubmitCommand

IOCTL 支持

对于可选的 IOCTL 支持,可以提供指向以下函数的指针:

  • DxgkDdiDispatchIoRequest

 禁止的函数

MCDM 驱动程序中不得提供以下 DDI:

  • DxgkDdiAcquireSwizzlingRange
  • DxgkDdiCheckMultiPlaneOverlaySupport
  • DxgkDdiCheckMultiPlaneOverlaySupport2
  • DxgkDdiCheckMultiPlaneOverlaySupport3
  • DxgkDdiCommitVidPn
  • DxgkDdiControlDiagnosticReporting
  • DxgkDdiControlInterrupt
  • DxgkDdiControlInterrupt2
  • DxgkDdiControlModeBehavior
  • DxgkDdiCreateOverlay
  • DxgkDdiCreatePeriodicFrameNotification
  • DxgkDdiCreateProtectedSession
  • DxgkDdiDestroyOverlay
  • DxgkDdiDestroyPeriodicFrameNotification
  • DxgkDdiDestroyProtectedSession
  • DxgkDdiDisplayDetectControl
  • DxgkDdiEnumVidPnCofuncModality
  • DxgkDdiExchangePreStartInfo
  • DxgkDdiFlipOverlay
  • DxgkDdiGetMultiPlaneOverlayCaps
  • DxgkDdiGetPostCompositionCaps
  • DxgkDdiGetScanLine
  • DxgkDdiIsSupportedVidPn
  • DxgkDdiNotifyAcpiEvent
  • DxgkDdiNotifyFocusPresent
  • DxgkDdiPostMultiPlaneOverlayPresent
  • DxgkDdiPresent
  • DxgkDdiQueryConnectionChange
  • DxgkDdiQueryCurrentFence

 WDDM 1.x 函数

以下函数仅用于 WDDM 1.x 驱动程序:

  • DxgkDdiQueryDiagnosticTypesSupport
  • DxgkDdiQueryVidPnHWCapability
  • DxgkDdiRecommendFunctionalVidPn
  • DxgkDdiRecommendMonitorModes
  • DxgkDdiRecommendVidPnTopology
  • DxgkDdiReleaseSwizzlingRange
  • DxgkDdiRenderGdi
  • DxgkDdiRenderKm
  • DxgkDdiSetDisplayPrivateDriverFormat
  • DxgkDdiSetPalette
  • DxgkDdiSetPointerPosition
  • DxgkDdiSetPointerShape
  • DxgkDdiSetPowerPState (驱动程序不应报告任何 P 状态电源组件)
  • DxgkDdiSetTargetAdjustedColorimetry
  • DxgkDdiSetTargetAdjustedColorimetry2
  • DxgkDdiSetTargetAnalogCopyProtection
  • DxgkDdiSetTargetContentType
  • DxgkDdiSetTargetGamma
  • DxgkDdiSetTimingsFromVidPn
  • DxgkDdiSetVideoProtectedRegion
  • DxgkDdiSetVidPnSourceAddress
  • DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay
  • DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay2
  • DxgkDdiSetVidPnSourceAddressWithMultiPlaneOverlay3
  • DxgkDdiSetVidPnSourceVisibility
  • DxgkDdiStopCapture
  • DxgkDdiStopDeviceAndReleasePostDisplayOwnership
  • DxgkDdiSubmitRender
  • DxgkDdiSystemDisplayEnable
  • DxgkDdiSystemDisplayWrite
  • DxgkDdiUpdateActiveVidPnPresentPath
  • DxgkDdiUpdateMonitorLinkInfo
  • DxgkDdiUpdateOverlay