mutter/src/backends
Jonas Ådahl 516fb524cb cursor-render/native: Realize hw cursor lazilly
Where to realize a hardware cursor depends on where on the screen it
will be displayed. For example it only needs buffers for the cursor
plane on a certain GPU if it overlaps with a monitor that is connected
said GPU.

Previously, we were too eager with uploading the cursor plane buffers,
which in effect resulted in the secondary GPU always being woken up
when changing the cursor, even though the cursor plane would actually
never be set unless the pointer cursor was moved to a monitor connected
to the secondary GPU. These wake-ups caused noticable stuttering; thus
by uploading the buffers more lazilly, the stuttering is avoided.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/77
2018-06-15 19:09:56 +00:00
..
native cursor-render/native: Realize hw cursor lazilly 2018-06-15 19:09:56 +00:00
x11 cursor-renderer: Fetch instead of pass Xcursor image when realizing 2018-06-15 19:09:52 +00:00
edid-parse.c Remove trailing whitespace 2014-05-02 09:34:48 -04:00
edid.h edid: Remove unused declarations 2014-09-12 11:55:08 -06:00
gsm-inhibitor-flag.h idle-monitor: Take idle inhibition into account 2018-04-16 13:28:03 +02:00
meta-backend-private.h backends: Remove X11 idle-monitor backend 2018-04-16 13:28:03 +02:00
meta-backend.c Make screen cast and remote desktop non-experimental 2018-06-07 12:57:51 +00:00
meta-barrier-private.h Move out generic math parts out of the native barrier implementation 2016-02-16 19:02:48 +08:00
meta-barrier.c Move out generic math parts out of the native barrier implementation 2016-02-16 19:02:48 +08:00
meta-crtc.c backends: Split out CRTC/output management to MetaGpu 2017-10-05 18:05:20 -04:00
meta-crtc.h backends: Split out CRTC/output management to MetaGpu 2017-10-05 18:05:20 -04:00
meta-cursor-renderer.c cursor-renderer: Rename update_cursor function 2018-06-15 19:09:55 +00:00
meta-cursor-renderer.h cursor-renderer/native: Let the backend realize cursor sprite itself 2018-06-15 19:09:55 +00:00
meta-cursor-sprite-xcursor.c cursor-renderer/native: Let the backend realize cursor sprite itself 2018-06-15 19:09:55 +00:00
meta-cursor-sprite-xcursor.h cursor-renderer: Fetch instead of pass Xcursor image when realizing 2018-06-15 19:09:52 +00:00
meta-cursor-tracker-private.h cursor-tracker: Split out XFIXES cursor code into cursor sprite type 2018-06-15 19:09:51 +00:00
meta-cursor-tracker.c cursor-tracker: Split out XFIXES cursor code into cursor sprite type 2018-06-15 19:09:51 +00:00
meta-cursor.c wayland: Add wl_surface backed cursor sprite implementation 2018-06-15 19:09:52 +00:00
meta-cursor.h wayland: Add wl_surface backed cursor sprite implementation 2018-06-15 19:09:52 +00:00
meta-dbus-session-watcher.c Add remote desktop and screen cast functionality 2017-08-29 14:39:04 +08:00
meta-dbus-session-watcher.h Add remote desktop and screen cast functionality 2017-08-29 14:39:04 +08:00
meta-display-config-shared.h Remove trailing whitespace 2014-05-02 09:34:48 -04:00
meta-dnd-private.h compositor: End MetaDnd grab on plugin grab end 2017-11-17 14:43:50 +01:00
meta-egl-ext.h egl: Add EGL_RESOURCE_BUSY_EXT error 2017-03-04 18:34:17 +08:00
meta-egl.c renderer/native: Force EGL config pixel format 2018-03-05 15:42:27 +00:00
meta-egl.h renderer/native: Force EGL config pixel format 2018-03-05 15:42:27 +00:00
meta-gles3-table.h backends: Add OpenGL ES 3 abstraction layer 2017-10-05 18:17:26 -04:00
meta-gles3.c backends: Add OpenGL ES 3 abstraction layer 2017-10-05 18:17:26 -04:00
meta-gles3.h backends: Add OpenGL ES 3 abstraction layer 2017-10-05 18:17:26 -04:00
meta-gpu.c backends: Split out CRTC/output management to MetaGpu 2017-10-05 18:05:20 -04:00
meta-gpu.h backends: Split out CRTC/output management to MetaGpu 2017-10-05 18:05:20 -04:00
meta-idle-monitor-dbus.c idle-monitor: Add ResetIdletime API, for testing purposes 2018-04-16 13:28:03 +02:00
meta-idle-monitor-dbus.h Start molding out a new src/backends/ dir 2014-03-31 22:11:00 -04:00
meta-idle-monitor-private.h idle-monitor: Take idle inhibition into account 2018-04-16 13:28:03 +02:00
meta-idle-monitor.c idle-monitor: NULL check cached InhibitedActions property variant 2018-06-14 17:52:11 +02:00
meta-input-settings-private.h backends: Add support for Wacom stylus tertiary-button-action 2018-01-30 19:28:02 +01:00
meta-input-settings.c input-settings: Fix a typo in tap-and-drag setting 2018-03-29 09:51:32 -05:00
meta-logical-monitor.c monitor-manager: Take drm-connector panel-orientation property into account 2017-12-25 17:01:45 +08:00
meta-logical-monitor.h logical-monitor: Add helper for iterating over active CRTCs 2017-10-05 16:18:43 -04:00
meta-monitor-config-manager.c monitor-config-manager: Adjust accelerometer rotation for panel-orientation 2017-12-25 17:01:45 +08:00
meta-monitor-config-manager.h monitor-manager: Compare keys when checking whether a config is complete 2017-11-30 11:48:44 +08:00
meta-monitor-config-migration.c monitor-config-migration: Discard if configured mode is missing 2017-10-04 09:45:02 -04:00
meta-monitor-config-migration.h Migrate old monitor configuration files to new system 2017-08-21 12:23:51 +08:00
meta-monitor-config-store.c monitor-config: Keep track of disabled monitors for stored configs 2017-10-02 15:34:24 -04:00
meta-monitor-config-store.h Migrate old monitor configuration files to new system 2017-08-21 12:23:51 +08:00
meta-monitor-manager-dummy.c backends: Split out CRTC/output management to MetaGpu 2017-10-05 18:05:20 -04:00
meta-monitor-manager-dummy.h backends: Split out CRTC/output management to MetaGpu 2017-10-05 18:05:20 -04:00
meta-monitor-manager-private.h monitor-manager: Take panel orientation into account when getting input matrix 2017-12-25 17:01:45 +08:00
meta-monitor-manager.c monitor-manager: Find active monitor when deriving global scale 2018-04-25 10:50:50 +02:00
meta-monitor.c monitor: Set MINIMUM_LOGICAL_HEIGHT to 480 2018-01-23 11:07:04 +08:00
meta-monitor.h monitor-manager: Take drm-connector panel-orientation property into account 2017-12-25 17:01:45 +08:00
meta-orientation-manager.c backends: Add a MetaOrientationManager class 2017-07-14 15:31:20 +02:00
meta-orientation-manager.h backends: Add a MetaOrientationManager class 2017-07-14 15:31:20 +02:00
meta-output.c backends: Split out CRTC/output management to MetaGpu 2017-10-05 18:05:20 -04:00
meta-output.h monitor-manager: Take drm-connector panel-orientation property into account 2017-12-25 17:01:45 +08:00
meta-pointer-constraint.c Implement support for the wp_pointer_constraints protocol 2016-02-16 19:02:48 +08:00
meta-pointer-constraint.h Implement support for the wp_pointer_constraints protocol 2016-02-16 19:02:48 +08:00
meta-remote-desktop-session.c remote-desktop: Add touch screen event support 2018-02-23 19:33:31 +08:00
meta-remote-desktop-session.h remote-desktop, screen-cast: Fail session method calls from other peers 2017-08-29 14:39:04 +08:00
meta-remote-desktop.c remote-desktop, screen-cast: Add version number to D-Bus APIs 2018-02-23 19:33:31 +08:00
meta-remote-desktop.h Add remote desktop and screen cast functionality 2017-08-29 14:39:04 +08:00
meta-renderer-view.c renderer-view: Add view transform getter 2017-04-07 22:30:49 +08:00
meta-renderer-view.h renderer-view: Add view transform getter 2017-04-07 22:30:49 +08:00
meta-renderer.c monitor-manager: Store logical monitors in a GList 2017-01-25 16:28:52 +08:00
meta-renderer.h Rename MetaMonitorInfo MetaLogicalMonitor 2017-01-25 16:28:51 +08:00
meta-screen-cast-monitor-stream-src.c ScreenCast: Pass PipeWire stream node ID directly 2017-08-29 14:39:04 +08:00
meta-screen-cast-monitor-stream-src.h ScreenCast: Pass PipeWire stream node ID directly 2017-08-29 14:39:04 +08:00
meta-screen-cast-monitor-stream.c screen-cast-stream: Add API to transform relative coordinates 2018-02-23 19:33:31 +08:00
meta-screen-cast-monitor-stream.h Add remote desktop and screen cast functionality 2017-08-29 14:39:04 +08:00
meta-screen-cast-session.c screen-cast-session: Add API to get stream from object path 2018-02-23 19:33:31 +08:00
meta-screen-cast-session.h screen-cast-session: Add API to get stream from object path 2018-02-23 19:33:31 +08:00
meta-screen-cast-stream-src.c screen-cast: Handle PipeWire errors more gracefully 2018-05-07 19:24:47 +00:00
meta-screen-cast-stream-src.h screen-cast-stream-src: Remove malformed include 2017-09-08 17:54:44 +02:00
meta-screen-cast-stream.c screen-cast-stream: Add API to transform relative coordinates 2018-02-23 19:33:31 +08:00
meta-screen-cast-stream.h screen-cast-stream: Add API to transform relative coordinates 2018-02-23 19:33:31 +08:00
meta-screen-cast.c remote-desktop, screen-cast: Add version number to D-Bus APIs 2018-02-23 19:33:31 +08:00
meta-screen-cast.h Add remote desktop and screen cast functionality 2017-08-29 14:39:04 +08:00
meta-settings-private.h Make screen cast and remote desktop non-experimental 2018-06-07 12:57:51 +00:00
meta-settings.c settings: Remove confused comment 2018-06-07 12:57:52 +00:00
meta-stage-private.h build: Introspect some more types 2018-05-07 21:44:47 +02:00
meta-stage.c build: Introspect some more types 2018-05-07 21:44:47 +02:00