[Mesa-dev] [PATCH 1/3][RFC] egl: Native Display autodetection

Chia-I Wu olvaffe at gmail.com
Tue Aug 9 22:41:57 PDT 2011


On Wed, Aug 10, 2011 at 12:21 PM, Benjamin Franzke
<benjaminfranzke at googlemail.com> wrote:
> 2011/8/10 Chia-I Wu <olvaffe at gmail.com>:
>> I'd prefer to leave out the second patch for now.  One comment below
>>
>> On Tue, Aug 9, 2011 at 10:53 PM, Benjamin Franzke
>> <benjaminfranzke at googlemail.com> wrote:
>>> diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
>>> index 0ba7794..5d186c6 100644
>>> --- a/src/egl/main/eglapi.c
>>> +++ b/src/egl/main/eglapi.c
>>> @@ -301,7 +301,7 @@ _eglUnlockDisplay(_EGLDisplay *dpy)
>>>  EGLDisplay EGLAPIENTRY
>>>  eglGetDisplay(EGLNativeDisplayType nativeDisplay)
>>>  {
>>> -   _EGLPlatformType plat = _eglGetNativePlatform();
>>> +   _EGLPlatformType plat = _eglGetNativePlatform(nativeDisplay);
>>>    _EGLDisplay *dpy = _eglFindDisplay(plat, (void *) nativeDisplay);
>>>    return _eglGetDisplayHandle(dpy);
>>>  }
>>> @@ -538,7 +538,7 @@ eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config,
>>>    EGLSurface ret;
>>>
>>>    _EGL_CHECK_CONFIG(disp, conf, EGL_NO_SURFACE, drv);
>>> -   if (disp->Platform != _eglGetNativePlatform())
>>> +   if (disp->Platform != _eglGetNativePlatform(disp->PlatformDisplay))
>> This check and the next two won't be necessary after the change to
>> _eglGetNativePlatform.
>
> Hm.. Actually I wanted to ask you do we need them at all?
> I mean how does checking Platform type match to a
> BAD_NATIVE_{WINDOW,PIXMAP} error?
> Also: shouldnt that always be false since native_platform is static in
> _eglGetNativePlatform?
It was added for EGL_MESA_drm_display, which should be removed now..

>>>       RETURN_EGL_ERROR(disp, EGL_BAD_NATIVE_WINDOW, EGL_NO_SURFACE);
>>>
>>>    surf = drv->API.CreateWindowSurface(drv, disp, conf, window, attrib_list);
>>> @@ -559,7 +559,7 @@ eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config,
>>>    EGLSurface ret;
>>>
>>>    _EGL_CHECK_CONFIG(disp, conf, EGL_NO_SURFACE, drv);
>>> -   if (disp->Platform != _eglGetNativePlatform())
>>> +   if (disp->Platform != _eglGetNativePlatform(disp->PlatformDisplay))
>>>       RETURN_EGL_ERROR(disp, EGL_BAD_NATIVE_PIXMAP, EGL_NO_SURFACE);
>>>
>>>    surf = drv->API.CreatePixmapSurface(drv, disp, conf, pixmap, attrib_list);
>>> @@ -720,7 +720,7 @@ eglCopyBuffers(EGLDisplay dpy, EGLSurface surface, EGLNativePixmapType target)
>>>    EGLBoolean ret;
>>>
>>>    _EGL_CHECK_SURFACE(disp, surf, EGL_FALSE, drv);
>>> -   if (disp->Platform != _eglGetNativePlatform())
>>> +   if (disp->Platform != _eglGetNativePlatform(disp->PlatformDisplay))
>>>       RETURN_EGL_ERROR(disp, EGL_BAD_NATIVE_PIXMAP, EGL_FALSE);
>>>    ret = drv->API.CopyBuffers(drv, disp, surf, target);
>>>
>>
>>
>>
>> --
>> olv at LunarG.com
>>
>



-- 
olv at LunarG.com


More information about the mesa-dev mailing list