1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
5 #if !defined(GLTYPES_H_)
14 # define GLAPIENTRY APIENTRY
22 typedef int8_t realGLboolean
;
24 #if !defined(__gltypes_h_) && !defined(__gl_h_)
28 typedef uint32_t GLenum
;
29 typedef uint32_t GLbitfield
;
30 typedef uint32_t GLuint
;
31 typedef int32_t GLint
;
32 typedef int32_t GLsizei
;
33 typedef int8_t GLbyte
;
34 typedef int16_t GLshort
;
35 typedef uint8_t GLubyte
;
36 typedef uint16_t GLushort
;
37 typedef float GLfloat
;
38 typedef float GLclampf
;
39 #ifndef GLdouble_defined
40 typedef double GLdouble
;
42 typedef double GLclampd
;
47 typedef intptr_t GLsizeiptr
;
48 typedef intptr_t GLintptr
;
51 #endif /* #if !defined(__gltypes_h_) && !defined(__gl_h_) */
56 typedef struct __GLsync
* GLsync
;
57 typedef int64_t GLint64
;
58 typedef uint64_t GLuint64
;
60 // OES_EGL_image (GLES)
61 typedef void* GLeglImage
;
64 typedef void (GLAPIENTRY
*GLDEBUGPROC
)(GLenum source
,
69 const GLchar
* message
,
70 const GLvoid
* userParam
);
73 typedef void* EGLImage
;
75 typedef unsigned int EGLBoolean
;
76 typedef unsigned int EGLenum
;
77 typedef void *EGLConfig
;
78 typedef void *EGLContext
;
79 typedef void *EGLDisplay
;
80 typedef void *EGLSurface
;
81 typedef void *EGLClientBuffer
;
82 typedef void *EGLCastToRelevantPtr
;
83 typedef void *EGLImage
;
84 typedef void *EGLSync
;
85 typedef uint64_t EGLTime
;
87 #define EGL_NO_CONTEXT ((EGLContext)0)
88 #define EGL_NO_DISPLAY ((EGLDisplay)0)
89 #define EGL_NO_SURFACE ((EGLSurface)0)
90 #define EGL_NO_CONFIG ((EGLConfig)nullptr)
91 #define EGL_NO_SYNC ((EGLSync)0)
92 #define EGL_NO_IMAGE ((EGLImage)0)