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