[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