перечисление IDDCX_ADAPTER_FLAGS (iddcx.h)
IDDCX_ADAPTER_FLAGS задает флаги логических возможностей для косвенного адаптера отображения.
Синтаксис
typedef enum IDDCX_ADAPTER_FLAGS {
IDDCX_ADAPTER_FLAGS_NONE = 0,
IDDCX_ADAPTER_FLAGS_USE_SMALLEST_MODE = 0x1,
IDDCX_ADAPTER_FLAGS_CAN_USE_MOVE_REGIONS = 0x2,
IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER = 0x4,
IDDCX_ADAPTER_FLAGS_PREFER_PHYSICALLY_CONTIGUOUS = 0x8,
IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITION = 0x10,
IDDCX_ADAPTER_FLAGS_PREFER_PRECISE_PRESENT_REGIONS = 0x20,
IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 = 0x40,
IDDCX_ADAPTER_FLAGS_REMOTE_ALL_TARGET_MODES_MONITOR_COMPATIBLE = 0x80
} ;
Константы
IDDCX_ADAPTER_FLAGS_NONE Значение: 0 Указывает, что для адаптера нет флагов. |
IDDCX_ADAPTER_FLAGS_USE_SMALLEST_MODE Значение: 0x1 Непрямая модель отображения автоматически поддерживает виртуальные режимы ОС, что позволяет ОС легко изменять режим с помощью масштабирования диспетчера окон рабочего стола (DWM) на основе кадра без изменения режима отображения. Недостаток возникает при использовании пользователем меньшего режима рабочего стола: образ рабочего стола, предоставленный драйверу, превышает размер рабочего стола, поэтому кодирование и пропускная способность передачи. Это значение перечисления сообщает ОС использовать наименьший размер поверхности рабочего стола при изменении режима рабочего стола. Решение, которое имеет большие затраты на обработку или ограниченную пропускную способность передачи, обычно использует этот флаг для уменьшения размера образа рабочего стола для обработки как можно больше. Установка этого флага приводит к изменению режима при каждом изменении разрешения рабочего стола. |
IDDCX_ADAPTER_FLAGS_CAN_USE_MOVE_REGIONS Значение: 0x2 Этот флаг был устаревшим, начиная с IddCx версии 1.7. Драйверы по-прежнему могут задать этот флаг для IddCx 1.7 и более поздних версий, но он не будет иметь эффекта. Если драйвер предназначен для запуска в pre-IddCx 1.7 и задает этот флаг, этот драйвер должен иметь логику для обработки перемещения; В противном случае пользователи увидят визуальные проблемы при запуске в системах pre-IddCx 1.7. Указывает, может ли драйвер использовать области перемещения, предоставляемые ОС, в дополнение к грязным прямоугольникам при кодировании образа. Драйвер должен задать значение TRUE, если он использует регионы перемещения, так как ОС несет затраты при создании этих дополнительных ресурсов. Если драйвер задает значение FALSE, ОС преобразует все области перемещения в грязные прямоугольники. |
IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER Значение: 0x4 Указывает, является ли драйвер драйвером удаленного сеанса, поддерживающим мониторы удаленных сеансов, а не мониторами сеансов консоли. Драйвер удаленного сеанса не может поддерживать мониторы сеансов консоли, а драйвер сеанса консоли не может поддерживать мониторы удаленных сеансов. Поддерживается начиная с IddCx версии 1.4. |
IDDCX_ADAPTER_FLAGS_PREFER_PHYSICALLY_CONTIGUOUS Значение: 0x8 Указывает, что драйвер предпочитает физически непрерывную память для буферов цепочки буферов, позволяя драйверу напрямую сканировать буферы без необходимости промежуточной копии. Поддерживается начиная с IddCx версии 1.6. |
IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITION Значение: 0x10 Указывает, что драйвер хочет получить все изменения положения курсора; То есть он хочет получить входные данные мыши, внедренные в удаленный сеанс от удаленного клиента и процедурных перемещения, вызванных вызовом API из приложения или ОС на сервере. Этот флаг действителен только в сочетании с IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER. IddCxAdapterInitAsync завершится ошибкой, если IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITION задан без IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER. Поддерживается начиная с IddCx версии 1.7. |
IDDCX_ADAPTER_FLAGS_PREFER_PRECISE_PRESENT_REGIONS Значение: 0x20 Драйвер, задающий этот флаг, запрашивает ОС отслеживать грязные регионы классических обновлений более точно. Это более точное отслеживание имеет небольшие затраты на использование ЦП, поэтому драйверы должны устанавливать только этот флаг, если небольшие грязные регионы полезны драйверу. Поддерживается начиная с IddCx версии 1.8. |
IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 Указывает, что драйвер может обрабатывать поверхности с плавающей запятой с плавающей запятой (FP16) IEEE. Драйвер должен задать IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 даже для адаптеров, которые не поддерживают HDR или WCG SDR. ОС отправляет поверхности и режимы WC HDR или SDR в драйвер, когда нужное сочетание возможностей монитора, целевых возможностей, параметров O и т. д. Поэтому драйвер, который задает IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16, также должен поддерживать функции IddCx версии 1.10, которые позволяют это сделать. Драйвер, поддерживающий HDR10, должен иметь следующие возможности: * Получение и обработка поверхностей формата FP16 в цепочке буферов. * Применение указанного уровня белого уровня SDR к курсорам мыши. Драйверы консоли также должны: * Используйте новое преобразование цвета матрицы 3x4. * Примите и используйте метаданные HDR. Удаленные драйверы также должны: * При необходимости укажите цветометрию и уровень SDR. Поддерживается начиная с IddCx версии 1.10. См. примечания. |
IDDCX_ADAPTER_FLAGS_REMOTE_ALL_TARGET_MODES_MONITOR_COMPATIBLE Значение: 0x80 Этот флаг можно задать только удаленным драйверам. Удаленные драйверы могут использовать IDDCX_ADAPTER_FLAGS_ALL_TARGET_MODES_MONITOR_COMPATIBLE, чтобы разрешить им указывать целевые режимы, которые не являются частью дескриптора монитора. Как правило, ОС выбирает режим, основанный на том, что он находится как в списке мониторов, так и в целевом режиме, сообщается через EVT_IDD_CX_PARSE_MONITOR_DESCRIPTION или EVT_IDD_CX_MONITOR_GET_DEFAULT_DESCRIPTION_MODES, если дескриптор недоступен, а также список целевых режимов. Для удаленных сценариев могут потребоваться режимы, которые не находятся в дескрипторе. Вместо этого драйвер может использовать целевые режимы для описания и указания операционной системы, которые они не должны проверяться в режимах монитора. Если удаленный драйвер задает этот флаг, он указывает, что каждый целевой режим, сообщаемый в вызовах EVT_IDD_CX_MONITOR_QUERY_TARGET_MODES2 и IddCxMonitorUpdateModes2 гарантирует совместимость с текущим подключенным монитором. Затем ОС не вызовет EVT_IDD_CX_PARSE_MONITOR_DESCRIPTION2 или EVT_IDD_CX_MONITOR_GET_DEFAULT_DESCRIPTION_MODES. Поддерживается начиная с IddCx версии 1.10. См. примечания. |
Замечания
Чтобы определить, принимает ли ОС параметр параметров IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 или IDDCX_ADAPTER_FLAGS_ALL_TARGET_MODES_MONITOR_COMPATIBLE, драйвер должен использовать макрос IDD_IS_FUNCTION_AVAILABLE для проверки наличия одного из DDis версии 1.10; например, IDD_IS_FUNCTION_AVAILABLE(IddCxSwapChainReleaseAndAcquireBuffer2)
. Этот макрос оценивается как TRUE в поддерживаемой ОС версии 1.10 и false в противном случае. Дополнительные сведения см. в обновлениях для IddCx версии 1.10 и более поздних версий.
Требования
Требование | Ценность |
---|---|
заголовка | iddcx.h |