X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;ds=sidebyside;f=include%2FEGL%2Feglplatform.h;h=f045d009c03d53bbe6f125f276f36e14aa3f4536;hb=2ebc530ca376fc5f07b7982d9598bdfb5fe4032e;hp=2eb6865905c34e379d7685e1e3fab35298618976;hpb=400b833592d9aad7b2c4627a897380642d52189f;p=mesa.git diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h index 2eb6865905c..f045d009c03 100644 --- a/include/EGL/eglplatform.h +++ b/include/EGL/eglplatform.h @@ -2,7 +2,7 @@ #define __eglplatform_h_ /* -** Copyright (c) 2007-2009 The Khronos Group Inc. +** Copyright (c) 2007-2016 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the @@ -25,7 +25,7 @@ */ /* Platform-specific types and definitions for egl.h - * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $ + * $Revision: 30994 $ on $Date: 2015-04-30 13:36:48 -0700 (Thu, 30 Apr 2015) $ * * Adopters may modify khrplatform.h and this file to suit their platform. * You are encouraged to submit all modifications to the Khronos group so that @@ -95,16 +95,17 @@ typedef struct gbm_device *EGLNativeDisplayType; typedef struct gbm_bo *EGLNativePixmapType; typedef void *EGLNativeWindowType; -#elif defined(ANDROID) /* Android */ +#elif defined(__ANDROID__) || defined(ANDROID) + +#include -struct ANativeWindow; struct egl_native_pixmap_t; -typedef struct ANativeWindow *EGLNativeWindowType; -typedef struct egl_native_pixmap_t *EGLNativePixmapType; -typedef void *EGLNativeDisplayType; +typedef struct ANativeWindow* EGLNativeWindowType; +typedef struct egl_native_pixmap_t* EGLNativePixmapType; +typedef void* EGLNativeDisplayType; -#elif defined(__unix__) +#elif defined(__unix__) || defined(__APPLE__) #if defined(MESA_EGL_NO_X11_HEADERS) @@ -131,9 +132,7 @@ typedef khronos_uintptr_t EGLNativePixmapType; typedef khronos_uintptr_t EGLNativeWindowType; #else - #error "Platform not recognized" - #endif /* EGL 1.2 types, renamed for consistency in EGL 1.3 */ @@ -151,4 +150,12 @@ typedef EGLNativeWindowType NativeWindowType; */ typedef khronos_int32_t EGLint; + +/* C++ / C typecast macros for special EGL handle values */ +#if defined(__cplusplus) +#define EGL_CAST(type, value) (static_cast(value)) +#else +#define EGL_CAST(type, value) ((type) (value)) +#endif + #endif /* __eglplatform_h */