mutter/src/backends
Robert Mader 4133b73632 cursor-renderer/native: Skip hw cursor upload if we can't use it
If the CRTCs the cursor is visible on do not share a common scale
and transform, we can't use the cursor hardware plane as we only have one.
We therefore fall back to software / gl cursor.

The check for that currently happens after we tried to upload the cursor image
to the hardware plane though.
This is made worse by the fact that in the scaling step, where we scale the
cursor image to the desired size, until now we expected a valid common scale -
otherwise scaling the image by an uninitialized float.

Make sure we bail out early during the scale/upload step if we don't have common
scales and transforms - to avoid that bug and save some unnecessary work.

https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1125
2020-03-16 21:51:30 +01:00
..
native cursor-renderer/native: Skip hw cursor upload if we can't use it 2020-03-16 21:51:30 +01:00
x11 input-settings/x11: Fix typo in has_udev_property 2020-03-15 13:04:32 +09:00
edid-parse.c Clean up include macros mess 2018-11-06 17:17:36 +01: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: Move warp_pointer() to ClutterSeat 2020-01-30 18:12:58 +01:00
meta-backend-types.h screen-cast: Add getters to fetch object owners 2019-01-16 17:09:51 +00:00
meta-backend.c renderer: Add API to check whether renderer is hardware accelerated 2020-02-20 10:40:42 +00:00
meta-barrier-private.h Use G_DECLARE_DERIVABLE/FINAL_TYPE on some types 2018-12-21 19:48:50 +00:00
meta-barrier.c cleanup: Don't use G_TYPE_INSTANCE_GET_PRIVATE() 2019-07-18 11:01:09 +02:00
meta-crtc.c crtc: Don't leak MetaCrtcConfig 2020-02-27 20:35:07 +00:00
meta-crtc.h crtc: Move logical monitor pointer to MetaMonitor 2020-02-25 18:39:51 +01:00
meta-cursor-renderer.c Replace ClutterRect by graphene_rect_t 2019-10-16 11:38:14 +00:00
meta-cursor-renderer.h Replace ClutterRect by graphene_rect_t 2019-10-16 11:38:14 +00:00
meta-cursor-sprite-xcursor.c cogl: Remove CoglError wrapper 2019-06-20 18:25:04 +02: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 Use G_DECLARE_DERIVABLE/FINAL_TYPE on some types 2018-12-21 19:48:50 +00:00
meta-cursor-tracker.c backends: Replace ClutterDeviceManager usage in favor of ClutterSeat 2020-01-30 18:11:23 +01:00
meta-cursor.c backends/cursor: Add API to set and get the texture buffer transform 2020-02-28 10:22:11 +00:00
meta-cursor.h backends/cursor: Add API to set and get the texture buffer transform 2020-02-28 10:22:11 +00:00
meta-dbus-session-watcher.c dbus-session-watcher: Chain up to parent finalize() 2019-10-14 09:09:01 +02: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 Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
meta-dnd-private.h compositor: Move out X11 compositing code into sub type 2019-08-19 08:44:58 +00:00
meta-egl-ext.h EGL: Include EGL/eglmesaext.h 2019-10-21 14:04:30 +00:00
meta-egl.c EGL: Include EGL/eglmesaext.h 2019-10-21 14:04:30 +00:00
meta-egl.h EGL: Include EGL/eglmesaext.h 2019-10-21 14:04:30 +00:00
meta-gles3-table.h backends: Add OpenGL ES 3 abstraction layer 2017-10-05 18:17:26 -04:00
meta-gles3.c Fix const qualifier usage 2019-01-22 18:31:53 +01:00
meta-gles3.h Fix const qualifier usage 2019-01-22 18:31:53 +01:00
meta-gpu.c backend: Move GPU ownership from the monitor manager to the backend 2019-06-20 13:31:55 +00:00
meta-gpu.h backend: Move GPU ownership from the monitor manager to the backend 2019-06-20 13:31:55 +00:00
meta-idle-monitor-dbus.c backends: Drop per-device idle monitors 2020-02-12 22:07:55 +00: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 backends: Do not use device IDs on idle monitors 2020-01-30 18:11:23 +01:00
meta-idle-monitor.c backends: Drop meta_idle_monitor_get_for_device() 2020-02-12 22:07:55 +00:00
meta-input-mapper-private.h backends: Add MetaInputMapper method to lookup devices from outputs 2018-12-06 14:44:46 +00:00
meta-input-mapper.c backends: Replace ClutterDeviceManager usage in favor of ClutterSeat 2020-01-30 18:11:23 +01:00
meta-input-settings-private.h input-settings: Wire up middle-emulation 2020-03-15 13:04:32 +09:00
meta-input-settings.c input-settings: Specify middle-click-emulation key 2020-03-16 15:09:00 +08:00
meta-logical-monitor.c crtc: Move logical monitor pointer to MetaMonitor 2020-02-25 18:39:51 +01:00
meta-logical-monitor.h logical-monitor: Pass monitor in the for each CRTC helper callback 2020-02-25 18:39:51 +01:00
meta-monitor-config-manager.c monitor-config-manager: Respect layout mode when calculating CRTC layout 2020-03-11 12:55:03 +00:00
meta-monitor-config-manager.h monitor-config-store: Read system wide config files 2019-02-26 21:04:27 +00: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 meta: Hide libmutter symbols by default and selectively export them 2019-01-23 14:18:13 +01:00
meta-monitor-config-store.c monitor-config-store: Read system wide config files 2019-02-26 21:04:27 +00:00
meta-monitor-config-store.h meta: Hide libmutter symbols by default and selectively export them 2019-01-23 14:18:13 +01:00
meta-monitor-manager-dummy.c crtc: Move logical monitor pointer to MetaMonitor 2020-02-25 18:39:51 +01:00
meta-monitor-manager-dummy.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-monitor-manager-private.h crtc: Move configured state to separate struct 2020-02-25 18:39:51 +01:00
meta-monitor-manager.c crtc: Move configured state to separate struct 2020-02-25 18:39:51 +01:00
meta-monitor-transform.c monitor-transform: Add generic function to get relative transform 2020-02-28 10:22:11 +00:00
meta-monitor-transform.h monitor-transform: Add generic function to get relative transform 2020-02-28 10:22:11 +00:00
meta-monitor.c monitor: Move logical <-> CRTC transform helpers to MetaOutput 2020-02-27 09:47:22 +01:00
meta-monitor.h crtc: Move logical monitor pointer to MetaMonitor 2020-02-25 18:39:51 +01:00
meta-orientation-manager.c orientation-manager: Do not change current orientation when locked 2020-02-07 13:46:45 +01:00
meta-orientation-manager.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-output.c monitor: Move logical <-> CRTC transform helpers to MetaOutput 2020-02-27 09:47:22 +01:00
meta-output.h monitor: Move logical <-> CRTC transform helpers to MetaOutput 2020-02-27 09:47:22 +01:00
meta-pointer-constraint.c Add some gtk-doc comments. 2019-01-06 21:57:16 +01:00
meta-pointer-constraint.h Add some gtk-doc comments. 2019-01-06 21:57:16 +01:00
meta-profiler.c profiler: track changes in GLib and Sysprof 2019-10-30 16:07:36 -07:00
meta-profiler.h profile: Add a Sysprof-based profiler 2019-05-31 11:57:07 -03:00
meta-remote-access-controller-private.h remote-access-handle: Expose disable-animations property 2020-02-20 10:40:42 +00:00
meta-remote-access-controller.c remote-access-handle: Expose disable-animations property 2020-02-20 10:40:42 +00:00
meta-remote-desktop-session.c clutter: Move virtual device management to ClutterSeat 2020-01-30 18:02:14 +01:00
meta-remote-desktop-session.h Add remote access controller API 2018-07-20 16:49:49 +02:00
meta-remote-desktop.c clutter: Move virtual device management to ClutterSeat 2020-01-30 18:02:14 +01:00
meta-remote-desktop.h Clean up include macros mess 2018-11-06 17:17:36 +01:00
meta-renderer-view.c renderer-native: Draw stage separately per CRTC 2020-02-25 18:39:51 +01:00
meta-renderer-view.h renderer-native: Draw stage separately per CRTC 2020-02-25 18:39:51 +01:00
meta-renderer.c renderer-native: Draw stage separately per CRTC 2020-02-25 18:39:51 +01:00
meta-renderer.h renderer-native: Draw stage separately per CRTC 2020-02-25 18:39:51 +01:00
meta-screen-cast-monitor-stream-src.c monitor-stream-src: Use cogl_framebuffer_finish() 2020-02-28 15:52:19 -03: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 backend: Move GPU ownership from the monitor manager to the backend 2019-06-20 13:31:55 +00:00
meta-screen-cast-monitor-stream.h screen-cast: Add 'cursor-mode' to allow decoupled cursor updates 2019-01-16 17:09:51 +00:00
meta-screen-cast-session.c remote-access-handle: Expose disable-animations property 2020-02-20 10:40:42 +00:00
meta-screen-cast-session.h screen-cast-session: Add 'disable-animations' property 2020-02-20 10:40:42 +00:00
meta-screen-cast-stream-src.c screen-cast-stream-src: Don't leak GSource 2020-03-09 17:31:23 +00:00
meta-screen-cast-stream-src.h screen-cast-stream-src: Support DMA buffer sharing 2020-02-28 15:29:03 -03:00
meta-screen-cast-stream.c screen-cast-stream: Don't broadcast PipeWireStreamAdded signal 2019-01-30 17:14:47 +00:00
meta-screen-cast-stream.h screen-cast: Add 'cursor-mode' to allow decoupled cursor updates 2019-01-16 17:09:51 +00:00
meta-screen-cast-window-stream-src.c window-stream-source: Draw into DMA buffer image 2020-02-28 15:52:19 -03:00
meta-screen-cast-window-stream-src.h screen-cast-session: Add screen-cast window mode 2018-12-14 13:26:16 +01:00
meta-screen-cast-window-stream.c screen-cast: Fix window recording on HiDPI 2019-12-18 18:41:44 +01:00
meta-screen-cast-window-stream.h screen-cast-window-stream: Add support for cursor modes 2019-02-26 13:39:11 +00:00
meta-screen-cast-window.c window-stream-source: Draw into DMA buffer image 2020-02-28 15:52:19 -03:00
meta-screen-cast-window.h window-stream-source: Draw into DMA buffer image 2020-02-28 15:52:19 -03:00
meta-screen-cast.c screen-cast-session: Add 'disable-animations' property 2020-02-20 10:40:42 +00:00
meta-screen-cast.h screen-cast: Add 'cursor-mode' to allow decoupled cursor updates 2019-01-16 17:09:51 +00:00
meta-settings-private.h wayland: Add setting/api to check the policy to set up the X11 display 2019-08-06 00:41:36 +00:00
meta-settings.c settings: Improve logging of enabled experimental features 2020-02-17 17:08:21 +00:00
meta-stage-private.h Replace ClutterRect by graphene_rect_t 2019-10-16 11:38:14 +00:00
meta-stage.c clutter/stage: Pass redraw clip instead of extents when painting view 2020-02-25 19:18:54 +01:00