On Friday, 2016-10-21 16:07:07 -0500, Rob Herring wrote:
> 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.Where is that? I'd like to have a look when I find some time. > As there doesn't seem to be a simple way > conditionally make the EGL function ptr NULL, just implement a brain > dead version for Android EGL. Ignoring the rectangles and doing a full swap regardless is indeed allowed by the spec, so this is: Reviewed-by: Eric Engestrom <[email protected]> Thanks for tracking down this issue! Cheers, Eric > > Cc: Rob Clark <[email protected]> > Cc: Eric Engestrom <[email protected]> > Cc: Emil Velikov <[email protected]> > Signed-off-by: Rob Herring <[email protected]> > --- > src/egl/drivers/dri2/platform_android.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/src/egl/drivers/dri2/platform_android.c > b/src/egl/drivers/dri2/platform_android.c > index 142ef05bd1ea..2a6527a34407 100644 > --- a/src/egl/drivers/dri2/platform_android.c > +++ b/src/egl/drivers/dri2/platform_android.c > @@ -483,6 +483,14 @@ droid_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, > _EGLSurface *draw) > return EGL_TRUE; > } > > +static EGLBoolean > +droid_swap_buffers_with_damage(_EGLDriver *drv, _EGLDisplay *disp, > + _EGLSurface *draw, const EGLint *rects, > + EGLint n_rects) > +{ > + return droid_swap_buffers(drv, disp, draw); > +} > + > static _EGLImage * > droid_create_image_from_prime_fd(_EGLDisplay *disp, _EGLContext *ctx, > struct ANativeWindowBuffer *buf, int fd) > @@ -876,7 +884,7 @@ static struct dri2_egl_display_vtbl droid_display_vtbl = { > .create_image = droid_create_image_khr, > .swap_interval = dri2_fallback_swap_interval, > .swap_buffers = droid_swap_buffers, > - .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage, > + .swap_buffers_with_damage = droid_swap_buffers_with_damage, > .swap_buffers_region = dri2_fallback_swap_buffers_region, > .post_sub_buffer = dri2_fallback_post_sub_buffer, > .copy_buffers = dri2_fallback_copy_buffers, > -- > 2.10.1 > _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
