From: Changyeon Lee Date: Fri, 21 Aug 2020 10:34:54 +0000 (+0900) Subject: e_hwc_windows: support presentation_time in case of use pp X-Git-Tag: submit/tizen/20200825.082113~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F18%2F242218%2F2;p=platform%2Fupstream%2Fenlightenment.git e_hwc_windows: support presentation_time in case of use pp take presentation_time of hwc_window or target_buffer in commit pp_buffer Change-Id: Ib9e0f29d3a6364a9e7fcb7fb81af61cdd387b1b1 --- diff --git a/src/bin/e_hwc_windows.c b/src/bin/e_hwc_windows.c index 6f65ad8b12..e855d756f3 100644 --- a/src/bin/e_hwc_windows.c +++ b/src/bin/e_hwc_windows.c @@ -2977,7 +2977,9 @@ _e_hwc_windows_pp_commit(E_Hwc *hwc) { E_Output *output = NULL; E_Hwc_Window_Queue_Buffer *queue_buffer = NULL; + E_Hwc_Windows_Buffer_Comp_Info *pp_buffer_comp_info, *buffer_comp_info; tdm_error terror = TDM_ERROR_NONE; + E_Client *ec; EINA_SAFETY_ON_NULL_RETURN_VAL(hwc, EINA_FALSE); @@ -3020,6 +3022,25 @@ _e_hwc_windows_pp_commit(E_Hwc *hwc) terror = tdm_pp_commit(hwc->tpp); EINA_SAFETY_ON_FALSE_GOTO(terror == TDM_ERROR_NONE, commit_fail); + pp_buffer_comp_info = _e_hwc_windows_buffer_comp_info_get(queue_buffer->tsurface); + if (pp_buffer_comp_info) + { + if (hwc->pp_hwc_window) + { + ec = hwc->pp_hwc_window->ec; + if ((ec) && (ec->comp_data)) + e_presentation_time_container_feedback_merge(&pp_buffer_comp_info->presentation_container, + &ec->comp_data->presentation_container); + } + else + { + buffer_comp_info = _e_hwc_windows_buffer_comp_info_get(hwc->pp_buffer.tsurface); + if (buffer_comp_info) + e_presentation_time_container_feedback_merge(&pp_buffer_comp_info->presentation_container, + &buffer_comp_info->presentation_container); + } + } + hwc->pp_commit = EINA_TRUE; return EINA_TRUE;