window显示驱动开发—覆盖 DDI

覆盖 DDI 是 Direct3D 版本 9 DDI 的扩展,用于验证覆盖支持。 覆盖 DDI 由以下入口点组成:

  • Direct3D 运行时使用D3DDDICAPS_TYPE枚举中的 D3DDDICAPS_CHECKOVERLAYSUPPORT 值来验证显示设备是否支持特定的覆盖。 运行时在D3DDDIARG_GETCAPS结构的Type 成员中设置D3DDDICAPS_CHECKOVERLAYSUPPORT,当运行时调用 GetCaps 时,驱动程序的 GetCaps 函数的 pData 参数指向该成员。 运行时还将 D3DDDIARG_GETCAPS 的 pInfo 成员设置为指向描述覆盖的 DDICHECKOVERLAYSUPPORTINPUT 结构的指针。 如果驱动程序支持覆盖,则驱动程序设置 D3DOVERLAYCAPS 结构的成员,并在 D3DDDIARG_GETCAPS 的 pData 成员中返回指向此结构的指针。 否则,如果驱动程序不支持覆盖,驱动程序将无法调用其 GetCaps 函数,并D3DDDIERR_UNSUPPORTEDOVERLAYFORMAT或D3DDDIERR_UNSUPPORTEDOVERLAY,具体取决于缺少支持是否基于覆盖格式。 DirectX SDK 文档中介绍了 D3DOVERLAYCAPS。

驱动程序设置 D3DOVERLAYCAPS 的 MaxOverlayDisplayWidth 和 MaxOverlayDisplayHeight 成员,以指示驱动程序和硬件可能具有的任何限制,这些限制涉及在拉伸覆盖数据) 后的最终覆盖大小 (。

驱动程序在 D3DOVERLAYCAPS 的 Caps 成员中设置D3DOVERLAYCAPS_STRETCHX (0x00000040) 和D3DOVERLAYCAPS_STRETCHY (0x00000080) 功能位,以指示覆盖硬件能够任意拉伸和收缩覆盖数据。 驱动程序不应尝试模拟通过 GPU 的覆盖拉伸,并且只应在覆盖硬件支持拉伸时设置这些上限。 应用程序在视频处理和合成阶段执行 GPU 拉伸所需的开销通常比驱动程序在最末端执行单独的传递来模拟覆盖拉伸所需的开销更少。

  • 驱动程序应处理 来自 D3DDDI_OVERLAYINFOFLAGS 结构的以下新位字段标志。 D3DDDI_OVERLAYINFOFLAGS 结构标识要执行的覆盖操作的类型。 D3DDDI_OVERLAYINFOFLAGS 结构在调用驱动程序的 CreateOverlay 或 UpdateOverlay 函数时,在 D3DDDI_OVERLAYINFO 结构的 Flags 成员中指定。

LimitedRGB

覆盖是有限的范围 RGB,而不是全范围 RGB。 在有限范围 RGB 中,RGB 范围被压缩为 16:16:16 为黑色,235:235:235 为白色。

YCbCrBT709

覆盖层为 BT.709,表示高清电视 (HDTV) ,而不是 BT.601。

YCbCrxvYCC

覆盖是扩展的 YCbCr (xvYCC) ,而不是传统的 YCbCr。

  • 例如,当显示格式为 64 位而不是 32 位 (时,当桌面 Windows 管理器 (DWM) 将D3DFMT_A16B16G16R16F用于显示模式) 时,运行时将覆盖色键的下 32 位放置在 D3DDDI_OVERLAYINFO 结构的 DstColorKeyLow 成员中,并将高 32 位放置在 D3DDDI_OVERLAYINFO 的 DstColorKeyHigh 成员中。
相关推荐
猫猫的小茶馆4 小时前
【STM32】HAL库中的实现(二):串口(USART)/看门狗(IWDG/WWDG)/定时器(TIM)
arm开发·驱动开发·stm32·单片机·嵌入式硬件·mcu·智能硬件
花小璇学linux6 小时前
imx6ull-驱动开发篇10——pinctrl 子系统
linux·驱动开发·imx6ull·嵌入式软件
sukalot9 小时前
window显示驱动开发—可选内容保护 DDI 函数
驱动开发
sukalot19 小时前
window显示驱动开发—内容保护的资源
驱动开发
花小璇学linux19 小时前
imx6ull-驱动开发篇11——gpio子系统
驱动开发
车载操作系统---攻城狮1 天前
[驱动开发篇] Can通信进阶 --- CanFD 的三次采样
驱动开发
sukalot1 天前
window显示驱动开发—将加密会话与 DirectX 视频加速器 2.0 解码器配合使用
数据库·驱动开发·音视频
努力自学的小夏1 天前
RK3568 Linux驱动学习——字符设备驱动开发
linux·驱动开发·笔记·学习
sukalot2 天前
window显示驱动开发—内容保护 DDI
驱动开发