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 的原因 (s) 。 如果有多個因素導致 PSR 結束,驅動程式應該嘗試設定所有適當的位欄位原因。 不過,如果原因不是結束 PSR 的觸發程式,則不應該設定旗標,而不是擷取觸發結束的所有原因。 這是因為一旦結束 PSR,驅動程式就不應該後續回報 PSR 已結束的其他原因,因此報告有效,只要至少提供一個原因即可。

如果面板和驅動程式支援 PSR2,其中更新不需要將完整框架傳送至面板,以便重新整理較小的部分,這類更新仍應該在結束 PSR 時回報給 OS。 例如,如果顯示器在 PSR 中,而且游標圖形變更而沒有任何其他更新,則驅動程式應該能夠傳送一小部分的完整圖元框架,可能只有包含游標的線條。 在此情況下,驅動程式應該仍會回報 PSR 已結束,且原因為 CursorUpdate。 在較新版本中,可能會新增額外的診斷欄位來區分部分和完整更新。

規格需求

需求
標頭 dispmprt.h