Поделиться через


функция обратного вызова PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT (d3d10umddi.h)

Вызывается диспетчером окон рабочего стола (DWM), чтобы убедиться, что драйвер пользовательского режима поддерживает операции Direct Flip, в которых память видео будет легко перевернута между управляемыми основными выделениями приложения и управляемыми основными выделениями DWM.

Синтаксис

PFND3D11_1DDI_CHECKDIRECTFLIPSUPPORT Pfnd3d111DdiCheckdirectflipsupport;

void Pfnd3d111DdiCheckdirectflipsupport(
        D3D10DDI_HDEVICE unnamedParam1,
        D3D10DDI_HRESOURCE unnamedParam2,
        D3D10DDI_HRESOURCE unnamedParam3,
        UINT CheckDirectFlipFlags,
  [out] BOOL *pSupported
)
{...}

Параметры

unnamedParam1

hDevice [in]

Дескриптор устройства отображения (графический контекст).

unnamedParam2

hResource1

Ресурс в цепочке буферов приложения.

unnamedParam3

hResource2

Ресурс в цепочке буферов DWM.

CheckDirectFlipFlags

Если этот параметр имеет значение D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE, простое переворачивание должно происходить немедленно и не должно быть синхронизировано с прерыванием VSync.

[out] pSupported

Установите значение TRUE, если драйвер может легко перевернуть память видео между управляемыми основными выделениями приложения и управляемыми основными выделениями DWM. В противном случае задайте значение FALSE false.

Возвращаемое значение

Никакой

Замечания

Эта функция вызывается по крайней мере один раз, прежде чем DWM пытается представить цепочку переключений Direct Flip. Он также вызывается после каждого изменения режима или после повторного создания цепочки буферов DWM по какой-либо причине.

Драйвер пользовательского режима должен гарантировать, что управляемые первичные выделения приложения и DWM имеют следующие совместимые ресурсы:

  • Стереоресумы.
  • Несколько форматов защиты от псевдонимов (MSAA).
  • Форматы Swizzle. Если swizzle может изменяться только в каждом интервале VSync, убедитесь, что параметр CheckDirectFlipFlags не имеет значения D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE.
  • Оба управляемых первичных выделения должны создаваться с помощью одного и того же значения VidPnSourceId в структуре D3DDDI_ALLOCATIONINFO.
  • Конфигурации адаптера отображения связаны.
Драйвер пользовательского режима может потребоваться вызвать драйвер режима ядра для выполнения этих проверок. Для этого вызовите функцию обратного вызова pfnEscapeCb, а затем вызовите функцию DxgkCbGetHandleData для доступа к данным выделения ресурсов драйвера в режиме ядра.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 8
минимальный поддерживаемый сервер Windows Server 2012
целевая платформа Настольный
заголовка d3d10umddi.h (include D3d10umddi.h)

См. также

D3D11_1_DDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_ALLOCATIONINFO

DxgkCbGetHandleData

pfnEscapeCb