On Thu, 18 Aug 2016 07:58:04 -0500 Derek Foreman <[email protected]> said:

> On 18/08/16 02:28 AM, Carsten Haitzler (The Rasterman) wrote:
> > On Wed, 17 Aug 2016 14:24:40 -0700 Derek Foreman <[email protected]>
> > said:
> > 
> > are you sure you want to remove this? enlightenment for gl_x11 has options
> > to force a specific swap mode via engine options. sure it wasn't
> > implemented for wayland but it's a useful debug tool... especially when a
> > driver gets buffer age wrong and you have to force it to some sane mode
> > (like invalidate all) again... :)
> 
> You can still do that with an env var, but previously there were two
> ways to do it:
> a) env var
> b) variable in the engine info with no API to set it
> 
> I was temporarily confused by the second when trying to figure out why
> the swap mode was wrong on exynos, and discovered that all this complex
> machinery was in place simply to set MODE_AUTO because the variable
> could only ever be 0 (which it was initialized to at allocation).
> 
> I think keeping the env var method is good enough?

well this is wayland_egl - for clients, so maybe env var is good enough. it
just makes wayland_egl not "the same" as gl_x11 in terms of featureset, and
having it diverge can be problematic in the long run.

> Thanks,
> Derek
> 
> >> derekf pushed a commit to branch master.
> >>
> >> http://git.enlightenment.org/core/efl.git/commit/?id=6ce113791e9681e940c3c8aa1a57d4781dfd6c9e
> >>
> >> commit 6ce113791e9681e940c3c8aa1a57d4781dfd6c9e
> >> Author: Derek Foreman <[email protected]>
> >> Date:   Wed Aug 17 16:21:29 2016 -0500
> >>
> >>     wayland_egl: Remove swap_mode from engine info
> >>     
> >>     This was never set anywhere and always defaulted to 0, or AUTO
> >> ---
> >>  .../engines/wayland_egl/Evas_Engine_Wayland_Egl.h  |  1 -
> >>  src/modules/evas/engines/wayland_egl/evas_engine.c | 37
> >> +--------------------- 2 files changed, 1 insertion(+), 37 deletions(-)
> >>
> >> diff --git a/src/modules/evas/engines/wayland_egl/Evas_Engine_Wayland_Egl.h
> >> b/src/modules/evas/engines/wayland_egl/Evas_Engine_Wayland_Egl.h index
> >> 54dee26..204e286 100644
> >> --- a/src/modules/evas/engines/wayland_egl/Evas_Engine_Wayland_Egl.h
> >> +++ b/src/modules/evas/engines/wayland_egl/Evas_Engine_Wayland_Egl.h
> >> @@ -43,7 +43,6 @@ struct _Evas_Engine_Info_Wayland_Egl
> >>  
> >>     Eina_Bool vsync : 1;
> >>     Eina_Bool indirect : 1;
> >> -   unsigned char swap_mode : 4;
> >>  
> >>     Eina_Bool wobbling : 1;
> >>     Eina_Bool www_avail : 1;
> >> diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c
> >> b/src/modules/evas/engines/wayland_egl/evas_engine.c index c79bcf6..8ccc4e1
> >> 100644
> >> --- a/src/modules/evas/engines/wayland_egl/evas_engine.c
> >> +++ b/src/modules/evas/engines/wayland_egl/evas_engine.c
> >> @@ -558,42 +558,7 @@ eng_setup(Evas *evas, void *info)
> >>                   (!strcasecmp(s, "4")))
> >>            swap_mode = MODE_QUADRUPLE;
> >>       }
> >> -   else
> >> -     {
> >> -// in most gl implementations - egl and glx here that we care about the
> >> TEND -// to either swap or copy backbuffer and front buffer, but strictly
> >> that is -// not true. technically backbuffer content is totally undefined
> >> after a swap -// and thus you MUST re-render all of it, thus MODE_FULL
> >> -        swap_mode = MODE_FULL;
> >> -// BUT... reality is that lmost every implementation copies or swaps so
> >> -// triple buffer mode can be used as it is a superset of double buffer and
> >> -// copy (though using those explicitly is more efficient). so let's play
> >> with -// triple buffer mdoe as a default and see.
> >> -//        re->mode = MODE_TRIPLE;
> >> -// XXX: note - the above seems to break on some older intel chipsets and
> >> -// drivers. it seems we CANT depend on backbuffer staying around. bugger!
> >> -        switch (inf->swap_mode)
> >> -          {
> >> -           case EVAS_ENGINE_WAYLAND_EGL_SWAP_MODE_FULL:
> >> -             swap_mode = MODE_FULL;
> >> -             break;
> >> -           case EVAS_ENGINE_WAYLAND_EGL_SWAP_MODE_COPY:
> >> -             swap_mode = MODE_COPY;
> >> -             break;
> >> -           case EVAS_ENGINE_WAYLAND_EGL_SWAP_MODE_DOUBLE:
> >> -             swap_mode = MODE_DOUBLE;
> >> -             break;
> >> -           case EVAS_ENGINE_WAYLAND_EGL_SWAP_MODE_TRIPLE:
> >> -             swap_mode = MODE_TRIPLE;
> >> -             break;
> >> -           case EVAS_ENGINE_WAYLAND_EGL_SWAP_MODE_QUADRUPLE:
> >> -             swap_mode = MODE_QUADRUPLE;
> >> -             break;
> >> -           default:
> >> -             swap_mode = MODE_AUTO;
> >> -             break;
> >> -          }
> >> -     }
> >> +   else swap_mode = MODE_AUTO;
> >>  
> >>     if (!(re = epd->engine.data.output))
> >>       {
> >>
> >> -- 
> >>
> >>
> > 
> > 
> 
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> enlightenment-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
The Rasterman (Carsten Haitzler)    [email protected]


------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to