Hi Jonas, On 4 May 2016 at 09:53, Jonas Ådahl <jad...@gmail.com> wrote: > When EGL is used on some other thread than the thread that drives the > main wl_display queue, the Wayland EGL dri2 implementation is > vulnerable to a race condition related to display round trips and global > object advertisements. > > The race that may happen is that after after a proxy is created, but > before the queue is set, events meant to be emitted via the yet to be > set queue may already have been queued on the wrong queue. > > In order to make it possible to avoid this race, wayland 1.11 > introduced new API that allows creating a proxy wrapper that may be used > as the factory proxy when creating new proxies via Wayland requests. The > queue of a proxy wrapper can be changed without effecting what queue > events emitted by the actual proxy will be queued on, while still > effecting what default queue proxies created from it will have.
This looks good to me, but I am worried about the hard dependency, both at build and run-time. It would be great to make it optional at build-time (#ifdef wrapper creation and destruction, just doing a straight assignment otherwise to allow the other code to not be #ifdefed), but even better if it could also use dlsym() to discover if the symbol is available at runtime. Maybe the latter is overkill though. Cheers, Daniel _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev