[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