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
