diff options
author | Eric Engestrom <eric@engestrom.ch> | 2016-10-24 23:41:00 +0100 |
---|---|---|
committer | Emil Velikov <emil.l.velikov@gmail.com> | 2016-10-27 11:27:23 +0100 |
commit | 6458a9dc6cb045ea297bfcd4d652c8f7e55911ab (patch) | |
tree | bd594c965351eb866750cfb1d24b281ae9636658 /src/egl | |
parent | b1d02e7006f57914455a131e1f1b54a170c57300 (diff) | |
download | external_mesa3d-6458a9dc6cb045ea297bfcd4d652c8f7e55911ab.zip external_mesa3d-6458a9dc6cb045ea297bfcd4d652c8f7e55911ab.tar.gz external_mesa3d-6458a9dc6cb045ea297bfcd4d652c8f7e55911ab.tar.bz2 |
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@lists.freedesktop.org>
CC: Rob Clark <robdclark@gmail.com>
Suggested-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Rob Herring <robh@kernel.org>
[Emil Velikov: copy the original commit message from Rob's patch]
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
(cherry picked from commit 4fa799ae04c02b77176797c854f9d1b9b4290a2e)
Diffstat (limited to 'src/egl')
-rw-r--r-- | src/egl/drivers/dri2/egl_dri2_fallbacks.h | 3 |
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 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 |