From 2eaa11e954c6fd93e18ca0f6dea56ea6d5c4516e Mon Sep 17 00:00:00 2001 From: Pekka Paalanen Date: Fri, 30 Mar 2012 15:45:40 +0300 Subject: [PATCH] compositor: add EGL_WL_bind_wayland_display definitions This is a workaround for platforms, whose EGL headers miss the definitions for EGL_WL_bind_wayland_display. Signed-off-by: Pekka Paalanen --- src/Makefile.am | 3 ++- src/compositor.h | 2 ++ src/weston-egl-ext.h | 46 ++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 src/weston-egl-ext.h diff --git a/src/Makefile.am b/src/Makefile.am index f0150e8a..ad607b76 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -22,7 +22,8 @@ weston_SOURCES = \ util.c \ matrix.c \ matrix.h \ - weston-launch.h + weston-launch.h \ + weston-egl-ext.h if BUILD_WESTON_LAUNCH weston_launch = weston-launch diff --git a/src/compositor.h b/src/compositor.h index 045c8ace..a27a7a0c 100644 --- a/src/compositor.h +++ b/src/compositor.h @@ -34,6 +34,8 @@ #include "matrix.h" #include "../shared/config-parser.h" +#include "weston-egl-ext.h" + struct weston_transform { struct weston_matrix matrix; diff --git a/src/weston-egl-ext.h b/src/weston-egl-ext.h new file mode 100644 index 00000000..cd8995fb --- /dev/null +++ b/src/weston-egl-ext.h @@ -0,0 +1,46 @@ +/************************************************************************** + * + * Copyright 2008 Tungsten Graphics, Inc., Cedar Park, Texas. + * All Rights Reserved. + * + * 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, sub license, 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. + * + **************************************************************************/ + +/* Extensions used by Weston, copied from Mesa's eglmesaext.h, */ + +#ifndef WESTON_EGL_EXT_H +#define WESTON_EGL_EXT_H + +#ifndef EGL_WL_bind_wayland_display +#define EGL_WL_bind_wayland_display 1 + +#define EGL_WAYLAND_BUFFER_WL 0x31D5 /* eglCreateImageKHR target */ +struct wl_display; +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglBindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display); +EGLAPI EGLBoolean EGLAPIENTRY eglUnbindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display); +#endif +typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWL) (EGLDisplay dpy, struct wl_display *display); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWL) (EGLDisplay dpy, struct wl_display *display); +#endif + +#endif