On Thu, 28 Nov 2013 10:23:45 +0400 Stanislav Vorobiov <s.vorob...@samsung.com> said:
> Instead of hardcoding yinvert=1 we should query for > EGL_NOK_texture_from_pixmap extension and if it's present > use EGL_Y_INVERTED_NOK value see my other email about the #define of EGL_Y_INVERTED_NOK :) > --- > src/modules/evas/engines/gl_x11/evas_engine.c | 18 +++++++++++++++++- > 1 file changed, 17 insertions(+), 1 deletion(-) > > diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c > b/src/modules/evas/engines/gl_x11/evas_engine.c index d25610f..f311f1b 100644 > --- a/src/modules/evas/engines/gl_x11/evas_engine.c > +++ b/src/modules/evas/engines/gl_x11/evas_engine.c > @@ -71,6 +71,7 @@ struct _Render_Engine > static int initted = 0; > static int gl_wins = 0; > static int extn_have_buffer_age = 1; > +static int extn_have_y_inverted = 0; > > typedef void (*_eng_fn) (void); > typedef _eng_fn (*glsym_func_eng_fn) (); > @@ -711,6 +712,10 @@ gl_extn_veto(Render_Engine *re) > { > extn_have_buffer_age = 0; > } > + if (strstr(str, "EGL_NOK_texture_from_pixmap")) > + { > + extn_have_y_inverted = 1; > + } > } > else > { > @@ -2225,6 +2230,7 @@ eng_image_native_set(void *data, void *image, void > *native) EGLConfig egl_config; > int config_attrs[20]; > int num_config, i = 0; > + int yinvert = 1; > > eina_hash_add(re->win->gl_context->shared->native_pm_hash, > &pmid, im); > @@ -2250,6 +2256,16 @@ eng_image_native_set(void *data, void *image, void > *native) if (!eglChooseConfig(re->win->egl_disp, config_attrs, > &egl_config, 1, &num_config)) > ERR("eglChooseConfig() failed for pixmap 0x%x, num_config = % > i", (unsigned int)pm, num_config); +#ifdef EGL_NOK_texture_from_pixmap > + else > + { > + int val; > + if (extn_have_y_inverted && > + eglGetConfigAttrib(re->win->egl_disp, egl_config, > + EGL_Y_INVERTED_NOK, &val)) > + yinvert = val; > + } > +#endif > memcpy(&(n->ns), ns, sizeof(Evas_Native_Surface)); > n->pixmap = pm; > n->visual = vis; > @@ -2263,7 +2279,7 @@ eng_image_native_set(void *data, void *image, void > *native) ERR("Try eglCreateImage on EGL with no support"); > if (!n->egl_surface) > ERR("eglCreatePixmapSurface() for 0x%x failed", (unsigned > int)pm); > - im->native.yinvert = 1; > + im->native.yinvert = yinvert; > im->native.loose = 0; > im->native.data = n; > im->native.func.data = re; > -- > 1.7.9.5 > > > ------------------------------------------------------------------------------ > Rapidly troubleshoot problems before they affect your business. Most IT > organizations don't have a clear picture of how application performance > affects their revenue. With AppDynamics, you get 100% visibility into your > Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! > http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk > _______________________________________________ > enlightenment-devel mailing list > enlightenment-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/enlightenment-devel > -- ------------- Codito, ergo sum - "I code, therefore I am" -------------- The Rasterman (Carsten Haitzler) ras...@rasterman.com ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel