Hi, just wanted to make sure

> anyway - this is in upstream! merged. it'll be out in 1.8.
You mean it's merged in you local branch and will be merged to upstream with 
1.8 release ? Because
I can't find it in master.

On 11/28/2013 03:23 PM, Carsten Haitzler (The Rasterman) wrote:
> On Thu, 28 Nov 2013 15:01:02 +0400 Stanislav Vorobiov <s.vorob...@samsung.com>
> said:
> 
> yeah.. i've hit those before. gles2's "runtime glsl compiler is optional" 
> thing
> imho is a major standard bug.
> 
> anyway - this is in upstream! merged. it'll be out in 1.8. my mulling over if
> it was a bug or not was to determine if it goes into the 1.8 release or is 
> held
> for 1.9 development as we only want to fix bugs at this point... since release
> is due this weekend. :)
> 
>> IMHO it's a standard bug, but nobody cares :)
>>
>> On 11/28/2013 02:53 PM, Carsten Haitzler (The Rasterman) wrote:
>>> On Thu, 28 Nov 2013 13:33:42 +0400 Stanislav Vorobiov
>>> <s.vorob...@samsung.com> said:
>>>
>>>> Yes, I think it's more of a bugfix. After all, there's no EGL standard that
>>>> strictly defines how should textures that are derived from pixmaps behave,
>>>> thus, application code shouldn't assume anything either.
>>>
>>> BUT... it requires an extension to figure it out... which means that
>>> technically the original standard is broken... UNLESS we ASSUME its
>>> yinverted always... :) so either the original is broken (standard bug)...
>>> or... the assumption is a requirement. :)
>>>
>>>> On 11/28/2013 01:20 PM, Carsten Haitzler (The Rasterman) wrote:
>>>>> On Thu, 28 Nov 2013 12:02:36 +0400 Stanislav Vorobiov
>>>>> <s.vorob...@samsung.com> said:
>>>>>
>>>>> and that looks great! well done! :) now the question is... is this a new
>>>>> feature.. or a bug fix... hmm i guess it's a bug fix as it makes something
>>>>> work given specific drivers and setup that didn't work before, BUT needs
>>>>> an extension to do it.
>>>>>
>>>>>> 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 |   20 ++++++++++++++++++
>>>>>> +- 1 file changed, 19 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..4e5c22c
>>>>>> 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) ();
>>>>>> @@ -90,6 +91,9 @@ static Eina_Bool eng_preload_make_current(void *data,
>>>>>> void *doit);
>>>>>>  #ifndef EGL_BUFFER_AGE_EXT
>>>>>>  # define EGL_BUFFER_AGE_EXT 0x313d
>>>>>>  #endif
>>>>>> +#ifndef EGL_Y_INVERTED_NOK
>>>>>> +# define EGL_Y_INVERTED_NOK 0x307F
>>>>>> +#endif
>>>>>>  
>>>>>>  _eng_fn  (*glsym_eglGetProcAddress)            (const char *a) = NULL;
>>>>>>  void    *(*glsym_eglCreateImage)               (EGLDisplay a, EGLContext
>>>>>> b, EGLenum c, EGLClientBuffer d, const int *e) = NULL; @@ -711,6 +715,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 +2233,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 +2259,15 @@ 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);
>>>>>> +              else
>>>>>> +                {
>>>>>> +                  int val;
>>>>>> +                  if (extn_have_y_inverted &&
>>>>>> +                      eglGetConfigAttrib(re->win->egl_disp, egl_config,
>>>>>> +                                         EGL_Y_INVERTED_NOK, &val))
>>>>>> +                        yinvert = val;
>>>>>> +                }
>>>>>> +
>>>>>>                memcpy(&(n->ns), ns, sizeof(Evas_Native_Surface));
>>>>>>                n->pixmap = pm;
>>>>>>                n->visual = vis;
>>>>>> @@ -2263,7 +2281,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
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>> ------------------------------------------------------------------------------
>>>> 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
>>>>
>>>
>>>
>>
> 
> 


------------------------------------------------------------------------------
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

Reply via email to