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

Ilia Mirkin imirkin at alum.mit.edu
Sun Feb 19 23:54:51 UTC 2017


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.

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

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