diff options
author | Ray Strode <rstrode@redhat.com> | 2016-01-12 16:25:47 -0500 |
---|---|---|
committer | Rui Matos <tiagomatos@gmail.com> | 2016-04-10 20:25:06 +0200 |
commit | 9246c9a505ada6f77b147e3400e43fceaac352b8 (patch) | |
tree | d634aa43a17564f59a27aff193bfbdec051ebaa3 /cogl | |
parent | 81ab4a3ee4621da935a0179edced7196b06a3b7d (diff) | |
download | mutter-9246c9a505ada6f77b147e3400e43fceaac352b8.tar.gz |
renderer: drop PowerVR winsys
Diffstat (limited to 'cogl')
-rw-r--r-- | cogl/Makefile.am | 5 | ||||
-rw-r--r-- | cogl/cogl-renderer.c | 6 | ||||
-rw-r--r-- | cogl/cogl-renderer.h | 2 | ||||
-rw-r--r-- | cogl/winsys/cogl-winsys-egl-null-private.h | 39 | ||||
-rw-r--r-- | cogl/winsys/cogl-winsys-egl-null.c | 246 |
5 files changed, 0 insertions, 298 deletions
diff --git a/cogl/Makefile.am b/cogl/Makefile.am index 7de750c13..1c3971297 100644 --- a/cogl/Makefile.am +++ b/cogl/Makefile.am @@ -482,11 +482,6 @@ cogl_sources_c += \ winsys/cogl-winsys-egl-x11.c \ winsys/cogl-winsys-egl-x11-private.h endif -if SUPPORT_EGL_PLATFORM_POWERVR_NULL -cogl_sources_c += \ - winsys/cogl-winsys-egl-null.c \ - winsys/cogl-winsys-egl-null-private.h -endif if SUPPORT_EGL_PLATFORM_GDL cogl_sources_c += \ winsys/cogl-winsys-egl-gdl.c \ diff --git a/cogl/cogl-renderer.c b/cogl/cogl-renderer.c index b11c62a0c..a518a188a 100644 --- a/cogl/cogl-renderer.c +++ b/cogl/cogl-renderer.c @@ -69,9 +69,6 @@ #ifdef COGL_HAS_EGL_PLATFORM_MIR_SUPPORT #include "cogl-winsys-egl-mir-private.h" #endif -#ifdef COGL_HAS_EGL_PLATFORM_POWERVR_NULL_SUPPORT -#include "cogl-winsys-egl-null-private.h" -#endif #ifdef COGL_HAS_GLX_SUPPORT #include "cogl-winsys-glx-private.h" #endif @@ -219,9 +216,6 @@ static CoglWinsysVtableGetter _cogl_winsys_vtable_getters[] = #ifdef COGL_HAS_EGL_PLATFORM_MIR_SUPPORT _cogl_winsys_egl_mir_get_vtable, #endif -#ifdef COGL_HAS_EGL_PLATFORM_POWERVR_NULL_SUPPORT - _cogl_winsys_egl_null_get_vtable, -#endif #ifdef COGL_HAS_WGL_SUPPORT _cogl_winsys_wgl_get_vtable, #endif diff --git a/cogl/cogl-renderer.h b/cogl/cogl-renderer.h index 5db2173f5..fdc65d541 100644 --- a/cogl/cogl-renderer.h +++ b/cogl/cogl-renderer.h @@ -163,7 +163,6 @@ cogl_renderer_new (void); * @COGL_WINSYS_ID_STUB: Use the no-op stub backend * @COGL_WINSYS_ID_GLX: Use the GLX window system binding API * @COGL_WINSYS_ID_EGL_XLIB: Use EGL with the X window system via XLib - * @COGL_WINSYS_ID_EGL_NULL: Use EGL with the PowerVR NULL window system * @COGL_WINSYS_ID_EGL_GDL: Use EGL with the GDL platform * @COGL_WINSYS_ID_EGL_WAYLAND: Use EGL with the Wayland window system * @COGL_WINSYS_ID_EGL_KMS: Use EGL with the KMS platform @@ -183,7 +182,6 @@ typedef enum COGL_WINSYS_ID_STUB, COGL_WINSYS_ID_GLX, COGL_WINSYS_ID_EGL_XLIB, - COGL_WINSYS_ID_EGL_NULL, COGL_WINSYS_ID_EGL_GDL, COGL_WINSYS_ID_EGL_WAYLAND, COGL_WINSYS_ID_EGL_KMS, diff --git a/cogl/winsys/cogl-winsys-egl-null-private.h b/cogl/winsys/cogl-winsys-egl-null-private.h deleted file mode 100644 index aa1119f67..000000000 --- a/cogl/winsys/cogl-winsys-egl-null-private.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Cogl - * - * A Low Level GPU Graphics and Utilities API - * - * Copyright (C) 2011 Intel Corporation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * - */ - -#ifndef __COGL_WINSYS_EGL_NULL_PRIVATE_H -#define __COGL_WINSYS_EGL_NULL_PRIVATE_H - -#include "cogl-winsys-private.h" - -const CoglWinsysVtable * -_cogl_winsys_egl_null_get_vtable (void); - -#endif /* __COGL_WINSYS_EGL_NULL_PRIVATE_H */ diff --git a/cogl/winsys/cogl-winsys-egl-null.c b/cogl/winsys/cogl-winsys-egl-null.c deleted file mode 100644 index 962d6d1eb..000000000 --- a/cogl/winsys/cogl-winsys-egl-null.c +++ /dev/null @@ -1,246 +0,0 @@ -/* - * Cogl - * - * A Low Level GPU Graphics and Utilities API - * - * Copyright (C) 2011 Intel Corporation. - * - * Permission is hereby granted, free of charge, to any person - * obtaining a copy of this software and associated documentation - * files (the "Software"), to deal in the Software without - * restriction, including without limitation the rights to use, copy, - * modify, merge, publish, distribute, sublicense, and/or sell copies - * of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be - * included in all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - * - * Authors: - * Robert Bragg <robert@linux.intel.com> - * Neil Roberts <neil@linux.intel.com> - */ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#include "cogl-winsys-egl-null-private.h" -#include "cogl-winsys-egl-private.h" -#include "cogl-renderer-private.h" -#include "cogl-framebuffer-private.h" -#include "cogl-onscreen-private.h" - -static const CoglWinsysEGLVtable _cogl_winsys_egl_vtable; - -typedef struct _CoglDisplayNull -{ - int egl_surface_width; - int egl_surface_height; - CoglBool have_onscreen; -} CoglDisplayNull; - -static void -_cogl_winsys_renderer_disconnect (CoglRenderer *renderer) -{ - CoglRendererEGL *egl_renderer = renderer->winsys; - - eglTerminate (egl_renderer->edpy); - - g_slice_free (CoglRendererEGL, egl_renderer); -} - -static CoglBool -_cogl_winsys_renderer_connect (CoglRenderer *renderer, - CoglError **error) -{ - CoglRendererEGL *egl_renderer; - - renderer->winsys = g_slice_new0 (CoglRendererEGL); - egl_renderer = renderer->winsys; - - egl_renderer->platform_vtable = &_cogl_winsys_egl_vtable; - - egl_renderer->edpy = eglGetDisplay (EGL_DEFAULT_DISPLAY); - - if (!_cogl_winsys_egl_renderer_connect_common (renderer, error)) - goto error; - - return TRUE; - -error: - _cogl_winsys_renderer_disconnect (renderer); - return FALSE; -} - -static CoglBool -_cogl_winsys_egl_context_created (CoglDisplay *display, - CoglError **error) -{ - CoglRenderer *renderer = display->renderer; - CoglRendererEGL *egl_renderer = renderer->winsys; - CoglDisplayEGL *egl_display = display->winsys; - CoglDisplayNull *null_display = egl_display->platform; - const char *error_message; - - egl_display->egl_surface = - eglCreateWindowSurface (egl_renderer->edpy, - egl_display->egl_config, - (EGLNativeWindowType) NULL, - NULL); - if (egl_display->egl_surface == EGL_NO_SURFACE) - { - error_message = "Unable to create EGL window surface"; - goto fail; - } - - if (!_cogl_winsys_egl_make_current (display, - egl_display->egl_surface, - egl_display->egl_surface, - egl_display->egl_context)) - { - error_message = "Unable to eglMakeCurrent with egl surface"; - goto fail; - } - - eglQuerySurface (egl_renderer->edpy, - egl_display->egl_surface, - EGL_WIDTH, - &null_display->egl_surface_width); - - eglQuerySurface (egl_renderer->edpy, - egl_display->egl_surface, - EGL_HEIGHT, - &null_display->egl_surface_height); - - return TRUE; - - fail: - _cogl_set_error (error, COGL_WINSYS_ERROR, - COGL_WINSYS_ERROR_CREATE_CONTEXT, - "%s", error_message); - return FALSE; -} - -static CoglBool -_cogl_winsys_egl_display_setup (CoglDisplay *display, - CoglError **error) -{ - CoglDisplayEGL *egl_display = display->winsys; - CoglDisplayNull *null_display; - - null_display = g_slice_new0 (CoglDisplayNull); - egl_display->platform = null_display; - - return TRUE; -} - -static void -_cogl_winsys_egl_display_destroy (CoglDisplay *display) -{ - CoglDisplayEGL *egl_display = display->winsys; - - g_slice_free (CoglDisplayNull, egl_display->platform); -} - -static void -_cogl_winsys_egl_cleanup_context (CoglDisplay *display) -{ - CoglRenderer *renderer = display->renderer; - CoglRendererEGL *egl_renderer = renderer->winsys; - CoglDisplayEGL *egl_display = display->winsys; - - if (egl_display->egl_surface != EGL_NO_SURFACE) - { - eglDestroySurface (egl_renderer->edpy, egl_display->egl_surface); - egl_display->egl_surface = EGL_NO_SURFACE; - } -} - -static CoglBool -_cogl_winsys_egl_onscreen_init (CoglOnscreen *onscreen, - EGLConfig egl_config, - CoglError **error) -{ - CoglFramebuffer *framebuffer = COGL_FRAMEBUFFER (onscreen); - CoglContext *context = framebuffer->context; - CoglDisplay *display = context->display; - CoglDisplayEGL *egl_display = display->winsys; - CoglDisplayNull *null_display = egl_display->platform; - CoglOnscreenEGL *egl_onscreen = onscreen->winsys; - - if (null_display->have_onscreen) - { - _cogl_set_error (error, COGL_WINSYS_ERROR, - COGL_WINSYS_ERROR_CREATE_ONSCREEN, - "EGL platform only supports a single onscreen window"); - return FALSE; - } - - egl_onscreen->egl_surface = egl_display->egl_surface; - - _cogl_framebuffer_winsys_update_size (framebuffer, - null_display->egl_surface_width, - null_display->egl_surface_height); - null_display->have_onscreen = TRUE; - - return TRUE; -} - -static void -_cogl_winsys_egl_onscreen_deinit (CoglOnscreen *onscreen) -{ - CoglFramebuffer *framebuffer = COGL_FRAMEBUFFER (onscreen); - CoglContext *context = framebuffer->context; - CoglDisplay *display = context->display; - CoglDisplayEGL *egl_display = display->winsys; - CoglDisplayNull *null_display = egl_display->platform; - - null_display->have_onscreen = FALSE; -} - -static const CoglWinsysEGLVtable -_cogl_winsys_egl_vtable = - { - .display_setup = _cogl_winsys_egl_display_setup, - .display_destroy = _cogl_winsys_egl_display_destroy, - .context_created = _cogl_winsys_egl_context_created, - .cleanup_context = _cogl_winsys_egl_cleanup_context, - .onscreen_init = _cogl_winsys_egl_onscreen_init, - .onscreen_deinit = _cogl_winsys_egl_onscreen_deinit - }; - -const CoglWinsysVtable * -_cogl_winsys_egl_null_get_vtable (void) -{ - static CoglBool vtable_inited = FALSE; - static CoglWinsysVtable vtable; - - if (!vtable_inited) - { - /* The EGL_NULL winsys is a subclass of the EGL winsys so we - start by copying its vtable */ - - vtable = *_cogl_winsys_egl_get_vtable (); - - vtable.id = COGL_WINSYS_ID_EGL_NULL; - vtable.name = "EGL_NULL"; - - vtable.renderer_connect = _cogl_winsys_renderer_connect; - vtable.renderer_disconnect = _cogl_winsys_renderer_disconnect; - - vtable_inited = TRUE; - } - - return &vtable; -} |