mutter/src/backends/native
Jonas Ådahl 588c0a456a renderer/native: Keep onscreens alive until after the next mode set
Destroying an onscreen destroyes the gbm_surface, the gbm_bo's, and the
fb_id's. Doing this (drmModeRmFB() of the fb_id specifically), may on
some hw implicitly disable the CRTC of the plane that framebuffer was
assigned to. This would cause following atomic commit that attempts to
disable the CRTC to fail as disabling an already disabled CRTC is not
allowed.

It'd also mean we'd always disable the plane before having finished next
mode set, leaving it monitor content potentially empty when not really
necessary.

Solve this by keeping the CoglOnscreens (thus the gbm_surface, gbm_bo
and fb_id) alive until the following global mode set has completed, i.e.
the new state has been fully committed and applied.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1488>
2021-01-22 16:47:08 +00:00
..
dbus-utils.c
dbus-utils.h
gen-default-modes.py Fix incorrect 'is' in gen_default_modes 2020-02-10 20:35:05 +01:00
meta-backend-native-private.h
meta-backend-native-types.h backends/native: Add distinct meta-input-thread.h header 2020-11-27 15:14:34 +00:00
meta-backend-native.c backend/native: Destroy logind helper after seat 2021-01-19 22:54:32 +01:00
meta-backend-native.h native: Implement ClutterSeat 2020-01-30 17:59:41 +01:00
meta-barrier-native.c backends/native: Add a bunch of "_in_impl" suffixes to functions 2020-11-27 15:14:34 +00:00
meta-barrier-native.h backends/native: Add a bunch of "_in_impl" suffixes to functions 2020-11-27 15:14:34 +00:00
meta-clutter-backend-native.c backends/native: Add missing seat finalization paths 2020-11-27 15:14:34 +00:00
meta-clutter-backend-native.h clutter: Remove 'eglnative' backend layer 2020-08-13 17:51:56 +02:00
meta-cogl-utils.c backends/native: Move pixel format helper to separate file 2020-09-01 13:05:24 -03:00
meta-cogl-utils.h backends/native: Move pixel format helper to separate file 2020-09-01 13:05:24 -03:00
meta-crtc-kms.c kms/update: Make power saving an update wide change 2021-01-22 16:47:08 +00:00
meta-crtc-kms.h backend/native: Set CRTC gamma once per frame 2021-01-22 16:47:08 +00:00
meta-crtc-mode-kms.c crtc-mode-kms: Wrap MetaKmsMode instead of drmModeModeInfo 2021-01-22 16:47:08 +00:00
meta-crtc-mode-kms.h crtc-mode-kms: Wrap MetaKmsMode instead of drmModeModeInfo 2021-01-22 16:47:08 +00:00
meta-cursor-renderer-native.c cursor-renderer/native: Update HW state during frames 2021-01-22 16:47:08 +00:00
meta-cursor-renderer-native.h cursor-renderer/native: Update HW state during frames 2021-01-22 16:47:08 +00:00
meta-drm-buffer-dumb.c native: Consolidate DRM buffer management to MetaDrmBuffer types 2021-01-22 16:47:08 +00:00
meta-drm-buffer-dumb.h native: Consolidate DRM buffer management to MetaDrmBuffer types 2021-01-22 16:47:08 +00:00
meta-drm-buffer-gbm.c native: Consolidate DRM buffer management to MetaDrmBuffer types 2021-01-22 16:47:08 +00:00
meta-drm-buffer-gbm.h native: Consolidate DRM buffer management to MetaDrmBuffer types 2021-01-22 16:47:08 +00:00
meta-drm-buffer-import.c native: Consolidate DRM buffer management to MetaDrmBuffer types 2021-01-22 16:47:08 +00:00
meta-drm-buffer-import.h native: Consolidate DRM buffer management to MetaDrmBuffer types 2021-01-22 16:47:08 +00:00
meta-drm-buffer-private.h native: Consolidate DRM buffer management to MetaDrmBuffer types 2021-01-22 16:47:08 +00:00
meta-drm-buffer.c native: Consolidate DRM buffer management to MetaDrmBuffer types 2021-01-22 16:47:08 +00:00
meta-drm-buffer.h native: Consolidate DRM buffer management to MetaDrmBuffer types 2021-01-22 16:47:08 +00:00
meta-gpu-kms.c kms/update: Make power saving an update wide change 2021-01-22 16:47:08 +00:00
meta-gpu-kms.h native: Consolidate DRM buffer management to MetaDrmBuffer types 2021-01-22 16:47:08 +00:00
meta-input-device-native.c seat-impl: Destroy libinput objects on input thread on tear down 2021-01-11 17:17:39 +00:00
meta-input-device-native.h backends/native: Dispose the libinput device in the input thread 2020-12-16 17:09:58 +01:00
meta-input-device-tool-native.c backends/native: Add distinct meta-input-thread.h header 2020-11-27 15:14:34 +00:00
meta-input-device-tool-native.h backends/native: Add distinct meta-input-thread.h header 2020-11-27 15:14:34 +00:00
meta-input-settings-native.c backend/native: Check libinput_device in async call 2020-12-16 19:14:54 +01:00
meta-input-settings-native.h backends/native: Add distinct meta-input-thread.h header 2020-11-27 15:14:34 +00:00
meta-input-thread.h backends/native: Add distinct meta-input-thread.h header 2020-11-27 15:14:34 +00:00
meta-keymap-native.c backends/native: Pass xkb_state directly when updating MetaKeymapNative 2020-11-27 17:34:55 +00:00
meta-keymap-native.h backends/native: Pass xkb_state directly when updating MetaKeymapNative 2020-11-27 17:34:55 +00:00
meta-kms-connector-private.h kms/connector: Look up CRTC_ID property 2021-01-22 16:47:08 +00:00
meta-kms-connector.c kms/connector: Look up CRTC_ID property 2021-01-22 16:47:08 +00:00
meta-kms-connector.h kms/connector: Set DPMS and underscanning directly on the update 2021-01-22 16:47:08 +00:00
meta-kms-crtc-private.h kms/crtc: Keep track of ACTIVE property value 2021-01-22 16:47:08 +00:00
meta-kms-crtc.c kms/crtc: Keep track of ACTIVE property value 2021-01-22 16:47:08 +00:00
meta-kms-crtc.h kms/crtc: Make MetaKmsCrtcGamma reusable 2021-01-22 16:47:08 +00:00
meta-kms-device-private.h kms-impl-simple: Add fake cursor planes if no real ones 2020-03-07 21:40:50 +00:00
meta-kms-device.c kms/device: Add plane getter 2021-01-22 16:47:08 +00:00
meta-kms-device.h kms/device: Add plane getter 2021-01-22 16:47:08 +00:00
meta-kms-impl-device-simple.c kms/update: Make power saving an update wide change 2021-01-22 16:47:08 +00:00
meta-kms-impl-device-simple.h kms: Move impl backend inherit MetaKmsImplDevice instead of MetaKmsImpl 2021-01-22 16:47:08 +00:00
meta-kms-impl-device.c kms/update: Make power saving an update wide change 2021-01-22 16:47:08 +00:00
meta-kms-impl-device.h kms/update: Make power saving an update wide change 2021-01-22 16:47:08 +00:00
meta-kms-impl.c kms: Move impl backend inherit MetaKmsImplDevice instead of MetaKmsImpl 2021-01-22 16:47:08 +00:00
meta-kms-impl.h kms: Move impl backend inherit MetaKmsImplDevice instead of MetaKmsImpl 2021-01-22 16:47:08 +00:00
meta-kms-mode-private.h kms/mode: Add mode flags 2021-01-22 16:47:08 +00:00
meta-kms-mode.c crtc-mode-kms: Wrap MetaKmsMode instead of drmModeModeInfo 2021-01-22 16:47:08 +00:00
meta-kms-mode.h crtc-mode-kms: Wrap MetaKmsMode instead of drmModeModeInfo 2021-01-22 16:47:08 +00:00
meta-kms-page-flip-private.h kms: Add symbolic page flips and cogl frame infos 2021-01-22 16:47:08 +00:00
meta-kms-page-flip.c kms: Add symbolic page flips and cogl frame infos 2021-01-22 16:47:08 +00:00
meta-kms-plane-private.h kms/update: Make plane assignment take rotation instead of property list 2021-01-22 16:47:08 +00:00
meta-kms-plane.c kms/update: Make plane assignment take rotation instead of property list 2021-01-22 16:47:08 +00:00
meta-kms-plane.h kms-impl-simple: Add fake cursor planes if no real ones 2020-03-07 21:40:50 +00:00
meta-kms-private.h backends/native: Remove unused meta_gpu_kms_wait_for_flip and more 2020-08-04 08:57:06 +00:00
meta-kms-types.h kms/update: Make explicit page flip just listeners 2021-01-22 16:47:08 +00:00
meta-kms-update-private.h kms/update: Make power saving an update wide change 2021-01-22 16:47:08 +00:00
meta-kms-update.c kms/update: Make power saving an update wide change 2021-01-22 16:47:08 +00:00
meta-kms-update.h kms/update: Make power saving an update wide change 2021-01-22 16:47:08 +00:00
meta-kms-utils.c backend/native: Move some KMS utilities to its own file 2019-06-20 13:31:56 +00:00
meta-kms-utils.h backend/native: Move some KMS utilities to its own file 2019-06-20 13:31:56 +00:00
meta-kms.c kms: Add way to preserve failed update 2021-01-22 16:47:08 +00:00
meta-kms.h kms: Add way to preserve failed update 2021-01-22 16:47:08 +00:00
meta-launcher.c backends/native: Add distinct meta-input-thread.h header 2020-11-27 15:14:34 +00:00
meta-launcher.h backends/native: Replace tabs with spaces 2020-02-19 18:28:29 +00:00
meta-monitor-manager-kms.c kms/update: Make power saving an update wide change 2021-01-22 16:47:08 +00:00
meta-monitor-manager-kms.h backend/native: Set CRTC gamma once per frame 2021-01-22 16:47:08 +00:00
meta-output-kms.c kms/update: Make power saving an update wide change 2021-01-22 16:47:08 +00:00
meta-output-kms.h output: Make implementations inherit MetaOutput 2020-06-10 18:54:51 +00:00
meta-pointer-constraint-native.c clutter: Drop clutter_input_device_get_coords() method 2020-11-27 15:14:33 +00:00
meta-pointer-constraint-native.h backends: Delegate pointer confinements to an impl object 2020-11-27 15:14:33 +00:00
meta-renderer-native-gles3.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
meta-renderer-native-gles3.h
meta-renderer-native.c renderer/native: Keep onscreens alive until after the next mode set 2021-01-22 16:47:08 +00:00
meta-renderer-native.h backend/native: Set CRTC gamma once per frame 2021-01-22 16:47:08 +00:00
meta-seat-impl.c backends/native: Update keymap state on latched modifier updates 2021-01-21 15:35:06 +01:00
meta-seat-impl.h seat/native: Explicitly destroy MetaSeatImpl 2021-01-19 22:54:32 +01:00
meta-seat-native.c seat/native: Explicitly destroy MetaSeatImpl 2021-01-19 22:54:32 +01:00
meta-seat-native.h backends/native: Add distinct meta-input-thread.h header 2020-11-27 15:14:34 +00:00
meta-stage-native.c backend/native: Set CRTC gamma once per frame 2021-01-22 16:47:08 +00:00
meta-stage-native.h
meta-udev.c renderer/native: Add udev rule to select primary GPU 2020-11-16 16:00:33 +00:00
meta-udev.h renderer/native: Add udev rule to select primary GPU 2020-11-16 16:00:33 +00:00
meta-virtual-input-device-native.c backends/native: Add distinct meta-input-thread.h header 2020-11-27 15:14:34 +00:00
meta-virtual-input-device-native.h clutter: Move evdev input to src/backends/native 2019-08-24 08:59:08 +00:00
meta-xkb-utils.c backends/native: Update keyboard a11y status in seat impl 2020-11-27 15:14:34 +00:00
meta-xkb-utils.h backends/native: Update keyboard a11y status in seat impl 2020-11-27 15:14:34 +00:00