From 8f66743ca2cd781e912a3998196bf2ef1b9f8f4c Mon Sep 17 00:00:00 2001 From: Emil Velikov Date: Mon, 3 Sep 2018 13:05:23 +0100 Subject: [PATCH] egl: make eglSwapBuffers* a no-op for !window surfaces Analogous to the previous commit - the spec says the function is a no-op when a pbuffer or pixmap surface is used. Cc: samiuddi Cc: Erik Faye-Lund Cc: Tomasz Figa Cc: Signed-off-by: Emil Velikov Reviewed-by: Eric Engestrom --- src/egl/main/eglapi.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c index 0af31a3f774..0227197284f 100644 --- a/src/egl/main/eglapi.c +++ b/src/egl/main/eglapi.c @@ -1260,6 +1260,9 @@ eglSwapBuffers(EGLDisplay dpy, EGLSurface surface) RETURN_EGL_ERROR(disp, EGL_BAD_SURFACE, EGL_FALSE); #endif + if (surf->Type != EGL_WINDOW_BIT) + RETURN_EGL_EVAL(disp, EGL_TRUE); + /* From the EGL 1.5 spec: * * If eglSwapBuffers is called and the native window associated with @@ -1299,6 +1302,9 @@ _eglSwapBuffersWithDamageCommon(_EGLDisplay *disp, _EGLSurface *surf, surf != ctx->DrawSurface) RETURN_EGL_ERROR(disp, EGL_BAD_SURFACE, EGL_FALSE); + if (surf->Type != EGL_WINDOW_BIT) + RETURN_EGL_EVAL(disp, EGL_TRUE); + if ((n_rects > 0 && rects == NULL) || n_rects < 0) RETURN_EGL_ERROR(disp, EGL_BAD_PARAMETER, EGL_FALSE); -- 2.30.2