|
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/. */ |
|
4 |
|
5 #if !defined(GLTYPES_H_) |
|
6 #define GLTYPES_H_ |
|
7 |
|
8 #include <stddef.h> |
|
9 #include <stdint.h> |
|
10 |
|
11 #ifndef GLAPIENTRY |
|
12 # ifdef WIN32 |
|
13 # include <windef.h> |
|
14 # define GLAPIENTRY APIENTRY |
|
15 # define GLAPI |
|
16 # else |
|
17 # define GLAPIENTRY |
|
18 # define GLAPI |
|
19 # endif |
|
20 #endif |
|
21 |
|
22 typedef int8_t realGLboolean; |
|
23 |
|
24 #if !defined(__gltypes_h_) && !defined(__gl_h_) |
|
25 #define __gltypes_h_ |
|
26 #define __gl_h_ |
|
27 |
|
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; |
|
41 #endif |
|
42 typedef double GLclampd; |
|
43 typedef void GLvoid; |
|
44 |
|
45 typedef char GLchar; |
|
46 #ifndef __gl2_h_ |
|
47 typedef intptr_t GLsizeiptr; |
|
48 typedef intptr_t GLintptr; |
|
49 #endif |
|
50 |
|
51 #endif /* #if !defined(__gltypes_h_) && !defined(__gl_h_) */ |
|
52 |
|
53 #include <stdint.h> |
|
54 |
|
55 // ARB_sync |
|
56 typedef struct __GLsync* GLsync; |
|
57 typedef int64_t GLint64; |
|
58 typedef uint64_t GLuint64; |
|
59 |
|
60 // OES_EGL_image (GLES) |
|
61 typedef void* GLeglImage; |
|
62 |
|
63 // KHR_debug |
|
64 typedef void (GLAPIENTRY *GLDEBUGPROC)(GLenum source, |
|
65 GLenum type, |
|
66 GLuint id, |
|
67 GLenum severity, |
|
68 GLsizei length, |
|
69 const GLchar* message, |
|
70 const GLvoid* userParam); |
|
71 |
|
72 // EGL types |
|
73 typedef void* EGLImage; |
|
74 typedef int EGLint; |
|
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; |
|
86 |
|
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) |
|
93 |
|
94 #endif |