[PATCH 0/2] Damage driver hooks
Aaron Plattner
aplattner at nvidia.com
Thu Jul 23 17:57:30 PDT 2009
On Sat, Jul 18, 2009 at 11:41:53AM -0700, Aaron Plattner wrote:
> On Sat, Jul 18, 2009 at 08:37:38AM -0700, Michel Dänzer wrote:
> > On Fri, 2009-07-17 at 15:10 -0700, Aaron Plattner wrote:
> > > This pair of patches adds hooks that allow drivers (or other server modules) to
> > > wrap the creation, registration, unregistration, and destruction of Damage
> > > objects. This allows drivers like the NVIDIA driver to turn notifications on
> > > and off for direct-rendering OpenGL and VDPAU clients as Damage clients appear
> > > and disappear. Currently, the driver has no way of knowing when a Damage object
> > > is created, which hinders screen-scraping programs like x11vnc.
> >
> > How so? There's at least two possible solutions available for generating
> > damage from direct rendering components:
> >
> > * XDamageAdd(), as used by the Mesa libGL with DRI1.
> > * Doing the actual manipulation of X drawable contents in the X
> > server, as done by DRI2.
>
> Sure, there are a multitude of mechanisms by which the driver can generate
> Damage events that can be received by any listening client. However, that
> doesn't solve the problem of when that code should be enabled. Always
> generating these events or serializing all of the updates through the X server
> would be an unacceptable performance hit. The driver needs to know when a
> Damage client registers for events so that it can tell the direct-rendering
> client to turn on its event generation.
If there are no further objections, I'll submit this tomorrow.
More information about the xorg-devel
mailing list