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 之前的系统上运行时,用户将看到视觉问题。

指示驱动程序在对映像进行编码时,除了脏 rect 之外,是否还可以使用 OS 提供的移动区域。 仅当驱动程序使用移动区域时,才应将其设置为 TRUE,因为操作系统在生成这些附加资源时会产生成本。 如果驱动程序将此设置为 FALSE,OS 会将所有移动区域转换为脏 rect。
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_SESSION_DRIVER设置IDDCX_ADAPTER_FLAGS_REMOTE_ALL_CURSOR_POSITION,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 时报告的每个目标模式都保证与当前连接的监视器兼容。 操作系统随后不会调用 EVT_IDD_CX_PARSE_MONITOR_DESCRIPTION2EVT_IDD_CX_MONITOR_GET_DEFAULT_DESCRIPTION_MODES

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

注解

若要确定操作系统是接受驱动程序设置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 及更高版本的汇报

要求

要求
Header iddcx.h

另请参阅

IDDCX_ADAPTER_CAPS

IddCxAdapterInitAsync