On Wed, 27 Nov 2013 15:39:06 +0400 Stanislav Vorobiov <s.vorob...@samsung.com> said:
the patch itself... why the #ifdef? when checking for extensions, we look for strings, and not defined macros. also extension checks are done in gl_extn_veto () (which lets us go assume an extension is there then veto it if its not and save that value). so no need to do it every single time with the query string... :) > 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 > --- > src/modules/evas/engines/gl_x11/evas_engine.c | 17 ++++++++++++++++- > 1 file changed, 16 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..da25019 100644 > --- a/src/modules/evas/engines/gl_x11/evas_engine.c > +++ b/src/modules/evas/engines/gl_x11/evas_engine.c > @@ -2225,6 +2225,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 +2251,20 @@ 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 > + { > + const char *evasglexts = eglQueryString(re->win->egl_disp, > EGL_EXTENSIONS); + > + if (evasglexts && (strstr(evasglexts, > "EGL_NOK_texture_from_pixmap") != NULL)) > + { > + int val; > + if (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 +2278,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