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. _______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
