summaryrefslogtreecommitdiff
path: root/cogl
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2016-01-12 16:25:47 -0500
committerRui Matos <tiagomatos@gmail.com>2016-04-10 20:25:06 +0200
commit9246c9a505ada6f77b147e3400e43fceaac352b8 (patch)
treed634aa43a17564f59a27aff193bfbdec051ebaa3 /cogl
parent81ab4a3ee4621da935a0179edced7196b06a3b7d (diff)
downloadmutter-9246c9a505ada6f77b147e3400e43fceaac352b8.tar.gz
renderer: drop PowerVR winsys
Diffstat (limited to 'cogl')
-rw-r--r--cogl/Makefile.am5
-rw-r--r--cogl/cogl-renderer.c6
-rw-r--r--cogl/cogl-renderer.h2
-rw-r--r--cogl/winsys/cogl-winsys-egl-null-private.h39
-rw-r--r--cogl/winsys/cogl-winsys-egl-null.c246
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;
-}