Функция 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