mutter/src/backends/native
Sebastian Wick f092b6c78c backends/native: Add color space and HDR metadata updates
Allows to prepare KMS updates to set the color space and HDR Static
Metadata on the output.

For some reason we need ALLOW_MODESET on commits which change the HDR
Static Metadata InfoFrame on AMDGPU. There is no technical reason why
one needs to mode set to send an InfoFrame and the driver should just
manage without ALLOW_MODESET. Until this is resolved in the kernel we
just prepare KMS updates which might mode set.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2879>
2023-03-04 09:30:41 +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 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 kms: Prepare shutdown on 'prepare-shutdown' signal 2023-02-18 10:53:27 +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/native: Fix coding style 2022-11-24 12:25:29 +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 stage-impl: Change the backend pointer to MetaBackend 2022-01-17 09:48:51 +01: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 renderer/native: Move per frame KMS update to MetaFrameNative 2023-03-02 01:40:16 +01: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 backend: Set up and use ownership chains 2022-12-17 13:52:51 +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 drm-buffer: Keep track of handle as well 2022-04-29 19:35:35 +00:00
meta-drm-buffer.c drm-buffer: Clarify misleading error message on drmModeAddFB2 failure 2022-10-13 16:06:57 +08:00
meta-drm-buffer.h tests/kms/render: Add direct scanout test case 2022-06-02 08:59:13 +00:00
meta-frame-native.c renderer/native: Move per frame KMS update to MetaFrameNative 2023-03-02 01:40:16 +01:00
meta-frame-native.h renderer/native: Move per frame KMS update to MetaFrameNative 2023-03-02 01:40:16 +01: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 backend: Set up and use ownership chains 2022-12-17 13:52:51 +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 Support selecting an acceleration profile for touchpad devices 2023-02-01 03:03:47 +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: Add color space and HDR metadata KMS properties 2023-03-04 09:30:41 +00:00
meta-kms-connector.c backends/native: Read color space and HDR metadata connector state 2023-03-04 09:30:41 +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/native: Read CRTC Gamma state from legacy and property APIs 2023-02-23 17:20:36 +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/update: Change lock() to seal() 2023-03-01 23:57:32 +00:00
meta-kms-device.h tests/kms: Don't leak MetaKmsFeedback 2023-02-18 10:53:27 +00:00
meta-kms-impl-device-atomic.c backends/native: Let updates require ALLOW_MODESET 2023-03-04 09:30:41 +00: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 backend/native: Prepare render devices earlier than KMS 2022-09-02 20:43:05 +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: Always handle KMS update result via callback 2023-03-01 23:57:32 +00: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/device: Move result queueing to impl device 2023-03-02 01:39:16 +01:00
meta-kms-impl-device.h kms/device: Move result queueing to impl device 2023-03-02 01:39:16 +01:00
meta-kms-impl.c kms: Concentrate update processing in MetaKmsDevice 2022-01-25 15:47:03 +00:00
meta-kms-impl.h kms: Concentrate update processing in MetaKmsDevice 2022-01-25 15:47:03 +00: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: Always handle KMS update result via callback 2023-03-01 23:57:32 +00:00
meta-kms-page-flip.c kms/page-flip: Add a debug print with page flip event timings 2022-06-03 06:55:28 +00: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/result-listener: Let listeners own a feedback ref 2023-03-01 23:57:32 +00: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 backends/native: Add color space and HDR metadata updates 2023-03-04 09:30:41 +00:00
meta-kms-update.c backends/native: Add color space and HDR metadata updates 2023-03-04 09:30:41 +00:00
meta-kms-update.h backends/native: Add color space and HDR metadata updates 2023-03-04 09:30:41 +00: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 renderer/native: Move per frame KMS update to MetaFrameNative 2023-03-02 01:40:16 +01:00
meta-kms.h renderer/native: Move per frame KMS update to MetaFrameNative 2023-03-02 01:40:16 +01: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 backends/native: Replace MetaKmsCrtcGamma with MetaGammaLut 2023-02-23 17:20:36 +00: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: Hold output and CRTC refs until dispose 2023-03-03 22:36:30 +00: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 onscreen/native: Also track privacy screen KMS state here 2023-02-01 08:40:53 +01: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 Introduce MetaRenderDevice{Gbm,EglStream,Surfaceless} 2021-10-18 17:33:32 +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 renderer/native: Move per frame KMS update to MetaFrameNative 2023-03-02 01:40:16 +01: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 backends/native/seat-impl: Translate touch coords before storing 2023-02-20 18:00:06 +00:00
meta-seat-impl.h backend: Set up and use ownership chains 2022-12-17 13:52:51 +00:00
meta-seat-native.c backend: Set up and use ownership chains 2022-12-17 13:52:51 +00:00
meta-seat-native.h tests/utils: Add helper to flush the input thread 2022-12-13 18:31:14 +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-udev.c backend/native: Sending modifiers to clients can be disabled via udev 2022-09-22 08:32:02 +00:00
meta-udev.h tests: Port headless start test case to VKMS 2023-03-02 23:49:15 +00: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