From: Junkyeong Kim Date: Fri, 4 Sep 2020 10:59:20 +0000 (+0900) Subject: tdm_config: add TDM_CONFIG_KEY_GENERAL_HWC_COMMIT_USE_GLOBAL_FPS config define X-Git-Tag: accepted/tizen/6.0/unified/20201111.064837~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;ds=sidebyside;h=cbfded011a9a37e49c043b4b576037af51b561a2;p=platform%2Fcore%2Fuifw%2Flibtdm.git tdm_config: add TDM_CONFIG_KEY_GENERAL_HWC_COMMIT_USE_GLOBAL_FPS config define 1: when global fps set, use global fps to commit. 0: when global fps set, do not use global fps to commit. Change-Id: I13ad07f4468798bc7085c5104aec6da96b4f3446 Signed-off-by: Junkyeong Kim --- diff --git a/src/tdm_config.h b/src/tdm_config.h index 39563a1..f9d43a9 100644 --- a/src/tdm_config.h +++ b/src/tdm_config.h @@ -126,6 +126,11 @@ tdm_config_set_string(const char *key, const char *value); */ #define TDM_CONFIG_KEY_GENERAL_VIRTUAL_OUTPUT_HWC_TARGET_BO_DEFAULT "general:virtual_output_hwc_target_bo_default" +/* use the global fps to commit. [0(disable), 1(enable)] + * default: 0 + * ex) 1 + */ +#define TDM_CONFIG_KEY_GENERAL_HWC_COMMIT_USE_GLOBAL_FPS "general:hwc_commit_use_global_fps" /*** debug keys **************************************************************/ diff --git a/src/tdm_vblank.c b/src/tdm_vblank.c index 206abf5..9526926 100644 --- a/src/tdm_vblank.c +++ b/src/tdm_vblank.c @@ -167,6 +167,7 @@ static struct list_head valid_wait_list; static struct list_head create_handler_list; static unsigned int vblank_list_inited; static unsigned int vblank_global_fps; +static unsigned int hwc_commit_use_global_fps; static double stamp = 0; static void _tdm_vblank_cb_vblank_SW(tdm_private_display *private_display, void *object, tdm_thread_cb_base *cb_base, void *user_data); @@ -597,6 +598,14 @@ tdm_vblank_enable_global_fps(unsigned int enable, unsigned int fps) v->check_HW_or_SW = 1; } + + if (hwc_commit_use_global_fps) { + if (enable) + tdm_hwc_set_vblank(fps); + else + tdm_hwc_unset_vblank(); + } + pthread_mutex_unlock(&valid_list_lock); return TDM_ERROR_NONE; @@ -738,6 +747,8 @@ tdm_vblank_init(tdm_display *dpy) tdm_thread_cb_set_find_func(TDM_THREAD_CB_VBLANK_SW, _tdm_vblank_find_object); tdm_thread_cb_set_find_func(TDM_THREAD_CB_VBLANK_CREATE, _tdm_vblank_find_display); + hwc_commit_use_global_fps = tdm_config_get_int(TDM_CONFIG_KEY_GENERAL_HWC_COMMIT_USE_GLOBAL_FPS, 0); + vblank_list_inited = 1; return TDM_ERROR_NONE;