From d10567ea3e0ba9dbcaf7df09926238441f4968df Mon Sep 17 00:00:00 2001 From: Ivan Molodetskikh Date: Wed, 6 Jan 2021 15:18:26 +0300 Subject: [PATCH] clutter: Add vblank duration to ClutterStageView Part-of: --- clutter/clutter/clutter-stage-view.c | 17 +++++++++++++++++ src/backends/native/meta-renderer-native.c | 1 + 2 files changed, 18 insertions(+) diff --git a/clutter/clutter/clutter-stage-view.c b/clutter/clutter/clutter-stage-view.c index d6755e3c4..0f8f7c6ee 100644 --- a/clutter/clutter/clutter-stage-view.c +++ b/clutter/clutter/clutter-stage-view.c @@ -43,6 +43,7 @@ enum PROP_USE_SHADOWFB, PROP_SCALE, PROP_REFRESH_RATE, + PROP_VBLANK_DURATION_US, PROP_LAST }; @@ -79,6 +80,7 @@ typedef struct _ClutterStageViewPrivate cairo_region_t *redraw_clip; float refresh_rate; + int64_t vblank_duration_us; ClutterFrameClock *frame_clock; struct { @@ -1298,6 +1300,9 @@ clutter_stage_view_get_property (GObject *object, case PROP_REFRESH_RATE: g_value_set_float (value, priv->refresh_rate); break; + case PROP_VBLANK_DURATION_US: + g_value_set_int64 (value, priv->vblank_duration_us); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } @@ -1341,6 +1346,9 @@ clutter_stage_view_set_property (GObject *object, case PROP_REFRESH_RATE: priv->refresh_rate = g_value_get_float (value); break; + case PROP_VBLANK_DURATION_US: + priv->vblank_duration_us = g_value_get_int64 (value); + break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } @@ -1500,5 +1508,14 @@ clutter_stage_view_class_init (ClutterStageViewClass *klass) G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS); + obj_props[PROP_VBLANK_DURATION_US] = + g_param_spec_int64 ("vblank-duration-us", + "Vblank duration (µs)", + "The vblank duration", + 0, G_MAXINT64, 0, + G_PARAM_READWRITE | + G_PARAM_CONSTRUCT_ONLY | + G_PARAM_STATIC_STRINGS); + g_object_class_install_properties (object_class, PROP_LAST, obj_props); } diff --git a/src/backends/native/meta-renderer-native.c b/src/backends/native/meta-renderer-native.c index 9256b679d..4784b88e4 100644 --- a/src/backends/native/meta-renderer-native.c +++ b/src/backends/native/meta-renderer-native.c @@ -1217,6 +1217,7 @@ meta_renderer_native_create_view (MetaRenderer *renderer, "use-shadowfb", use_shadowfb, "transform", view_transform, "refresh-rate", crtc_mode_info->refresh_rate, + "vblank-duration-us", crtc_mode_info->vblank_duration_us, NULL); if (META_IS_ONSCREEN_NATIVE (framebuffer))