dummy: consider vblank interval 70/173570/3
authorBoram Park <boram1288.park@samsung.com>
Thu, 22 Mar 2018 09:09:10 +0000 (18:09 +0900)
committerBoram Park <boram1288.park@samsung.com>
Thu, 22 Mar 2018 09:28:07 +0000 (18:28 +0900)
Change-Id: Ifcee3acc89ec9938e1174a8a17bffb2f59aea68f

backends/dummy/tdm_dummy_display.c

index 5e64fb3..a43c8c9 100644 (file)
@@ -110,7 +110,7 @@ _tdm_dummy_display_cb_timeout(void *user_data)
 }
 
 static tdm_error
-_tdm_dummy_display_wait_vblank(tdm_dummy_output_data *output_data, tdm_dummy_event_data *event_data)
+_tdm_dummy_display_wait_vblank(tdm_dummy_output_data *output_data, int interval, tdm_dummy_event_data *event_data)
 {
        tdm_error ret;
        unsigned int ms;
@@ -123,7 +123,7 @@ _tdm_dummy_display_wait_vblank(tdm_dummy_output_data *output_data, tdm_dummy_eve
                return TDM_ERROR_NONE;
        }
 
-       ms = 1000 / output_data->output_mode->vrefresh;
+       ms = ((double)1000.0 / output_data->output_mode->vrefresh) * interval;
 
        ret = tdm_event_loop_source_timer_update(output_data->timer, ms);
        if (ret != TDM_ERROR_NONE)
@@ -461,7 +461,7 @@ dummy_output_wait_vblank(tdm_output *output, int interval, int sync, void *user_
        event_data->output_data = output_data;
        event_data->user_data = user_data;
 
-       ret = _tdm_dummy_display_wait_vblank(output_data, event_data);
+       ret = _tdm_dummy_display_wait_vblank(output_data, interval, event_data);
        if (ret != TDM_ERROR_NONE) {
                free(event_data);
                return ret;
@@ -502,7 +502,7 @@ dummy_output_commit(tdm_output *output, int sync, void *user_data)
        event_data->output_data = output_data;
        event_data->user_data = user_data;
 
-       ret = _tdm_dummy_display_wait_vblank(output_data, event_data);
+       ret = _tdm_dummy_display_wait_vblank(output_data, 1, event_data);
        if (ret != TDM_ERROR_NONE) {
                free(event_data);
                return ret;