Introduction to Video Present Networks(VidPN)

https://msdn.microsoft.com/en-us/library/windows/hardware/ff567756(v=vs.85).aspx

http://www.yiiyee.cn/Blog/wddm2/

显卡(Video card,Graphics card)全称显示接口卡,又称显示适配器

The video present network (VidPN) manager, which is a component of the DirextX graphics kernel subsystem (Dxgkrnl.sys), is responsible for managing the collection of monitors and other display devices that are connected to a display adapter. The responsibilities of the VidPN manager include the following:

VIDPN是WDDM引入的概念,用来描述通过显卡设备(Adapter)建立的若干个显示源(Source)和若干个目标接口(Target)之间的关系。系统按照VIDPN所定义的方式,将一个或多个显示源(Source)通过显卡设备,输出到这些目标接口(Target)上。

  • Respond to hot plugging and unplugging of monitors.

  • 负责显示器的插入和拔出

  • Maintain and update a set of available display modes as the set of connected monitors changes.

  • 管理和更新显示器显示模式(分辨率。。。

  • Manage the association between rendering surfaces and video outputs on the display adapter; for example, clone views and extension of the desktop to multiple monitors.

  • 管理显示的输出模式(多显,扩展)

  • Adjust the set of available display devices and display modes when the lid on a laptop computer is opened or closed.

  • 笔记本关闭或打开时,调整显示设备和显示模式

  • Adjust the set of available display devices and display modes when a laptop computer is docked or undocked.

The hardware on a display adapter that is responsible for scanning rendered content from video memory and presenting it on video outputs is called the display adapter's presentational subsystem. A video present network (VidPN) is a software model of a display adapter's presentational subsystem.

硬件显卡从显存扫描并读取渲染数据,并输出到视频接口的过程称为display adapter's presentational subsystem。VidPN是对应的软件模式。

The key elements of a display adapter's presentational subsystem are the views (primary surface chains) and the video outputs. In the VidPN model, a view is called video present source, and a video output is called a video present target.

video present source:画面,the views (primary surface chains)

video present target:视频接口,VGA,HDMI,不是指连接到显卡的显示器!

video present path is an association between a video present source and a video present target. A VidPN models the relationship between sources and targets by maintaining a set of video present paths. The set of paths is called a VidPN topology.

画面输出到DVI

画面输出到HD15

这些称为VidPN网络,因为现在显示支持多种输出接口,DVI,VGA

Note that video present targets are not the monitors (or other external display devices) connected to the display adapter. The video present targets are the video output connectors themselves.

The following diagram illustrates a VidPN.

Diagram illustrating a video present network (VidPN)

The VidPN illustrated in the preceding diagram has three video present targets: a DVI connector, an HD15 connector, and an S-video connector. The VidPN topology is represented by the lines that connect the two sources to the three targets. The topology specifies that Source 1 is connected to the DVI target and Source 2 is connected to both the HD15 and S-video targets. The content rendered on Source 2 is presented as a clone view on the display devices connected to the HD15 and S-video connectors.

Each video present source supports a certain set of surface formats called source modes. To keep track of the source modes supported by the various video present sources, a VidPN maintains a source mode set for each video present source. The source mode set for a particular video present source is not static; it changes as the topology changes, and it changes according to the modes chosen for other video present sources.

source mode set随着VidPN topology改变而变化,也随着Sources改变而变化。VidPN为每个video present source管理source mode set.

The model works similarly for video present targets. Each video present target supports a certain set of video signal formats called target modes, and a VidPN maintains a target mode set for each video present target. The target mode set for a particular video present target changes as the topology changes and as modes are chosen for other video present targets.

The Role of the Display Miniport Driver

A display adapter has one or more video output codecs (for example, a CRTC) that read from video present sources and place the corresponding video signals on video present targets. At any given time, a video output codec can read from at most one video present source; however, that codec can supply a video signal to more than one video present target (clone view).The VidPN manager concerns itself with the associations between video present sources and video present targets, but does not concern itself with the role of the video output codecs. The decisions about which video output codec reads from a particular video present source is entirely under the control of the display miniport driver. For example, suppose a display adapter has two video output codecs, and the VidPN manager asks the display miniport driver to implement the topology shown in the following diagram.

video output codecs:一种数据输入流,解码成多种数据输出流

显卡有一个或多个video output codecs 读取video present sources、在vidoe present targets设置对应的视频信号。任何时候,video output codec最多只能读取一个video present source, 但有多路输出(1输入、多输出)。VidPN manager知道自身与VidPn topology的关系,但是不知道自身与video output codecs的关系。video output codec读取指定的video present source由显示小端口驱动控制。举例:显卡有两种video output codecs,VidPN manager请求显示小端口驱动实现下图的VidPN网络.

Diagram illustrating a video present network (VidPN) topology

在上面的这个VIDPN的拓扑结构中,它有两个源(source1、source2)和三个目标(DVI、HD15、S-Video)。这是一种老式显卡,可以看到接口类型都比较旧。它提供了三种输出头,但只能支持两个输出源。这样一个源(Source1)输出到DVI口,另外一个源(Source2)以克隆模式(Clone Mode)同时输出到HD15和S-Video两个口上。两个源之间则是扩展模式(External Mode)。

Path1: Source 1-> DVI
Path2: Source2->HD15
Path3: Source2->S-video

三条Path组成了这个VIDPN的拓扑结构。每个Source 和Target都各有它们的mode 和mode set。在最后确定的时候,它们各自的pinned mode将被运用。

---------------------------------------------------------------------------------

The following diagram shows one way that the display miniport driver could assign video output codecs to video present sources.

Diagram illustrating video codecs used to implement a video present network (VidPN) topology

Notice that the clone view (HD15, S-video) in the preceding diagram is handled by a single CRTC. Now suppose that the HD15 output connected to CRTC 1 is no longer needed. Then the display miniport driver could implement the clone view by configuring the video output codecs as shown in the following diagram:

示例1中讲到一个VIDPN,两个Source对应到三个Target。那么Source和Target的数量各由什么决定的呢?从下面的图中可以清楚看到,Source的数量是由显卡内部的Codec决定的。

显卡内部因为只有两个Codec,所以它仅能提供两条Surface处理的管线(PipeLine)。这和显卡本身的处理能力有关系。但是一个被处理过的Surface却可以被轻易地输出到多个Target,这一步仅仅需要少量的硬件连线就可以实现了。所以Target的数量,取决于显卡自己的设计和定位,提供比Source数量更多的Target头也是可以的。

---------------------------------------------------------------------------------

复制屏模式由一个CRTC处理。假设CRTC 1不需要,则可以优化为下图

Diagram illustrating an alternative use of video output codecs

Implementing the clone view with two CRTCs has some advantages over implementing it with one CRTC. For example, with two CRTCs the HD15 and S-video outputs can have different resolutions and refresh rates.

复制屏模式由两个CRTC实现的好处。HD15和S-video可以有不同的分辨率和刷新频率。

The important point is that the VidPN manager never knows anything about how the video output codecs on a display adapter are assigned to the video present sources and targets. The VidPN manager knows only the associations between sources and targets. The underlying composite associations that involve the video output codecs are known only to the display miniport driver.

关键在于,VidPN manager不知道video output codec分配给哪个video present sources and targets,只知道soureces和targets的关联。只有显示小端口驱动知道video output codec和video present sources、targets三者的关系。


http://blog.csdn.net/redredbird/article/details/5898440,ATI图形芯片ABC

framebuffer -> crtc -> encoder -> transmitter -> connector -> monitor

(framebuffer的像素被CRT Controller,又叫crtc按照一定的时序一行一行地scan out.crtc还可以控制需要scan的区域.framebuffer如果是一张纸,那么crtc可以起到viewport的功能,只裁剪出一个矩形区域出来让你看.除了scan out像素以外,crtc还负责输出一些monitor需要的时序同步信号,典型的如vsync和hsync,即场同步和行同步信号.这两个基本的同步信号用来通知显示设备什么时候一个新的扫描行开始了和一个新的图像帧开始了.对于一些设备如CRT来说,这就意味着要移动电子枪了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值