From 6458a9dc6cb045ea297bfcd4d652c8f7e55911ab Mon Sep 17 00:00:00 2001 From: Eric Engestrom Date: Mon, 24 Oct 2016 23:41:00 +0100 Subject: 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 (cherry picked from commit 4fa799ae04c02b77176797c854f9d1b9b4290a2e) --- src/egl/drivers/dri2/egl_dri2_fallbacks.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/egl/drivers') diff --git a/src/egl/drivers/dri2/egl_dri2_fallbacks.h b/src/egl/drivers/dri2/egl_dri2_fallbacks.h index e769af3..8dad271 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 -- cgit v1.1