summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEric Engestrom <[email protected]>2016-10-24 23:41:00 +0100
committerEmil Velikov <[email protected]>2016-10-26 12:04:21 +0100
commit4fa799ae04c02b77176797c854f9d1b9b4290a2e (patch)
treee1178add2338afbfa79df804b776f315fdd9c8a3 /src
parent294b5f5f71269cb3a8137abb72b9e2cad38a07d8 (diff)
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 <[email protected]> CC: Rob Clark <[email protected]> Suggested-by: Emil Velikov <[email protected]> Signed-off-by: Eric Engestrom <[email protected]> Reviewed-by: Rob Herring <[email protected]> [Emil Velikov: copy the original commit message from Rob's patch] Reviewed-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/egl/drivers/dri2/egl_dri2_fallbacks.h3
1 files changed, 2 insertions, 1 deletions
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