Mesa (master): egl/dri2: swap_buffers_with_damage falls back to swap_buffers

Emil Velikov evelikov at kemper.freedesktop.org
Wed Oct 26 11:20:21 UTC 2016


Module: Mesa
Branch: master
Commit: 4fa799ae04c02b77176797c854f9d1b9b4290a2e
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=4fa799ae04c02b77176797c854f9d1b9b4290a2e

Author: Eric Engestrom <eric at engestrom.ch>
Date:   Mon Oct 24 23:41:00 2016 +0100

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 <mesa-stable at lists.freedesktop.org>
CC: Rob Clark <robdclark at gmail.com>
Suggested-by: Emil Velikov <emil.velikov at collabora.com>
Signed-off-by: Eric Engestrom <eric at engestrom.ch>
Reviewed-by: Rob Herring <robh at kernel.org>
[Emil Velikov: copy the original commit message from Rob's patch]
Reviewed-by: Emil Velikov <emil.velikov at collabora.com>

---

 src/egl/drivers/dri2/egl_dri2_fallbacks.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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




More information about the mesa-commit mailing list