[Mesa-dev] [PATCH v7 1/5] egl/android: Delete set_damage_region from egl dri vtbl
Marek Olšák
maraeo at gmail.com
Mon Aug 12 17:39:45 UTC 2019
For the first 4 patches:
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Marek
On Mon, Aug 12, 2019 at 6:07 AM Boris Brezillon <
boris.brezillon at collabora.com> wrote:
> From: Harish Krupo <harishkrupo at 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 <harishkrupo at gmail.com>
> 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>
> Reviewed-by: Qiang Yu <yuq825 at gmail.com>
> Tested-by: Qiang Yu <yuq825 at 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
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20190812/baa27f8d/attachment-0001.html>
More information about the mesa-dev
mailing list