#include "gl-renderer.h"
#include "vertex-clipping.h"
-#include <EGL/eglext.h>
#include "weston-egl-ext.h"
struct gl_shader {
PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC swap_buffers_with_damage;
#endif
-#ifdef EGL_EXT_platform_base
PFNEGLCREATEPLATFORMWINDOWSURFACEEXTPROC create_platform_window;
-#endif
int has_unpack_subimage;
struct wl_signal destroy_signal;
};
-#ifdef EGL_EXT_platform_base
static PFNEGLGETPLATFORMDISPLAYEXTPROC get_platform_display = NULL;
-#endif
static inline struct gl_output_state *
get_output_state(struct weston_output *output)
if (go == NULL)
return -1;
-#ifdef EGL_EXT_platform_base
if (gr->create_platform_window) {
go->egl_surface =
gr->create_platform_window(gr->egl_display,
egl_config,
window_for_platform,
NULL);
- } else
-#endif
+ } else {
go->egl_surface =
eglCreateWindowSurface(gr->egl_display,
egl_config,
window_for_legacy, NULL);
+ }
if (go->egl_surface == EGL_NO_SURFACE) {
weston_log("failed to create egl surface\n");
"supported. Performance could be affected.\n");
#endif
-#ifdef EGL_EXT_platform_base
extensions =
(const char *) eglQueryString(EGL_NO_DISPLAY, EGL_EXTENSIONS);
if (!extensions) {
(void *) eglGetProcAddress("eglCreatePlatformWindowSurfaceEXT");
else
weston_log("warning: EGL_EXT_platform_base not supported.\n");
-#endif
#ifdef EGL_MESA_configless_context
if (strstr(extensions, "EGL_MESA_configless_context"))
gr->base.surface_copy_content = gl_renderer_surface_copy_content;
gr->egl_display = NULL;
-#ifdef EGL_EXT_platform_base
- /* the platform extension is supported */
+ /* extension_suffix is supported */
if (supports) {
if (!get_platform_display) {
get_platform_display = (void *) eglGetProcAddress(
NULL);
}
}
-#endif
if (!gr->egl_display) {
weston_log("warning: either no EGL_EXT_platform_base "
typedef int EGLenum;
typedef void *EGLDisplay;
typedef void *EGLSurface;
+typedef void *EGLConfig;
typedef intptr_t EGLNativeDisplayType;
typedef intptr_t EGLNativeWindowType;
#define EGL_DEFAULT_DISPLAY ((EGLNativeDisplayType)0)
#endif /* ENABLE_EGL */
+#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
+
#ifndef EGL_PLATFORM_GBM_KHR
#define EGL_PLATFORM_GBM_KHR 0x31D7
#endif