mutter/src/backends
Marco Trevisan (Treviño) 98f3f96978 monitor: Never return fractional scale values when NO_FRAC is used
We introduced META_MONITOR_SCALES_CONSTRAINT_NO_FRAC to get global scale
values however, this didn't work properly for some resolutions.

In fact it may happen that for some resolutions (such as 3200x1800) that
we did not compute some odd scaling levels (such as 3.0) but instead
its closest fractional value that allowed to get an integer resolution
(2.98507452 in this case).

Now this is something relevant when using fractional scaling because we
want to ensure that the returned value, when multiplied to the scaled
sizes, will produce an integer resolution, but it's not in global scale
mode where we don't use a scaled framebuffer.

So, take a short path when using no fractional mode and just return all
the applicable values without waste iterations on fractional values.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1878>
2021-07-22 16:06:08 +02:00
..
native monitor-manager: Pass the Logical mode when computing the monitor scale 2021-07-22 13:14:01 +02:00
x11 monitor-manager-xrandr: Use monitor to calculate scaling 2021-07-22 15:38:02 +02: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 context: Make the context own MetaWaylandCompositor 2021-07-15 11:34:37 +02:00
meta-backend-types.h context: Make the context own MetaWaylandCompositor 2021-07-15 11:34:37 +02:00
meta-backend.c context: Make the context own MetaWaylandCompositor 2021-07-15 11:34:37 +02: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 src: Stop using GSlice 2021-02-22 13:52:27 +01:00
meta-crtc-mode.c crtc-kms: Make KMS CRTC mode a type inheriting MetaCrtcMode 2020-06-11 09:20:16 +00:00
meta-crtc-mode.h crtc-mode-info: Add vblank duration field 2021-07-13 08:09:42 +00:00
meta-crtc.c monitor-manager: Connect assigned CRTCs to their outputs both ways 2021-01-22 16:47:08 +00:00
meta-crtc.h monitor-manager: Connect assigned CRTCs to their outputs both ways 2021-01-22 16:47:08 +00:00
meta-cursor-renderer.c backend: Pass stage view to cursor-painted signal 2021-03-08 09:48:12 +00:00
meta-cursor-renderer.h backend: Pass stage view to cursor-painted signal 2021-03-08 09:48:12 +00:00
meta-cursor-sprite-xcursor.c cursor-sprite/xcursor: Fall back to gray square if missing theme 2020-11-16 13:49:05 +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 backend: Cleanup cursor tracker on shutdown 2021-05-05 19:52:04 +00:00
meta-cursor-tracker.c backend: Cleanup cursor tracker on shutdown 2021-05-05 19:52:04 +00:00
meta-cursor.c backends: Add argument for best scale on MetaCursorSprite::prepare-at 2020-11-27 15:14:33 +00:00
meta-cursor.h backends: Add argument for best scale on MetaCursorSprite::prepare-at 2020-11-27 15:14:33 +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: Add eglBindAPI helper 2021-07-07 21:03:26 +02:00
meta-egl.h egl: Add eglBindAPI helper 2021-07-07 21:03:26 +02: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 output: Move output info to MetaOutputInfo struct 2020-06-10 18:54:50 +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-manager.c context: Move 'replace-current-wm' tracking to the context 2021-07-15 11:34:37 +02:00
meta-idle-manager.h backends: Introduce MetaIdleManager 2021-05-18 13:19:36 +00:00
meta-idle-monitor-private.h backends: Introduce MetaIdleManager 2021-05-18 13:19:36 +00:00
meta-idle-monitor.c backends: Introduce MetaIdleManager 2021-05-18 13:19:36 +00:00
meta-input-device-private.h backends: Add MetaInputDevice derivable class 2020-03-24 18:07:31 +00:00
meta-input-device.c backends: move 'input_device' to HAVE_LIBWACOM scope 2020-05-03 23:35:03 +01:00
meta-input-mapper-private.h backends: Make MetaInputMapper take over MetaInputSettings public API 2020-11-27 15:14:33 +00:00
meta-input-mapper.c input-mapper: Fix (libwacom) tablet mapping to monitor 2021-07-01 06:36:33 +02:00
meta-input-settings-dummy.c input-settings: Make set_matrix() vfunc take const float array pointer 2021-04-14 19:16:22 +00:00
meta-input-settings-dummy.h backends/x11: Add dummy input-settings implementation 2021-03-10 13:56:54 +00:00
meta-input-settings-private.h input-settings: Make set_matrix() vfunc take const float array pointer 2021-04-14 19:16:22 +00:00
meta-input-settings.c backends: Drop MetaInputSettings::seat property 2021-05-05 19:07:26 +00:00
meta-keymap-utils.c *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
meta-keymap-utils.h compositor: use XDG_CONFIG_HOME as initial lookup path for xkb 2020-06-08 11:29:30 +00:00
meta-logical-monitor.c crtc: Move MetaCrtcConfig field to instance private 2020-06-10 18:54:50 +00:00
meta-logical-monitor.h *: Fix spelling mistakes found by codespell 2020-08-29 09:10:31 +00:00
meta-monitor-config-manager.c monitor-manager: Pass the Logical mode when computing the monitor scale 2021-07-22 13:14:01 +02:00
meta-monitor-config-manager.h monitor-manager: Rename *Info structs to *Assignment 2020-06-10 18:54:50 +00:00
meta-monitor-config-migration.c monitor-manager: Pass the Logical mode when computing the monitor scale 2021-07-22 13:14:01 +02: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: Properly escape monitor spec 2021-01-29 16:49:58 +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 monitor-manager: Pass the Logical mode when computing the monitor scale 2021-07-22 13:14:01 +02:00
meta-monitor-manager-dummy.h crtc: Make implementations inherit MetaCrtc 2020-06-10 18:54:51 +00:00
meta-monitor-manager-private.h monitor-manager: Pass the Logical mode when computing the monitor scale 2021-07-22 13:14:01 +02:00
meta-monitor-manager.c monitor-manager: Only derive global scales supported by all monitors 2021-07-22 15:38:04 +02:00
meta-monitor-transform.c monitor-transform: Add API to transform point 2020-03-26 16:18:28 +00:00
meta-monitor-transform.h crtc: Move all_transforms field into instance private 2020-06-10 18:54:50 +00:00
meta-monitor.c monitor: Never return fractional scale values when NO_FRAC is used 2021-07-22 16:06:08 +02:00
meta-monitor.h monitor-manager: Pass the Logical mode when computing the monitor scale 2021-07-22 13:14:01 +02:00
meta-orientation-manager.c backends: Add method/property to get accelerometer availability 2020-09-05 07:25:02 +00:00
meta-orientation-manager.h backends: Add method/property to get accelerometer availability 2020-09-05 07:25:02 +00:00
meta-output.c monitor: Unset output monitor when disposing 2021-03-12 15:09:45 +00:00
meta-output.h Introduce virtual monitors 2021-03-12 15:09:45 +00:00
meta-pointer-constraint.c backends: Delegate pointer confinements to an impl object 2020-11-27 15:14:33 +00:00
meta-pointer-constraint.h backends: Delegate pointer confinements to an impl object 2020-11-27 15:14:33 +00:00
meta-profiler.c Remove misplaced line break in g_* logging functions 2020-10-08 16:38:41 +02: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-controller: Allow inhibiting remote access 2020-04-27 14:31:06 +00:00
meta-remote-access-controller.c remote-access-handle: Add 'is-recording' property 2020-07-31 10:41:38 +02:00
meta-remote-desktop-session.c remote-desktop-session: Don't recreate virtual device over and over 2021-05-07 13:16:27 +00:00
meta-remote-desktop-session.h remote-desktop/session: Add support for SelectionTransfer/Write 2021-02-05 16:44:27 +00:00
meta-remote-desktop.c remote-desktop: Close sessions on prepare-shutdown 2021-05-11 16:18:13 +00:00
meta-remote-desktop.h remote-desktop: Add backend getter 2021-03-04 17:39:08 +00:00
meta-renderer-view.c backends: Rename ClutterStage[View]Cogl API and types 2021-07-16 19:08:06 +02:00
meta-renderer-view.h backends: Excise MetaStageView to its own file 2021-07-16 19:08:06 +02:00
meta-renderer.c renderer: Cleanup views in dispose 2021-05-05 19:52:04 +00:00
meta-renderer.h tests/monitor: Check that the CRTC "layout" is correct 2021-01-22 16:47:08 +00:00
meta-screen-cast-area-stream-src.c screen-cast/area-src: Add before-paint watch to catch scanouts 2021-07-05 15:57:20 +00:00
meta-screen-cast-area-stream-src.h screen-cast: Add RecordArea for screen cast arbitrary area 2020-04-23 14:45:53 +00:00
meta-screen-cast-area-stream.c remote-desktop/session: Handle unable to transform coordinate gracefully 2021-03-12 15:09:45 +00:00
meta-screen-cast-area-stream.h screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
meta-screen-cast-monitor-stream-src.c clutter: Make stage capture support fractional scaling 2021-05-08 22:27:52 +07: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 screencast: Fix transform_position(), when using fractional scaling 2021-05-17 16:11:47 +02:00
meta-screen-cast-monitor-stream.h screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
meta-screen-cast-session.c screen-cast: Clean up sessions on 'prepare-shutdown' 2021-06-09 17:40:34 +00:00
meta-screen-cast-session.h screen-cast: Clean up sessions on 'prepare-shutdown' 2021-06-09 17:40:34 +00:00
meta-screen-cast-stream-src.c screen-cast/src: Allow for source with adaptive stream size 2021-03-12 15:09:45 +00:00
meta-screen-cast-stream-src.h screen-cast/src: Allow for source with adaptive stream size 2021-03-12 15:09:45 +00:00
meta-screen-cast-stream.c remote-desktop/session: Handle unable to transform coordinate gracefully 2021-03-12 15:09:45 +00:00
meta-screen-cast-stream.h remote-desktop/session: Handle unable to transform coordinate gracefully 2021-03-12 15:09:45 +00:00
meta-screen-cast-virtual-stream-src.c screen-cast/session: Introduce RecordVirtual D-Bus API 2021-03-12 15:09:45 +00:00
meta-screen-cast-virtual-stream-src.h screen-cast/session: Introduce RecordVirtual D-Bus API 2021-03-12 15:09:45 +00:00
meta-screen-cast-virtual-stream.c screen-cast/session: Introduce RecordVirtual D-Bus API 2021-03-12 15:09:45 +00:00
meta-screen-cast-virtual-stream.h screen-cast/session: Introduce RecordVirtual D-Bus API 2021-03-12 15:09:45 +00:00
meta-screen-cast-window-stream-src.c screen-cast/src: Allow for source with adaptive stream size 2021-03-12 15:09:45 +00: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 remote-desktop/session: Handle unable to transform coordinate gracefully 2021-03-12 15:09:45 +00:00
meta-screen-cast-window-stream.h screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02: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: Clean up sessions on 'prepare-shutdown' 2021-06-09 17:40:34 +00:00
meta-screen-cast.h screen-cast/session: Introduce RecordVirtual D-Bus API 2021-03-12 15:09:45 +00:00
meta-settings-private.h xwayland: Enable Xwayland on demand by default 2021-01-19 09:33:33 +01:00
meta-settings.c xwayland: Enable Xwayland on demand by default 2021-01-19 09:33:33 +01:00
meta-stage-impl-private.h backends: Excise MetaStageView to its own file 2021-07-16 19:08:06 +02:00
meta-stage-impl.c backends: Promote g_debug() MetaStageImpl message to meta_topic() 2021-07-16 19:12:01 +02:00
meta-stage-private.h tests: Add reference test framework 2021-03-12 15:09:45 +00:00
meta-stage-view-private.h backends: Excise MetaStageView to its own file 2021-07-16 19:08:06 +02:00
meta-stage-view.c backends: Excise MetaStageView to its own file 2021-07-16 19:08:06 +02:00
meta-stage.c src: Stop using GSlice 2021-02-22 13:52:27 +01:00
meta-viewport-info.c main: Move rect related macro to util-private.h 2021-05-17 16:08:42 +00:00
meta-viewport-info.h backends: Store whether views are scaled in MetaViewportInfo 2021-04-13 10:32:14 +00:00
meta-virtual-monitor.c Introduce virtual monitors 2021-03-12 15:09:45 +00:00
meta-virtual-monitor.h tests: Add virtual monitor tests 2021-03-12 15:09:45 +00:00