структура 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 |