For the first 4 patches: Reviewed-by: Marek Olšák <marek.ol...@amd.com>
Marek On Mon, Aug 12, 2019 at 6:07 AM Boris Brezillon < boris.brezil...@collabora.com> wrote: > From: Harish Krupo <harishkr...@gmail.com> > > The intension of the KHR_partial_update was not to send the damage back > to the platform but to send the damage to the driver to ensure that the > following rendering could be restricted to those regions. > This patch removes the set_damage_region from the egl_dri vtbl and all > the platfrom_*.c files. > Then upcomming patches add a new dri2 interface for the drivers to > implement > > Signed-off-by: Harish Krupo <harishkr...@gmail.com> > Reviewed-by: Daniel Stone <dani...@collabora.com> > Signed-off-by: Boris Brezillon <boris.brezil...@collabora.com> > Acked-by: Alyssa Rosenzweig <alyssa.rosenzw...@collabora.com> > Reviewed-by: Qiang Yu <yuq...@gmail.com> > Tested-by: Qiang Yu <yuq...@gmail.com> > --- > Changes in v7: > * None > > Changes in v6: > * Fix Harish's email address > > Changes in v5: > * Add Alyssa's a-b > --- > src/egl/drivers/dri2/egl_dri2.c | 3 +- > src/egl/drivers/dri2/egl_dri2.h | 4 -- > src/egl/drivers/dri2/egl_dri2_fallbacks.h | 9 ----- > src/egl/drivers/dri2/platform_android.c | 45 --------------------- > src/egl/drivers/dri2/platform_device.c | 1 - > src/egl/drivers/dri2/platform_drm.c | 1 - > src/egl/drivers/dri2/platform_surfaceless.c | 1 - > src/egl/drivers/dri2/platform_wayland.c | 1 - > src/egl/drivers/dri2/platform_x11.c | 2 - > src/egl/drivers/dri2/platform_x11_dri3.c | 1 - > 10 files changed, 1 insertion(+), 67 deletions(-) > > diff --git a/src/egl/drivers/dri2/egl_dri2.c > b/src/egl/drivers/dri2/egl_dri2.c > index a2f8a38bebf3..59397ed62b24 100644 > --- a/src/egl/drivers/dri2/egl_dri2.c > +++ b/src/egl/drivers/dri2/egl_dri2.c > @@ -1694,8 +1694,7 @@ static EGLBoolean > dri2_set_damage_region(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface > *surf, > EGLint *rects, EGLint n_rects) > { > - struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); > - return dri2_dpy->vtbl->set_damage_region(drv, disp, surf, rects, > n_rects); > + return false; > } > > static EGLBoolean > diff --git a/src/egl/drivers/dri2/egl_dri2.h > b/src/egl/drivers/dri2/egl_dri2.h > index 3206d00c1ca3..5246b77e64d8 100644 > --- a/src/egl/drivers/dri2/egl_dri2.h > +++ b/src/egl/drivers/dri2/egl_dri2.h > @@ -122,10 +122,6 @@ struct dri2_egl_display_vtbl { > _EGLSurface *surface, > const EGLint *rects, EGLint > n_rects); > > - EGLBoolean (*set_damage_region)(_EGLDriver *drv, _EGLDisplay *disp, > - _EGLSurface *surface, > - const EGLint *rects, EGLint n_rects); > - > EGLBoolean (*swap_buffers_region)(_EGLDriver *drv, _EGLDisplay *disp, > _EGLSurface *surf, EGLint numRects, > const EGLint *rects); > diff --git a/src/egl/drivers/dri2/egl_dri2_fallbacks.h > b/src/egl/drivers/dri2/egl_dri2_fallbacks.h > index 6c2c4bbe595e..d975b7a8b130 100644 > --- a/src/egl/drivers/dri2/egl_dri2_fallbacks.h > +++ b/src/egl/drivers/dri2/egl_dri2_fallbacks.h > @@ -62,7 +62,6 @@ dri2_fallback_swap_buffers_with_damage(_EGLDriver *drv, > _EGLDisplay *disp, > const EGLint *rects, EGLint n_rects) > { > struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); > - dri2_dpy->vtbl->set_damage_region(drv, disp, surf, rects, n_rects); > return dri2_dpy->vtbl->swap_buffers(drv, disp, surf); > } > > @@ -90,14 +89,6 @@ dri2_fallback_copy_buffers(_EGLDriver *drv, _EGLDisplay > *disp, > return _eglError(EGL_BAD_NATIVE_PIXMAP, "no support for native > pixmaps"); > } > > -static inline EGLBoolean > -dri2_fallback_set_damage_region(_EGLDriver *drv, _EGLDisplay *disp, > - _EGLSurface *surf, > - const EGLint *rects, EGLint n_rects) > -{ > - return EGL_FALSE; > -} > - > static inline EGLint > dri2_fallback_query_buffer_age(_EGLDriver *drv, _EGLDisplay *disp, > _EGLSurface *surf) > diff --git a/src/egl/drivers/dri2/platform_android.c > b/src/egl/drivers/dri2/platform_android.c > index d37f6b8e447d..dda38d672653 100644 > --- a/src/egl/drivers/dri2/platform_android.c > +++ b/src/egl/drivers/dri2/platform_android.c > @@ -761,43 +761,6 @@ droid_swap_buffers(_EGLDriver *drv, _EGLDisplay > *disp, _EGLSurface *draw) > return EGL_TRUE; > } > > -#if ANDROID_API_LEVEL >= 23 > -static EGLBoolean > -droid_set_damage_region(_EGLDriver *drv, > - _EGLDisplay *disp, > - _EGLSurface *draw, const EGLint* rects, EGLint > n_rects) > -{ > - struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp); > - struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw); > - android_native_rect_t* droid_rects = NULL; > - int ret; > - > - if (n_rects == 0) > - return EGL_TRUE; > - > - droid_rects = malloc(n_rects * sizeof(android_native_rect_t)); > - if (droid_rects == NULL) > - return _eglError(EGL_BAD_ALLOC, "eglSetDamageRegionKHR"); > - > - for (EGLint num_drects = 0; num_drects < n_rects; num_drects++) { > - EGLint i = num_drects * 4; > - droid_rects[num_drects].left = rects[i]; > - droid_rects[num_drects].bottom = rects[i + 1]; > - droid_rects[num_drects].right = rects[i] + rects[i + 2]; > - droid_rects[num_drects].top = rects[i + 1] + rects[i + 3]; > - } > - > - /* > - * XXX/TODO: Need to check for other return values > - */ > - > - ret = native_window_set_surface_damage(dri2_surf->window, droid_rects, > n_rects); > - free(droid_rects); > - > - return ret == 0 ? EGL_TRUE : EGL_FALSE; > -} > -#endif > - > static _EGLImage * > droid_create_image_from_prime_fds_yuv(_EGLDisplay *disp, _EGLContext *ctx, > struct ANativeWindowBuffer *buf, > @@ -1262,11 +1225,6 @@ static const struct dri2_egl_display_vtbl > droid_display_vtbl = { > .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage, /* > Android implements the function */ > .swap_buffers_region = dri2_fallback_swap_buffers_region, > .swap_interval = droid_swap_interval, > -#if ANDROID_API_LEVEL >= 23 > - .set_damage_region = droid_set_damage_region, > -#else > - .set_damage_region = dri2_fallback_set_damage_region, > -#endif > .post_sub_buffer = dri2_fallback_post_sub_buffer, > .copy_buffers = dri2_fallback_copy_buffers, > .query_buffer_age = droid_query_buffer_age, > @@ -1649,9 +1607,6 @@ dri2_initialize_android(_EGLDriver *drv, _EGLDisplay > *disp) > disp->Extensions.ANDROID_image_native_buffer = EGL_TRUE; > disp->Extensions.ANDROID_recordable = EGL_TRUE; > disp->Extensions.EXT_buffer_age = EGL_TRUE; > -#if ANDROID_API_LEVEL >= 23 > - disp->Extensions.KHR_partial_update = EGL_TRUE; > -#endif > disp->Extensions.KHR_image = EGL_TRUE; > #if ANDROID_API_LEVEL >= 24 > if (dri2_dpy->mutable_render_buffer && > diff --git a/src/egl/drivers/dri2/platform_device.c > b/src/egl/drivers/dri2/platform_device.c > index 6b80a3869b3c..e7ae3a3aa2a7 100644 > --- a/src/egl/drivers/dri2/platform_device.c > +++ b/src/egl/drivers/dri2/platform_device.c > @@ -229,7 +229,6 @@ static const struct dri2_egl_display_vtbl > dri2_device_display_vtbl = { > .destroy_surface = device_destroy_surface, > .create_image = dri2_create_image_khr, > .swap_buffers_region = dri2_fallback_swap_buffers_region, > - .set_damage_region = dri2_fallback_set_damage_region, > .post_sub_buffer = dri2_fallback_post_sub_buffer, > .copy_buffers = dri2_fallback_copy_buffers, > .query_buffer_age = dri2_fallback_query_buffer_age, > diff --git a/src/egl/drivers/dri2/platform_drm.c > b/src/egl/drivers/dri2/platform_drm.c > index b0a2af6bf3d4..648bc86ade70 100644 > --- a/src/egl/drivers/dri2/platform_drm.c > +++ b/src/egl/drivers/dri2/platform_drm.c > @@ -668,7 +668,6 @@ static const struct dri2_egl_display_vtbl > dri2_drm_display_vtbl = { > .swap_buffers = dri2_drm_swap_buffers, > .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage, > .swap_buffers_region = dri2_fallback_swap_buffers_region, > - .set_damage_region = dri2_fallback_set_damage_region, > .post_sub_buffer = dri2_fallback_post_sub_buffer, > .copy_buffers = dri2_fallback_copy_buffers, > .query_buffer_age = dri2_drm_query_buffer_age, > diff --git a/src/egl/drivers/dri2/platform_surfaceless.c > b/src/egl/drivers/dri2/platform_surfaceless.c > index fd6ec6e602d3..142165807c3f 100644 > --- a/src/egl/drivers/dri2/platform_surfaceless.c > +++ b/src/egl/drivers/dri2/platform_surfaceless.c > @@ -223,7 +223,6 @@ static const struct dri2_egl_display_vtbl > dri2_surfaceless_display_vtbl = { > .destroy_surface = surfaceless_destroy_surface, > .create_image = dri2_create_image_khr, > .swap_buffers_region = dri2_fallback_swap_buffers_region, > - .set_damage_region = dri2_fallback_set_damage_region, > .post_sub_buffer = dri2_fallback_post_sub_buffer, > .copy_buffers = dri2_fallback_copy_buffers, > .query_buffer_age = dri2_fallback_query_buffer_age, > diff --git a/src/egl/drivers/dri2/platform_wayland.c > b/src/egl/drivers/dri2/platform_wayland.c > index 4c9046446a7c..70a7bef9b11c 100644 > --- a/src/egl/drivers/dri2/platform_wayland.c > +++ b/src/egl/drivers/dri2/platform_wayland.c > @@ -1313,7 +1313,6 @@ static const struct dri2_egl_display_vtbl > dri2_wl_display_vtbl = { > .swap_buffers = dri2_wl_swap_buffers, > .swap_buffers_with_damage = dri2_wl_swap_buffers_with_damage, > .swap_buffers_region = dri2_fallback_swap_buffers_region, > - .set_damage_region = dri2_fallback_set_damage_region, > .post_sub_buffer = dri2_fallback_post_sub_buffer, > .copy_buffers = dri2_fallback_copy_buffers, > .query_buffer_age = dri2_wl_query_buffer_age, > diff --git a/src/egl/drivers/dri2/platform_x11.c > b/src/egl/drivers/dri2/platform_x11.c > index 7e6aad66a431..7a58e7184928 100644 > --- a/src/egl/drivers/dri2/platform_x11.c > +++ b/src/egl/drivers/dri2/platform_x11.c > @@ -1263,7 +1263,6 @@ static const struct dri2_egl_display_vtbl > dri2_x11_swrast_display_vtbl = { > .destroy_surface = dri2_x11_destroy_surface, > .create_image = dri2_create_image_khr, > .swap_buffers = dri2_x11_swap_buffers, > - .set_damage_region = dri2_fallback_set_damage_region, > .swap_buffers_region = dri2_fallback_swap_buffers_region, > .post_sub_buffer = dri2_fallback_post_sub_buffer, > /* XXX: should really implement this since X11 has pixmaps */ > @@ -1286,7 +1285,6 @@ static const struct dri2_egl_display_vtbl > dri2_x11_display_vtbl = { > .swap_buffers = dri2_x11_swap_buffers, > .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage, > .swap_buffers_region = dri2_x11_swap_buffers_region, > - .set_damage_region = dri2_fallback_set_damage_region, > .post_sub_buffer = dri2_x11_post_sub_buffer, > .copy_buffers = dri2_x11_copy_buffers, > .query_buffer_age = dri2_fallback_query_buffer_age, > diff --git a/src/egl/drivers/dri2/platform_x11_dri3.c > b/src/egl/drivers/dri2/platform_x11_dri3.c > index c2228b08b00d..ab137195a97c 100644 > --- a/src/egl/drivers/dri2/platform_x11_dri3.c > +++ b/src/egl/drivers/dri2/platform_x11_dri3.c > @@ -501,7 +501,6 @@ struct dri2_egl_display_vtbl dri3_x11_display_vtbl = { > .swap_buffers = dri3_swap_buffers, > .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage, > .swap_buffers_region = dri2_fallback_swap_buffers_region, > - .set_damage_region = dri2_fallback_set_damage_region, > .post_sub_buffer = dri2_fallback_post_sub_buffer, > .copy_buffers = dri3_copy_buffers, > .query_buffer_age = dri3_query_buffer_age, > -- > 2.21.0 > >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev