mirror of
https://github.com/brl/mutter.git
synced 2024-11-23 00:20:42 -05:00
seat/impl: Trace libinput dispatching and event processing
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2998>
This commit is contained in:
parent
1ca76e9b9c
commit
e4b2b141d9
@ -241,7 +241,11 @@ meta_seat_impl_clear_repeat_source (MetaSeatImpl *seat_impl)
|
|||||||
static void
|
static void
|
||||||
dispatch_libinput (MetaSeatImpl *seat_impl)
|
dispatch_libinput (MetaSeatImpl *seat_impl)
|
||||||
{
|
{
|
||||||
|
COGL_TRACE_BEGIN (MetaSeatImplDispatchLibinput,
|
||||||
|
"MetaSeatImpl (dispatch libinput)");
|
||||||
libinput_dispatch (seat_impl->libinput);
|
libinput_dispatch (seat_impl->libinput);
|
||||||
|
COGL_TRACE_END (MetaSeatImplDispatchLibinput);
|
||||||
|
|
||||||
process_events (seat_impl);
|
process_events (seat_impl);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2686,10 +2690,13 @@ process_events (MetaSeatImpl *seat_impl)
|
|||||||
{
|
{
|
||||||
struct libinput_event *event;
|
struct libinput_event *event;
|
||||||
|
|
||||||
|
COGL_TRACE_BEGIN_SCOPED (MetaSeatImplProcessEvents,
|
||||||
|
"MetaSeatImpl (process events)");
|
||||||
|
|
||||||
while ((event = libinput_get_event (seat_impl->libinput)))
|
while ((event = libinput_get_event (seat_impl->libinput)))
|
||||||
{
|
{
|
||||||
process_event(seat_impl, event);
|
process_event (seat_impl, event);
|
||||||
libinput_event_destroy(event);
|
libinput_event_destroy (event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2844,10 +2851,21 @@ static gpointer
|
|||||||
input_thread (MetaSeatImpl *seat_impl)
|
input_thread (MetaSeatImpl *seat_impl)
|
||||||
{
|
{
|
||||||
MetaSeatImplPrivate *priv = meta_seat_impl_get_instance_private (seat_impl);
|
MetaSeatImplPrivate *priv = meta_seat_impl_get_instance_private (seat_impl);
|
||||||
|
#ifdef HAVE_PROFILER
|
||||||
|
MetaBackend *backend = meta_seat_native_get_backend (seat_impl->seat_native);
|
||||||
|
MetaContext *context = meta_backend_get_context (backend);
|
||||||
|
MetaProfiler *profiler = meta_context_get_profiler (context);
|
||||||
|
#endif
|
||||||
struct xkb_keymap *xkb_keymap;
|
struct xkb_keymap *xkb_keymap;
|
||||||
|
|
||||||
g_main_context_push_thread_default (seat_impl->input_context);
|
g_main_context_push_thread_default (seat_impl->input_context);
|
||||||
|
|
||||||
|
#ifdef HAVE_PROFILER
|
||||||
|
meta_profiler_register_thread (profiler,
|
||||||
|
seat_impl->input_context,
|
||||||
|
"Mutter Input Thread");
|
||||||
|
#endif
|
||||||
|
|
||||||
priv->device_files =
|
priv->device_files =
|
||||||
g_hash_table_new_full (NULL, NULL,
|
g_hash_table_new_full (NULL, NULL,
|
||||||
NULL,
|
NULL,
|
||||||
@ -2901,6 +2919,10 @@ input_thread (MetaSeatImpl *seat_impl)
|
|||||||
g_main_loop_run (seat_impl->input_loop);
|
g_main_loop_run (seat_impl->input_loop);
|
||||||
g_main_loop_unref (seat_impl->input_loop);
|
g_main_loop_unref (seat_impl->input_loop);
|
||||||
|
|
||||||
|
#ifdef HAVE_PROFILER
|
||||||
|
meta_profiler_unregister_thread (profiler, seat_impl->input_context);
|
||||||
|
#endif
|
||||||
|
|
||||||
g_main_context_pop_thread_default (seat_impl->input_context);
|
g_main_context_pop_thread_default (seat_impl->input_context);
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user