[Mesa-dev] [PATCH v5 1/5] egl/android: Delete set_damage_region from egl dri vtbl
Boris Brezillon
boris.brezillon at collabora.com
Tue Jul 2 14:15:35 UTC 2019
On Tue, 2 Jul 2019 15:49:58 +0200
Boris Brezillon <boris.brezillon at collabora.com> wrote:
> From: Harish Krupo <harish.krupo.kps at intel.com>
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 <harish.krupo.kps at intel.com>
and here.
> Reviewed-by: Daniel Stone <daniels at collabora.com>
> Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>
> Acked-by: Alyssa Rosenzweig <alyssa.rosenzweig at collabora.com>
> ---
> 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,
More information about the mesa-dev
mailing list