Commits

Sepehr Taghdisian committed fd6be83

msvc project changes, added glfw, added core platform sources

Comments (0)

Files changed (414)

3rdparty/glfw/.gitignore

-# External junk
-.DS_Store
-_ReSharper*
-*.opensdf
-*.sdf
-*.dir
-*.vcxproj*
-*.sln
-Win32
-Debug
-Release
-
-# CMake files
-Makefile
-CMakeCache.txt
-CMakeFiles
-cmake_install.cmake
-cmake_uninstall.cmake
-
-# Generated files
-docs/Doxyfile
-docs/html
-docs/warnings.txt
-src/config.h
-src/glfw3.pc
-src/glfwConfig.cmake
-src/glfwConfigVersion.cmake
-
-# Compiled binaries
-src/libglfw.so
-src/libglfw.so.3
-src/libglfw.so.3.0
-src/libglfw.dylib
-src/libglfw.dylib
-src/libglfw.3.dylib
-src/libglfw.3.0.dylib
-src/libglfw3.a
-src/glfw3.lib
-src/glfw3.dll
-src/glfw3dll.lib
-examples/*.app
-examples/*.exe
-examples/boing
-examples/gears
-examples/heightmap
-examples/splitview
-examples/simple
-examples/wave
-tests/*.app
-tests/*.exe
-tests/accuracy
-tests/clipboard
-tests/defaults
-tests/events
-tests/fsaa
-tests/gamma
-tests/glfwinfo
-tests/iconify
-tests/joysticks
-tests/modes
-tests/peter
-tests/reopen
-tests/sharing
-tests/tearing
-tests/threads
-tests/title
-tests/version
-tests/windows
-

3rdparty/glfw/CMake/README.txt

-This directory contains a collection of toolchain definitions for
-cross-compiling for Windows using MinGW on various other systems.
-
-To use these files you add a special parameter when configuring the source tree:
-
-  cmake -DCMAKE_TOOLCHAIN_FILE=<toolchain-file> .
-
-The exact file to use depends on the prefix used by the MinGW binaries on your
-system.  You can usually see this in the /usr directory, i.e. the Ubuntu
-MinGW-w64 packages have /usr/x86_64-w64-mingw32 for the 64-bit compilers, so the
-correct invocation would be:
-
-  cmake -DCMAKE_TOOLCHAIN_FILE=CMake/x86_64-w64-mingw32.cmake .
-
-For more details see this article:
-
-  http://www.paraview.org/Wiki/CMake_Cross_Compiling 
-

3rdparty/glfw/CMake/amd64-mingw32msvc.cmake

-# Define the environment for cross compiling from Linux to Win64
-SET(CMAKE_SYSTEM_NAME    Windows)
-SET(CMAKE_SYSTEM_VERSION 1)
-SET(CMAKE_C_COMPILER     "amd64-mingw32msvc-gcc")
-SET(CMAKE_CXX_COMPILER   "amd64-mingw32msvc-g++")
-SET(CMAKE_RC_COMPILER    "amd64-mingw32msvc-windres")
-SET(CMAKE_RANLIB         "amd64-mingw32msvc-ranlib")
-
-# Configure the behaviour of the find commands 
-SET(CMAKE_FIND_ROOT_PATH "/usr/amd64-mingw32msvc")
-SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

3rdparty/glfw/CMake/i586-mingw32msvc.cmake

-# Define the environment for cross compiling from Linux to Win32
-SET(CMAKE_SYSTEM_NAME    Windows)
-SET(CMAKE_SYSTEM_VERSION 1)
-SET(CMAKE_C_COMPILER     "i586-mingw32msvc-gcc")
-SET(CMAKE_CXX_COMPILER   "i586-mingw32msvc-g++")
-SET(CMAKE_RC_COMPILER    "i586-mingw32msvc-windres")
-SET(CMAKE_RANLIB         "i586-mingw32msvc-ranlib")
-
-# Configure the behaviour of the find commands 
-SET(CMAKE_FIND_ROOT_PATH "/usr/i586-mingw32msvc")
-SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

3rdparty/glfw/CMake/i686-pc-mingw32.cmake

-# Define the environment for cross compiling from Linux to Win32
-SET(CMAKE_SYSTEM_NAME    Windows) # Target system name
-SET(CMAKE_SYSTEM_VERSION 1)
-SET(CMAKE_C_COMPILER     "i686-pc-mingw32-gcc")
-SET(CMAKE_CXX_COMPILER   "i686-pc-mingw32-g++")
-SET(CMAKE_RC_COMPILER    "i686-pc-mingw32-windres")
-SET(CMAKE_RANLIB         "i686-pc-mingw32-ranlib")
-
-#Configure the behaviour of the find commands 
-SET(CMAKE_FIND_ROOT_PATH "/opt/mingw/usr/i686-pc-mingw32")
-SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

3rdparty/glfw/CMake/i686-w64-mingw32.cmake

-# Define the environment for cross compiling from Linux to Win32
-SET(CMAKE_SYSTEM_NAME    Windows) # Target system name
-SET(CMAKE_SYSTEM_VERSION 1)
-SET(CMAKE_C_COMPILER     "i686-w64-mingw32-gcc")
-SET(CMAKE_CXX_COMPILER   "i686-w64-mingw32-g++")
-SET(CMAKE_RC_COMPILER    "i686-w64-mingw32-windres")
-SET(CMAKE_RANLIB         "i686-w64-mingw32-ranlib")
-
-# Configure the behaviour of the find commands 
-SET(CMAKE_FIND_ROOT_PATH "/usr/i686-w64-mingw32")
-SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

3rdparty/glfw/CMake/modules/FindEGL.cmake

-# Find EGL
-#
-# EGL_INCLUDE_DIR
-# EGL_LIBRARY
-# EGL_FOUND
-
-find_path(EGL_INCLUDE_DIR NAMES EGL/egl.h)
-
-set(EGL_NAMES ${EGL_NAMES} egl EGL)
-find_library(EGL_LIBRARY NAMES ${EGL_NAMES})
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(EGL DEFAULT_MSG EGL_LIBRARY EGL_INCLUDE_DIR)
-
-mark_as_advanced(EGL_INCLUDE_DIR EGL_LIBRARY)
-

3rdparty/glfw/CMake/modules/FindGLESv1.cmake

-# Find GLESv1
-#
-# GLESv1_INCLUDE_DIR
-# GLESv1_LIBRARY
-# GLESv1_FOUND
-
-find_path(GLESv1_INCLUDE_DIR NAMES GLES/gl.h)
-
-set(GLESv1_NAMES ${GLESv1_NAMES} GLESv1_CM)
-find_library(GLESv1_LIBRARY NAMES ${GLESv1_NAMES})
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(GLESv1 DEFAULT_MSG GLESv1_LIBRARY GLESv1_INCLUDE_DIR)
-
-mark_as_advanced(GLESv1_INCLUDE_DIR GLESv1_LIBRARY)
-

3rdparty/glfw/CMake/modules/FindGLESv2.cmake

-# Find GLESv2
-#
-# GLESv2_INCLUDE_DIR
-# GLESv2_LIBRARY
-# GLESv2_FOUND
-
-find_path(GLESv2_INCLUDE_DIR NAMES GLES2/gl2.h)
-
-set(GLESv2_NAMES ${GLESv2_NAMES} GLESv2)
-find_library(GLESv2_LIBRARY NAMES ${GLESv2_NAMES})
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(GLESv2 DEFAULT_MSG GLESv2_LIBRARY GLESv2_INCLUDE_DIR)
-
-mark_as_advanced(GLESv2_INCLUDE_DIR GLESv2_LIBRARY)
-

3rdparty/glfw/CMake/x86_64-w64-mingw32.cmake

-# Define the environment for cross compiling from Linux to Win32
-SET(CMAKE_SYSTEM_NAME    Windows) # Target system name
-SET(CMAKE_SYSTEM_VERSION 1)
-SET(CMAKE_C_COMPILER     "x86_64-w64-mingw32-gcc")
-SET(CMAKE_CXX_COMPILER   "x86_64-w64-mingw32-g++")
-SET(CMAKE_RC_COMPILER    "x86_64-w64-mingw32-windres")
-SET(CMAKE_RANLIB         "x86_64-w64-mingw32-ranlib")
-
-# Configure the behaviour of the find commands 
-SET(CMAKE_FIND_ROOT_PATH "/usr/x86_64-w64-mingw32")
-SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

3rdparty/glfw/CMakeLists.txt

-project(GLFW C)
-
-cmake_minimum_required(VERSION 2.8)
-
-set(GLFW_VERSION_MAJOR "3")
-set(GLFW_VERSION_MINOR "0")
-set(GLFW_VERSION_PATCH "0")
-set(GLFW_VERSION_EXTRA "")
-set(GLFW_VERSION "${GLFW_VERSION_MAJOR}.${GLFW_VERSION_MINOR}")
-set(GLFW_VERSION_FULL "${GLFW_VERSION}.${GLFW_VERSION_PATCH}${GLFW_VERSION_EXTRA}")
-set(LIB_SUFFIX "" CACHE STRING "Takes an empty string or 64. Directory where lib will be installed: lib or lib64")
-
-option(GLFW_BUILD_EXAMPLES "Build the GLFW example programs" ON)
-option(GLFW_BUILD_TESTS "Build the GLFW test programs" ON)
-option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
-
-set(DOXYGEN_SKIP_DOT TRUE)
-find_package(Doxygen)
-
-option(GLFW_DOCUMENT_INTERNALS "Include internals in documentation" OFF)
-if (GLFW_DOCUMENT_INTERNALS)
-    set(GLFW_INTERNAL_DOCS "${GLFW_SOURCE_DIR}/src/internal.h ${GLFW_SOURCE_DIR}/docs/internal.dox")
-endif()
-
-if (APPLE)
-    option(GLFW_USE_CHDIR "Make glfwInit chdir to Contents/Resources" ON)
-    option(GLFW_USE_MENUBAR "Populate the menu bar on first window creation" ON)
-else()
-    option(GLFW_USE_EGL "Use EGL for context creation" OFF)
-endif()
-
-if (GLFW_USE_EGL)
-    set(GLFW_CLIENT_LIBRARY "opengl" CACHE STRING
-        "The client library to use; one of opengl, glesv1 or glesv2")
-
-    if (${GLFW_CLIENT_LIBRARY} STREQUAL "opengl")
-        set(_GLFW_USE_OPENGL 1)
-    elseif (${GLFW_CLIENT_LIBRARY} STREQUAL "glesv1")
-        set(_GLFW_USE_GLESV1 1)
-    elseif (${GLFW_CLIENT_LIBRARY} STREQUAL "glesv2")
-        set(_GLFW_USE_GLESV2 1)
-    else()
-        message(FATAL_ERROR "Unsupported client library")
-    endif()
-
-    set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake/modules)
-    find_package(EGL REQUIRED)
-
-    if (NOT _GLFW_USE_OPENGL)
-        set(GLFW_BUILD_EXAMPLES OFF)
-        set(GLFW_BUILD_TESTS OFF)
-        message(STATUS "NOTE: Examples and tests require OpenGL")
-    endif()
-else()
-    set(_GLFW_USE_OPENGL 1)
-endif()
-
-if (_GLFW_USE_OPENGL)
-    find_package(OpenGL REQUIRED)
-elseif (_GLFW_USE_GLESV1)
-    find_package(GLESv1 REQUIRED)
-elseif (_GLFW_USE_GLESV2)
-    find_package(GLESv2 REQUIRED)
-endif()
-
-find_package(Threads REQUIRED)
-
-#--------------------------------------------------------------------
-# Enable all warnings on GCC, regardless of OS
-#--------------------------------------------------------------------
-if (CMAKE_COMPILER_IS_GNUCC)
-    add_definitions(-Wall)
-endif()
-
-#--------------------------------------------------------------------
-# Export shared library / dynamic library / DLL build option
-#--------------------------------------------------------------------
-if (BUILD_SHARED_LIBS)
-    set(_GLFW_BUILD_DLL 1)
-    if (UNIX)
-        add_definitions(-fvisibility=hidden)
-    endif()
-endif()
-
-#--------------------------------------------------------------------
-# Detect and select backend APIs
-#--------------------------------------------------------------------
-if (WIN32)
-    set(_GLFW_WIN32 1)
-    message(STATUS "Using Win32 for window creation") 
-
-    if (GLFW_USE_EGL)
-        set(_GLFW_EGL 1)
-        message(STATUS "Using EGL for context creation")
-    else()
-        set(_GLFW_WGL 1)
-        message(STATUS "Using WGL for context creation")
-    endif()
-elseif (APPLE)
-    set(_GLFW_COCOA 1)
-    message(STATUS "Using Cocoa for window creation")
-    set(_GLFW_NSGL 1)
-    message(STATUS "Using NSGL for context creation")
-elseif (UNIX)
-    set(_GLFW_X11 1)
-    message(STATUS "Using X11 for window creation") 
-
-    if (GLFW_USE_EGL)
-        set(_GLFW_EGL 1)
-        message(STATUS "Using EGL for context creation")
-    else()
-        set(_GLFW_GLX 1)
-        message(STATUS "Using GLX for context creation")
-    endif()
-else()
-    message(FATAL_ERROR "No supported platform was detected")
-endif()
-
-#--------------------------------------------------------------------
-# Use Win32 for window creation
-#--------------------------------------------------------------------
-if (_GLFW_WIN32)
-
-    if (MSVC)
-        option(USE_MSVC_RUNTIME_LIBRARY_DLL "Use MSVC runtime library DLL" ON)
-
-        if (NOT USE_MSVC_RUNTIME_LIBRARY_DLL)
-            foreach (flag CMAKE_C_FLAGS
-                          CMAKE_C_FLAGS_DEBUG
-                          CMAKE_C_FLAGS_RELEASE
-                          CMAKE_C_FLAGS_MINSIZEREL
-                          CMAKE_C_FLAGS_RELWITHDEBINFO)
-
-                if (${flag} MATCHES "/MD")
-                    string(REGEX REPLACE "/MD" "/MT" ${flag} "${${flag}}")
-                endif()
-                if (${flag} MATCHES "/MDd")
-                    string(REGEX REPLACE "/MDd" "/MTd" ${flag} "${${flag}}")
-                endif()
-
-            endforeach()
-        endif()
-    endif()
-
-    set(_GLFW_NO_DLOAD_WINMM ${BUILD_SHARED_LIBS})
-
-    if (BUILD_SHARED_LIBS)
-        list(APPEND glfw_LIBRARIES winmm)
-    endif()
-endif()
-
-#--------------------------------------------------------------------
-# Use WGL for context creation
-#--------------------------------------------------------------------
-if (_GLFW_WGL)
-    list(APPEND glfw_INCLUDE_DIRS ${OPENGL_INCLUDE_DIR})
-    list(APPEND glfw_LIBRARIES ${OPENGL_gl_LIBRARY})
-endif()
-
-#--------------------------------------------------------------------
-# Use X11 for window creation
-#--------------------------------------------------------------------
-if (_GLFW_X11)
-
-    find_package(X11 REQUIRED)
-
-    set(GLFW_PKG_DEPS "${GLFW_PKG_DEPS} x11")
-
-    # Set up library and include paths
-    list(APPEND glfw_INCLUDE_DIRS ${X11_X11_INCLUDE_PATH})
-    list(APPEND glfw_LIBRARIES ${X11_X11_LIB} ${CMAKE_THREAD_LIBS_INIT})
-    if (UNIX AND NOT APPLE)
-        list(APPEND glfw_LIBRARIES ${RT_LIBRARY})
-    endif()
-
-    # Check for XRandR (modern resolution switching and gamma control)
-    if (NOT X11_Xrandr_FOUND)
-        message(FATAL_ERROR "The RandR library and headers were not found")
-    endif()
-
-    list(APPEND glfw_INCLUDE_DIRS ${X11_Xrandr_INCLUDE_PATH})
-    list(APPEND glfw_LIBRARIES ${X11_Xrandr_LIB})
-    set(GLFW_PKG_DEPS "${GLFW_PKG_DEPS} xrandr")
-
-    # Check for XInput (high-resolution cursor motion)
-    if (NOT X11_Xinput_FOUND)
-        message(FATAL_ERROR "The XInput library and headers were not found")
-    endif()
-
-    list(APPEND glfw_INCLUDE_DIRS ${X11_Xinput_INCLUDE_PATH})
-    list(APPEND glfw_LIBRARIES ${X11_Xinput_LIB})
-    set(GLFW_PKG_DEPS "${GLFW_PKG_DEPS} xi")
-
-    # Check for Xf86VidMode (fallback gamma control)
-    if (NOT X11_xf86vmode_FOUND)
-        message(FATAL_ERROR "The Xf86VidMode library and headers were not found")
-    endif()
-
-    list(APPEND glfw_INCLUDE_DIRS ${X11_xf86vmode_INCLUDE_PATH})
-    set(GLFW_PKG_DEPS "${GLFW_PKG_DEPS} xxf86vm")
-
-    # NOTE: This is a workaround for CMake bug 0006976 (missing
-    # X11_xf86vmode_LIB variable)
-    if (X11_xf86vmode_LIB)
-        list(APPEND glfw_LIBRARIES ${X11_xf86vmode_LIB})
-    else()
-        list(APPEND glfw_LIBRARIES Xxf86vm)
-    endif()
-
-    # Check for Xkb (X keyboard extension)
-    if (NOT X11_Xkb_FOUND)
-        message(FATAL_ERROR "The X keyboard extension headers were not found")
-    endif() 
-
-    list(APPEND glfw_INCLUDE_DIR ${X11_Xkb_INCLUDE_PATH})
-
-    find_library(RT_LIBRARY rt)
-    mark_as_advanced(RT_LIBRARY)
-    if (RT_LIBRARY)
-        list(APPEND glfw_LIBRARIES ${RT_LIBRARY})
-        set(GLFW_PKG_LIBS "${GLFW_PKG_LIBS} -lrt")
-    endif()
-
-    find_library(MATH_LIBRARY m)
-    mark_as_advanced(MATH_LIBRARY)
-    if (MATH_LIBRARY)
-        list(APPEND glfw_LIBRARIES ${MATH_LIBRARY})
-        set(GLFW_PKG_LIBS "${GLFW_PKG_LIBS} -lm")
-    endif()
-
-endif()
-
-#--------------------------------------------------------------------
-# Use GLX for context creation
-#--------------------------------------------------------------------
-if (_GLFW_GLX)
-
-    list(APPEND glfw_INCLUDE_DIRS ${OPENGL_INCLUDE_DIR})
-    list(APPEND glfw_LIBRARIES ${OPENGL_gl_LIBRARY})
-
-    set(GLFW_PKG_DEPS "${GLFW_PKG_DEPS} gl")
-
-    include(CheckFunctionExists)
-
-    set(CMAKE_REQUIRED_LIBRARIES ${OPENGL_gl_LIBRARY})
-
-    check_function_exists(glXGetProcAddress _GLFW_HAS_GLXGETPROCADDRESS)
-
-    if (NOT _GLFW_HAS_GLXGETPROCADDRESS)
-        check_function_exists(glXGetProcAddressARB _GLFW_HAS_GLXGETPROCADDRESSARB)
-    endif()
-
-    if (NOT _GLFW_HAS_GLXGETPROCADDRESS AND NOT _GLFW_HAS_GLXGETPROCADDRESSARB)
-        check_function_exists(glXGetProcAddressEXT _GLFW_HAS_GLXGETPROCADDRESSEXT)
-    endif()
-
-    if (NOT _GLFW_HAS_GLXGETPROCADDRESS AND
-        NOT _GLFW_HAS_GLXGETPROCADDRESSARB AND
-        NOT _GLFW_HAS_GLXGETPROCADDRESSEXT)
-        message(WARNING "No glXGetProcAddressXXX variant found")
-
-        # Check for dlopen support as a fallback
-
-        find_library(DL_LIBRARY dl)
-        mark_as_advanced(DL_LIBRARY)
-        if (DL_LIBRARY)
-            set(CMAKE_REQUIRED_LIBRARIES ${DL_LIBRARY})
-        else()
-            set(CMAKE_REQUIRED_LIBRARIES "")
-        endif()
-
-        check_function_exists(dlopen _GLFW_HAS_DLOPEN)
-
-        if (NOT _GLFW_HAS_DLOPEN)
-            message(FATAL_ERROR "No entry point retrieval mechanism found")
-        endif()
-
-        if (DL_LIBRARY)
-            list(APPEND glfw_LIBRARIES ${DL_LIBRARY})
-            set(GLFW_PKG_LIBS "${GLFW_PKG_LIBS} -ldl")
-        endif()
-    endif()
-
-endif()
-
-#--------------------------------------------------------------------
-# Use EGL for context creation
-#--------------------------------------------------------------------
-if (_GLFW_EGL)
-
-    list(APPEND glfw_INCLUDE_DIRS ${EGL_INCLUDE_DIR})
-    list(APPEND glfw_LIBRARIES ${EGL_LIBRARY})
-
-    set(CMAKE_REQUIRED_LIBRARIES ${EGL_LIBRARY})
-
-    if (UNIX)
-        set(GLFW_PKG_DEPS "${GLFW_PKG_DEPS} egl")
-    endif()
-
-    if (_GLFW_USE_OPENGL)
-        list(APPEND glfw_LIBRARIES ${OPENGL_gl_LIBRARY})
-        list(APPEND glfw_INCLUDE_DIRS ${OPENGL_INCLUDE_DIR})
-        set(GLFW_PKG_DEPS "${GLFW_PKG_DEPS} gl")
-    elseif (_GLFW_USE_GLESV1)
-        list(APPEND glfw_LIBRARIES ${GLESv1_LIBRARY})
-        list(APPEND glfw_INCLUDE_DIRS ${GLESv1_INCLUDE_DIR})
-        set(GLFW_PKG_DEPS "${GLFW_PKG_DEPS} glesv1_cm")
-    elseif (_GLFW_USE_GLESV2)
-        list(APPEND glfw_LIBRARIES ${GLESv2_LIBRARY})
-        list(APPEND glfw_INCLUDE_DIRS ${GLESv2_INCLUDE_DIR})
-        set(GLFW_PKG_DEPS "${GLFW_PKG_DEPS} glesv2")
-    endif()
-
-endif()
-
-#--------------------------------------------------------------------
-# Use Cocoa for window creation and NSOpenGL for context creation
-#--------------------------------------------------------------------
-if (_GLFW_COCOA AND _GLFW_NSGL)
-        
-    option(GLFW_BUILD_UNIVERSAL "Build GLFW as a Universal Binary" OFF)
-
-    if (GLFW_USE_MENUBAR)
-        set(_GLFW_USE_MENUBAR 1)
-    endif()
-
-    if (GLFW_USE_CHDIR)
-        set(_GLFW_USE_CHDIR 1)
-    endif()
-
-    # Universal build
-    if (GLFW_BUILD_UNIVERSAL)
-        message(STATUS "Building GLFW as Universal Binaries")
-        set(CMAKE_OSX_ARCHITECTURES i386;x86_64)
-    else()
-        message(STATUS "Building GLFW only for the native architecture")
-    endif()
-    
-    # Set up library and include paths
-    find_library(COCOA_FRAMEWORK Cocoa)
-    find_library(IOKIT_FRAMEWORK IOKit)
-    find_library(CORE_FOUNDATION_FRAMEWORK CoreFoundation)
-    list(APPEND glfw_LIBRARIES ${COCOA_FRAMEWORK}
-                               ${OPENGL_gl_LIBRARY}
-                               ${IOKIT_FRAMEWORK}
-                               ${CORE_FOUNDATION_FRAMEWORK})
-
-    set(GLFW_PKG_DEPS "")
-    set(GLFW_PKG_LIBS "-framework Cocoa -framework OpenGL -framework IOKit -framework CoreFoundation")
-endif()
-
-#--------------------------------------------------------------------
-# Export GLFW library dependencies
-#--------------------------------------------------------------------
-set(GLFW_LIBRARIES ${glfw_LIBRARIES} CACHE STRING "Dependencies of GLFW")
-
-#--------------------------------------------------------------------
-# Choose library output name
-#--------------------------------------------------------------------
-if (BUILD_SHARED_LIBS AND UNIX)
-    # On Unix-like systems, shared libraries can use the soname system.
-    set(GLFW_LIB_NAME glfw)
-else()
-    set(GLFW_LIB_NAME glfw3)
-endif()
-
-#--------------------------------------------------------------------
-# Add subdirectories
-#--------------------------------------------------------------------
-add_subdirectory(src)
-
-if (GLFW_BUILD_EXAMPLES)
-    add_subdirectory(examples)
-endif()
-
-if (GLFW_BUILD_TESTS)
-    add_subdirectory(tests)
-endif()
-
-if (DOXYGEN_FOUND)
-    add_subdirectory(docs)
-endif()
-
-#--------------------------------------------------------------------
-# Create generated files
-#--------------------------------------------------------------------
-configure_file(${GLFW_SOURCE_DIR}/docs/Doxyfile.in
-               ${GLFW_BINARY_DIR}/docs/Doxyfile @ONLY)
-
-configure_file(${GLFW_SOURCE_DIR}/src/config.h.in 
-               ${GLFW_BINARY_DIR}/src/config.h @ONLY)
-
-#--------------------------------------------------------------------
-# Install the public headers
-# The src directory's CMakeLists.txt file installs the library
-#--------------------------------------------------------------------
-install(DIRECTORY include/GLFW DESTINATION include 
-        FILES_MATCHING PATTERN glfw3.h PATTERN glfw3native.h)
-
-#--------------------------------------------------------------------
-# Create and install glfwConfig.cmake and glfwConfigVersion files
-#--------------------------------------------------------------------
-configure_file(${GLFW_SOURCE_DIR}/src/glfwConfig.cmake.in
-               ${GLFW_BINARY_DIR}/src/glfwConfig.cmake @ONLY)
-configure_file(${GLFW_SOURCE_DIR}/src/glfwConfigVersion.cmake.in
-               ${GLFW_BINARY_DIR}/src/glfwConfigVersion.cmake @ONLY)
-
-install(FILES ${GLFW_BINARY_DIR}/src/glfwConfig.cmake
-              ${GLFW_BINARY_DIR}/src/glfwConfigVersion.cmake
-		DESTINATION lib${LIB_SUFFIX}/cmake/glfw)
-
-if (UNIX)
-    install(EXPORT glfwTargets DESTINATION lib${LIB_SUFFIX}/cmake/glfw)
-endif()
-
-#--------------------------------------------------------------------
-# Create and install pkg-config file on supported platforms
-#--------------------------------------------------------------------
-if (UNIX)
-    configure_file(${GLFW_SOURCE_DIR}/src/glfw3.pc.in
-                   ${GLFW_BINARY_DIR}/src/glfw3.pc @ONLY)
-
-    install(FILES ${GLFW_BINARY_DIR}/src/glfw3.pc
-            DESTINATION lib${LIB_SUFFIX}/pkgconfig)
-endif()
-
-#--------------------------------------------------------------------
-# Uninstall operation
-# Don't generate this target if a higher-level project already has
-#--------------------------------------------------------------------
-if (NOT TARGET uninstall)
-    configure_file(${GLFW_SOURCE_DIR}/cmake_uninstall.cmake.in
-                   ${GLFW_BINARY_DIR}/cmake_uninstall.cmake IMMEDIATE @ONLY)
-
-    add_custom_target(uninstall
-                      ${CMAKE_COMMAND} -P
-                      ${GLFW_BINARY_DIR}/cmake_uninstall.cmake)
-endif()
-

3rdparty/glfw/COPYING.txt

-Copyright (c) 2002-2006 Marcus Geelnard
-Copyright (c) 2006-2010 Camilla Berglund <elmindreda@elmindreda.org>
-
-This software is provided 'as-is', without any express or implied
-warranty. In no event will the authors be held liable for any damages
-arising from the use of this software.
-
-Permission is granted to anyone to use this software for any purpose,
-including commercial applications, and to alter it and redistribute it
-freely, subject to the following restrictions:
-
-1. The origin of this software must not be misrepresented; you must not
-   claim that you wrote the original software. If you use this software
-   in a product, an acknowledgment in the product documentation would
-   be appreciated but is not required.
-
-2. Altered source versions must be plainly marked as such, and must not
-   be misrepresented as being the original software.
-
-3. This notice may not be removed or altered from any source
-   distribution.
-

3rdparty/glfw/README.md

-# GLFW 3.0
-
-## Introduction
-
-GLFW is a free, Open Source, portable library for OpenGL and OpenGL ES
-application development.  It provides a simple, platform-independent API for
-creating windows and contexts, reading input, handling events, etc.
-
-Version 3.0 brings a new API with many new features such as multiple windows
-and contexts, multi-monitor support, EGL and OpenGL ES support, clipboard text
-support, an error description callback, gamma ramp control, layout-independent
-keyboard input and UTF-8 for all strings.
-
-GLFW is now hosted on [GitHub](https://github.com/glfw/glfw).
-
-If you are new to GLFW, you may find the
-[introductory tutorial](http://www.glfw.org/docs/3.0/quick.html) for GLFW
-3 useful.  If
-you have used GLFW 2 in the past, there is a
-[transition guide](http://www.glfw.org/docs/3.0/moving.html) for moving to the
-GLFW 3 API.
-
-
-## Compiling GLFW
-
-To compile GLFW and the accompanying example programs, you will need the
-[CMake](http://www.cmake.org/) build system.
-
-
-### Dependencies
-
-#### X11 dependencies
-
-To compile GLFW for X11 and GLX, you need to have the X and OpenGL header
-packages installed.  For example, on Ubuntu and other distributions based on
-Debian GNU/Linux, you need to install the `xorg-dev` and `libglu1-mesa-dev`
-packages.  Note that using header files from Mesa *will not* tie your binary to
-the Mesa implementation of OpenGL.
-
-
-### CMake options
-
-There are a number of CMake build options for GLFW, although not all are
-available on all supported platforms.  Some of these are de facto standards
-among CMake users and so have no `GLFW_` prefix.
-
-
-#### Shared options
-
-`BUILD_SHARED_LIBS` determines whether GLFW is built as a static
-library or as a DLL / shared library / dynamic library.
-
-`LIB_SUFFIX` affects where the GLFW shared /dynamic library is
-installed.  If it is empty, it is installed to `$PREFIX/lib`.  If it is set to
-`64`, it is installed to `$PREFIX/lib64`.
-
-`GLFW_BUILD_EXAMPLES` determines whether the GLFW examples are built
-along with the library.
-
-`GLFW_BUILD_TESTS` determines whether the GLFW test programs are
-built along with the library.
-
-
-#### Mac OS X specific options
-
-`GLFW_USE_CHDIR` determines whether `glfwInit` changes the current
-directory of bundled applications to the `Contents/Resources` directory.
-
-`GLFW_USE_MENUBAR` determines whether the first call to
-`glfwCreateWindow` sets up a minimal menu bar.
-
-`GLFW_BUILD_UNIVERSAL` determines whether to build Universal Binaries.
-
-
-#### Windows specific options
-
-`USE_MSVC_RUNTIME_LIBRARY_DLL` determines whether to use the DLL version of the
-Visual C++ runtime library.
-
-
-#### EGL specific options
-
-`GLFW_USE_EGL` determines whether to use EGL instead of the platform-specific
-context creation API.  Note that EGL is not yet provided on all supported
-platforms.
-
-`GLFW_CLIENT_LIBRARY` determines which client API library to use.  If set to
-`opengl` the OpenGL library is used, if set to `glesv1` for the OpenGL ES 1.x
-library is used, or if set to `glesv2` the OpenGL ES 2.0 library is used.  The
-selected library and its header files must be present on the system for this to
-work.
-
-
-## Installing GLFW
-
-A rudimentary installation target is provided for all supported platforms via
-CMake.
-
-
-## Using GLFW
-
-See the [GLFW 3.0 documentation](http://www.glfw.org/docs/3.0/).
-
-
-## Changes for version 3.0
-
- - Added `GLFWmonitor` and updated monitor-related functions to take a monitor
-   handle
- - Added `glfwGetMonitors` and `glfwGetPrimaryMonitor` for enumerating available
-   monitors
- - Added `glfwGetMonitorPos`, `glfwGetMonitorPhysicalSize` and
-   `glfwGetMonitorName` for retrieving monitor properties
- - Added `glfwSetMonitorCallback` and `GLFWmonitorfun` for notification of
-   changes in the set of available monitors
- - Added `GLFWwindow` and updated window-related functions and callbacks to take
-   a window handle
- - Added `glfwSetWindowShouldClose` and `glfwWindowShouldClose` for setting and
-   retrieving the window close flag
- - Added `glfwGetWindowPos` for retrieving the position of a window
- - Added `glfwDefaultWindowHints` for resetting all window hints to their
-   default values
- - Added `glfwMakeContextCurrent` for making the context of the specified window
-   current
- - Added `glfwSetErrorCallback`, `GLFWerrorfun` and error type tokens for
-   receiving error notifications
- - Added `glfwSetWindowUserPointer` and `glfwGetWindowUserPointer` for
-   per-window user pointers
- - Added `glfwGetVersionString` for determining which code paths were enabled at
-   compile time
- - Added `glfwGetWindowMonitor` for querying the monitor, if any, of the
-   specified window
- - Added `glfwGetFramebufferSize` and `glfwSetFramebufferSizeCallback` for
-   receiving the current size, in pixels, of the framebuffer
- - Added `glfwSetWindowPosCallback` and `GLFWwindowposfun` for receiving window
-   position events
- - Added `glfwSetWindowFocusCallback` and `GLFWwindowfocusfun` for receiving
-   window focus events
- - Added `glfwSetWindowIconifyCallback` and `GLFWwindowiconifyfun` for receiving
-   window iconification events
- - Added `glfwGetClipboardString` and `glfwSetClipboardString` for interacting
-   with the system clipboard
- - Added `glfwGetJoystickName` for retrieving the name of a joystick
- - Added `glfwGetCurrentContext` for retrieving the window whose OpenGL context
-   is current
- - Added `GLFW_SRGB_CAPABLE` for requesting sRGB capable framebuffers
- - Added `GLFW_CLIENT_API` and its values `GLFW_OPENGL_API` and
-   `GLFW_OPENGL_ES_API` for selecting client API
- - Added `GLFW_CONTEXT_ROBUSTNESS` and values `GLFW_NO_ROBUSTNESS`,
-   `GLFW_NO_RESET_NOTIFICATION` and `GLFW_LOSE_CONTEXT_ON_RESET` for
-   `GL_ARB_robustness` support
- - Added `GLFW_OPENGL_REVISION` to make up for removal of `glfwGetGLVersion`
- - Added `GLFW_INCLUDE_GLCOREARB` macro for including `GL/glcorearb.h` instead of
-   `GL/gl.h`
- - Added `GLFW_INCLUDE_ES1` macro for telling the GLFW header to use `GLES/gl.h`
-   instead of `GL/gl.h`
- - Added `GLFW_INCLUDE_ES2` macro for telling the GLFW header to use
-   `GLES2/gl2.h` instead of `GL/gl.h`
- - Added `GLFW_INCLUDE_NONE` macro for telling the GLFW header to not include
-   any client API header
- - Added `GLFW_VISIBLE` window hint and parameter for controlling and polling
-   window visibility
- - Added `GLFW_REPEAT` key action for repeated keys
- - Added scancode parameter to key callback
- - Added `refreshRate` member to `GLFWvidmode` struct
- - Added key modifier parameter to key and mouse button callbacks
- - Added `windows` simple multi-window test program
- - Added `sharing` simple OpenGL object sharing test program
- - Added `modes` video mode enumeration and setting test program
- - Added `threads` simple multi-threaded rendering test program
- - Added `glfw3native.h` header and platform-specific functions for explicit
-   access to native display, window and context handles
- - Added `glfwSetGamma`, `glfwSetGammaRamp` and `glfwGetGammaRamp` functions and
-   `GLFWgammaramp` type for monitor gamma ramp control
- - Added window parameter to `glfwSwapBuffers`
- - Changed buffer bit depth parameters of `glfwOpenWindow` to window hints
- - Changed `glfwCreateWindow` and `glfwSetWindowTitle` to use UTF-8 encoded
-   strings
- - Changed `glfwGetProcAddress` to return a (generic) function pointer
- - Changed `glfwGetVideoModes` to return a dynamic, unlimited number of video
-   modes for the specified monitor
- - Changed cursor position to double-precision floating-point
- - Changed default cursor mode for fullscreen to normal
- - Renamed header directory `GL` to `GLFW`
- - Renamed `glfw.h` to `glfw3.h` to avoid conflicts with 2.x series
- - Renamed `glfwOpenWindowHint` to `glfwWindowHint`
- - Renamed `glfwGetWindowParam` to `glfwGetWindowAttrib`
- - Renamed `GLFW_ACTIVE` to `GLFW_FOCUSED`
- - Renamed `GLFW_FSAA_SAMPLES` to `GLFW_SAMPLES`
- - Renamed `GLFW_WINDOW_NO_RESIZE` to `GLFW_RESIZABLE`
- - Renamed `GLFW_BUILD_DLL` to `_GLFW_BUILD_DLL`
- - Renamed `version` test to `glfwinfo`
- - Renamed `GLFW_NO_GLU` to `GLFW_INCLUDE_GLU` and made it disabled by default
- - Renamed `glfwGetJoystickPos` to `glfwGetJoystickAxes` to match
-   `glfwGetJoystickButtons`
- - Renamed mouse position functions to cursor position equivalents
- - Replaced `glfwOpenWindow` and `glfwCloseWindow` with `glfwCreateWindow` and
-   `glfwDestroyWindow`
- - Replaced `glfwGetDesktopMode` width `glfwGetVideoMode`
- - Replaced ad hoc build system with CMake
- - Replaced layout-dependent key codes with single, platform-independent set
-   based on US layout
- - Replaced mouse wheel interface with two-dimensional, floating point scrolling
-   interface
- - Replaced `glfwEnable` and `glfwDisable` with `glfwGetInputMode` and
-   `glfwSetInputMode`
- - Replaced `joystick` test with graphical version
- - Replaced automatic closing of windows with the window close flag
- - Removed the `GLFW_KEY_REPEAT` input option
- - Removed event auto-polling and the `GLFW_AUTO_POLL_EVENTS` window enable
- - Removed the Win32 port .def files
- - Removed the entire threading API
- - Removed the entire image loading API
- - Removed deprecated Carbon port
- - Removed registering `glfwTerminate` with `atexit`
- - Removed `glfwSleep` function
- - Removed `glfwGetNumberOfProcessors` function
- - Removed `glfwGetGLVersion` function
- - Removed `GLFW_OPENED` window parameter
- - Removed `GLFW_WINDOW` and `GLFW_FULLSCREEN`
- - Removed nonsensical key actions for Unicode character input
- - Removed `GLFWCALL` and `GLFWAPIENTRY` macros for stdcall calling convention
- - Removed `GLFW_ACCELERATED` window parameter
- - Removed default framebuffer attributes from `glfwGetWindowParam`
- - Bugfix: The default OpenGL version in the `glfwinfo` test was set to 1.1
- - Bugfix: The OpenGL profile and forward-compatibility window parameters were
-           not saved after context creation
- - Bugfix: The FSAA test did not check for the availability of
-           `GL_ARB_multisample`
- - Bugfix: Cursor centering upon leaving captured cursor mode was reported
-           before the mode was changed to non-captured
- - [Cocoa] Added support for OpenGL 3.2 core profile in 10.7 Lion and above
- - [Cocoa] Added support for high-DPI (Retina) monitors
- - [Cocoa] Added support for joysticks
- - [Cocoa] Postponed menu creation to first window creation
- - [Cocoa] Replaced `NSDate` time source with `mach_absolute_time`
- - [Cocoa] Replaced all deprecated CoreGraphics calls with non-deprecated
-           counterparts
- - [Cocoa] Bugfix: The `NSOpenGLPFAFullScreen` pixel format attribute caused
-                   creation to fail on some machines
- - [Cocoa] Bugfix: `glfwCreateWindow` did not properly enforce the
-                   forward-compatible and context profile hints
- - [Cocoa] Bugfix: The loop condition for saving video modes used the wrong
-                   index variable
- - [Cocoa] Bugfix: The OpenGL framework was not retrieved, making
-                   `glfwGetProcAddress` crash
- - [Cocoa] Bugfix: `glfwInit` changed the current directory for unbundled
-                   executables
- - [Cocoa] Bugfix: The `GLFW_WINDOW_NO_RESIZE` window parameter was always zero
- - [Cocoa] Bugfix: The cursor position incorrectly rounded during conversion
- - [Cocoa] Bugfix: Cursor positioning led to nonsensical results for fullscreen
-                   windows
- - [Cocoa] Bugfix: The GLFW window was flagged as restorable
- - [X11] Added support for the `GLX_EXT_swap_control` and
-         `GLX_MESA_swap_control` extensions as alternatives to
-         `GLX_SGI_swap_control`
- - [X11] Added the POSIX `CLOCK_MONOTONIC` time source as the preferred method
- - [X11] Added dependency on libm, where present
- - [X11] Added support for the `_NET_WM_NAME` and `_NET_WM_ICON_NAME` EWMH
-         window properties
- - [X11] Made client-side RandR and Xf86VidMode extensions required
- - [X11] Bugfix: Some window properties required by the ICCCM were not set
- - [X11] Bugfix: Calling `glXCreateContextAttribsARB` with an unavailable OpenGL
-                 version caused the application to terminate with a `BadMatch`
-                 Xlib error
- - [X11] Bugfix: A synchronization point necessary for jitter-free locked cursor
-                 mode was incorrectly removed
- - [X11] Bugfix: The window size hints were not updated when calling
-                 `glfwSetWindowSize` on a non-resizable window
- - [Win32] Added support for high-DPI monitors
- - [Win32] Changed port to use Unicode mode only
- - [Win32] Removed explicit support for versions of Windows older than Windows
-           XP
- - [Win32] Bugfix: Window activation and iconification did not work as expected
- - [Win32] Bugfix: Software rasterizer pixel formats were not discarded by the
-                   `WGL_ARB_pixel_format` code path
- - [Win32] Bugfix: The array for WGL context attributes was too small and could
-                   overflow
- - [Win32] Bugfix: Alt+F4 hot key was not translated into `WM_CLOSE`
- - [Win32] Bugfix: The `GLFW_WINDOW_NO_RESIZE` window parameter was always zero
- - [Win32] Bugfix: A test was missing for whether all available pixel formats
-                   had been disqualified
-
-
-## Contact
-
-The official website for GLFW is [glfw.org](http://www.glfw.org/).  There you
-can find the latest version of GLFW, as well as news, documentation and other
-information about the project.
-
-If you have questions related to the use of GLFW, we have a
-[support forum](https://sourceforge.net/p/glfw/discussion/247562/), and the IRC
-channel `#glfw` on [Freenode](http://freenode.net/).
-
-If you have a bug to report, a patch to submit or a feature you'd like to
-request, please file it in one of the
-[issue trackers](https://sourceforge.net/p/glfw/_list/tickets) on SF.net.
-
-Finally, if you're interested in helping out with the development of GLFW or
-porting it to your favorite platform, we have a
-[developer's mailing list](https://lists.stacken.kth.se/mailman/listinfo/glfw-dev),
-or you could join us on `#glfw`.
-
-
-## Acknowledgements
-
-GLFW exists because people around the world donated their time and lent their
-skills.
-
- - Bobyshev Alexander
- - artblanc
- - Matt Arsenault
- - Keith Bauer
- - John Bartholomew
- - Niklas Bergström
- - blanco
- - Lambert Clara
- - Noel Cower
- - Jarrod Davis
- - Olivier Delannoy
- - Paul R. Deppe
- - Jonathan Dummer
- - Ralph Eastwood
- - Gerald Franz
- - GeO4d
- - Marcus Geelnard
- - Stefan Gustavson
- - Sylvain Hellegouarch
- - heromyth
- - Toni Jovanoski
- - Osman Keskin
- - Cameron King
- - Peter Knut
- - Robin Leffmann
- - Glenn Lewis
- - Shane Liesegang
- - Дмитри Малышев
- - Martins Mozeiko
- - Tristam MacDonald
- - Hans Mackowiak
- - David Medlock
- - Jonathan Mercier
- - Marcel Metz
- - Kenneth Miller
- - Jeff Molofee
- - Jon Morton
- - Julian Møller
- - Ozzy at Orkysquad
- - Peoro
- - Braden Pellett
- - Arturo J. Pérez
- - Jorge Rodriguez
- - Ed Ropple
- - Riku Salminen
- - Sebastian Schuberth
- - Matt Sealey
- - SephiRok
- - Steve Sexton
- - Dmitri Shuralyov
- - Daniel Skorupski
- - Bradley Smith
- - Julian Squires
- - Johannes Stein
- - Nathan Sweet
- - TTK-Bandit
- - Sergey Tikhomirov
- - Samuli Tuomola
- - Jari Vetoniemi
- - Simon Voordouw
- - Torsten Walluhn
- - Jay Weisskopf
- - Frank Wille
- - yuriks
- - Santi Zupancic
- - Lasse Öörni
- - All the unmentioned and anonymous contributors in the GLFW community, for bug
-   reports, patches, feedback, testing and encouragement
-

3rdparty/glfw/cmake_uninstall.cmake.in

-
-if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt")
-  message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"")
-endif()
-
-file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files)
-string(REGEX REPLACE "\n" ";" files "${files}")
-
-foreach (file ${files})
-  message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"")
-  if (EXISTS "$ENV{DESTDIR}${file}")
-    exec_program("@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
-                 OUTPUT_VARIABLE rm_out
-                 RETURN_VALUE rm_retval)
-    if (NOT "${rm_retval}" STREQUAL 0)
-      MESSAGE(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"")
-    endif()
-  elseif (IS_SYMLINK "$ENV{DESTDIR}${file}")
-    EXEC_PROGRAM("@CMAKE_COMMAND@" ARGS "-E remove \"$ENV{DESTDIR}${file}\""
-                 OUTPUT_VARIABLE rm_out
-                 RETURN_VALUE rm_retval)
-    if (NOT "${rm_retval}" STREQUAL 0)
-      message(FATAL_ERROR "Problem when removing symlink \"$ENV{DESTDIR}${file}\"")
-    endif()
-  else()
-    message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.")
-  endif()
-endforeach()
-

3rdparty/glfw/deps/EGL/eglext.h

-#ifndef __eglext_h_
-#define __eglext_h_
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/*
-** Copyright (c) 2007-2013 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
-** "Materials"), to deal in the Materials without restriction, including
-** without limitation the rights to use, copy, modify, merge, publish,
-** distribute, sublicense, and/or sell copies of the Materials, and to
-** permit persons to whom the Materials are 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 Materials.
-**
-** THE MATERIALS ARE 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
-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-*/
-
-#include <EGL/eglplatform.h>
-
-/*************************************************************/
-
-/* Header file version number */
-/* Current version at http://www.khronos.org/registry/egl/ */
-/* $Revision: 20690 $ on $Date: 2013-02-22 17:15:05 -0800 (Fri, 22 Feb 2013) $ */
-#define EGL_EGLEXT_VERSION 15
-
-#ifndef EGL_KHR_config_attribs
-#define EGL_KHR_config_attribs 1
-#define EGL_CONFORMANT_KHR			0x3042	/* EGLConfig attribute */
-#define EGL_VG_COLORSPACE_LINEAR_BIT_KHR	0x0020	/* EGL_SURFACE_TYPE bitfield */
-#define EGL_VG_ALPHA_FORMAT_PRE_BIT_KHR		0x0040	/* EGL_SURFACE_TYPE bitfield */
-#endif
-
-#ifndef EGL_KHR_lock_surface
-#define EGL_KHR_lock_surface 1
-#define EGL_READ_SURFACE_BIT_KHR		0x0001	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
-#define EGL_WRITE_SURFACE_BIT_KHR		0x0002	/* EGL_LOCK_USAGE_HINT_KHR bitfield */
-#define EGL_LOCK_SURFACE_BIT_KHR		0x0080	/* EGL_SURFACE_TYPE bitfield */
-#define EGL_OPTIMAL_FORMAT_BIT_KHR		0x0100	/* EGL_SURFACE_TYPE bitfield */
-#define EGL_MATCH_FORMAT_KHR			0x3043	/* EGLConfig attribute */
-#define EGL_FORMAT_RGB_565_EXACT_KHR		0x30C0	/* EGL_MATCH_FORMAT_KHR value */
-#define EGL_FORMAT_RGB_565_KHR			0x30C1	/* EGL_MATCH_FORMAT_KHR value */
-#define EGL_FORMAT_RGBA_8888_EXACT_KHR		0x30C2	/* EGL_MATCH_FORMAT_KHR value */
-#define EGL_FORMAT_RGBA_8888_KHR		0x30C3	/* EGL_MATCH_FORMAT_KHR value */
-#define EGL_MAP_PRESERVE_PIXELS_KHR		0x30C4	/* eglLockSurfaceKHR attribute */
-#define EGL_LOCK_USAGE_HINT_KHR			0x30C5	/* eglLockSurfaceKHR attribute */
-#define EGL_BITMAP_POINTER_KHR			0x30C6	/* eglQuerySurface attribute */
-#define EGL_BITMAP_PITCH_KHR			0x30C7	/* eglQuerySurface attribute */
-#define EGL_BITMAP_ORIGIN_KHR			0x30C8	/* eglQuerySurface attribute */
-#define EGL_BITMAP_PIXEL_RED_OFFSET_KHR		0x30C9	/* eglQuerySurface attribute */
-#define EGL_BITMAP_PIXEL_GREEN_OFFSET_KHR	0x30CA	/* eglQuerySurface attribute */
-#define EGL_BITMAP_PIXEL_BLUE_OFFSET_KHR	0x30CB	/* eglQuerySurface attribute */
-#define EGL_BITMAP_PIXEL_ALPHA_OFFSET_KHR	0x30CC	/* eglQuerySurface attribute */
-#define EGL_BITMAP_PIXEL_LUMINANCE_OFFSET_KHR	0x30CD	/* eglQuerySurface attribute */
-#define EGL_LOWER_LEFT_KHR			0x30CE	/* EGL_BITMAP_ORIGIN_KHR value */
-#define EGL_UPPER_LEFT_KHR			0x30CF	/* EGL_BITMAP_ORIGIN_KHR value */
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLBoolean EGLAPIENTRY eglLockSurfaceKHR (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
-EGLAPI EGLBoolean EGLAPIENTRY eglUnlockSurfaceKHR (EGLDisplay display, EGLSurface surface);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface, const EGLint *attrib_list);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNLOCKSURFACEKHRPROC) (EGLDisplay display, EGLSurface surface);
-#endif
-
-#ifndef EGL_KHR_image
-#define EGL_KHR_image 1
-#define EGL_NATIVE_PIXMAP_KHR			0x30B0	/* eglCreateImageKHR target */
-typedef void *EGLImageKHR;
-#define EGL_NO_IMAGE_KHR			((EGLImageKHR)0)
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLImageKHR EGLAPIENTRY eglCreateImageKHR (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
-EGLAPI EGLBoolean EGLAPIENTRY eglDestroyImageKHR (EGLDisplay dpy, EGLImageKHR image);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEIMAGEKHRPROC) (EGLDisplay dpy, EGLContext ctx, EGLenum target, EGLClientBuffer buffer, const EGLint *attrib_list);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYIMAGEKHRPROC) (EGLDisplay dpy, EGLImageKHR image);
-#endif
-
-#ifndef EGL_KHR_vg_parent_image
-#define EGL_KHR_vg_parent_image 1
-#define EGL_VG_PARENT_IMAGE_KHR			0x30BA	/* eglCreateImageKHR target */
-#endif
-
-#ifndef EGL_KHR_gl_texture_2D_image
-#define EGL_KHR_gl_texture_2D_image 1
-#define EGL_GL_TEXTURE_2D_KHR			0x30B1	/* eglCreateImageKHR target */
-#define EGL_GL_TEXTURE_LEVEL_KHR		0x30BC	/* eglCreateImageKHR attribute */
-#endif
-
-#ifndef EGL_KHR_gl_texture_cubemap_image
-#define EGL_KHR_gl_texture_cubemap_image 1
-#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_X_KHR	0x30B3	/* eglCreateImageKHR target */
-#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_X_KHR	0x30B4	/* eglCreateImageKHR target */
-#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Y_KHR	0x30B5	/* eglCreateImageKHR target */
-#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_KHR	0x30B6	/* eglCreateImageKHR target */
-#define EGL_GL_TEXTURE_CUBE_MAP_POSITIVE_Z_KHR	0x30B7	/* eglCreateImageKHR target */
-#define EGL_GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_KHR	0x30B8	/* eglCreateImageKHR target */
-#endif
-
-#ifndef EGL_KHR_gl_texture_3D_image
-#define EGL_KHR_gl_texture_3D_image 1
-#define EGL_GL_TEXTURE_3D_KHR			0x30B2	/* eglCreateImageKHR target */
-#define EGL_GL_TEXTURE_ZOFFSET_KHR		0x30BD	/* eglCreateImageKHR attribute */
-#endif
-
-#ifndef EGL_KHR_gl_renderbuffer_image
-#define EGL_KHR_gl_renderbuffer_image 1
-#define EGL_GL_RENDERBUFFER_KHR			0x30B9	/* eglCreateImageKHR target */
-#endif
-
-#if KHRONOS_SUPPORT_INT64   /* EGLTimeKHR requires 64-bit uint support */
-#ifndef EGL_KHR_reusable_sync
-#define EGL_KHR_reusable_sync 1
-
-typedef void* EGLSyncKHR;
-typedef khronos_utime_nanoseconds_t EGLTimeKHR;
-
-#define EGL_SYNC_STATUS_KHR			0x30F1
-#define EGL_SIGNALED_KHR			0x30F2
-#define EGL_UNSIGNALED_KHR			0x30F3
-#define EGL_TIMEOUT_EXPIRED_KHR			0x30F5
-#define EGL_CONDITION_SATISFIED_KHR		0x30F6
-#define EGL_SYNC_TYPE_KHR			0x30F7
-#define EGL_SYNC_REUSABLE_KHR			0x30FA
-#define EGL_SYNC_FLUSH_COMMANDS_BIT_KHR		0x0001	/* eglClientWaitSyncKHR <flags> bitfield */
-#define EGL_FOREVER_KHR				0xFFFFFFFFFFFFFFFFull
-#define EGL_NO_SYNC_KHR				((EGLSyncKHR)0)
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLSyncKHR EGLAPIENTRY eglCreateSyncKHR(EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
-EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncKHR(EGLDisplay dpy, EGLSyncKHR sync);
-EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
-EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
-EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribKHR(EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLSyncKHR (EGLAPIENTRYP PFNEGLCREATESYNCKHRPROC) (EGLDisplay dpy, EGLenum type, const EGLint *attrib_list);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync);
-typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint flags, EGLTimeKHR timeout);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLenum mode);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBKHRPROC) (EGLDisplay dpy, EGLSyncKHR sync, EGLint attribute, EGLint *value);
-#endif
-#endif
-
-#ifndef EGL_KHR_image_base
-#define EGL_KHR_image_base 1
-/* Most interfaces defined by EGL_KHR_image_pixmap above */
-#define EGL_IMAGE_PRESERVED_KHR			0x30D2	/* eglCreateImageKHR attribute */
-#endif
-
-#ifndef EGL_KHR_image_pixmap
-#define EGL_KHR_image_pixmap 1
-/* Interfaces defined by EGL_KHR_image above */
-#endif
-
-#ifndef EGL_IMG_context_priority
-#define EGL_IMG_context_priority 1
-#define EGL_CONTEXT_PRIORITY_LEVEL_IMG		0x3100
-#define EGL_CONTEXT_PRIORITY_HIGH_IMG		0x3101
-#define EGL_CONTEXT_PRIORITY_MEDIUM_IMG		0x3102
-#define EGL_CONTEXT_PRIORITY_LOW_IMG		0x3103
-#endif
-
-#ifndef EGL_KHR_lock_surface2
-#define EGL_KHR_lock_surface2 1
-#define EGL_BITMAP_PIXEL_SIZE_KHR		0x3110
-#endif
-
-#ifndef EGL_NV_coverage_sample
-#define EGL_NV_coverage_sample 1
-#define EGL_COVERAGE_BUFFERS_NV			0x30E0
-#define EGL_COVERAGE_SAMPLES_NV			0x30E1
-#endif
-
-#ifndef EGL_NV_depth_nonlinear
-#define EGL_NV_depth_nonlinear 1
-#define EGL_DEPTH_ENCODING_NV			0x30E2
-#define EGL_DEPTH_ENCODING_NONE_NV 0
-#define EGL_DEPTH_ENCODING_NONLINEAR_NV		0x30E3
-#endif
-
-#if KHRONOS_SUPPORT_INT64   /* EGLTimeNV requires 64-bit uint support */
-#ifndef EGL_NV_sync
-#define EGL_NV_sync 1
-#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_NV	0x30E6
-#define EGL_SYNC_STATUS_NV			0x30E7
-#define EGL_SIGNALED_NV				0x30E8
-#define EGL_UNSIGNALED_NV			0x30E9
-#define EGL_SYNC_FLUSH_COMMANDS_BIT_NV		0x0001
-#define EGL_FOREVER_NV				0xFFFFFFFFFFFFFFFFull
-#define EGL_ALREADY_SIGNALED_NV			0x30EA
-#define EGL_TIMEOUT_EXPIRED_NV			0x30EB
-#define EGL_CONDITION_SATISFIED_NV		0x30EC
-#define EGL_SYNC_TYPE_NV			0x30ED
-#define EGL_SYNC_CONDITION_NV			0x30EE
-#define EGL_SYNC_FENCE_NV			0x30EF
-#define EGL_NO_SYNC_NV				((EGLSyncNV)0)
-typedef void* EGLSyncNV;
-typedef khronos_utime_nanoseconds_t EGLTimeNV;
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLSyncNV EGLAPIENTRY eglCreateFenceSyncNV (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
-EGLAPI EGLBoolean EGLAPIENTRY eglDestroySyncNV (EGLSyncNV sync);
-EGLAPI EGLBoolean EGLAPIENTRY eglFenceNV (EGLSyncNV sync);
-EGLAPI EGLint EGLAPIENTRY eglClientWaitSyncNV (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
-EGLAPI EGLBoolean EGLAPIENTRY eglSignalSyncNV (EGLSyncNV sync, EGLenum mode);
-EGLAPI EGLBoolean EGLAPIENTRY eglGetSyncAttribNV (EGLSyncNV sync, EGLint attribute, EGLint *value);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLSyncNV (EGLAPIENTRYP PFNEGLCREATEFENCESYNCNVPROC) (EGLDisplay dpy, EGLenum condition, const EGLint *attrib_list);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSYNCNVPROC) (EGLSyncNV sync);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLFENCENVPROC) (EGLSyncNV sync);
-typedef EGLint (EGLAPIENTRYP PFNEGLCLIENTWAITSYNCNVPROC) (EGLSyncNV sync, EGLint flags, EGLTimeNV timeout);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLSIGNALSYNCNVPROC) (EGLSyncNV sync, EGLenum mode);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLGETSYNCATTRIBNVPROC) (EGLSyncNV sync, EGLint attribute, EGLint *value);
-#endif
-#endif
-
-#if KHRONOS_SUPPORT_INT64   /* Dependent on EGL_KHR_reusable_sync which requires 64-bit uint support */
-#ifndef EGL_KHR_fence_sync
-#define EGL_KHR_fence_sync 1
-/* Reuses most tokens and entry points from EGL_KHR_reusable_sync */
-#define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR	0x30F0
-#define EGL_SYNC_CONDITION_KHR			0x30F8
-#define EGL_SYNC_FENCE_KHR			0x30F9
-#endif
-#endif
-
-#ifndef EGL_HI_clientpixmap
-#define EGL_HI_clientpixmap 1
-
-/* Surface Attribute */
-#define EGL_CLIENT_PIXMAP_POINTER_HI		0x8F74
-/*
- * Structure representing a client pixmap
- * (pixmap's data is in client-space memory).
- */
-struct EGLClientPixmapHI
-{
-	void*		pData;
-	EGLint		iWidth;
-	EGLint		iHeight;
-	EGLint		iStride;
-};
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurfaceHI(EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATEPIXMAPSURFACEHIPROC) (EGLDisplay dpy, EGLConfig config, struct EGLClientPixmapHI* pixmap);
-#endif	/* EGL_HI_clientpixmap */
-
-#ifndef EGL_HI_colorformats
-#define EGL_HI_colorformats 1
-/* Config Attribute */
-#define EGL_COLOR_FORMAT_HI			0x8F70
-/* Color Formats */
-#define EGL_COLOR_RGB_HI			0x8F71
-#define EGL_COLOR_RGBA_HI			0x8F72
-#define EGL_COLOR_ARGB_HI			0x8F73
-#endif /* EGL_HI_colorformats */
-
-#ifndef EGL_MESA_drm_image
-#define EGL_MESA_drm_image 1
-#define EGL_DRM_BUFFER_FORMAT_MESA		0x31D0	    /* CreateDRMImageMESA attribute */
-#define EGL_DRM_BUFFER_USE_MESA			0x31D1	    /* CreateDRMImageMESA attribute */
-#define EGL_DRM_BUFFER_FORMAT_ARGB32_MESA	0x31D2	    /* EGL_IMAGE_FORMAT_MESA attribute value */
-#define EGL_DRM_BUFFER_MESA			0x31D3	    /* eglCreateImageKHR target */
-#define EGL_DRM_BUFFER_STRIDE_MESA		0x31D4
-#define EGL_DRM_BUFFER_USE_SCANOUT_MESA		0x00000001  /* EGL_DRM_BUFFER_USE_MESA bits */
-#define EGL_DRM_BUFFER_USE_SHARE_MESA		0x00000002  /* EGL_DRM_BUFFER_USE_MESA bits */
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLImageKHR EGLAPIENTRY eglCreateDRMImageMESA (EGLDisplay dpy, const EGLint *attrib_list);
-EGLAPI EGLBoolean EGLAPIENTRY eglExportDRMImageMESA (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLImageKHR (EGLAPIENTRYP PFNEGLCREATEDRMIMAGEMESAPROC) (EGLDisplay dpy, const EGLint *attrib_list);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLEXPORTDRMIMAGEMESAPROC) (EGLDisplay dpy, EGLImageKHR image, EGLint *name, EGLint *handle, EGLint *stride);
-#endif
-
-#ifndef EGL_NV_post_sub_buffer
-#define EGL_NV_post_sub_buffer 1
-#define EGL_POST_SUB_BUFFER_SUPPORTED_NV	0x30BE
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLPOSTSUBBUFFERNVPROC) (EGLDisplay dpy, EGLSurface surface, EGLint x, EGLint y, EGLint width, EGLint height);
-#endif
-
-#ifndef EGL_ANGLE_query_surface_pointer
-#define EGL_ANGLE_query_surface_pointer 1
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLBoolean eglQuerySurfacePointerANGLE(EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
-#endif
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSURFACEPOINTERANGLEPROC) (EGLDisplay dpy, EGLSurface surface, EGLint attribute, void **value);
-#endif
-
-#ifndef EGL_ANGLE_surface_d3d_texture_2d_share_handle
-#define EGL_ANGLE_surface_d3d_texture_2d_share_handle 1
-#define EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE	0x3200
-#endif
-
-#ifndef EGL_NV_coverage_sample_resolve
-#define EGL_NV_coverage_sample_resolve 1
-#define EGL_COVERAGE_SAMPLE_RESOLVE_NV		0x3131
-#define EGL_COVERAGE_SAMPLE_RESOLVE_DEFAULT_NV	0x3132
-#define EGL_COVERAGE_SAMPLE_RESOLVE_NONE_NV	0x3133
-#endif
-
-#if KHRONOS_SUPPORT_INT64   /* EGLuint64NV requires 64-bit uint support */
-#ifndef EGL_NV_system_time
-#define EGL_NV_system_time 1
-typedef khronos_utime_nanoseconds_t EGLuint64NV;
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeFrequencyNV(void);
-EGLAPI EGLuint64NV EGLAPIENTRY eglGetSystemTimeNV(void);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMEFREQUENCYNVPROC) (void);
-typedef EGLuint64NV (EGLAPIENTRYP PFNEGLGETSYSTEMTIMENVPROC) (void);
-#endif
-#endif
-
-#if KHRONOS_SUPPORT_INT64 /* EGLuint64KHR requires 64-bit uint support */
-#ifndef EGL_KHR_stream
-#define EGL_KHR_stream 1
-typedef void* EGLStreamKHR;
-typedef khronos_uint64_t EGLuint64KHR;
-#define EGL_NO_STREAM_KHR			((EGLStreamKHR)0)
-#define EGL_CONSUMER_LATENCY_USEC_KHR		0x3210
-#define EGL_PRODUCER_FRAME_KHR			0x3212
-#define EGL_CONSUMER_FRAME_KHR			0x3213
-#define EGL_STREAM_STATE_KHR			0x3214
-#define EGL_STREAM_STATE_CREATED_KHR		0x3215
-#define EGL_STREAM_STATE_CONNECTING_KHR		0x3216
-#define EGL_STREAM_STATE_EMPTY_KHR		0x3217
-#define EGL_STREAM_STATE_NEW_FRAME_AVAILABLE_KHR    0x3218
-#define EGL_STREAM_STATE_OLD_FRAME_AVAILABLE_KHR    0x3219
-#define EGL_STREAM_STATE_DISCONNECTED_KHR	0x321A
-#define EGL_BAD_STREAM_KHR			0x321B
-#define EGL_BAD_STATE_KHR			0x321C
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamKHR(EGLDisplay dpy, const EGLint *attrib_list);
-EGLAPI EGLBoolean EGLAPIENTRY eglDestroyStreamKHR(EGLDisplay dpy, EGLStreamKHR stream);
-EGLAPI EGLBoolean EGLAPIENTRY eglStreamAttribKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
-EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
-EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamu64KHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMKHRPROC)(EGLDisplay dpy, const EGLint *attrib_list);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLDESTROYSTREAMKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMATTRIBKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint value);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLint *value);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMU64KHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLuint64KHR *value);
-#endif
-#endif
-
-#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
-#ifndef EGL_KHR_stream_consumer_gltexture
-#define EGL_KHR_stream_consumer_gltexture 1
-#define EGL_CONSUMER_ACQUIRE_TIMEOUT_USEC_KHR	0x321E
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerGLTextureExternalKHR(EGLDisplay dpy, EGLStreamKHR stream);
-EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerAcquireKHR(EGLDisplay dpy, EGLStreamKHR stream);
-EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerReleaseKHR(EGLDisplay dpy, EGLStreamKHR stream);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERGLTEXTUREEXTERNALKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERACQUIREKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMCONSUMERRELEASEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
-#endif
-#endif
-
-#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
-#ifndef EGL_KHR_stream_producer_eglsurface
-#define EGL_KHR_stream_producer_eglsurface 1
-#define EGL_STREAM_BIT_KHR			0x0800
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLSurface EGLAPIENTRY eglCreateStreamProducerSurfaceKHR(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLSurface (EGLAPIENTRYP PFNEGLCREATESTREAMPRODUCERSURFACEKHRPROC)(EGLDisplay dpy, EGLConfig config, EGLStreamKHR stream, const EGLint *attrib_list);
-#endif
-#endif
-
-#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
-#ifndef EGL_KHR_stream_producer_aldatalocator
-#define EGL_KHR_stream_producer_aldatalocator 1
-#endif
-#endif
-
-#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
-#ifndef EGL_KHR_stream_fifo
-#define EGL_KHR_stream_fifo 1
-/* reuse EGLTimeKHR */
-#define EGL_STREAM_FIFO_LENGTH_KHR		0x31FC
-#define EGL_STREAM_TIME_NOW_KHR			0x31FD
-#define EGL_STREAM_TIME_CONSUMER_KHR		0x31FE
-#define EGL_STREAM_TIME_PRODUCER_KHR		0x31FF
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLBoolean EGLAPIENTRY eglQueryStreamTimeKHR(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSTREAMTIMEKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream, EGLenum attribute, EGLTimeKHR *value);
-#endif
-#endif
-
-#ifndef EGL_EXT_create_context_robustness
-#define EGL_EXT_create_context_robustness 1
-#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_EXT	0x30BF
-#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_EXT 0x3138
-#define EGL_NO_RESET_NOTIFICATION_EXT		0x31BE
-#define EGL_LOSE_CONTEXT_ON_RESET_EXT		0x31BF
-#endif
-
-#ifndef EGL_ANGLE_d3d_share_handle_client_buffer
-#define EGL_ANGLE_d3d_share_handle_client_buffer 1
-/* reuse EGL_D3D_TEXTURE_2D_SHARE_HANDLE_ANGLE */
-#endif
-
-#ifndef EGL_KHR_create_context
-#define EGL_KHR_create_context 1
-#define EGL_CONTEXT_MAJOR_VERSION_KHR			    EGL_CONTEXT_CLIENT_VERSION
-#define EGL_CONTEXT_MINOR_VERSION_KHR			    0x30FB
-#define EGL_CONTEXT_FLAGS_KHR				    0x30FC
-#define EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR		    0x30FD
-#define EGL_CONTEXT_OPENGL_RESET_NOTIFICATION_STRATEGY_KHR  0x31BD
-#define EGL_NO_RESET_NOTIFICATION_KHR			    0x31BE
-#define EGL_LOSE_CONTEXT_ON_RESET_KHR			    0x31BF
-#define EGL_CONTEXT_OPENGL_DEBUG_BIT_KHR		    0x00000001
-#define EGL_CONTEXT_OPENGL_FORWARD_COMPATIBLE_BIT_KHR	    0x00000002
-#define EGL_CONTEXT_OPENGL_ROBUST_ACCESS_BIT_KHR	    0x00000004
-#define EGL_CONTEXT_OPENGL_CORE_PROFILE_BIT_KHR		    0x00000001
-#define EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR    0x00000002
-#define EGL_OPENGL_ES3_BIT_KHR				    0x00000040
-#endif
-
-#ifndef EGL_KHR_surfaceless_context
-#define EGL_KHR_surfaceless_context 1
-/* No tokens/entry points, just relaxes an error condition */
-#endif
-
-#ifdef EGL_KHR_stream /* Requires KHR_stream extension */
-#ifndef EGL_KHR_stream_cross_process_fd
-#define EGL_KHR_stream_cross_process_fd 1
-typedef int EGLNativeFileDescriptorKHR;
-#define EGL_NO_FILE_DESCRIPTOR_KHR		((EGLNativeFileDescriptorKHR)(-1))
-#ifdef EGL_EGLEXT_PROTOTYPES
-EGLAPI EGLNativeFileDescriptorKHR EGLAPIENTRY eglGetStreamFileDescriptorKHR(EGLDisplay dpy, EGLStreamKHR stream);
-EGLAPI EGLStreamKHR EGLAPIENTRY eglCreateStreamFromFileDescriptorKHR(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
-#endif /* EGL_EGLEXT_PROTOTYPES */
-typedef EGLNativeFileDescriptorKHR (EGLAPIENTRYP PFNEGLGETSTREAMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLStreamKHR stream);
-typedef EGLStreamKHR (EGLAPIENTRYP PFNEGLCREATESTREAMFROMFILEDESCRIPTORKHRPROC)(EGLDisplay dpy, EGLNativeFileDescriptorKHR file_descriptor);
-#endif
-#endif