diff options
author | Emil Velikov <[email protected]> | 2018-09-03 13:05:22 +0100 |
---|---|---|
committer | Emil Velikov <[email protected]> | 2018-10-03 13:38:05 +0100 |
commit | 64b4ccde0cab4bbabba8abbf206ec5aa53399821 (patch) | |
tree | 2618bcd9addb178d21f2473b9350d1d0bcdff7c1 /src/egl/main | |
parent | c231b49c533cc4a2d5ecf2b48580753fdf8b8759 (diff) |
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 <[email protected]>
Cc: Erik Faye-Lund <[email protected]>
Cc: Tomasz Figa <[email protected]>
Cc: <[email protected]>
Signed-off-by: Emil Velikov <[email protected]>
Reviewed-by: Eric Engestrom <[email protected]>
Diffstat (limited to 'src/egl/main')
-rw-r--r-- | src/egl/main/eglapi.c | 3 |
1 files changed, 3 insertions, 0 deletions
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); |