I posted a simple GL compositor developed for the accelerated nvidia platform around a month ago. Since then, I have rewritten much of the code, ported it to a wider range of platforms, tested it under a range of different systems and discussed it with members of the xorg mailing list on freedesktop.org. I attach the latest version.
When I first posted the compositor here, I pointed out a pair of problems that I was having, which James Jones was kind enough to discuss with me. He was able to reproduce one of the problems on his platform and posted a bug report onto the nvidia tracker. However, he was unable to reproduce the other bug that I was finding.
Unfortunately, I have yet to identify a single platform using the nvidia drivers on which this bug does not appear. On the other hand, it does not seem to appear on any other platforms (including Mesa / Xorg nv). Therefore, I am driven to the conclusion that it must be a problem in the nvidia drivers.
When the attached compositor is built with COPY_BUFFER set to 1 on line 64 then GL apps can be composited successfully. When COPY_BUFFER is set to 0 then they freeze. I now know that this bug is reproducible with the 22.214.171.124 drivers over the following platforms:
Fedora 5 Xorg 7.0 (x86_64), Fedora Rawhide Xorg 7.1 (x86 & x86_64),
Vanilla Xorg 7.1 (x86_64)
7800 GTX GPU:
Xorg 7.0 (x86_64)