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


Функция IddCxSwapChainReleaseAndAcquireBuffer2 (iddcx.h)

Косвенный драйвер отображения вызывает IddCxSwapChainReleaseAndAcquireBuffer2 , чтобы освободить текущий буфер в цепочке буферов и получить новый. Драйвер, поддерживающий адаптеры HDR, должен использовать IddCxSwapChainReleaseAndAcquireBuffer2 вместо IddCxSwapChainReleaseAndAcquireBuffer и IddCxSwapChainReleaseAndAcquireSystemBuffer.

Синтаксис

HRESULT IddCxSwapChainReleaseAndAcquireBuffer2(
  IDDCX_SWAPCHAIN                    SwapChainObject,
  IDARG_IN_RELEASEANDACQUIREBUFFER2  *pInArgs,
  IDARG_OUT_RELEASEANDACQUIREBUFFER2 *pOutArgs
);

Параметры

SwapChainObject

[in] Объект цепочки буферов, ранее переданный ОС драйверу в вызове EVT_IDD_CX_MONITOR_ASSIGN_SWAPCHAIN .

pInArgs

[in] Указатель на структуру IDARG_IN_RELEASEANDACQUIREBUFFER2 , содержащую входные аргументы для функции.

pOutArgs

[out] Указатель на IDARG_OUT_RELEASEANDACQUIREBUFFER2 структуру, в которой возвращаются выходные аргументы функции.

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

IddCxSwapChainReleaseAndAcquireBuffer2 возвращает S_OK при успешном выполнении; В противном случае возвращается соответствующий код ошибки.

Комментарии

Цветовое пространство поверхности, переданное в IDDCX_METADATA2 структуре, также передается драйверу. Это связано с тем, что он может изменяться для каждого кадра и не соответствовать цветовой области, указанной при фиксации режима.

Аналогичным образом, формат пикселей для предоставленной поверхности может изменяться по кадру. Например, если режим HDR зафиксирован на пути, это не гарантирует, что каждая поверхность будет поверхностью FP16.

Белый уровень для содержимого SDR также включен для применения к курсорам мыши.

Если IDDCX_METADATA2_VALID_FLAGS_HDR10METADATA задано в IDDCX_METADATA2::ValidFlags , то IDDCX_METADATA2::Hdr10FrameMetaData содержит допустимые данные. Эти метаданные могут быть одного из трех типов:

  • Новые данные, которые должен использовать драйвер.
  • Указывает, что следует использовать метаданные по умолчанию, ранее отправленные драйверу в вызове EVT_IDD_CX_MONITOR_SET_DEFAULT_HDR_METADATA .
  • Указывает, что все отправленные ранее метаданные следует использовать снова. Если тип по умолчанию или без изменений, значения в IDDCX_HDR10_FRAME_METADATA::NewMetaData будут недопустимыми.

IddCxSwapChainReleaseAndAcquireBuffer2 также заменяет IddCxSwapChainReleaseAndAcquireSystemBuffer. Драйвер с именем IddCxSwapChainReleaseAndAcquireSystemBuffer может задать IDARG_IN_RELEASEANDACQUIREBUFFER2::AcquireSystemMemoryBuffer , чтобы указать, что ему нужно заполнить IDDCX_METADATA2::SystemBufferInfo .

Драйверы версии 1.10, которые не сообщают о поддержке FP16 , по-прежнему могут вызывать эту функцию, если она доступна в ОС.

Дополнительные сведения о поддержке HDR см. в разделе Обновления IddCx версии 1.10.

Удаленные метаданные HDR

Ос не передает метаданные HDR удаленным драйверам, так как следует использовать метаданные HDR в клиентской системе, а не созданные сервером. Для удаленных драйверов IDDCX_METADATA2_VALID_FLAGS_HDR10METADATA никогда не будет задан.

Требования

Требование Значение
Минимальная версия клиента Windows 11, версия 22H2 сентябрьское обновление (IddCx версии 1.10)
Верхняя часть iddcx.h

См. также раздел

IDARG_IN_RELEASEANDACQUIREBUFFER2

IDARG_OUT_RELEASEANDACQUIREBUFFER2

IDDCX_METADATA2