On Tue, 2 Jul 2019 15:49:58 +0200 Boris Brezillon <[email protected]> wrote:
> From: Harish Krupo <[email protected]> Crap, forgot to update your email address here > > 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 <[email protected]> and here. > Reviewed-by: Daniel Stone <[email protected]> > Signed-off-by: Boris Brezillon <[email protected]> > Acked-by: Alyssa Rosenzweig <[email protected]> > --- > 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 ee4faaab34f4..3c33b2cf27f8 100644 > --- a/src/egl/drivers/dri2/egl_dri2.c > +++ b/src/egl/drivers/dri2/egl_dri2.c > @@ -1691,8 +1691,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 fa04e3bb616d..1d9fe3db625f 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 db6ba4a4b4d6..6ce04d250c8d 100644 > --- a/src/egl/drivers/dri2/platform_android.c > +++ b/src/egl/drivers/dri2/platform_android.c > @@ -728,43 +728,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_fd_yuv(_EGLDisplay *disp, _EGLContext *ctx, > struct ANativeWindowBuffer *buf, int fd) > @@ -1208,11 +1171,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, > @@ -1595,9 +1553,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 42d79da7b02b..7a5f54ae2d44 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 2a2d6fe357d3..0d0f21ce0460 100644 > --- a/src/egl/drivers/dri2/platform_wayland.c > +++ b/src/egl/drivers/dri2/platform_wayland.c > @@ -1312,7 +1312,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 0d62f83b4116..dc93262a8f5e 100644 > --- a/src/egl/drivers/dri2/platform_x11.c > +++ b/src/egl/drivers/dri2/platform_x11.c > @@ -1217,7 +1217,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 */ > @@ -1240,7 +1239,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 adcc884c5c2a..38622a334121 100644 > --- a/src/egl/drivers/dri2/platform_x11_dri3.c > +++ b/src/egl/drivers/dri2/platform_x11_dri3.c > @@ -499,7 +499,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, _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
