From: Emil Velikov Date: Mon, 3 Sep 2018 12:05:22 +0000 (+0100) Subject: egl: make eglSwapInterval a no-op for !window surfaces X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=64b4ccde0cab4bbabba8abbf206ec5aa53399821;p=mesa.git egl: make eglSwapInterval a no-op for !window surfaces As the spec says, the function is a no-op when the surface is not a window one. That spec implies that EGL_TRUE should be returned in that case, yet the ARM driver seems to return EGL_FALSE + EGL_BAD_SURFACE. The Nvidia driver returns EGL_TRUE. We follow that behaviour until a decision is made. https://gitlab.khronos.org/egl/API/merge_requests/17 Cc: samiuddi Cc: Erik Faye-Lund Cc: Tomasz Figa Cc: Signed-off-by: Emil Velikov Reviewed-by: Eric Engestrom --- diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c index c8c6a50f6ad..0af31a3f774 100644 --- a/src/egl/main/eglapi.c +++ b/src/egl/main/eglapi.c @@ -1222,6 +1222,9 @@ eglSwapInterval(EGLDisplay dpy, EGLint interval) if (_eglGetSurfaceHandle(surf) == EGL_NO_SURFACE) RETURN_EGL_ERROR(disp, EGL_BAD_SURFACE, EGL_FALSE); + if (surf->Type != EGL_WINDOW_BIT) + RETURN_EGL_EVAL(disp, EGL_TRUE); + interval = CLAMP(interval, surf->Config->MinSwapInterval, surf->Config->MaxSwapInterval);