TODO: Add a few lines about removing commit request
authorKristian Høgsberg <krh@bitplanet.net>
Mon, 2 Aug 2010 16:45:38 +0000 (12:45 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Mon, 2 Aug 2010 16:45:38 +0000 (12:45 -0400)
TODO

diff --git a/TODO b/TODO
index 71a3ece..2ddcabf 100644 (file)
--- a/TODO
+++ b/TODO
@@ -95,7 +95,21 @@ Core wayland protocol
 
     - xml based description instead?
 
- - actually make batch/commit batch up commands
+ - Figure out if we need the batch/commit scheme and what to do
+   instead.  Since dropping the "copy" request, we have a race between
+   copy from back to front and reporting damage.  "copy" did this
+   atomically, but copy is a rendering operation (wayland doesn't do
+   rendering) and requires synchronization between server and client
+   before client can reuse backbuffer.
+
+   The race condition happens when a client copies new content into
+   its window and then, before the client reports the damage, the
+   compositor then does a partial repaint (triggered by another
+   client) that only pulls in part of the repainted area.  It's only a
+   one-frame glitch, as the client will submit the damage and the
+   compositor will repaint the damaged area next frame.  And ideally
+   clients should do all rendering as early in the frame as possible
+   to avoid this race.
 
  - auth; We need to generate a random socket name and advertise that
    on dbus along with a connection cookie.  Something like a method