функция обратного вызова PFND3DDDI_CHECKDIRECTFLIPSUPPORT (d3dumddi.h)
Вызывается диспетчером окон рабочего стола (DWM), чтобы убедиться, что драйвер пользовательского режима поддерживает операции прямого перелистывания, в которых видеопамять легко переключается между управляемыми основными выделениями приложения и управляемыми основными выделениями DWM.
Синтаксис
PFND3DDDI_CHECKDIRECTFLIPSUPPORT Pfnd3dddiCheckdirectflipsupport;
HRESULT Pfnd3dddiCheckdirectflipsupport(
HANDLE hDevice,
D3DDDIARG_CHECKDIRECTFLIPSUPPORT *unnamedParam2
)
{...}
Параметры
hDevice
Дескриптор устройства отображения (графический контекст).
unnamedParam2
pData [in, out]
Указатель на структуру D3DDDIARG_CHECKDIRECTFLIPSUPPORT , которая определяет параметры для операции.
Возвращаемое значение
Возвращает S_OK или соответствующий результат ошибки, если операция не выполнена успешно.
Комментарии
Эта функция вызывается по крайней мере один раз, прежде чем DWM попытается представить его в цепочку переключения direct flip. Он также вызывается после каждого изменения режима или после того, как DWM повторно создает собственную цепочку буферов по любой причине.
Драйвер пользовательского режима должен убедиться, что управляемые основные ресурсы приложения и DWM имеют следующие совместимые ресурсы:
- Стереоресумы.
- Несколько примеров форматов сглаживания (MSAA).
- Форматы swizzle. Если swizzle можно изменять только в каждый интервал VSync, убедитесь, что элемент CheckDirectFlipFlags структуры D3DDDI_CHECK_DIRECT_FLIP_FLAGS не имеет значения D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE.
- Оба управляемых первичных выделения должны быть созданы с использованием одного и того же значения VidPnSourceId в D3DDDI_ALLOCATIONINFO структуре.
- Конфигурации видеоадаптера связаны.
Так как DWM обычно создает собственное устройство с использованием максимально возможного уровня компонентов Microsoft Direct3D, DWM не будет вызывать эту функцию, если оборудование поддерживает интерфейс драйвера устройства Direct3D (DDI), который больше версии 9.3. Однако любой драйвер Microsoft Direct3D 9 должен реализовать эту функцию, чтобы включить пользовательский интерфейс Direct Flip.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 |
Минимальная версия сервера | Windows Server 2012 |
Целевая платформа | Персональный компьютер |
Верхняя часть | d3dumddi.h (включая D3dumddi.h) |