mutter/src/backends/native
Jonas Ådahl 104bdde746 kms: Predict state changes when processing update
We can't just update the state of the connector and CRTC from KMS since
it might contain too new updates, e.g. from a from a future hot plug. In
order to not add ad-hoc hot plug detection everywhere, predict the state
changes by looking inside the MetaKmsUpdate object, and let the hot-plug
state changes happen after the actual hot-plug event.

This fixes issues where connectors were discovered as disconnected while
doing a mode-set, meaning assumptions about the connectedness of
monitors elsewhere were broken until the hot plug event was processed.

Fixes: https://gitlab.gnome.org/GNOME/mutter/issues/782

https://gitlab.gnome.org/GNOME/mutter/merge_requests/826
2019-10-07 14:59:18 +00:00
..
dbus-utils.c Clean up include macros mess 2018-11-06 17:17:36 +01:00
dbus-utils.h launcher: Replace mutter-launch with logind integration 2014-05-19 15:09:23 -04:00
gen-default-modes.py build: Don't hardcode the path of python3 2018-11-18 14:25:35 +08:00
meta-backend-native-private.h backends/native: Implement support for pointer barriers 2015-01-19 02:27:59 -08:00
meta-backend-native-types.h udev: Add helpers to list DRM devices 2019-06-20 13:31:55 +00:00
meta-backend-native.c clutter/input-pointer-a11y: Restore pointer a11y on resume 2019-09-02 17:27:17 +00:00
meta-backend-native.h backends/native: Add basic KMS abstraction building blocks 2019-06-20 13:31:55 +00:00
meta-barrier-native.c Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
meta-barrier-native.h Use G_DECLARE_DERIVABLE/FINAL_TYPE on some types 2018-12-21 19:48:50 +00:00
meta-clutter-backend-native.c clutter: Move evdev input to src/backends/native 2019-08-24 08:59:08 +00:00
meta-clutter-backend-native.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-crtc-kms.c backends/native: Add some KMS debug logging 2019-06-20 13:31:56 +00:00
meta-crtc-kms.h backend/native: Add and use transactional KMS API 2019-06-20 13:31:56 +00:00
meta-cursor-renderer-native.c cursor-renderer/native: Fix compilation warning 2019-08-16 14:54:48 +02:00
meta-cursor-renderer-native.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-device-manager-native.c backends: Don't use glib types in new native backend objects 2019-08-24 08:59:08 +00:00
meta-device-manager-native.h backends: Don't use glib types in new native backend objects 2019-08-24 08:59:08 +00:00
meta-drm-buffer-dumb.c drm-buffer: Make the "types" actual types 2019-05-21 14:55:38 +00:00
meta-drm-buffer-dumb.h drm-buffer: Make the "types" actual types 2019-05-21 14:55:38 +00:00
meta-drm-buffer-gbm.c drm-buffer: Make the "types" actual types 2019-05-21 14:55:38 +00:00
meta-drm-buffer-gbm.h drm-buffer: Make the "types" actual types 2019-05-21 14:55:38 +00:00
meta-drm-buffer.c drm-buffer: Make the "types" actual types 2019-05-21 14:55:38 +00:00
meta-drm-buffer.h drm-buffer: Make the "types" actual types 2019-05-21 14:55:38 +00:00
meta-event-native.c backends: Don't use glib types in new native backend objects 2019-08-24 08:59:08 +00:00
meta-event-native.h backends: Don't use glib types in new native backend objects 2019-08-24 08:59:08 +00:00
meta-gpu-kms.c backend/native: Add and use transactional KMS API 2019-06-20 13:31:56 +00:00
meta-gpu-kms.h backend/native: Add and use transactional KMS API 2019-06-20 13:31:56 +00:00
meta-input-device-native.c backends: Don’t translate GLib properties 2019-08-24 17:10:32 +02:00
meta-input-device-native.h backends: Don't use glib types in new native backend objects 2019-08-24 08:59:08 +00:00
meta-input-device-tool-native.c backends: Don't use glib types in new native backend objects 2019-08-24 08:59:08 +00:00
meta-input-device-tool-native.h backends: Don't use glib types in new native backend objects 2019-08-24 08:59:08 +00:00
meta-input-settings-native.c clutter: Move evdev input to src/backends/native 2019-08-24 08:59:08 +00:00
meta-input-settings-native.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-keymap-native.c clutter: Move evdev input to src/backends/native 2019-08-24 08:59:08 +00:00
meta-keymap-native.h clutter: Move evdev input to src/backends/native 2019-08-24 08:59:08 +00:00
meta-kms-connector-private.h kms: Predict state changes when processing update 2019-10-07 14:59:18 +00:00
meta-kms-connector.c kms: Predict state changes when processing update 2019-10-07 14:59:18 +00:00
meta-kms-connector.h backend/native: Add and use transactional KMS API 2019-06-20 13:31:56 +00:00
meta-kms-crtc-private.h kms: Predict state changes when processing update 2019-10-07 14:59:18 +00:00
meta-kms-crtc.c kms: Predict state changes when processing update 2019-10-07 14:59:18 +00:00
meta-kms-crtc.h kms: Remove unused fields from MetaKmsCrtcState struct 2019-08-15 20:38:28 +00:00
meta-kms-device-private.h kms: Predict state changes when processing update 2019-10-07 14:59:18 +00:00
meta-kms-device.c kms: Predict state changes when processing update 2019-10-07 14:59:18 +00:00
meta-kms-device.h backend/native: Add and use transactional KMS API 2019-06-20 13:31:56 +00:00
meta-kms-impl-device.c kms: Predict state changes when processing update 2019-10-07 14:59:18 +00:00
meta-kms-impl-device.h kms: Predict state changes when processing update 2019-10-07 14:59:18 +00:00
meta-kms-impl-simple.c kms/update: Add helper to get primary plane assignment 2019-10-07 14:59:18 +00:00
meta-kms-impl-simple.h backends/native: Add basic KMS abstraction building blocks 2019-06-20 13:31:55 +00:00
meta-kms-impl.c backend/native: Add and use transactional KMS API 2019-06-20 13:31:56 +00:00
meta-kms-impl.h backend/native: Add and use transactional KMS API 2019-06-20 13:31:56 +00:00
meta-kms-page-flip-private.h backend/native: Add and use transactional KMS API 2019-06-20 13:31:56 +00:00
meta-kms-page-flip.c backend/native: Add and use transactional KMS API 2019-06-20 13:31:56 +00:00
meta-kms-plane.c kms-plane: Include <drm_fourcc.h> 2019-06-28 13:25:15 -03:00
meta-kms-plane.h backend/native: Add and use transactional KMS API 2019-06-20 13:31:56 +00:00
meta-kms-private.h kms: Add assert to check that the main thread is blocked on impl task 2019-09-05 08:03:36 +00:00
meta-kms-types.h kms: Predict state changes when processing update 2019-10-07 14:59:18 +00:00
meta-kms-update-private.h kms/update: Add helper to get primary plane assignment 2019-10-07 14:59:18 +00:00
meta-kms-update.c kms/update: Add helper to get primary plane assignment 2019-10-07 14:59:18 +00:00
meta-kms-update.h kms/update: Add helper to turn fixed point rect into int rect 2019-10-07 14:59:18 +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: Predict state changes when processing update 2019-10-07 14:59:18 +00:00
meta-kms.h backend/native: Add and use transactional KMS API 2019-06-20 13:31:56 +00:00
meta-launcher.c clutter: Move evdev input to src/backends/native 2019-08-24 08:59:08 +00:00
meta-launcher.h backends/native: Move KMS fd management to monitor manager 2017-10-05 16:18:43 -04:00
meta-monitor-manager-kms.c monitor-manager/kms: Get hotplug events from MetaKms 2019-09-05 08:03:36 +00:00
meta-monitor-manager-kms.h backends/native: Move primary_gpu into MetaRendererNative 2019-01-13 10:30:44 +00:00
meta-output-kms.c output-kms: Use portable formatting for 64-bit integers 2019-09-20 11:55:42 +02:00
meta-output-kms.h backend/native: Add and use transactional KMS API 2019-06-20 13:31:56 +00:00
meta-renderer-native-gles3.c egl: Introduce meta_egl_create_dmabuf_image 2019-07-10 08:15:02 +00:00
meta-renderer-native-gles3.h renderer/native: remove meta_renderer_native_gles3_read_pixels 2018-11-19 22:53:13 +00:00
meta-renderer-native.c Revert "renderer-native: Actually use shadow fb when using software rendering" 2019-09-30 11:30:47 +02:00
meta-renderer-native.h renderer/native: Queue mode reset from new rebuild_views vfunc 2019-06-27 19:08:01 +02:00
meta-seat-native.c backends: Don't use glib types in new native backend objects 2019-08-24 08:59:08 +00:00
meta-seat-native.h backends: Don't use glib types in new native backend objects 2019-08-24 08:59:08 +00:00
meta-stage-native.c renderer/native: Queue mode reset from new rebuild_views vfunc 2019-06-27 19:08:01 +02:00
meta-stage-native.h backends/native: Stop supporting stage views being disabled 2017-10-05 18:08:09 -04:00
meta-udev.c udev: Add device-removed signal 2019-08-15 20:38:28 +00:00
meta-udev.h backend: Move GPU ownership from the monitor manager to the backend 2019-06-20 13:31:55 +00:00
meta-virtual-input-device-native.c backends: Don’t translate GLib properties 2019-08-24 17:10:32 +02: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 clutter: Move evdev input to src/backends/native 2019-08-24 08:59:08 +00:00
meta-xkb-utils.h clutter: Move evdev input to src/backends/native 2019-08-24 08:59:08 +00:00