input handlig in separate thread

Eugen Friedrich friedrix at gmail.com
Sat Oct 19 19:31:56 CEST 2013


Ok! this sounds very promising this should  decouple the rendering thread
and the input handling thread.
so i can set to the wl_seat client object a new queue and then pass this
queue to wl_display_dispatch_queue call in the input thread.

but one question to this: the documentation of wl_display_dispatch_queue
says:
"For other threads this will block until the main thread queues events on
the queue passed as argument."

So will pass the events in the queue or how to achieve this it the second
thread( rendering thread is sleeping)??

In my use case the input thread should wake up when input event arrives
from the compositor also when all other thread of the client are idle.



2013/10/19 Giulio Camuffo <giuliocamuffo at gmail.com>

> You can move a client-side wayland object to a queue using the function
> void wl_proxy_set_queue(struct wl_proxy *proxy, struct wl_event_queue
> *queue).
> All the client-side objects are really wl_proxy, so you can safely cast
> them.
> If you move to a queue an object which creates new objects and
> dispatches them through
> an event those objects will be in the same queue too.
>
>
> 2013/10/18 Eugen Friedrich <friedrix at gmail.com>:
> > Hallo Giulio,
> > thanks a lot for the fast replay.
> >
> > if my understanding is correct the frame callbacks and the input handling
> > events are coming from the compositor to the main wayland display queue
> on
> > the client side.
> > So how i can get the different queues on the client site or is there a
> > possibility to get a separate queue for input events?
> >
> >
> > 2013/10/18 Giulio Camuffo <giuliocamuffo at gmail.com>
> >>
> >> Oh, I sent my mail before the second one arrived.
> >>
> >> Yeah, you need to use different wl_event_queues, and the relative
> >> functions like
> >> wl_display_dispatch_queue.
> >>
> >> 2013/10/18 Giulio Camuffo <giuliocamuffo at gmail.com>:
> >> > And what is it that doesn't work? As a wild bet I'd say you probably
> >> > want to look at wl_event_queue.
> >> > See
> >> >
> http://wayland.freedesktop.org/docs/html/chap-Library.html#sect-Library-Client
> >> >
> >> > Giulio
> >> >
> >> > 2013/10/18 Eugen Friedrich <friedrix at gmail.com>:
> >> >> Hallo dear Wayland developer,
> >> >>
> >> >> I thing i have a very common use case and currently i don't now how
> to
> >> >> get
> >> >> it work in wayland.
> >> >>
> >> >> We have a wayland client application with 2 threads:
> >> >>
> >> >> thread1 - rendering thread - the eglSwapbuffer will  call
> >> >> wl_display_dispatch internally:
> >> >> thread2 - input thread - this should wait for wayland input events
> >> >>
> >> >>
> >> >>
> >> >> _______________________________________________
> >> >> wayland-devel mailing list
> >> >> wayland-devel at lists.freedesktop.org
> >> >> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
> >> >>
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/wayland-devel/attachments/20131019/bbbebcea/attachment-0001.html>


More information about the wayland-devel mailing list