[Mesa-dev] [PATCH 4/5] egl: Replace KHR_surfaceless_* extensions with KHR_surfaceless_context

Kristian Høgsberg krh at bitplanet.net
Thu Aug 2 06:08:24 PDT 2012


On Wed, Aug 1, 2012 at 8:21 PM, Ian Romanick <idr at freedesktop.org> wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
>
> KHR extension name is reserved for Khronos ratified extensions, and there is
> no such thing as EGL_KHR_surfaceless_{gles1,gles2,opengl}.  Replace these
> three extensions with EGL_KHR_surfaceless_context since that extension
> actually exists.

Looks good to me, thanks Ian.

Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>

> Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
> Cc: Kristian Høgsberg <krh at bitplanet.net>
> Cc: Matt Turner <mattst88 at gmail.com>
> ---
>  src/egl/drivers/dri2/egl_dri2.c                 |    8 ++------
>  src/egl/main/eglapi.c                           |    8 ++------
>  src/egl/main/eglcontext.c                       |   19 ++-----------------
>  src/egl/main/egldisplay.h                       |    4 +---
>  src/egl/main/eglmisc.c                          |    5 ++---
>  src/gallium/state_trackers/egl/common/egl_g3d.c |    4 +---
>  6 files changed, 10 insertions(+), 38 deletions(-)
>
> diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c
> index 90956a1..453a1d6 100644
> --- a/src/egl/drivers/dri2/egl_dri2.c
> +++ b/src/egl/drivers/dri2/egl_dri2.c
> @@ -483,15 +483,11 @@ dri2_setup_screen(_EGLDisplay *disp)
>
>     if (dri2_dpy->dri2) {
>        if (dri2_dpy->dri2->base.version >= 2) {
> -         disp->Extensions.KHR_surfaceless_gles1 = EGL_TRUE;
> -         disp->Extensions.KHR_surfaceless_gles2 = EGL_TRUE;
> -         disp->Extensions.KHR_surfaceless_opengl = EGL_TRUE;
> +         disp->Extensions.KHR_surfaceless_context = EGL_TRUE;
>        }
>     } else {
>        assert(dri2_dpy->swrast);
> -      disp->Extensions.KHR_surfaceless_gles1 = EGL_TRUE;
> -      disp->Extensions.KHR_surfaceless_gles2 = EGL_TRUE;
> -      disp->Extensions.KHR_surfaceless_opengl = EGL_TRUE;
> +      disp->Extensions.KHR_surfaceless_context = EGL_TRUE;
>     }
>
>     if (dri2_dpy->image) {
> diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c
> index ffc404c..bcc5465 100644
> --- a/src/egl/main/eglapi.c
> +++ b/src/egl/main/eglapi.c
> @@ -427,9 +427,7 @@ eglCreateContext(EGLDisplay dpy, EGLConfig config, EGLContext share_list,
>
>     if (!config) {
>        /* config may be NULL if surfaceless */
> -      if (!disp->Extensions.KHR_surfaceless_gles1 &&
> -          !disp->Extensions.KHR_surfaceless_gles2 &&
> -          !disp->Extensions.KHR_surfaceless_opengl)
> +      if (!disp->Extensions.KHR_surfaceless_context)
>           RETURN_EGL_ERROR(disp, EGL_BAD_CONFIG, EGL_NO_CONTEXT);
>     }
>
> @@ -487,9 +485,7 @@ eglMakeCurrent(EGLDisplay dpy, EGLSurface draw, EGLSurface read,
>        RETURN_EGL_ERROR(disp, EGL_BAD_CONTEXT, EGL_FALSE);
>     if (!draw_surf || !read_surf) {
>        /* surfaces may be NULL if surfaceless */
> -      if (!disp->Extensions.KHR_surfaceless_gles1 &&
> -          !disp->Extensions.KHR_surfaceless_gles2 &&
> -          !disp->Extensions.KHR_surfaceless_opengl)
> +      if (!disp->Extensions.KHR_surfaceless_context)
>           RETURN_EGL_ERROR(disp, EGL_BAD_SURFACE, EGL_FALSE);
>
>        if ((!draw_surf && draw != EGL_NO_SURFACE) ||
> diff --git a/src/egl/main/eglcontext.c b/src/egl/main/eglcontext.c
> index 17cb037..fa60749 100644
> --- a/src/egl/main/eglcontext.c
> +++ b/src/egl/main/eglcontext.c
> @@ -244,7 +244,6 @@ _eglCheckMakeCurrent(_EGLContext *ctx, _EGLSurface *draw, _EGLSurface *read)
>     _EGLThreadInfo *t = _eglGetCurrentThread();
>     _EGLDisplay *dpy;
>     EGLint conflict_api;
> -   EGLBoolean surfaceless;
>
>     if (_eglIsCurrentThreadDummy())
>        return _eglError(EGL_BAD_ALLOC, "eglMakeCurrent");
> @@ -257,22 +256,8 @@ _eglCheckMakeCurrent(_EGLContext *ctx, _EGLSurface *draw, _EGLSurface *read)
>     }
>
>     dpy = ctx->Resource.Display;
> -   switch (_eglGetContextAPIBit(ctx)) {
> -   case EGL_OPENGL_ES_BIT:
> -      surfaceless = dpy->Extensions.KHR_surfaceless_gles1;
> -      break;
> -   case EGL_OPENGL_ES2_BIT:
> -      surfaceless = dpy->Extensions.KHR_surfaceless_gles2;
> -      break;
> -   case EGL_OPENGL_BIT:
> -      surfaceless = dpy->Extensions.KHR_surfaceless_opengl;
> -      break;
> -   default:
> -      surfaceless = EGL_FALSE;
> -      break;
> -   }
> -
> -   if (!surfaceless && (draw == NULL || read == NULL))
> +   if (!dpy->Extensions.KHR_surfaceless_context
> +       && (draw == NULL || read == NULL))
>        return _eglError(EGL_BAD_MATCH, "eglMakeCurrent");
>
>     /*
> diff --git a/src/egl/main/egldisplay.h b/src/egl/main/egldisplay.h
> index 905c7a4..a1dd279 100644
> --- a/src/egl/main/egldisplay.h
> +++ b/src/egl/main/egldisplay.h
> @@ -103,9 +103,7 @@ struct _egl_extensions
>     EGLBoolean KHR_reusable_sync;
>     EGLBoolean KHR_fence_sync;
>
> -   EGLBoolean KHR_surfaceless_gles1;
> -   EGLBoolean KHR_surfaceless_gles2;
> -   EGLBoolean KHR_surfaceless_opengl;
> +   EGLBoolean KHR_surfaceless_context;
>
>     EGLBoolean NOK_swap_region;
>     EGLBoolean NOK_texture_from_pixmap;
> diff --git a/src/egl/main/eglmisc.c b/src/egl/main/eglmisc.c
> index 9d534f0..54e5727 100644
> --- a/src/egl/main/eglmisc.c
> +++ b/src/egl/main/eglmisc.c
> @@ -107,9 +107,8 @@ _eglUpdateExtensionsString(_EGLDisplay *dpy)
>     _EGL_CHECK_EXTENSION(KHR_reusable_sync);
>     _EGL_CHECK_EXTENSION(KHR_fence_sync);
>
> -   _EGL_CHECK_EXTENSION(KHR_surfaceless_gles1);
> -   _EGL_CHECK_EXTENSION(KHR_surfaceless_gles2);
> -   _EGL_CHECK_EXTENSION(KHR_surfaceless_opengl);
> +
> +   _EGL_CHECK_EXTENSION(KHR_surfaceless_context);
>
>     _EGL_CHECK_EXTENSION(NOK_swap_region);
>     _EGL_CHECK_EXTENSION(NOK_texture_from_pixmap);
> diff --git a/src/gallium/state_trackers/egl/common/egl_g3d.c b/src/gallium/state_trackers/egl/common/egl_g3d.c
> index d147ad0..239be61 100644
> --- a/src/gallium/state_trackers/egl/common/egl_g3d.c
> +++ b/src/gallium/state_trackers/egl/common/egl_g3d.c
> @@ -583,9 +583,7 @@ egl_g3d_initialize(_EGLDriver *drv, _EGLDisplay *dpy)
>     dpy->Extensions.KHR_reusable_sync = EGL_TRUE;
>     dpy->Extensions.KHR_fence_sync = EGL_TRUE;
>
> -   dpy->Extensions.KHR_surfaceless_gles1 = EGL_TRUE;
> -   dpy->Extensions.KHR_surfaceless_gles2 = EGL_TRUE;
> -   dpy->Extensions.KHR_surfaceless_opengl = EGL_TRUE;
> +   dpy->Extensions.KHR_surfaceless_context = EGL_TRUE;
>
>     if (dpy->Platform == _EGL_PLATFORM_DRM) {
>        dpy->Extensions.MESA_drm_display = EGL_TRUE;
> --
> 1.7.6.5
>


More information about the mesa-dev mailing list