mutter/src/core
Jonas Ådahl f27ca241f9 renderer/native: Move per frame KMS update to MetaFrameNative
In order to make things more and more asynchronus and to each time we
paint be an isolated event, that can be potentially be applied
individually or together with other updates, make it so that each time
we draw, we use the transient MetaFrameNative (ClutterFrame) instance to
carry a KMS update for us.

For this to work, we also need to restructure how we apply mode sets.
Previously we'd amend the same KMS update each frame during mode set,
then after the last CRTC was composited, we'd apply the update that
contained updates for all CRTC.

Now each CRTC has its own KMS update, and instead we put them in a per
device table, and whenever we finished painting, we'll merge the new
update into any existing one, and then finally once all CRTCs have been
composited, we'll apply an update that contains all the mode sets for all
relevant CRTCs on a device.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2855>
2023-03-02 01:40:16 +01:00
..
bell.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
bell.h frame: Remove flashing support 2019-03-12 00:27:07 +00:00
boxes-private.h boxes: Add function to check if rectangle is adjacent to region 2021-08-04 14:02:16 +00:00
boxes.c core: Cleanup header includes 2023-01-30 10:56:29 +00:00
constraints.c constraints: Remove unnecessary if-check 2023-03-01 09:48:14 +00:00
constraints.h window: Implement asynchronous popup moving 2020-02-29 21:01:50 +00:00
delete.c core/delete: Avoid warnings when there is no close dialog 2023-01-30 13:17:19 +00:00
display-private.h x11: Handle accounting of ignored serials in X11 code 2023-02-09 14:38:39 +01:00
display.c compositor: Fix handling of keyboard-driven window resize 2023-02-27 18:28:44 +00:00
events.c x11: Do not move X11 input focus during grabs 2023-02-13 12:45:37 +00:00
events.h core: Add a copy of GDK_PRIORITY_EVENTS 2022-12-22 15:13:54 +01:00
frame.c core: Update frame opaque region from _NET_WM_OPAQUE_REGION property 2023-01-20 22:23:55 +00:00
frame.h core: Add infrastructure to keep window frames' opaque regions 2023-01-20 22:23:55 +00:00
keybindings-private.h core: Delete now unused code 2023-01-30 10:56:29 +00:00
keybindings.c core: Move edge-resistance handling to src/compositor 2023-01-30 10:56:29 +00:00
meta-accel-parse.c core: Replace MetaVirtualModifier 2022-12-22 15:13:54 +01:00
meta-accel-parse.h core: Replace MetaVirtualModifier 2022-12-22 15:13:54 +01:00
meta-anonymous-file.c Add read-only anonymous file abstraction MetaAnonymousFile 2020-04-21 17:52:08 +02:00
meta-anonymous-file.h Add read-only anonymous file abstraction MetaAnonymousFile 2020-04-21 17:52:08 +02:00
meta-border.c MetaBorder: Use float constants and functions instead of double variants 2016-02-16 19:02:48 +08:00
meta-border.h Move out generic math parts out of the native barrier implementation 2016-02-16 19:02:48 +08:00
meta-clipboard-manager.c core: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-clipboard-manager.h core: Add clipboard manager 2019-05-02 16:22:45 +02:00
meta-close-dialog.c Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
meta-context-main.c core: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-context-main.h Introduce MetaContextMain 2021-07-15 11:25:21 +02:00
meta-context-private.h Introduce the 'service channel' D-Bus service 2023-02-13 15:34:24 +00:00
meta-context.c Introduce the 'service channel' D-Bus service 2023-02-13 15:34:24 +00:00
meta-fraction.c Add MetaFraction for dealing with fractions 2017-08-29 14:39:04 +08:00
meta-fraction.h Add MetaFraction for dealing with fractions 2017-08-29 14:39:04 +08:00
meta-gesture-tracker-private.h display: Move finishing of touch sequence to the backend 2019-10-28 18:40:43 +00:00
meta-gesture-tracker.c events: Make MetaGestureTracker work with the action event delivery 2023-02-03 12:10:22 +00:00
meta-inhibit-shortcuts-dialog-default-private.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-inhibit-shortcuts-dialog-default.c Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
meta-inhibit-shortcuts-dialog.c core: add MetaInhibitShortcutsDialog 2017-08-02 11:58:55 +02:00
meta-launch-context.c core: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-pad-action-mapper.c core: Replace MetaVirtualModifier 2022-12-22 15:13:54 +01:00
meta-pad-action-mapper.h backends: Split pad action mapping to a separate object 2020-11-27 15:14:33 +00:00
meta-private-enums.h window: Move some display level window processing to MetaDisplay 2022-02-07 17:52:05 +00:00
meta-profiler.c profiler: Set 'persistent' state when persistent 2023-02-14 20:53:17 +00:00
meta-profiler.h Move MetaProfiler from the backend to core 2022-11-01 21:04:21 +00:00
meta-selection-private.h core: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
meta-selection-source-memory.c core: Fix task leak in meta_selection_source_memory_read_async 2020-02-01 14:02:19 +00:00
meta-selection-source-remote.c remote-desktop/session: Add support for SelectionTransfer/Write 2021-02-05 16:44:27 +00:00
meta-selection-source-remote.h remote-desktop/session: Add support for SelectionTransfer/Write 2021-02-05 16:44:27 +00:00
meta-selection-source.c Make MetaSelection, MetaSelectionSource and MetaMemorySelectionSource public 2019-05-02 16:31:45 +02:00
meta-selection.c core/selection: Set display on creation 2022-12-17 16:47:46 +01:00
meta-service-channel.c Introduce the 'service channel' D-Bus service 2023-02-13 15:34:24 +00:00
meta-service-channel.h Introduce the 'service channel' D-Bus service 2023-02-13 15:34:24 +00:00
meta-sound-player.c sound player: Don't unref undefined fields 2022-11-23 10:37:19 +01:00
meta-workspace-manager-private.h tests/stacking: Add workspace management commands 2022-09-20 17:14:53 +00:00
meta-workspace-manager.c util: Remove push/pop no msg prefix logging 2021-11-21 20:53:33 +00:00
mutter.c mutter: Raise the NOFILE limit if a Wayland compositor 2022-02-07 16:11:47 +01:00
place.c cleanup: Make GDK dependency specific to X11 2022-12-22 15:09:03 +01:00
place.h place: Make placement rule processing provide relative coordinates 2020-02-29 21:01:50 +00:00
prefs-private.h prefs: Make init function private 2021-05-17 16:08:42 +00:00
prefs.c core: Replace MetaVirtualModifier 2022-12-22 15:13:54 +01:00
restart-helper.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
restart.c ui: Excise old frames UI 2022-12-01 20:10:53 +00:00
stack-tracker.c compositor: Don't make internal API public 2022-12-17 15:13:48 +01:00
stack-tracker.h meta: Hide libmutter symbols by default and selectively export them 2019-01-23 14:18:13 +01:00
stack.c core: Move remaining default focus window handling to workspace 2022-09-20 17:14:53 +00:00
stack.h core: Move remaining default focus window handling to workspace 2022-09-20 17:14:53 +00:00
startup-notification-private.h core: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
startup-notification.c core: Setup and use ownership chains 2022-12-17 15:13:48 +01:00
util-private.h renderer/native: Move per frame KMS update to MetaFrameNative 2023-03-02 01:40:16 +01:00
util.c core: Cleanup header includes 2023-01-30 10:56:29 +00:00
window-private.h window: Fix compiler warning 2023-02-23 20:33:49 +01:00
window.c window: Allow can-maximize when size hints are exactly screen sized 2023-03-01 09:48:14 +00:00
workspace-private.h core: Move remaining default focus window handling to workspace 2022-09-20 17:14:53 +00:00
workspace.c workspace: Do not raise default focus window with raise-on-click 2023-02-03 17:09:12 +00:00