mutter/src/backends/native
Jonas Ådahl 276ebbf5ee kms: Use a kernel thread by default
Also add an API to inhibit the kernel thread from being used, and make
MetaRenderDeviceEglStream inhibit the kernel thread from being used if
it's active.

The reason for this is that the MetaRenderDeviceEGlStream is used when
using EGLStreams instead of KMS for page flipping. This means the actual
page flipping happens as a side effect of using EGL/OpenGL, which can't
easily be done off thread.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2777>
2023-07-17 21:19:34 +02: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 gen_default_modes: Add more refresh rates to fallback modes 2022-01-03 10:48:29 +00:00
meta-backend-native-private.h backend/native: Create MetaRenderDevice on_gpu_added when it does not exists 2022-11-01 11:13:38 +01:00
meta-backend-native-types.h backend/native: Prepare render devices earlier than KMS 2022-09-02 20:43:05 +00:00
meta-backend-native.c clutter/seat: Add seat name 2023-07-14 22:23:45 +00:00
meta-backend-native.h tests: Port headless start test case to VKMS 2023-03-02 23:49:15 +00:00
meta-barrier-native.c barrier: Allow releasing without any event in the native implementation 2023-07-14 22:23:45 +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 mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
meta-clutter-backend-native.h clutter/backend/native: Keep a pointer to the actual backend 2021-10-18 14:36:15 +00:00
meta-cogl-utils.c native/cogl-utils: Add 10 bpc format support 2022-01-17 10:39:13 +00:00
meta-cogl-utils.h native/cogl-utils: Minor macro cleanup 2021-01-28 20:33:01 +00:00
meta-crtc-kms.c backends/native: Handle gamma sizes independent of the KMS LUT 2023-02-23 17:20:36 +00:00
meta-crtc-kms.h backends/native: Replace MetaKmsCrtcGamma with MetaGammaLut 2023-02-23 17:20:36 +00:00
meta-crtc-mode-kms.c output/kms: Replace common mode bandwidth check with clock check 2022-07-01 16:13:18 +02:00
meta-crtc-mode-kms.h crtc-mode-kms: Wrap MetaKmsMode instead of drmModeModeInfo 2021-01-22 16:47:08 +00:00
meta-crtc-mode-virtual.c virtual-monitor: Split out mode info into separate struct 2022-03-04 18:13:45 +00:00
meta-crtc-mode-virtual.h virtual-monitor: Split out mode info into separate struct 2022-03-04 18:13:45 +00:00
meta-crtc-native.c crtc/native: Add API to check whether the CRTC supports hardware cursors 2021-11-26 14:30:27 +00:00
meta-crtc-native.h crtc/native: Add API to check whether the CRTC supports hardware cursors 2021-11-26 14:30:27 +00:00
meta-crtc-virtual.c backend: Set up and use ownership chains 2022-12-17 13:52:51 +00:00
meta-crtc-virtual.h backend: Set up and use ownership chains 2022-12-17 13:52:51 +00:00
meta-cursor-renderer-native.c kms/result-listener: Allow setting a custom main context 2023-07-17 17:23:31 +02:00
meta-cursor-renderer-native.h renderer/native: Move per frame KMS update to MetaFrameNative 2023-03-02 01:40:16 +01:00
meta-device-pool-private.h backend: Set up and use ownership chains 2022-12-17 13:52:51 +00:00
meta-device-pool.c Use the same prefix for all generated D-Bus boiler plate 2023-01-28 12:35:54 +01:00
meta-device-pool.h backend: Set up and use ownership chains 2022-12-17 13:52:51 +00:00
meta-drm-buffer-dumb.c Use g_clear_fd() instead of open coding the same behavior 2023-01-30 15:11:26 +00:00
meta-drm-buffer-dumb.h tests: Add some basic MetaKmsUpdate unit tests 2022-01-25 15:47:03 +00:00
meta-drm-buffer-gbm.c backends/native: Assume zero rendering time for direct scanout buffers 2023-06-20 15:32:25 +00:00
meta-drm-buffer-gbm.h drm-buffer: Replace 'use-modifier' boolean with flags 2021-10-18 17:33:33 +02:00
meta-drm-buffer-import.c drm-buffer: Keep track of handle as well 2022-04-29 19:35:35 +00:00
meta-drm-buffer-import.h drm-buffer: Create from MetaDeviceFile instead of MetaKmsDevice 2021-07-07 21:03:26 +02:00
meta-drm-buffer-private.h backends/native: Assume zero rendering time for direct scanout buffers 2023-06-20 15:32:25 +00:00
meta-drm-buffer.c backends/native: Assume zero rendering time for direct scanout buffers 2023-06-20 15:32:25 +00:00
meta-drm-buffer.h backends/native: Assume zero rendering time for direct scanout buffers 2023-06-20 15:32:25 +00:00
meta-frame-native.c frame/native: Remember whether the frame carried a kms update 2023-04-17 09:16:10 +00:00
meta-frame-native.h frame/native: Remember whether the frame carried a kms update 2023-04-17 09:16:10 +00:00
meta-gpu-kms.c gpu/kms: Report that we can have outputs if we have connectors 2023-03-02 23:49:15 +00:00
meta-gpu-kms.h kms/device: Differentiate between lack of AddFb2() and udev rule 2022-08-02 10:04:52 +00:00
meta-input-device-native.c backends/native: Change handling of display mapping for rel tablet tools 2023-05-22 17:01:59 +00:00
meta-input-device-native.h backends/native: Implement get_dimensions() in native devices 2022-11-09 10:46:55 +00: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 backends/native: Change handling of display mapping for rel tablet tools 2023-05-22 17:01:59 +00: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 clutter/keymap: Make caps and num lock state properties 2021-03-04 17:39:08 +00:00
meta-keymap-native.h clutter/keymap: Make caps and num lock state properties 2021-03-04 17:39:08 +00:00
meta-kms-connector-private.h backends/native: Convert MetaOutputColorspace to DRM Colorspace 2023-03-04 19:53:30 +00:00
meta-kms-connector.c backends/native: Convert MetaOutputColorspace to DRM Colorspace 2023-03-04 19:53:30 +00:00
meta-kms-connector.h backends/native: Read color space and HDR metadata connector state 2023-03-04 09:30:41 +00:00
meta-kms-crtc-private.h backends/native: Read CRTC Gamma state from legacy and property APIs 2023-02-23 17:20:36 +00:00
meta-kms-crtc.c backends: Use meta_gamma_lut_new_sized() in a few more places 2023-03-30 11:21:02 +00:00
meta-kms-crtc.h backends/native: Replace MetaKmsCrtcGamma with MetaGammaLut 2023-02-23 17:20:36 +00:00
meta-kms-device-private.h tests/kms: Run tests both using simple and atomic KMS 2022-07-28 23:59:24 +00:00
meta-kms-device.c kms: Add API to pass updates asynchronously 2023-07-17 17:23:31 +02:00
meta-kms-device.h kms: Add API to pass updates asynchronously 2023-07-17 17:23:31 +02:00
meta-kms-impl-device-atomic.c kms/update: Allow page flip callback listeners on any thread 2023-07-17 17:23:31 +02:00
meta-kms-impl-device-atomic.h tests/kms: Run tests both using simple and atomic KMS 2022-07-28 23:59:24 +00:00
meta-kms-impl-device-dummy.c kms/impl-device/dummy: Add empty disable() implementation 2023-06-01 11:29:09 +00:00
meta-kms-impl-device-dummy.h kms: Add way to run without mode setting 2021-03-12 15:09:45 +00:00
meta-kms-impl-device-simple.c kms/update: Allow page flip callback listeners on any thread 2023-07-17 17:23:31 +02:00
meta-kms-impl-device-simple.h tests/kms: Run tests both using simple and atomic KMS 2022-07-28 23:59:24 +00:00
meta-kms-impl-device.c kms/update: Allow page flip callback listeners on any thread 2023-07-17 17:23:31 +02:00
meta-kms-impl-device.h thread: Move context and task management to impl side 2023-07-17 12:51:36 +02:00
meta-kms-impl.c kms: Split out impl/non-impl separation into MetaThread(Impl) 2023-07-17 12:45:00 +02:00
meta-kms-impl.h kms: Split out impl/non-impl separation into MetaThread(Impl) 2023-07-17 12:45:00 +02:00
meta-kms-mode-private.h tests/kms: Check predicted state is correctly predicted 2022-01-25 15:47:03 +00:00
meta-kms-mode.c tests/kms: Check predicted state is correctly predicted 2022-01-25 15:47:03 +00:00
meta-kms-mode.h tests/kms: Check predicted state is correctly predicted 2022-01-25 15:47:03 +00:00
meta-kms-page-flip-private.h kms/update: Allow page flip callback listeners on any thread 2023-07-17 17:23:31 +02:00
meta-kms-page-flip.c kms/update: Allow page flip callback listeners on any thread 2023-07-17 17:23:31 +02:00
meta-kms-plane-private.h backends/native: Use MetaKmsPlaneRotation in plane updates 2022-06-10 17:49:07 +00:00
meta-kms-plane.c backends/native: Fix checks for 'reflect-x' and 'reflect-y' bits 2022-07-26 18:41:43 +00:00
meta-kms-plane.h tests: Add KMS device tests 2022-01-25 15:47:03 +00:00
meta-kms-private.h kms/update: Allow page flip callback listeners on any thread 2023-07-17 17:23:31 +02:00
meta-kms-types-private.h kms/result-listener: Let listeners own a feedback ref 2023-03-01 23:57:32 +00:00
meta-kms-types.h onscreen/native: Handle unexpected scanout failures async 2023-03-01 23:57:32 +00:00
meta-kms-update-private.h kms/result-listener: Allow setting a custom main context 2023-07-17 17:23:31 +02:00
meta-kms-update.c kms/result-listener: Allow setting a custom main context 2023-07-17 17:23:31 +02:00
meta-kms-update.h kms/result-listener: Allow setting a custom main context 2023-07-17 17:23:31 +02:00
meta-kms-utils.c backends/native: Add meta_calculate_drm_mode_vblank_duration_us() 2021-07-13 08:09:42 +00:00
meta-kms-utils.h backends/native: Add meta_calculate_drm_mode_vblank_duration_us() 2021-07-13 08:09:42 +00:00
meta-kms.c kms: Use a kernel thread by default 2023-07-17 21:19:34 +02:00
meta-kms.h kms: Use a kernel thread by default 2023-07-17 21:19:34 +02:00
meta-launcher.c Use the same prefix for all generated D-Bus boiler plate 2023-01-28 12:35:54 +01:00
meta-launcher.h Use the same prefix for all generated D-Bus boiler plate 2023-01-28 12:35:54 +01:00
meta-monitor-manager-native.c mutter: Remove stray spaces 2023-05-24 14:16:41 +02:00
meta-monitor-manager-native.h backends/native: Replace MetaKmsCrtcGamma with MetaGammaLut 2023-02-23 17:20:36 +00:00
meta-onscreen-native.c onscreen/native: Post updates asynchronously 2023-07-17 17:23:31 +02:00
meta-onscreen-native.h renderer/native: Detach old onscreens when rebuilding views 2023-02-22 15:25:25 +00:00
meta-output-kms.c output/kms: Use meta_kms_connector_get_preferred_mode in init_output_modes 2023-06-12 18:59:06 +00:00
meta-output-kms.h output/kms: Make set privacy screen caller handle the update 2023-02-01 08:40:53 +01:00
meta-output-native.c output/kms: Make EDID be read via MetaOutputNative object 2021-03-12 15:09:45 +00:00
meta-output-native.h output/kms: Make EDID be read via MetaOutputNative object 2021-03-12 15:09:45 +00:00
meta-output-virtual.c monitor: Add API to check whether the monitor is virtual or not 2022-09-01 14:31:40 +00:00
meta-output-virtual.h Introduce virtual monitors 2021-03-12 15:09:45 +00:00
meta-pointer-constraint-native.c pointer-constraints/native: Fix borders array memory leaks 2022-07-06 19:27:20 +00:00
meta-pointer-constraint-native.h pointer-constraints: Move min edge distance from backend to Wayland 2022-06-13 18:38:50 +00:00
meta-render-device-egl-stream.c kms: Use a kernel thread by default 2023-07-17 21:19:34 +02:00
meta-render-device-egl-stream.h Introduce MetaRenderDevice{Gbm,EglStream,Surfaceless} 2021-10-18 17:33:32 +02:00
meta-render-device-gbm.c render-device: Add API to import other buffers 2021-10-18 17:35:26 +02:00
meta-render-device-gbm.h render-device/gbm: Add getter for gbm_device 2021-10-18 17:33:33 +02:00
meta-render-device-private.h render-device: Add API to import other buffers 2021-10-18 17:35:26 +02:00
meta-render-device-surfaceless.c Introduce MetaRenderDevice{Gbm,EglStream,Surfaceless} 2021-10-18 17:33:32 +02:00
meta-render-device-surfaceless.h Introduce MetaRenderDevice{Gbm,EglStream,Surfaceless} 2021-10-18 17:33:32 +02:00
meta-render-device.c render-device: Unmake the EGLContext after checking whether hw accelerated 2022-09-03 18:34:49 +02:00
meta-render-device.h render-device: Add API to allocate dumb buffers 2021-10-18 17:36:17 +02: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 renderer/native: remove meta_renderer_native_gles3_read_pixels 2018-11-19 22:53:13 +00:00
meta-renderer-native-private.h renderer/native: Move per frame KMS update to MetaFrameNative 2023-03-02 01:40:16 +01:00
meta-renderer-native.c kms/result-listener: Allow setting a custom main context 2023-07-17 17:23:31 +02:00
meta-renderer-native.h renderer/native: Move per frame KMS update to MetaFrameNative 2023-03-02 01:40:16 +01:00
meta-renderer-view-native.c renderer-view/native: Allocate backend specific ClutterFrame 2023-03-02 01:39:16 +01:00
meta-renderer-view-native.h backends/native: Introduce MetaRendererViewNative 2023-03-02 01:39:16 +01:00
meta-seat-impl.c clutter/event: Set the constrained relative motion too 2023-07-14 22:23:45 +00:00
meta-seat-impl.h seat/impl: Move out the GSource implementation to a helper object 2023-07-14 22:23:45 +00:00
meta-seat-native.c seat/native/impl: Start reading input device events when starting 2023-06-12 18:16:01 +00:00
meta-seat-native.h seat/native/impl: Start reading input device events when starting 2023-06-12 18:16:01 +00:00
meta-stage-native.c renderer/native: Move per frame KMS update to MetaFrameNative 2023-03-02 01:40:16 +01:00
meta-stage-native.h backends: Rename ClutterStage[View]Cogl API and types 2021-07-16 19:08:06 +02:00
meta-thread-impl.c thread: Allow switching thread type 2023-07-17 21:19:34 +02:00
meta-thread-impl.h thread: Add destroy notify function for post user data 2023-07-17 17:23:31 +02:00
meta-thread-private.h thread: Introduce kernel thread support 2023-07-17 12:51:36 +02:00
meta-thread.c thread: Allow switching thread type 2023-07-17 21:19:34 +02:00
meta-thread.h thread: Allow switching thread type 2023-07-17 21:19:34 +02:00
meta-udev.c Revert "backend/native: Sending modifiers to clients can be disabled via udev" 2023-05-30 14:25:28 +02:00
meta-udev.h Revert "backend/native: Sending modifiers to clients can be disabled via udev" 2023-05-30 14:25:28 +02:00
meta-virtual-input-device-native.c virtual-input-device/native: Emit discrete scroll when the source is a wheel 2022-10-18 08:16:11 +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-virtual-monitor-native.c backend: Set up and use ownership chains 2022-12-17 13:52:51 +00:00
meta-virtual-monitor-native.h backend: Set up and use ownership chains 2022-12-17 13:52:51 +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