[Mesa-dev] [PATCH 3/4] egl: Refactor errors for bad EGLSync attributes
Eric Engestrom
eric.engestrom at imgtec.com
Wed Jul 13 09:22:35 UTC 2016
On Fri, Jul 08, 2016 at 03:44:20PM -0700, Chad Versace wrote:
> Move the error handling into a little helper function. This will keep
> the code clean when later adding error handling for attribute
> EGL_SYNC_NATIVE_FENCE_FD_ANDROID.
>
> And fix the log message to work when EGLAttrib is 32-bit or 64-bit.
> ---
> src/egl/main/eglsync.c | 31 +++++++++++++++----------------
> 1 file changed, 15 insertions(+), 16 deletions(-)
>
> diff --git a/src/egl/main/eglsync.c b/src/egl/main/eglsync.c
> index 48714d1..e90aeb4 100644
> --- a/src/egl/main/eglsync.c
> +++ b/src/egl/main/eglsync.c
> @@ -67,11 +67,18 @@ _eglParseSyncAttribList(_EGLSync *sync, const EGLint *attrib_list)
> }
>
>
> +static EGLint
> +badSyncAttrib(EGLAttrib attr)
> +{
> + _eglLog(_EGL_DEBUG, "bad sync attribute 0x0*%" PRIxPTR,
I think you meant `... 0x%0*" PRIxPTR`
> + 2 * sizeof(attr), attr);
> + return EGL_BAD_ATTRIBUTE;
> +}
> +
> +
> static EGLint
> _eglParseSyncAttribList64(_EGLSync *sync, const EGLAttrib *attrib_list)
> {
> - EGLint err = EGL_SUCCESS;
> -
> if (!attrib_list)
> return EGL_SUCCESS;
>
> @@ -81,24 +88,16 @@ _eglParseSyncAttribList64(_EGLSync *sync, const EGLAttrib *attrib_list)
>
> switch (attr) {
> case EGL_CL_EVENT_HANDLE_KHR:
> - if (sync->Type == EGL_SYNC_CL_EVENT_KHR) {
> - sync->CLEvent = val;
> - break;
> - }
> - /* fall through */
> - default:
> - (void) val;
> - err = EGL_BAD_ATTRIBUTE;
> + if (sync->Type != EGL_SYNC_CL_EVENT_KHR)
> + return badSyncAttrib(attr);
> + sync->CLEvent = val;
> break;
> - }
> -
> - if (err != EGL_SUCCESS) {
> - _eglLog(_EGL_DEBUG, "bad sync attribute 0x%" PRIxPTR, attr);
> - return err;
> + default:
> + return badSyncAttrib(attr);
> }
> }
>
> - return err;
> + return EGL_SUCCESS;
> }
>
>
> --
> 2.9.0.rc2
More information about the mesa-dev
mailing list