summaryrefslogtreecommitdiff
path: root/src/backends/native/meta-frame-native.c
Commit message (Collapse)AuthorAgeFilesLines
* frame/native: Remember whether the frame carried a kms updateRobert Mader2023-04-171-0/+9
| | | | | | So that information is available in e.g. after_update handlers. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2823>
* renderer/native: Move per frame KMS update to MetaFrameNativeJonas Ådahl2023-03-021-0/+49
| | | | | | | | | | | | | | | | | | | | | 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>
* clutter/frame: Allow setting a backend release functionJonas Ådahl2023-03-021-1/+6
| | | | | | The one set by the native backend is empty, but it will be used later. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2855>
* renderer-view/native: Allocate backend specific ClutterFrameJonas Ådahl2023-03-021-0/+35
This will carry an on-demand created MetaKmsUpdate. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2855>