From 64b4ccde0cab4bbabba8abbf206ec5aa53399821 Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Mon, 3 Sep 2018 13:05:22 +0100 Subject: [PATCH] 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 --- src/egl/main/eglapi.c | 3 +++ 1 file changed, 3 insertions(+) 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); -- 2.30.2