michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #if !defined(GLTYPES_H_) michael@0: #define GLTYPES_H_ michael@0: michael@0: #include michael@0: #include michael@0: michael@0: #ifndef GLAPIENTRY michael@0: # ifdef WIN32 michael@0: # include michael@0: # define GLAPIENTRY APIENTRY michael@0: # define GLAPI michael@0: # else michael@0: # define GLAPIENTRY michael@0: # define GLAPI michael@0: # endif michael@0: #endif michael@0: michael@0: typedef int8_t realGLboolean; michael@0: michael@0: #if !defined(__gltypes_h_) && !defined(__gl_h_) michael@0: #define __gltypes_h_ michael@0: #define __gl_h_ michael@0: michael@0: typedef uint32_t GLenum; michael@0: typedef uint32_t GLbitfield; michael@0: typedef uint32_t GLuint; michael@0: typedef int32_t GLint; michael@0: typedef int32_t GLsizei; michael@0: typedef int8_t GLbyte; michael@0: typedef int16_t GLshort; michael@0: typedef uint8_t GLubyte; michael@0: typedef uint16_t GLushort; michael@0: typedef float GLfloat; michael@0: typedef float GLclampf; michael@0: #ifndef GLdouble_defined michael@0: typedef double GLdouble; michael@0: #endif michael@0: typedef double GLclampd; michael@0: typedef void GLvoid; michael@0: michael@0: typedef char GLchar; michael@0: #ifndef __gl2_h_ michael@0: typedef intptr_t GLsizeiptr; michael@0: typedef intptr_t GLintptr; michael@0: #endif michael@0: michael@0: #endif /* #if !defined(__gltypes_h_) && !defined(__gl_h_) */ michael@0: michael@0: #include michael@0: michael@0: // ARB_sync michael@0: typedef struct __GLsync* GLsync; michael@0: typedef int64_t GLint64; michael@0: typedef uint64_t GLuint64; michael@0: michael@0: // OES_EGL_image (GLES) michael@0: typedef void* GLeglImage; michael@0: michael@0: // KHR_debug michael@0: typedef void (GLAPIENTRY *GLDEBUGPROC)(GLenum source, michael@0: GLenum type, michael@0: GLuint id, michael@0: GLenum severity, michael@0: GLsizei length, michael@0: const GLchar* message, michael@0: const GLvoid* userParam); michael@0: michael@0: // EGL types michael@0: typedef void* EGLImage; michael@0: typedef int EGLint; michael@0: typedef unsigned int EGLBoolean; michael@0: typedef unsigned int EGLenum; michael@0: typedef void *EGLConfig; michael@0: typedef void *EGLContext; michael@0: typedef void *EGLDisplay; michael@0: typedef void *EGLSurface; michael@0: typedef void *EGLClientBuffer; michael@0: typedef void *EGLCastToRelevantPtr; michael@0: typedef void *EGLImage; michael@0: typedef void *EGLSync; michael@0: typedef uint64_t EGLTime; michael@0: michael@0: #define EGL_NO_CONTEXT ((EGLContext)0) michael@0: #define EGL_NO_DISPLAY ((EGLDisplay)0) michael@0: #define EGL_NO_SURFACE ((EGLSurface)0) michael@0: #define EGL_NO_CONFIG ((EGLConfig)nullptr) michael@0: #define EGL_NO_SYNC ((EGLSync)0) michael@0: #define EGL_NO_IMAGE ((EGLImage)0) michael@0: michael@0: #endif