==
a. Compiz registers for damage events.
b. Some X client sends a rendering request.
c. The X server sends Compiz a damage event.
d. Compiz processes the request and sends commands to the HW.
e. HW processes Compiz's commands using stale bits.
f. X driver processes the rendering request.
g. HW processes X's commands, causing the damage that Compiz thinks it's already processed.
==
So there's the technical description, and it looks like this is being actively worked on by the xorg folks and nVidia on internal bug number 470239 (thanks Dmitriy).
Anyone tracking this may find this interesting:
o http:// lists.freedeskt op.org/ archives/ xorg/2008- August/ 038022. html
From that post:
==
a. Compiz registers for damage events.
b. Some X client sends a rendering request.
c. The X server sends Compiz a damage event.
d. Compiz processes the request and sends commands to the HW.
e. HW processes Compiz's commands using stale bits.
f. X driver processes the rendering request.
g. HW processes X's commands, causing the damage that Compiz thinks it's already processed.
==
So there's the technical description, and it looks like this is being actively worked on by the xorg folks and nVidia on internal bug number 470239 (thanks Dmitriy).