структура DXGK_DIAGNOSTIC_PSR (dispmprt.h)

Диагностика, показывающая, что панель, подключенная через целевой объект в поле TargetId структуры DXGK_DIAGNOSTIC_HEADER , вошла в состояние самостоятельного обновления панели (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. Например, если дисплей находится в PSR и фигура курсора изменяется без каких-либо других обновлений, драйвер должен иметь возможность отправлять небольшую часть полного кадра пикселей, скорее всего, только строки, содержащие курсор. В этом случае драйвер должен по-прежнему сообщать о том, что PSR был завершен, с причиной CursorUpdate. В более позднем выпуске можно добавить дополнительные поля диагностики для различения частичных и полных обновлений.

Требования

Требование Значение
Заголовок dispmprt.h