mutter/src/backends
Jonas Ådahl 788ad43e17 thread: Allow switching thread type
This will be necessary in order to default to 'kernel' and then switch
to 'user' if the thread instance can no longer be properly multi
threaded.

To avoid having the same thread impl creating and destroying
GMainContext's, this also means always creating a GMainContext for the
thread-impl. When running in user-thread mode, the GMainContext is
wrapped in a wrapper source and dispatched as part of the real main
thread GMainContext, and when in kernel-thread mode, it runs
independently in the dedicated thread.

This has the consequence that the wrapper source will always have the
priority of the highest impl context GSource, but only after it has
dispatched once. Would we need it earlier than that, we either need a
way to introspect existing sources in a GMainContext and their
priorities, or manually track known sources in MetaThreadImpl.

The wrapper source will never be below 0, as that'd mean it could reach
INT_MAX priority if it had no more sources attached to it, meaning it'd
never be dispatched again.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2777>
2023-07-17 21:19:34 +02:00
..
native thread: Allow switching thread type 2023-07-17 21:19:34 +02:00
x11 barrier: Allow releasing without any event in the native implementation 2023-07-14 22:23:45 +00:00
edid-parse.c edid: Integrate libdisplay-info for edid parsing 2023-05-02 17:37:01 +00:00
edid.h edid: Integrate libdisplay-info for edid parsing 2023-05-02 17:37:01 +00:00
gsm-inhibitor-flag.h
meta-backend-private.h backends/eis: Add EIS client support 2023-07-14 22:23:45 +00:00
meta-backend-types.h backends/eis: Add EIS client support 2023-07-14 22:23:45 +00:00
meta-backend.c backends/eis: Add EIS client support 2023-07-14 22:23:45 +00:00
meta-barrier-private.h barrier: Add ways to make barriers sticky 2023-07-14 22:23:45 +00:00
meta-barrier.c barrier: Add ways to make barriers sticky 2023-07-14 22:23:45 +00:00
meta-color-device.c color-device: Don't close lcms profile on error from cd_icc_load_handle 2023-03-03 12:07:02 +00:00
meta-color-device.h color-device: Add API to set test efivar path 2022-09-01 21:09:28 +00:00
meta-color-manager-private.h tests: Add duplicate color profile test case 2022-09-15 11:22:54 +00:00
meta-color-manager.c color-manager: Apply temperature after gsd.Color proxy has been created 2023-06-28 07:51:01 +00:00
meta-color-manager.h x11: Add X11 color manager subclass 2022-09-01 19:09:21 +02:00
meta-color-profile.c color: Handle profiles not initializing succesfully 2022-09-15 11:22:54 +00:00
meta-color-profile.h color-device: Pass calibration state separately when creating profile 2022-09-01 21:09:28 +00:00
meta-color-store.c color-store: Forward cancelled error if connect failed 2023-01-30 13:17:19 +00:00
meta-color-store.h tests: Add duplicate color profile test case 2022-09-15 11:22:54 +00:00
meta-crtc-mode.c
meta-crtc-mode.h output/kms: Replace common mode bandwidth check with clock check 2022-07-01 16:13:18 +02:00
meta-crtc.c backends: Use meta_gamma_lut_new_sized() in a few more places 2023-03-30 11:21:02 +00:00
meta-crtc.h kms/update: Add API to merge two updates 2023-03-01 23:57:32 +00:00
meta-cursor-renderer.c cursor-renderer: Realize texture before using it for its size 2023-07-17 12:45:00 +02:00
meta-cursor-renderer.h wayland/cursor-surface: Update cursor on dispose 2023-04-17 19:53:35 +00:00
meta-cursor-sprite-xcursor.c
meta-cursor-sprite-xcursor.h
meta-cursor-tracker-private.h
meta-cursor-tracker.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
meta-cursor.c
meta-cursor.h
meta-dbus-session-manager.c dbus-session: Make some properties part of the interface 2023-02-23 17:52:08 +00:00
meta-dbus-session-manager.h backends: Add generic D-Bus session manager helper class 2023-02-23 17:52:08 +00:00
meta-dbus-session-watcher.c dbus-session: Make some properties part of the interface 2023-02-23 17:52:08 +00:00
meta-dbus-session-watcher.h dbus-session: Make some properties part of the interface 2023-02-23 17:52:08 +00:00
meta-display-config-shared.h
meta-dnd-private.h compositor/dnd: Guard X11 types 2023-05-15 20:36:23 +02:00
meta-egl-ext.h
meta-egl.c egl: Set EGL_IMAGE_PRESERVED_KHR on DMABUF import 2023-05-07 23:16:37 +02:00
meta-egl.h
meta-eis-client.c backends/eis: Add EIS client support 2023-07-14 22:23:45 +00:00
meta-eis-client.h backends/eis: Add EIS client support 2023-07-14 22:23:45 +00:00
meta-eis.c backends/eis: Add a new API to get the fd from MetaEIS 2023-07-14 22:23:45 +00:00
meta-eis.h backends/eis: Add a new API to get the fd from MetaEIS 2023-07-14 22:23:45 +00:00
meta-fd-source.c seat/impl: Move out the GSource implementation to a helper object 2023-07-14 22:23:45 +00:00
meta-fd-source.h seat/impl: Move out the GSource implementation to a helper object 2023-07-14 22:23:45 +00:00
meta-gles3-table.h
meta-gles3.c gles3: Ensure missing_extensions is always populated 2023-01-18 10:14:39 +00:00
meta-gles3.h
meta-gpu.c
meta-gpu.h
meta-idle-manager.c backend: Set up and use ownership chains 2022-12-17 13:52:51 +00:00
meta-idle-manager.h
meta-idle-monitor-private.h
meta-idle-monitor.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
meta-input-capture-private.h input-capture: Hook up capturing of events to active session 2023-07-14 22:23:45 +00:00
meta-input-capture-session.c input-capture: Hook up capturing of events to active session 2023-07-14 22:23:45 +00:00
meta-input-capture-session.h input-capture: Hook up capturing of events to active session 2023-07-14 22:23:45 +00:00
meta-input-capture.c input-capture: Hook up capturing of events to active session 2023-07-14 22:23:45 +00:00
meta-input-capture.h input-capture: Hook up capturing of events to active session 2023-07-14 22:23:45 +00:00
meta-input-device-private.h backend: Set up and use ownership chains 2022-12-17 13:52:51 +00:00
meta-input-device.c backend: Set up and use ownership chains 2022-12-17 13:52:51 +00:00
meta-input-mapper-private.h backend: Set up and use ownership chains 2022-12-17 13:52:51 +00:00
meta-input-mapper.c backend: Set up and use ownership chains 2022-12-17 13:52:51 +00:00
meta-input-settings-dummy.c Support selecting an acceleration profile for touchpad devices 2023-02-01 03:03:47 +00:00
meta-input-settings-dummy.h
meta-input-settings-private.h Support selecting an acceleration profile for touchpad devices 2023-02-01 03:03:47 +00:00
meta-input-settings.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
meta-keymap-utils.c
meta-keymap-utils.h
meta-logical-monitor.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
meta-logical-monitor.h
meta-monitor-config-manager.c monitor-config-manager: Add a max_bpc field to MetaMonitorConfig 2022-08-19 17:07:12 +00:00
meta-monitor-config-manager.h monitor-config-manager: Add a max_bpc field to MetaMonitorConfig 2022-08-19 17:07:12 +00:00
meta-monitor-config-migration.c
meta-monitor-config-migration.h
meta-monitor-config-store.c monitor-config-store: Format <rate> using the C locale (. decimal point) 2022-09-02 08:43:00 +00:00
meta-monitor-config-store.h monitor-config-store: Allow changing D-Bus configuration policy 2022-01-25 16:25:48 +00:00
meta-monitor-manager-dummy.c Replace using sscanf() to parse mode strings with new helper 2023-04-18 18:38:03 +00:00
meta-monitor-manager-dummy.h
meta-monitor-manager-private.h core/window: Track monitor with the highest scale value 2023-05-22 14:44:33 +00:00
meta-monitor-manager.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
meta-monitor-transform.c monitor-transform: Add helper to transform matrices 2022-08-05 20:30:50 +02:00
meta-monitor-transform.h monitor-transform: Add helper to transform matrices 2022-08-05 20:30:50 +02:00
meta-monitor.c monitor: Ensure the preferred mode is always included 2023-06-12 15:26:47 +00:00
meta-monitor.h monitor: Add helper to parse simple mode strings 2023-04-18 18:38:03 +00:00
meta-orientation-manager.c backends: Avoid orientation changes around suspend/resume if locked 2023-05-27 19:19:09 +00:00
meta-orientation-manager.h
meta-output.c edid: Integrate libdisplay-info for edid parsing 2023-05-02 17:37:01 +00:00
meta-output.h output: Check the EDID for the supported sink Colorimetry 2023-04-21 00:00:24 +02:00
meta-pointer-constraint.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
meta-pointer-constraint.h pointer-constraints: Move min edge distance from backend to Wayland 2022-06-13 18:38:50 +00:00
meta-remote-access-controller-private.h Port screen cast and remote desktop to MetaDbusSessionManager 2023-02-23 17:52:08 +00:00
meta-remote-access-controller.c Port screen cast and remote desktop to MetaDbusSessionManager 2023-02-23 17:52:08 +00:00
meta-remote-desktop-session.c remote-desktop/eis: Add support for ConnectToEIS. 2023-07-14 22:23:45 +00:00
meta-remote-desktop-session.h Port screen cast and remote desktop to MetaDbusSessionManager 2023-02-23 17:52:08 +00:00
meta-remote-desktop.c Port screen cast and remote desktop to MetaDbusSessionManager 2023-02-23 17:52:08 +00:00
meta-remote-desktop.h Port screen cast and remote desktop to MetaDbusSessionManager 2023-02-23 17:52:08 +00:00
meta-renderer-view.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
meta-renderer-view.h backends/native: Introduce MetaRendererViewNative 2023-03-02 01:39:16 +01:00
meta-renderer.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
meta-renderer.h onscreen/native: Track GAMMA_LUT invalidations here 2023-02-01 08:40:53 +01:00
meta-screen-cast-area-stream-src.c backends/stage: Pass ClutterFrame to MetaStageWatchFunc 2023-04-07 12:19:23 +02:00
meta-screen-cast-area-stream-src.h
meta-screen-cast-area-stream.c
meta-screen-cast-area-stream.h
meta-screen-cast-monitor-stream-src.c screen-cast/src: Never dequeue pw_buffer's we refuse to record to 2023-05-04 13:00:07 +00:00
meta-screen-cast-monitor-stream-src.h
meta-screen-cast-monitor-stream.c backend: Get 'is-stage-views-scaled' from backend 2022-12-17 13:52:51 +00:00
meta-screen-cast-monitor-stream.h
meta-screen-cast-session.c screencast: Do not stop remote desktop session when a stream closes 2023-06-20 20:13:47 +00:00
meta-screen-cast-session.h Port screen cast and remote desktop to MetaDbusSessionManager 2023-02-23 17:52:08 +00:00
meta-screen-cast-stream-src.c screen-cast/src: Queue follow up frame if no buffers 2023-06-28 01:03:35 +00:00
meta-screen-cast-stream-src.h screen-cast/src: Never dequeue pw_buffer's we refuse to record to 2023-05-04 13:00:07 +00:00
meta-screen-cast-stream.c
meta-screen-cast-stream.h
meta-screen-cast-virtual-stream-src.c backends/stage: Pass ClutterFrame to MetaStageWatchFunc 2023-04-07 12:19:23 +02:00
meta-screen-cast-virtual-stream-src.h
meta-screen-cast-virtual-stream.c remote-desktop/virtual: Drop absolute events if not active 2022-03-04 18:13:45 +00:00
meta-screen-cast-virtual-stream.h
meta-screen-cast-window-stream-src.c screen-cast-stream-src: Export damaged video regions 2023-04-06 23:09:43 +00:00
meta-screen-cast-window-stream-src.h
meta-screen-cast-window-stream.c screen-cast/window: Add API to check if stream-cast is active 2023-02-28 12:01:17 +01:00
meta-screen-cast-window-stream.h
meta-screen-cast-window.c screen-cast/window: Add API to check if stream-cast is active 2023-02-28 12:01:17 +01:00
meta-screen-cast-window.h screen-cast/window: Add API to check if stream-cast is active 2023-02-28 12:01:17 +01:00
meta-screen-cast.c Port screen cast and remote desktop to MetaDbusSessionManager 2023-02-23 17:52:08 +00:00
meta-screen-cast.h Port screen cast and remote desktop to MetaDbusSessionManager 2023-02-23 17:52:08 +00:00
meta-settings-private.h settings: Add Xwayland byte-swapped clients 2023-01-17 11:14:19 +01:00
meta-settings.c settings: Fix spelling of endianness 2023-01-29 17:37:43 +01:00
meta-stage-impl-private.h
meta-stage-impl.c stage-impl: Do clipped redraws when drawing offscreen 2023-04-06 23:09:43 +00:00
meta-stage-private.h backends/stage: Pass ClutterFrame to MetaStageWatchFunc 2023-04-07 12:19:23 +02:00
meta-stage-view-private.h stage-view: Fix header include guard 2023-01-30 13:17:19 +00:00
meta-stage-view.c
meta-stage.c meta/stage: Remove "actors-painted" signal 2023-05-23 12:47:07 +00:00
meta-viewport-info.c
meta-viewport-info.h
meta-virtual-monitor.c virtual-monitor: Add way to change virtual monitor mode 2022-03-04 18:13:45 +00:00
meta-virtual-monitor.h tests/runner: Add 'resize_monitor' metatest command 2022-08-11 11:32:42 +00:00