DXGK_DIAGNOSTIC_PSR结构(dispmprt.h)
一个诊断,指示通过 DXGK_DIAGNOSTIC_HEADER 结构中 TargetId 字段中的目标连接的面板已进入或退出面板自刷新(PSR)状态。
语法
typedef struct _DXGK_DIAGNOSTIC_PSR {
DXGK_DIAGNOSTIC_HEADER Header;
union {
DXGK_DIAGNOSTIC_PSR_REFRESH_REASON RefreshReason;
UINT Value;
};
} DXGK_DIAGNOSTIC_PSR;
成员
Header
指示正在报告的诊断类型的 DXGK_DIAGNOSTIC_HEADER 结构。
RefreshReason
一组 DXGK_DIAGNOSTIC_PSR_REFRESH_REASON 位字段,指示退出 PSR 的原因或原因;如果未设置任何字段,则表示目标正在进入 PSR。
Value
PSR 的值。
言论
当面板进入自我刷新时,驱动程序应发送此诊断,其中 RefreshReason 字段中未设置任何位字段。
当面板需要退出自我刷新以更新内容时,驱动程序应发送此诊断,其中至少有一个 RefreshReason 中的位字段,指示退出 PSR 的原因。 如果多个因素导致 PSR 退出,驱动程序应尝试设置所有适当的位字段原因。 但是,如果原因不是退出 PSR 的触发器,则不应设置标志,而不是捕获触发退出的所有原因。 这是因为一旦 PSR 退出,驱动程序不应随后报告 PSR 退出的其他原因,因此在报告下有效,只要至少提供了一个原因。
如果面板和驱动程序支持 PSR2,其中更新不需要将完整帧发送到面板以刷新较小的部分,则退出 PSR 时仍应向 OS 报告此类更新。 例如,如果显示器位于 PSR 中,并且光标形状更改时没有任何其他更新,驱动程序应能够发送像素完整帧的一小部分,可能只发送包含光标的线条。 在这种情况下,驱动程序仍应报告 PSR 已退出,原因 CursorUpdate。 在以后的版本中,可以添加额外的诊断字段来区分部分更新和完整更新。
要求
要求 | 价值 |
---|---|
标头 | dispmprt.h |