[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