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 <sami.uddin.mohammad@intel.com> Cc: Erik Faye-Lund <kusmabite@gmail.com> Cc: Tomasz Figa <tfiga@chromium.org> Cc: <mesa-stable@lists.freedesktop.org> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
This commit is contained in:
committed by
Emil Velikov
parent
c231b49c53
commit
64b4ccde0c
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user