[Mesa-dev] [RFC 3/3] egl: remove EGL_NOK_swap_region
Tapani Pälli
tapani.palli at intel.com
Mon Jun 5 08:32:55 UTC 2017
On 06/05/2017 02:52 AM, Emil Velikov wrote:
> From: Emil Velikov <emil.velikov at collabora.com>
>
> Analogous to previous commit - only one platform (of 6?) implements
> this, and there's no implementations seen in the wild that use this.
>
> Hmm the extension isn't even available anywhere :-\
There is EGL_NOK_swap_region2, it seems that Qt is the only user for
this which makes sense as it was built for Maemo/Meego. Not sure how
actively this is utilized in today's Qt apps/desktops?
> Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
> ---
> src/egl/drivers/dri2/egl_dri2.c | 9 --------
> src/egl/drivers/dri2/egl_dri2.h | 4 ----
> src/egl/drivers/dri2/egl_dri2_fallbacks.h | 8 -------
> src/egl/drivers/dri2/platform_android.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 | 2 --
> src/egl/drivers/dri2/platform_x11.c | 33 -----------------------------
> src/egl/drivers/dri2/platform_x11_dri3.c | 1 -
> src/egl/main/eglapi.c | 29 -------------------------
> src/egl/main/eglapi.h | 4 ----
> src/egl/main/egldisplay.h | 1 -
> src/egl/main/eglentrypoint.h | 1 -
> src/egl/main/eglfallbacks.c | 2 --
> 14 files changed, 97 deletions(-)
>
> diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
> index 977482f4b55..384b8043e4a 100644
> --- a/src/egl/drivers/dri2/egl_dri2.c
> +++ b/src/egl/drivers/dri2/egl_dri2.c
> @@ -1505,14 +1505,6 @@ dri2_swap_buffers_with_damage(_EGLDriver *drv, _EGLDisplay *dpy,
> }
>
> static EGLBoolean
> -dri2_swap_buffers_region(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf,
> - EGLint numRects, const EGLint *rects)
> -{
> - struct dri2_egl_display *dri2_dpy = dri2_egl_display(dpy);
> - return dri2_dpy->vtbl->swap_buffers_region(drv, dpy, surf, numRects, rects);
> -}
> -
> -static EGLBoolean
> dri2_copy_buffers(_EGLDriver *drv, _EGLDisplay *dpy, _EGLSurface *surf,
> void *native_pixmap_target)
> {
> @@ -3133,7 +3125,6 @@ _eglBuiltInDriverDRI2(const char *args)
> dri2_drv->base.API.SwapInterval = dri2_swap_interval;
> dri2_drv->base.API.SwapBuffers = dri2_swap_buffers;
> dri2_drv->base.API.SwapBuffersWithDamageEXT = dri2_swap_buffers_with_damage;
> - dri2_drv->base.API.SwapBuffersRegionNOK = dri2_swap_buffers_region;
> dri2_drv->base.API.CopyBuffers = dri2_copy_buffers,
> dri2_drv->base.API.QueryBufferAge = dri2_query_buffer_age;
> dri2_drv->base.API.CreateImageKHR = dri2_create_image;
> diff --git a/src/egl/drivers/dri2/egl_dri2.h b/src/egl/drivers/dri2/egl_dri2.h
> index 8cc0d87acde..27722ef7322 100644
> --- a/src/egl/drivers/dri2/egl_dri2.h
> +++ b/src/egl/drivers/dri2/egl_dri2.h
> @@ -118,10 +118,6 @@ struct dri2_egl_display_vtbl {
> _EGLSurface *surface,
> const EGLint *rects, EGLint n_rects);
>
> - EGLBoolean (*swap_buffers_region)(_EGLDriver *drv, _EGLDisplay *dpy,
> - _EGLSurface *surf, EGLint numRects,
> - const EGLint *rects);
> -
> EGLBoolean (*copy_buffers)(_EGLDriver *drv, _EGLDisplay *dpy,
> _EGLSurface *surf, void *native_pixmap_target);
>
> diff --git a/src/egl/drivers/dri2/egl_dri2_fallbacks.h b/src/egl/drivers/dri2/egl_dri2_fallbacks.h
> index 44d50dd3925..8f7debfdf51 100644
> --- a/src/egl/drivers/dri2/egl_dri2_fallbacks.h
> +++ b/src/egl/drivers/dri2/egl_dri2_fallbacks.h
> @@ -72,14 +72,6 @@ dri2_fallback_swap_buffers_with_damage(_EGLDriver *drv, _EGLDisplay *dpy,
> }
>
> static inline EGLBoolean
> -dri2_fallback_swap_buffers_region(_EGLDriver *drv, _EGLDisplay *dpy,
> - _EGLSurface *surf,
> - EGLint numRects, const EGLint *rects)
> -{
> - return EGL_FALSE;
> -}
> -
> -static inline EGLBoolean
> dri2_fallback_copy_buffers(_EGLDriver *drv, _EGLDisplay *dpy,
> _EGLSurface *surf,
> void *native_pixmap_target)
> diff --git a/src/egl/drivers/dri2/platform_android.c b/src/egl/drivers/dri2/platform_android.c
> index 08037e34de2..6365755af6d 100644
> --- a/src/egl/drivers/dri2/platform_android.c
> +++ b/src/egl/drivers/dri2/platform_android.c
> @@ -1065,7 +1065,6 @@ static const struct dri2_egl_display_vtbl droid_display_vtbl = {
> .swap_interval = dri2_fallback_swap_interval,
> .swap_buffers = droid_swap_buffers,
> .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage,
> - .swap_buffers_region = dri2_fallback_swap_buffers_region,
> .copy_buffers = dri2_fallback_copy_buffers,
> .query_buffer_age = droid_query_buffer_age,
> .query_surface = droid_query_surface,
> diff --git a/src/egl/drivers/dri2/platform_drm.c b/src/egl/drivers/dri2/platform_drm.c
> index 017e77fae75..97338058d17 100644
> --- a/src/egl/drivers/dri2/platform_drm.c
> +++ b/src/egl/drivers/dri2/platform_drm.c
> @@ -657,7 +657,6 @@ static const struct dri2_egl_display_vtbl dri2_drm_display_vtbl = {
> .swap_interval = dri2_fallback_swap_interval,
> .swap_buffers = dri2_drm_swap_buffers,
> .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage,
> - .swap_buffers_region = dri2_fallback_swap_buffers_region,
> .copy_buffers = dri2_fallback_copy_buffers,
> .query_buffer_age = dri2_drm_query_buffer_age,
> .create_wayland_buffer_from_image = dri2_fallback_create_wayland_buffer_from_image,
> diff --git a/src/egl/drivers/dri2/platform_surfaceless.c b/src/egl/drivers/dri2/platform_surfaceless.c
> index 8cdb00b2191..15322c1c037 100644
> --- a/src/egl/drivers/dri2/platform_surfaceless.c
> +++ b/src/egl/drivers/dri2/platform_surfaceless.c
> @@ -236,7 +236,6 @@ static const struct dri2_egl_display_vtbl dri2_surfaceless_display_vtbl = {
> .swap_interval = dri2_fallback_swap_interval,
> .swap_buffers = surfaceless_swap_buffers,
> .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage,
> - .swap_buffers_region = dri2_fallback_swap_buffers_region,
> .copy_buffers = dri2_fallback_copy_buffers,
> .query_buffer_age = dri2_fallback_query_buffer_age,
> .create_wayland_buffer_from_image = dri2_fallback_create_wayland_buffer_from_image,
> diff --git a/src/egl/drivers/dri2/platform_wayland.c b/src/egl/drivers/dri2/platform_wayland.c
> index 0450fb2d359..d48b3578dac 100644
> --- a/src/egl/drivers/dri2/platform_wayland.c
> +++ b/src/egl/drivers/dri2/platform_wayland.c
> @@ -1079,7 +1079,6 @@ static const struct dri2_egl_display_vtbl dri2_wl_display_vtbl = {
> .swap_interval = dri2_wl_swap_interval,
> .swap_buffers = dri2_wl_swap_buffers,
> .swap_buffers_with_damage = dri2_wl_swap_buffers_with_damage,
> - .swap_buffers_region = dri2_fallback_swap_buffers_region,
> .copy_buffers = dri2_fallback_copy_buffers,
> .query_buffer_age = dri2_wl_query_buffer_age,
> .create_wayland_buffer_from_image = dri2_wl_create_wayland_buffer_from_image,
> @@ -1772,7 +1771,6 @@ static const struct dri2_egl_display_vtbl dri2_wl_swrast_display_vtbl = {
> .swap_interval = dri2_wl_swap_interval,
> .swap_buffers = dri2_wl_swrast_swap_buffers,
> .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage,
> - .swap_buffers_region = dri2_fallback_swap_buffers_region,
> .copy_buffers = dri2_fallback_copy_buffers,
> .query_buffer_age = dri2_fallback_query_buffer_age,
> .create_wayland_buffer_from_image = dri2_fallback_create_wayland_buffer_from_image,
> diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c
> index 9d87c9f4c1a..d7ad2a7aebc 100644
> --- a/src/egl/drivers/dri2/platform_x11.c
> +++ b/src/egl/drivers/dri2/platform_x11.c
> @@ -902,36 +902,6 @@ dri2_x11_swap_buffers(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *draw)
> }
>
> static EGLBoolean
> -dri2_x11_swap_buffers_region(_EGLDriver *drv, _EGLDisplay *disp,
> - _EGLSurface *draw,
> - EGLint numRects, const EGLint *rects)
> -{
> - struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
> - struct dri2_egl_surface *dri2_surf = dri2_egl_surface(draw);
> - EGLBoolean ret;
> - xcb_xfixes_region_t region;
> - xcb_rectangle_t rectangles[16];
> - int i;
> -
> - if (numRects > (int)ARRAY_SIZE(rectangles))
> - return dri2_copy_region(drv, disp, draw, dri2_surf->region);
> -
> - for (i = 0; i < numRects; i++) {
> - rectangles[i].x = rects[i * 4];
> - rectangles[i].y = dri2_surf->base.Height - rects[i * 4 + 1] - rects[i * 4 + 3];
> - rectangles[i].width = rects[i * 4 + 2];
> - rectangles[i].height = rects[i * 4 + 3];
> - }
> -
> - region = xcb_generate_id(dri2_dpy->conn);
> - xcb_xfixes_create_region(dri2_dpy->conn, region, numRects, rectangles);
> - ret = dri2_copy_region(drv, disp, draw, region);
> - xcb_xfixes_destroy_region(dri2_dpy->conn, region);
> -
> - return ret;
> -}
> -
> -static EGLBoolean
> dri2_x11_swap_interval(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *surf,
> EGLint interval)
> {
> @@ -1125,7 +1095,6 @@ static const struct dri2_egl_display_vtbl dri2_x11_swrast_display_vtbl = {
> .create_image = dri2_fallback_create_image_khr,
> .swap_interval = dri2_fallback_swap_interval,
> .swap_buffers = dri2_x11_swap_buffers,
> - .swap_buffers_region = dri2_fallback_swap_buffers_region,
> .copy_buffers = dri2_x11_copy_buffers,
> .query_buffer_age = dri2_fallback_query_buffer_age,
> .query_surface = dri2_query_surface,
> @@ -1144,7 +1113,6 @@ static const struct dri2_egl_display_vtbl dri2_x11_display_vtbl = {
> .swap_interval = dri2_x11_swap_interval,
> .swap_buffers = dri2_x11_swap_buffers,
> .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage,
> - .swap_buffers_region = dri2_x11_swap_buffers_region,
> .copy_buffers = dri2_x11_copy_buffers,
> .query_buffer_age = dri2_fallback_query_buffer_age,
> .query_surface = dri2_query_surface,
> @@ -1440,7 +1408,6 @@ dri2_initialize_x11_dri2(_EGLDriver *drv, _EGLDisplay *disp)
> dri2_x11_setup_swap_interval(dri2_dpy);
>
> disp->Extensions.KHR_image_pixmap = EGL_TRUE;
> - disp->Extensions.NOK_swap_region = EGL_TRUE;
> disp->Extensions.NOK_texture_from_pixmap = EGL_TRUE;
> disp->Extensions.CHROMIUM_sync_control = EGL_TRUE;
>
> diff --git a/src/egl/drivers/dri2/platform_x11_dri3.c b/src/egl/drivers/dri2/platform_x11_dri3.c
> index 3d459f27416..61f8be07f18 100644
> --- a/src/egl/drivers/dri2/platform_x11_dri3.c
> +++ b/src/egl/drivers/dri2/platform_x11_dri3.c
> @@ -457,7 +457,6 @@ struct dri2_egl_display_vtbl dri3_x11_display_vtbl = {
> .swap_interval = dri3_set_swap_interval,
> .swap_buffers = dri3_swap_buffers,
> .swap_buffers_with_damage = dri2_fallback_swap_buffers_with_damage,
> - .swap_buffers_region = dri2_fallback_swap_buffers_region,
> .copy_buffers = dri3_copy_buffers,
> .query_buffer_age = dri3_query_buffer_age,
> .query_surface = dri3_query_surface,
> diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
> index 7e680161f31..7169f4e83a7 100644
> --- a/src/egl/main/eglapi.c
> +++ b/src/egl/main/eglapi.c
> @@ -517,7 +517,6 @@ _eglCreateExtensionsString(_EGLDisplay *dpy)
> _EGL_CHECK_EXTENSION(MESA_drm_image);
> _EGL_CHECK_EXTENSION(MESA_image_dma_buf_export);
>
> - _EGL_CHECK_EXTENSION(NOK_swap_region);
> _EGL_CHECK_EXTENSION(NOK_texture_from_pixmap);
>
> _EGL_CHECK_EXTENSION(WL_bind_wayland_display);
> @@ -1985,34 +1984,6 @@ eglDupNativeFenceFDANDROID(EGLDisplay dpy, EGLSync sync)
> RETURN_EGL_EVAL(disp, ret);
> }
>
> -static EGLBoolean EGLAPIENTRY
> -eglSwapBuffersRegionNOK(EGLDisplay dpy, EGLSurface surface,
> - EGLint numRects, const EGLint *rects)
> -{
> - _EGLContext *ctx = _eglGetCurrentContext();
> - _EGLDisplay *disp = _eglLockDisplay(dpy);
> - _EGLSurface *surf = _eglLookupSurface(surface, disp);
> - _EGLDriver *drv;
> - EGLBoolean ret;
> -
> - _EGL_FUNC_START(disp, EGL_OBJECT_SURFACE_KHR, surf, EGL_FALSE);
> -
> - _EGL_CHECK_SURFACE(disp, surf, EGL_FALSE, drv);
> -
> - if (!disp->Extensions.NOK_swap_region)
> - RETURN_EGL_EVAL(disp, EGL_FALSE);
> -
> - /* surface must be bound to current context in EGL 1.4 */
> - if (_eglGetContextHandle(ctx) == EGL_NO_CONTEXT ||
> - surf != ctx->DrawSurface)
> - RETURN_EGL_ERROR(disp, EGL_BAD_SURFACE, EGL_FALSE);
> -
> - ret = drv->API.SwapBuffersRegionNOK(drv, disp, surf, numRects, rects);
> -
> - RETURN_EGL_EVAL(disp, ret);
> -}
> -
> -
> static EGLImage EGLAPIENTRY
> eglCreateDRMImageMESA(EGLDisplay dpy, const EGLint *attr_list)
> {
> diff --git a/src/egl/main/eglapi.h b/src/egl/main/eglapi.h
> index 0c46b51df62..aebdda7659b 100644
> --- a/src/egl/main/eglapi.h
> +++ b/src/egl/main/eglapi.h
> @@ -149,10 +149,6 @@ struct _egl_api
> EGLint (*DupNativeFenceFDANDROID)(_EGLDriver *drv, _EGLDisplay *dpy,
> _EGLSync *sync);
>
> - EGLBoolean (*SwapBuffersRegionNOK)(_EGLDriver *drv, _EGLDisplay *disp,
> - _EGLSurface *surf, EGLint numRects,
> - const EGLint *rects);
> -
> _EGLImage *(*CreateDRMImageMESA)(_EGLDriver *drv, _EGLDisplay *disp,
> const EGLint *attr_list);
> EGLBoolean (*ExportDRMImageMESA)(_EGLDriver *drv, _EGLDisplay *disp,
> diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h
> index 5fb8a3a026d..59c7a4f43b9 100644
> --- a/src/egl/main/egldisplay.h
> +++ b/src/egl/main/egldisplay.h
> @@ -125,7 +125,6 @@ struct _egl_extensions
> EGLBoolean MESA_drm_image;
> EGLBoolean MESA_image_dma_buf_export;
>
> - EGLBoolean NOK_swap_region;
> EGLBoolean NOK_texture_from_pixmap;
>
> EGLBoolean WL_bind_wayland_display;
> diff --git a/src/egl/main/eglentrypoint.h b/src/egl/main/eglentrypoint.h
> index d8d85d1c35e..89c8c8a78d0 100644
> --- a/src/egl/main/eglentrypoint.h
> +++ b/src/egl/main/eglentrypoint.h
> @@ -65,7 +65,6 @@ EGL_ENTRYPOINT(eglReleaseThread)
> EGL_ENTRYPOINT(eglSignalSyncKHR)
> EGL_ENTRYPOINT(eglSurfaceAttrib)
> EGL_ENTRYPOINT(eglSwapBuffers)
> -EGL_ENTRYPOINT(eglSwapBuffersRegionNOK)
> EGL_ENTRYPOINT(eglSwapBuffersWithDamageEXT)
> EGL_ENTRYPOINT(eglSwapBuffersWithDamageKHR)
> EGL_ENTRYPOINT(eglSwapInterval)
> diff --git a/src/egl/main/eglfallbacks.c b/src/egl/main/eglfallbacks.c
> index 017d337133e..4081754e842 100644
> --- a/src/egl/main/eglfallbacks.c
> +++ b/src/egl/main/eglfallbacks.c
> @@ -97,8 +97,6 @@ _eglInitDriverFallbacks(_EGLDriver *drv)
> drv->API.CreateDRMImageMESA = NULL;
> drv->API.ExportDRMImageMESA = NULL;
>
> - drv->API.SwapBuffersRegionNOK = NULL;
> -
> drv->API.ExportDMABUFImageQueryMESA = NULL;
> drv->API.ExportDMABUFImageMESA = NULL;
> }
>
More information about the mesa-dev
mailing list