[Mesa-dev] [PATCH mesa 3/8] eglapi: add entrypoint for eglClientWaitSyncKHR

Eric Engestrom eric at engestrom.ch
Mon Feb 20 00:03:53 UTC 2017


On Sunday, 2017-02-19 18:54:51 -0500, Ilia Mirkin wrote:
> On Sun, Feb 19, 2017 at 6:51 PM, Eric Engestrom <eric at engestrom.ch> wrote:
> > On Sunday, 2017-02-19 18:33:16 -0500, Ilia Mirkin wrote:
> >> Why are patches 1-3 necessary?
> >
> > They allow patch #4, which makes use of a macro to simplify the list,
> > (requires a 1:1 mapping of entrypoint to function) which also allows for
> > the simple sorting test script in patch #7.
> > I could do without, but honestly I just thought this looked cleaner.
> 
> I'd rather have a ENTRYPOINT2 macro that allows different external an
> internal names than duplicating functions. Perhaps others disagree.

Easy enough to change, I'll do a v2 with that if someone else wants it
as well :)

> 
> >
> > Also, I think the debug extension would print the wrong function names
> > before these patches? Not tested though, maybe it somehow worked.
> 
> Is that important?

Probably not, which is why I didn't mention it at first.

> 
> >
> >>
> >> On Sun, Feb 19, 2017 at 6:23 PM, Eric Engestrom <eric at engestrom.ch> wrote:
> >> > Signed-off-by: Eric Engestrom <eric at engestrom.ch>
> >> > ---
> >> >  src/egl/main/eglapi.c | 31 ++++++++++++++++++++++++-------
> >> >  1 file changed, 24 insertions(+), 7 deletions(-)
> >> >
> >> > diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
> >> > index e149c0f8d1..e44375a106 100644
> >> > --- a/src/egl/main/eglapi.c
> >> > +++ b/src/egl/main/eglapi.c
> >> > @@ -1762,16 +1762,13 @@ eglDestroySyncKHR(EGLDisplay dpy, EGLSync sync)
> >> >  }
> >> >
> >> >
> >> > -EGLint EGLAPIENTRY
> >> > -eglClientWaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout)
> >> > +static EGLint
> >> > +_eglClientWaitSyncCommon(_EGLDisplay *disp, EGLDisplay dpy,
> >> > +                         _EGLSync *s, EGLint flags, EGLTime timeout)
> >> >  {
> >> > -   _EGLDisplay *disp = _eglLockDisplay(dpy);
> >> > -   _EGLSync *s = _eglLookupSync(sync, disp);
> >> >     _EGLDriver *drv;
> >> >     EGLint ret;
> >> >
> >> > -   _EGL_FUNC_START(disp, EGL_OBJECT_SYNC_KHR, s, EGL_FALSE);
> >> > -
> >> >     _EGL_CHECK_SYNC(disp, s, EGL_FALSE, drv);
> >> >     assert(disp->Extensions.KHR_reusable_sync ||
> >> >            disp->Extensions.KHR_fence_sync ||
> >> > @@ -1800,6 +1797,26 @@ eglClientWaitSync(EGLDisplay dpy, EGLSync sync, EGLint flags, EGLTime timeout)
> >> >        RETURN_EGL_EVAL(disp, ret);
> >> >  }
> >> >
> >> > +EGLint EGLAPIENTRY
> >> > +eglClientWaitSync(EGLDisplay dpy, EGLSync sync,
> >> > +                  EGLint flags, EGLTime timeout)
> >> > +{
> >> > +   _EGLDisplay *disp = _eglLockDisplay(dpy);
> >> > +   _EGLSync *s = _eglLookupSync(sync, disp);
> >> > +   _EGL_FUNC_START(disp, EGL_OBJECT_SYNC_KHR, s, EGL_FALSE);
> >> > +   return _eglClientWaitSyncCommon(disp, dpy, s, flags, timeout);
> >> > +}
> >> > +
> >> > +static EGLint EGLAPIENTRY
> >> > +eglClientWaitSyncKHR(EGLDisplay dpy, EGLSync sync,
> >> > +                     EGLint flags, EGLTime timeout)
> >> > +{
> >> > +   _EGLDisplay *disp = _eglLockDisplay(dpy);
> >> > +   _EGLSync *s = _eglLookupSync(sync, disp);
> >> > +   _EGL_FUNC_START(disp, EGL_OBJECT_SYNC_KHR, s, EGL_FALSE);
> >> > +   return _eglClientWaitSyncCommon(disp, dpy, s, flags, timeout);
> >> > +}
> >> > +
> >> >
> >> >  static EGLint
> >> >  _eglWaitSyncCommon(_EGLDisplay *disp, _EGLSync *s, EGLint flags)
> >> > @@ -2393,7 +2410,7 @@ eglGetProcAddress(const char *procname)
> >> >        { "eglCreateSyncKHR", (_EGLProc) eglCreateSyncKHR },
> >> >        { "eglCreateSync64KHR", (_EGLProc) eglCreateSync64KHR },
> >> >        { "eglDestroySyncKHR", (_EGLProc) eglDestroySyncKHR },
> >> > -      { "eglClientWaitSyncKHR", (_EGLProc) eglClientWaitSync },
> >> > +      { "eglClientWaitSyncKHR", (_EGLProc) eglClientWaitSyncKHR },
> >> >        { "eglWaitSyncKHR", (_EGLProc) eglWaitSyncKHR },
> >> >        { "eglSignalSyncKHR", (_EGLProc) eglSignalSyncKHR },
> >> >        { "eglGetSyncAttribKHR", (_EGLProc) eglGetSyncAttribKHR },
> >> > --
> >> > Cheers,
> >> >   Eric
> >> >
> >> > _______________________________________________
> >> > mesa-dev mailing list
> >> > mesa-dev at lists.freedesktop.org
> >> > https://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list