mutter/clutter/clutter
Daniel van Vugt 4faeb12731 clutter/stage-cogl: Reschedule update on present
If an update (new frame) had been scheduled already before
`_clutter_stage_cogl_presented` was called then that means it was
scheduled for the wrong time. Because the `last_presentation_time` has
changed since then. And using an `update_time` based on an outdated
presentation time results in scheduling frames too early, filling the
buffer queue (triple buffering or worse) and high visual latency.

So if we do receive a presentation event when an update is already
scheduled, remember to reschedule the update based on the newer
`last_presentation_time`. This way we avoid overfilling the buffer queue
and limit ourselves to double buffering for less visible lag.

Closes: https://gitlab.gnome.org/GNOME/mutter/issues/334

Prerequisite: https://gitlab.gnome.org/GNOME/mutter/merge_requests/520

https://gitlab.gnome.org/GNOME/mutter/merge_requests/281
2019-05-21 16:23:49 +00:00
..
cally Use free_full on GList's instead of foreach + free 2019-05-15 14:42:25 -05:00
cogl clutter/stage-cogl: Reschedule update on present 2019-05-21 16:23:49 +00:00
deprecated cogl: Remove unused texture_type argument from cogl_pipeline_set_layer_null_texture 2019-04-18 12:53:24 -04:00
egl clutter: Remove deprecated clutter_egl{,x}_display 2019-02-27 03:32:21 +00:00
evdev clutter/evdev: disable mousekeys with Numlock ON 2019-04-19 13:51:35 +00:00
wayland clutter-wayland-surface: Remove cogl_rectangle() 2018-11-18 20:28:39 -02:00
x11 clutter: Add fribidi dependency and copy deprecated pango functions 2019-05-17 18:11:43 -05:00
clutter-action.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-action.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-actor-box-private.h clutter: Fix offscreen-effect painting of clones 2019-01-24 17:00:25 +00:00
clutter-actor-box.c clutter/actor-box: Add clutter_actor_box_scale function 2019-03-01 17:46:49 +00:00
clutter-actor-meta-private.h
clutter-actor-meta.c Use free_full on GList's instead of foreach + free 2019-05-15 14:42:25 -05:00
clutter-actor-meta.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-actor-private.h clutter: Add API to get the resource scale of an actor 2019-03-01 17:46:49 +00:00
clutter-actor.c clutter/actor: Fix a wrong comment 2019-05-15 20:38:28 +00:00
clutter-actor.h clutter: Add API to get the resource scale of an actor 2019-03-01 17:46:49 +00:00
clutter-align-constraint.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-align-constraint.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-animatable.c clutter: Animatable: Use G_DECLARE_INTERFACE() 2019-02-27 16:44:24 +00:00
clutter-animatable.h clutter: Animatable: Use G_DECLARE_INTERFACE() 2019-02-27 16:44:24 +00:00
clutter-autocleanups.h clutter: Animatable: Use G_DECLARE_INTERFACE() 2019-02-27 16:44:24 +00:00
clutter-backend-private.h clutter: Remove clutter_set_windowing_backend() 2019-03-04 09:28:30 -05:00
clutter-backend.c clutter: Remove clutter_set_windowing_backend() 2019-03-04 09:28:30 -05:00
clutter-backend.h clutter: Remove clutter_set_windowing_backend() 2019-03-04 09:28:30 -05:00
clutter-base-types.c clutter/rect: Add utility function to scale the rectangle 2019-03-01 19:42:07 +01:00
clutter-bezier.c Fix some spelling errors 2018-03-21 13:22:35 +08:00
clutter-bezier.h clutter: Add missing void to function declaration 2019-01-22 18:31:52 +01:00
clutter-bin-layout.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-bin-layout.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-bind-constraint.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-bind-constraint.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-binding-pool.c Use free_full on GSList's instead of foreach + free 2019-05-15 14:49:56 -05:00
clutter-binding-pool.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-blur-effect.c cogl: Remove unused texture_type argument from cogl_pipeline_set_layer_null_texture 2019-04-18 12:53:24 -04:00
clutter-blur-effect.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-box-layout.c clutter-box-layout: Use floats and assert on denormal numbers 2019-01-28 18:36:05 +01:00
clutter-box-layout.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-brightness-contrast-effect.c cogl: Remove unused texture_type argument from cogl_pipeline_set_layer_null_texture 2019-04-18 12:53:24 -04:00
clutter-brightness-contrast-effect.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-build-config.h.meson Add meson build support 2018-11-06 18:51:44 +01:00
clutter-cairo.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-cairo.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-canvas.c clutter/text: Generate resource scaled text and paint it at proper scaling 2019-03-01 17:46:49 +00:00
clutter-canvas.h clutter/canvas: Implement clutter_canvas_{get,set}_scale_factor 2019-03-01 17:46:49 +00:00
clutter-child-meta.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-child-meta.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-click-action.c clutter/click-action: Handle touch cancel events 2019-05-13 09:44:50 +00:00
clutter-click-action.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-clone.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-clone.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-color-static.h
clutter-color.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-color.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-colorize-effect.c cogl: Remove unused texture_type argument from cogl_pipeline_set_layer_null_texture 2019-04-18 12:53:24 -04:00
clutter-colorize-effect.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-config.h.in
clutter-constraint-private.h
clutter-constraint.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-constraint.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-container.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-container.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-content-private.h
clutter-content.c clutter: Content: Use G_DECLARE_INTERFACE() 2019-02-27 16:44:24 +00:00
clutter-content.h clutter: Content: Use G_DECLARE_INTERFACE() 2019-02-27 16:44:24 +00:00
clutter-debug.h Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
clutter-deform-effect.c clutter: LEQUAL depth_testing on ClutterDeformEffect 2019-05-14 17:44:38 +02:00
clutter-deform-effect.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-deprecated.h clutter: Remove unused deprecated/clutter-input-device-deprecated.c 2019-02-28 13:01:36 -05:00
clutter-desaturate-effect.c cogl: Remove unused texture_type argument from cogl_pipeline_set_layer_null_texture 2019-04-18 12:53:24 -04:00
clutter-desaturate-effect.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-device-manager-private.h clutter: Drop no longer necessary API 2019-03-25 14:08:40 +01:00
clutter-device-manager.c clutter/device-manager: Small code cleanup 2019-04-11 13:51:43 +00:00
clutter-device-manager.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-drag-action.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-drag-action.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-drop-action.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-drop-action.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-easing.c Don't use config.h in clutter and cogl 2016-07-20 14:23:48 +08:00
clutter-easing.h
clutter-effect-private.h actor: Always use get_paint_volume override for active effects 2018-09-18 19:39:12 +00:00
clutter-effect.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-effect.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-enum-types.c.in Don't use config.h in clutter and cogl 2016-07-20 14:23:48 +08:00
clutter-enum-types.h.in clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-enums.h cogl: NPOT textures are always available 2019-04-18 12:53:07 -04:00
clutter-event-private.h
clutter-event-translator.c Don't use config.h in clutter and cogl 2016-07-20 14:23:48 +08:00
clutter-event-translator.h Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
clutter-event.c clutter: Send touch crossing events only to grab actor 2019-05-14 09:05:47 +00:00
clutter-event.h clutter: Send touch crossing events only to grab actor 2019-05-14 09:05:47 +00:00
clutter-feature.c cogl: NPOT textures are always available 2019-04-18 12:53:07 -04:00
clutter-feature.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-fixed-layout.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-fixed-layout.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-flatten-effect.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-flatten-effect.h
clutter-flow-layout.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-flow-layout.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-gesture-action-private.h
clutter-gesture-action.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-gesture-action.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-grid-layout.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-grid-layout.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-group.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-id-pool.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-id-pool.h
clutter-image.c clutter: Content: Use G_DECLARE_INTERFACE() 2019-02-27 16:44:24 +00:00
clutter-image.h Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
clutter-input-device-tool.c Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
clutter-input-device-tool.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-input-device.c clutter/input-device: Replace device check with assertion 2019-05-15 20:38:28 +00:00
clutter-input-device.h clutter: Drop no longer necessary API 2019-03-25 14:08:40 +01:00
clutter-input-focus-private.h clutter: Add ClutterInputMethod and ClutterInputFocus 2018-01-18 15:35:29 +01:00
clutter-input-focus.c clutter: Make ClutterInputFocus API to set panel state explicit 2019-03-04 18:17:08 +00:00
clutter-input-focus.h clutter: Make ClutterInputFocus API to set panel state explicit 2019-03-04 18:17:08 +00:00
clutter-input-method-private.h clutter: Add ClutterInputMethod and ClutterInputFocus 2018-01-18 15:35:29 +01:00
clutter-input-method.c clutter: Do not toggle the OSK panel off after focus out 2019-03-04 18:17:08 +00:00
clutter-input-method.h clutter: Make ClutterInputFocus API to set panel state explicit 2019-03-04 18:17:08 +00:00
clutter-interval.c clutter: Remove ClutterFixed 2016-07-20 14:23:48 +08:00
clutter-interval.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-keyframe-transition.c clutter/keyframe-transition: Properly compare keys 2018-11-12 15:36:29 +01:00
clutter-keyframe-transition.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-keymap.c clutter: Add generic ClutterKeymap object 2019-01-29 16:53:29 +01:00
clutter-keymap.h clutter: Add generic ClutterKeymap object 2019-01-29 16:53:29 +01:00
clutter-keysyms-table.c Don't use config.h in clutter and cogl 2016-07-20 14:23:48 +08:00
clutter-keysyms-update.pl
clutter-keysyms.h
clutter-layout-manager.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-layout-manager.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-layout-meta.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-layout-meta.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-macros.h clutter: Assume compiler supports visibility flag and attributes 2018-11-06 17:17:36 +01:00
clutter-main.c clutter: Send touch crossing events only to grab actor 2019-05-14 09:05:47 +00:00
clutter-main.h Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
clutter-marshal.list clutter: Add ClutterPaintVolume argument to ClutterActor::queue_redraw 2019-02-25 18:17:34 +00:00
clutter-master-clock-default.c Use free_full on GSList's instead of foreach + free 2019-05-15 14:49:56 -05:00
clutter-master-clock-default.h
clutter-master-clock.c clutter: MasterClock: Use G_DECLARE_INTERFACE() 2019-02-27 16:44:24 +00:00
clutter-master-clock.h clutter: MasterClock: Use G_DECLARE_INTERFACE() 2019-02-27 16:44:24 +00:00
clutter-mutter.h clutter: Add API to get the resource scale of an actor 2019-03-01 17:46:49 +00:00
clutter-offscreen-effect-private.h
clutter-offscreen-effect.c clutter/offscreen-effect: Make sure we use linear filter for fractional scaling 2019-03-01 17:46:49 +00:00
clutter-offscreen-effect.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-page-turn-effect.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-page-turn-effect.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-paint-node-private.h Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
clutter-paint-node.c clutter/paint-node: Expose clutter_paint_node_paint() 2019-02-01 12:42:12 +00:00
clutter-paint-node.h clutter/paint-node: Expose clutter_paint_node_paint() 2019-02-01 12:42:12 +00:00
clutter-paint-nodes.c cogl: Remove unused texture_type argument from cogl_pipeline_set_layer_null_texture 2019-04-18 12:53:24 -04:00
clutter-paint-nodes.h clutter/paint-nodes: Expose ClutterRootNode 2019-02-01 12:42:12 +00:00
clutter-paint-volume-private.h
clutter-paint-volume.c clutter: Fix offscreen-effect painting of clones 2019-01-24 17:00:25 +00:00
clutter-pan-action.c clutter: Fix builds with G_DISABLE_ASSERT 2019-01-25 09:43:06 +01:00
clutter-pan-action.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-path-constraint.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-path-constraint.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-path.c Use free_full on GSList's instead of foreach + free 2019-05-15 14:49:56 -05:00
clutter-path.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-private.h clutter: Add fribidi dependency and copy deprecated pango functions 2019-05-17 18:11:43 -05:00
clutter-property-transition.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-property-transition.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-rotate-action.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-rotate-action.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-script-parser.c Use free_full on GList's instead of foreach + free 2019-05-15 14:42:25 -05:00
clutter-script-private.h
clutter-script.c Use free_full on GSList's instead of foreach + free 2019-05-15 14:49:56 -05:00
clutter-script.h Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
clutter-scriptable.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-scriptable.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-scroll-actor.c clutter: Animatable: Use G_DECLARE_INTERFACE() 2019-02-27 16:44:24 +00:00
clutter-scroll-actor.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-settings-private.h
clutter-settings.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-settings.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-shader-effect.c clutter: Fix builds with G_DISABLE_ASSERT 2019-01-25 09:43:06 +01:00
clutter-shader-effect.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-shader-types.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-shader-types.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-snap-constraint.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-snap-constraint.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-stage-manager-private.h
clutter-stage-manager.c Use free_full on GSList's instead of foreach + free 2019-05-15 14:49:56 -05:00
clutter-stage-manager.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-stage-private.h clutter/stage: Add private API to get max view scale for rect 2019-03-01 17:46:49 +00:00
clutter-stage-view.c Revert "renderer-native: Destroy monitor framebuffers when suspending" 2017-09-04 22:37:16 +08:00
clutter-stage-view.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-stage-window.c clutter: StageWindow: Use G_DECLARE_INTERFACE() 2019-02-27 16:44:24 +00:00
clutter-stage-window.h clutter: StageWindow: Use G_DECLARE_INTERFACE() 2019-02-27 16:44:24 +00:00
clutter-stage.c clutter/stage: Move a comment to a more appropriate place 2019-05-15 20:38:28 +00:00
clutter-stage.h clutter/stage: Cleanup the capture_view code 2019-03-01 17:46:49 +00:00
clutter-swipe-action.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-swipe-action.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-tap-action.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-tap-action.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-test-utils.c Don't use config.h in clutter and cogl 2016-07-20 14:23:48 +08:00
clutter-test-utils.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-text-buffer.c Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
clutter-text-buffer.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-text.c clutter: Add fribidi dependency and copy deprecated pango functions 2019-05-17 18:11:43 -05:00
clutter-text.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-texture.h Use a consistent style for enum braces 2019-02-28 09:31:01 +01:00
clutter-timeline.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-timeline.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-transition-group.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-transition-group.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-transition.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-transition.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-types.h clutter/rect: Add utility function to scale the rectangle 2019-03-01 19:42:07 +01:00
clutter-units.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-units.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-util.c clutter/util: Fix styling on functions definitions 2019-05-21 08:50:09 +00:00
clutter-virtual-input-device.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-virtual-input-device.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter-zoom-action.c clutter: Unconditionally include clutter-build-config.h 2018-11-06 17:17:36 +01:00
clutter-zoom-action.h clutter: Remove clutter specific version 2018-11-06 17:17:36 +01:00
clutter.h clutter: Add generic ClutterKeymap object 2019-01-29 16:53:29 +01:00
meson.build build: Don't use absolute paths with subdir keyword 2019-03-18 12:37:14 +00:00
mutter-clutter.pc.in build: Fix include and lib paths in autotools .pc files 2018-11-07 14:29:30 +01:00