I don't think this function would help in cases where the buffer is released after the frame is drawn but the compositor is not drawing anything else. Ie, if the events were like this:
1 - client attaches a buffer and waits for the next release 2 - compositor redraws a frame 3 - the redraw completes so the compositor flushes all event queues 4 - the swap completes and the compositor queues a release event If nothing else causes the compositor to queue a redraw the release event will just sit in the event queue forever and the client will still be blocked waiting for it. I think this doesn't actually happen at the moment because as far as I can tell the gl-renderer immediately queues the buffer release when you attach a new one rather than waiting for the swap to actually complete. I think that would mean you could cause tearing if you are using eglSwapInterval(0) because you could write into the released buffer while the GPU is actually still rendering the previous frame using the buffer in a texture. I will try an experiment to check this. If that's right then we should probably add an extra buffer reference in the gl-renderer whenever it uses a texture to draw and then only release it when the frame is complete. Regards, - Neil Jason Ekstrand <ja...@jlekstrand.net> writes: > All, > Perhaps a simpler approach would be better. We could add a function to > wayland-server called wl_client_post_event_queue which would simply set the > wants_flush flag on the client connection. This function would be fast > ,require no I/O, and safe to call multiple times so Weston could simply > call it on all clients with surfaces visible on the output in question at > the time when it would call frame events. Then, when the event loop > flushes the clients, the release events will get sent out. > --Jason Ekstrand --------------------------------------------------------------------- Intel Corporation (UK) Limited Registered No. 1134945 (England) Registered Office: Pipers Way, Swindon SN3 1RJ VAT No: 860 2173 47 This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel