IDDCX_ADAPTER_FLAGS枚举 (iddcx.h)

IDDCX_ADAPTER_FLAGS 指定间接显示适配器的布尔功能标志。

语法

typedef enum IDDCX_ADAPTER_FLAGS {
  IDDCX_ADAPTER_FLAGS_NONE = 0,
  IDDCX_ADAPTER_FLAGS_USE_SMALLEST_MODE = 0x1,
  IDDCX_ADAPTER_FLAGS_CAN_USE_MOVE_REGIONS = 0x2,
  IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER = 0x4,
  IDDCX_ADAPTER_FLAGS_PREFER_PHYSICALLY_CONTIGUOUS = 0x8,
  IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITION = 0x10,
  IDDCX_ADAPTER_FLAGS_PREFER_PRECISE_PRESENT_REGIONS = 0x20,
  IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 = 0x40,
  IDDCX_ADAPTER_FLAGS_REMOTE_ALL_TARGET_MODES_MONITOR_COMPATIBLE = 0x80
} ;

常数

 
IDDCX_ADAPTER_FLAGS_NONE
值:0
指示没有为适配器设置标志。
IDDCX_ADAPTER_FLAGS_USE_SMALLEST_MODE
值:0x1
间接显示模型自动支持 OS 虚拟模式,允许 OS 使用桌面窗口管理器(DWM)按帧缩放无缝执行模式更改,而无需更改显示模式。 当用户使用较小的桌面模式时,会出现缺点:提供给驱动程序的桌面映像大于桌面大小,从而浪费编码和传输带宽。

此枚举值指示 OS 在更改桌面模式时使用尽可能小的桌面表面大小。 处理开销较大或传输带宽受限的解决方案通常使用此标志来减小桌面图像大小,以便尽可能多地处理。

设置此标志会导致每次更改桌面分辨率时都会发生模式更改。
IDDCX_ADAPTER_FLAGS_CAN_USE_MOVE_REGIONS
值:0x2
从 IddCx v1.7 开始,此标志弃用。 驱动程序仍可以为 IddCx 1.7 及更高版本设置此标志,但它将不起作用。 如果驱动程序设计为在 Pre-IddCx 1.7 上运行并设置此标志,该驱动程序必须具有处理移动的逻辑;否则,用户在 IddCx 1.7 系统上运行时将看到视觉问题。

指示驱动程序是否可以在对图像进行编码时使用 OS 提供的移动区域,以及脏排。 驱动程序仅在使用移动区域时将其设置为 TRUE,因为 OS 在生成这些附加资源时会产生成本。 如果驱动程序将此设置为 FALSE,则 OS 会将所有移动区域转换为脏排。
IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER
值:0x4
指示驱动程序是否是支持远程会话监视器的远程会话驱动程序,而不是控制台会话监视器。 远程会话驱动程序不支持控制台会话监视器,控制台会话驱动程序不支持远程会话监视器。 从 IddCx 版本 1.4开始支持。
IDDCX_ADAPTER_FLAGS_PREFER_PHYSICALLY_CONTIGUOUS
值:0x8
指示驱动程序更喜欢用于交换链缓冲区的物理连续内存,从而允许驱动程序直接扫描缓冲区,而无需中间副本。 从 IddCx 版本 1.6开始支持。
IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITION
值:0x10
指示驱动程序要接收所有游标位置更改;也就是说,它想要从远程客户端接收注入到远程会话中的鼠标输入,以及来自服务器上的应用程序或 OS 的 API 调用引起的过程移动。

仅当与 IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER结合使用时,此标志才有效。 如果未设置 IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITION 而不 IDDCX_ADAPTER_FLAGS_REMOTE_SESSION_DRIVER,则 iddCxAdapterInitAsync 将失败。

IddCx 版本 1.7开始支持。
IDDCX_ADAPTER_FLAGS_PREFER_PRECISE_PRESENT_REGIONS
值:0x20
设置此标志的驱动程序请求 OS 更准确地跟踪桌面更新的脏区域。 这种更准确的跟踪具有较小的 CPU 使用率开销,因此,如果较小的脏区域对驱动程序有利,驱动程序应仅设置此标志。

IddCx 版本 1.8开始支持。
IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16
指示驱动程序可以处理 IEEE 半精度浮点(FP16)交换链图面。 驱动程序应为不支持 HDR 或 SDR WCG 的适配器设置 IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16。 当正确组合监视器、目标功能、O 设置等时,OS 会将 HDR 或 SDR WC 图面和模式发送到驱动程序。 因此,设置 IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 的驱动程序还必须支持允许发生这种情况的 IddCx 版本 1.10 函数。 支持 HDR10 的驱动程序必须能够:

* 在交换链中接收和处理 FP16 格式图面。
* 将指示的 SDR 白色级别应用于鼠标光标。

控制台驱动程序还必须:

* 使用新的 3x4 矩阵颜色转换。
* 接受并使用 HDR 元数据。

远程驱动程序还必须:

* 根据需要提供着色和 SDR 白色级别。

IddCx 版本 1.10开始支持。 请参阅“备注”。
IDDCX_ADAPTER_FLAGS_REMOTE_ALL_TARGET_MODES_MONITOR_COMPATIBLE
值:0x80
只有远程驱动程序才能设置此标志。

远程驱动程序可以使用 IDDCX_ADAPTER_FLAGS_ALL_TARGET_MODES_MONITOR_COMPATIBLE 来允许它们指定不属于监视器描述符的目标模式。 通常,OS 根据它位于监视器和目标模式列表中选择一个模式,如果不存在描述符,则通过 EVT_IDD_CX_PARSE_MONITOR_DESCRIPTIONEVT_IDD_CX_MONITOR_GET_DEFAULT_DESCRIPTION_MODES 报告,以及目标模式列表。 远程方案可能需要不在描述符中的模式。 相反,驱动程序可以使用目标模式来描述它们,并指示它们不应针对监视模式检查的 OS。

当远程驱动程序设置此标志时,它指示在调用 EVT_IDD_CX_MONITOR_QUERY_TARGET_MODES2IddCxMonitorUpdateModes2 中报告的每个目标模式都保证与当前连接的监视器兼容。 然后,OS 不会调用 EVT_IDD_CX_PARSE_MONITOR_DESCRIPTION2EVT_IDD_CX_MONITOR_GET_DEFAULT_DESCRIPTION_MODES

IddCx 版本 1.10开始支持。 请参阅“备注”。

言论

若要确定 OS 是否接受驱动程序设置 IDDCX_ADAPTER_FLAGS_CAN_PROCESS_FP16 还是 IDDCX_ADAPTER_FLAGS_ALL_TARGET_MODES_MONITOR_COMPATIBLE,驱动程序应使用 IDD_IS_FUNCTION_AVAILABLE 宏来检查是否存在版本 1.10 DDI 之一;例如 IDD_IS_FUNCTION_AVAILABLE(IddCxSwapChainReleaseAndAcquireBuffer2)。 此宏在 v1.10 支持的 OS 上计算结果为 TRUE,否则为 false。 有关详细信息,请参阅 iddCx 版本 1.10 及更高版本的 更新

要求

要求 价值
标头 iddcx.h

另请参阅

IDDCX_ADAPTER_CAPS

IddCxAdapterInitAsync