IddCxSwapChainReleaseAndAcquireBuffer2 函数 (iddcx.h)
间接显示驱动程序调用 IddCxSwapChainReleaseAndAcquireBuffer2 释放交换链中的当前缓冲区并获取新缓冲区。 支持 HDR 适配器的驱动程序必须使用 IddCxSwapChainReleaseAndAcquireBuffer2,而不是 IddCxSwapChainReleaseAndAcquireBuffer 和 IddCxSwapChainReleaseAndAcquireSystemBuffer。
语法
HRESULT IddCxSwapChainReleaseAndAcquireBuffer2(
IDDCX_SWAPCHAIN SwapChainObject,
IDARG_IN_RELEASEANDACQUIREBUFFER2 *pInArgs,
IDARG_OUT_RELEASEANDACQUIREBUFFER2 *pOutArgs
);
参数
SwapChainObject
[in]OS 以前在 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::ValidFlags 中设置了 IDDCX_METADATA2_VALID_FLAGS_HDR10METADATA,则 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。
未报告 FP16 支持 的 1.10 版驱动程序在 OS 中可用时仍可调用此函数。
有关 HDR 支持的详细信息,请参阅 IddCx 版本 1.10 更新。
远程 HDR 元数据
OS 不会将 HDR 元数据传递给远程驱动程序,因为应使用客户端系统上的 HDR 元数据,而不是由服务器生成的任何元数据。 对于远程驱动程序 IDDCX_METADATA2_VALID_FLAGS_HDR10METADATA 永远不会设置。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 11 版本 22H2 9 月更新(IddCx 版本 1.10) |
标头 | iddcx.h |
另请参阅
IDARG_IN_RELEASEANDACQUIREBUFFER2