From: Eric Engestrom Date: Mon, 24 Oct 2016 22:41:00 +0000 (+0100) Subject: egl/dri2: swap_buffers_with_damage falls back to swap_buffers X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4fa799ae04c02b77176797c854f9d1b9b4290a2e;p=mesa.git egl/dri2: swap_buffers_with_damage falls back to swap_buffers Since commit 0a606a400fe3 ("egl: add eglSwapBuffersWithDamageKHR"), Android has been broken because the function eglSwapBuffersWithDamageKHR is provided regardless of the extension being present. Also, the Android meta-EGL always advertises the extension regardless of the underlying EGL implementation. As there doesn't seem to be a simple way conditionally make the EGL function ptr NULL, just implement a brain dead version of eglSwapBuffersWithDamage{KHR,EXT}. Cc: 13.0 CC: Rob Clark Suggested-by: Emil Velikov Signed-off-by: Eric Engestrom Reviewed-by: Rob Herring [Emil Velikov: copy the original commit message from Rob's patch] Reviewed-by: Emil Velikov --- diff --git a/src/egl/drivers/dri2/egl_dri2_fallbacks.h b/src/egl/drivers/dri2/egl_dri2_fallbacks.h index e769af36e60..8dad27116df 100644 --- a/src/egl/drivers/dri2/egl_dri2_fallbacks.h +++ b/src/egl/drivers/dri2/egl_dri2_fallbacks.h @@ -66,7 +66,8 @@ dri2_fallback_swap_buffers_with_damage(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf, const EGLint *rects, EGLint n_rects) { - return EGL_FALSE; + struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy); + return dri2_dpy->vtbl->swap_buffers(drv, dpy, surf); } static inline EGLBoolean