summaryrefslogtreecommitdiffstats
path: root/sample/simple-egl/include/platform.h
diff options
context:
space:
mode:
Diffstat (limited to 'sample/simple-egl/include/platform.h')
-rw-r--r--sample/simple-egl/include/platform.h115
1 files changed, 0 insertions, 115 deletions
diff --git a/sample/simple-egl/include/platform.h b/sample/simple-egl/include/platform.h
deleted file mode 100644
index 8fd57b0..0000000
--- a/sample/simple-egl/include/platform.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright © 2015 Collabora, Ltd.
- *
- * 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 (including the
- * next paragraph) 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 WESTON_PLATFORM_H
-#define WESTON_PLATFORM_H
-
-#include <string.h>
-
-#include <wayland-egl.h>
-#include <EGL/egl.h>
-#include <EGL/eglext.h>
-
-#ifndef EGL_PLATFORM_WAYLAND_KHR
-#define EGL_PLATFORM_WAYLAND_KHR 0x31D8
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-#ifndef EGL_EXT_platform_base
-typedef EGLDisplay (*PFNEGLGETPLATFORMDISPLAYEXTPROC) (EGLenum platform,
- void *native_display,
- const EGLint *attrib_list);
-typedef EGLSurface (*PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC) (EGLDisplay dpy,
- EGLConfig config,
- void *native_window,
- const EGLint *attrib_list);
-#endif
-
-static inline void *
-weston_platform_get_egl_proc_address(const char *address)
-{
- const char *extensions = eglQueryString(EGL_NO_DISPLAY, EGL_EXTENSIONS);
-
- if (extensions
- && (strstr(extensions, "EGL_EXT_platform_wayland")
- || strstr(extensions, "EGL_KHR_platform_wayland"))) {
- return (void *) eglGetProcAddress(address);
- }
-
- return NULL;
-}
-
-static inline EGLDisplay
-weston_platform_get_egl_display(EGLenum platform, void *native_display,
- const EGLint *attrib_list)
-{
- static PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display = NULL;
-
- if (!get_platform_display) {
- get_platform_display = (PFNEGLGETPLATFORMDISPLAYEXTPROC)
- weston_platform_get_egl_proc_address(
- "eglGetPlatformDisplayEXT");
- }
-
- if (get_platform_display)
- return get_platform_display(platform,
- native_display, attrib_list);
-
- return eglGetDisplay((EGLNativeDisplayType) native_display);
-}
-
-static inline EGLSurface
-weston_platform_create_egl_surface(EGLDisplay dpy, EGLConfig config,
- void *native_window,
- const EGLint *attrib_list)
-{
- static PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC
- create_platform_window = NULL;
-
- if (!create_platform_window) {
- create_platform_window = (PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC)
- weston_platform_get_egl_proc_address(
- "eglCreatePlatformWindowSurfaceEXT");
- }
-
- if (create_platform_window)
- return create_platform_window(dpy, config,
- native_window,
- attrib_list);
-
- return eglCreateWindowSurface(dpy, config,
- (EGLNativeWindowType) native_window,
- attrib_list);
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* WESTON_PLATFORM_H */