This patch is a bit confusing to me.

On Wed, Apr 11, 2018 at 11:00 AM Christopher Michael <devilho...@comcast.net>
wrote:

> devilhorns pushed a commit to branch feature/wayland/multioutput.
>
>
> http://git.enlightenment.org/core/efl.git/commit/?id=fa7c095adf3cf2f21bb51809720ae51badebca4c
>
> commit fa7c095adf3cf2f21bb51809720ae51badebca4c
> Author: Chris Michael <cp.mich...@samsung.com>
> Date:   Thu Mar 29 09:17:52 2018 -0400
>
>     ecore-evas-drm: Add support for per-output ticking
>
>     This patch modifies the ecore_evas animator ticking code for drm in
>     order to support ticks on a per-output basis
> ---
>  src/lib/ecore_drm2/ecore_drm2_fb.c                 |  3 +-
>  .../ecore_evas/engines/drm/ecore_evas_drm.c        | 42
> ++++++++++++++++++++++
>  2 files changed, 44 insertions(+), 1 deletion(-)
>
> diff --git a/src/lib/ecore_drm2/ecore_drm2_fb.c
> b/src/lib/ecore_drm2/ecore_drm2_fb.c
> index 500e46d6eb..28596b51f4 100644
> --- a/src/lib/ecore_drm2/ecore_drm2_fb.c
> +++ b/src/lib/ecore_drm2/ecore_drm2_fb.c
> @@ -503,7 +503,8 @@ _fb_flip(Ecore_Drm2_Output *output)
>
>          repeat = EINA_FALSE;
>          ret = sym_drmModePageFlip(fb->fd, output->crtc_id, fb->id,
> -                                  DRM_MODE_PAGE_FLIP_EVENT, output);
> +                                  DRM_MODE_PAGE_FLIP_EVENT,
> +                                  output);
>
>          /* Some drivers (RPI - looking at you) are broken and produce
>           * flip events before they are ready for another flip, so be
> diff --git a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
> b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
> index 5c413609b7..166cd85f90 100644
> --- a/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
> +++ b/src/modules/ecore_evas/engines/drm/ecore_evas_drm.c
> @@ -854,6 +854,7 @@ _cb_pageflip(int fd EINA_UNUSED, unsigned int frame
> EINA_UNUSED, unsigned int se
>     if (edata->ticking)
>       {
>          Ecore_Evas_Engine_Drm_Tick *etick;
> +<<<<<<< HEAD
>
>          etick = _drm_tick_find(edata, output);
>          if (etick)
> @@ -863,6 +864,17 @@ _cb_pageflip(int fd EINA_UNUSED, unsigned int frame
> EINA_UNUSED, unsigned int se
>
>               ecore_drm2_output_info_get(output, &x, &y, &w, &h, NULL);
>
> +=======
> +
> +        etick = _drm_tick_find(edata, output);
> +        if (etick)
> +          {
> +             int x, y, w, h;
> +             double t = (double)sec + ((double)usec / 1000000);
> +
> +             ecore_drm2_output_info_get(output, &x, &y, &w, &h, NULL);
> +
> +>>>>>>> ff44c6859b... ecore-evas-drm: Add support for per-output ticking
>               if (!edata->once) t = ecore_time_get();
>               ecore_evas_animator_tick(ee, &(Eina_Rectangle){x, y, w, h},
>                                        t - etick->offset);
> @@ -1034,6 +1046,35 @@ _drm_last_tick_get(Ecore_Evas *ee)
>     Eina_List *l;
>     long sec, usec;
>     double tmp = -1.0;
> +<<<<<<< HEAD
> +
> +   edata = ee->engine.data;
> +
> +   EINA_LIST_FOREACH(edata->outputs, l, output)
> +     {
> +        if (ecore_drm2_output_blanktime_get(output, 0, &sec, &usec))
> +          {
> +             if ((sec + usec / 1000000.0) > tmp)
> +               tmp = sec + usec / 1000000.0;
> +          }
> +     }
> +
> +   return tmp;
> +}
> +
> +static Eina_Bool
> +_drm_output_clone_set(const Ecore_Evas *ee, void *output, void *clone)
> +{
> +   Ecore_Evas_Engine_Drm_Data *edata;
> +   Ecore_Drm2_Output *out, *cout;
> +   Ecore_Evas_Engine_Drm_Tick *etick;
> +   Evas_Engine_Info_Drm *einfo;
> +
> +   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
> +
> +   edata = ee->engine.data;
> +
> +=======
>
>     edata = ee->engine.data;
>
> @@ -1061,6 +1102,7 @@ _drm_output_clone_set(const Ecore_Evas *ee, void
> *output, void *clone)
>
>     edata = ee->engine.data;
>
> +>>>>>>> ff44c6859b... ecore-evas-drm: Add support for per-output ticking
>     out = (Ecore_Drm2_Output *)output;
>     cout = (Ecore_Drm2_Output *)clone;
>
>
> --
>
>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to