Bumping manifests a=b2g-bump
[gecko.git] / gfx / gl / GLTypes.h
blobb155d2e12acf7f91c9f4a4f875abfaa7edfc32f8
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_)
6 #define GLTYPES_H_
8 #include <stddef.h>
9 #include <stdint.h>
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
22 typedef int8_t realGLboolean;
24 #if !defined(__gltypes_h_) && !defined(__gl_h_)
25 #define __gltypes_h_
26 #define __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;
41 #endif
42 typedef double GLclampd;
43 typedef void GLvoid;
45 typedef char GLchar;
46 #ifndef __gl2_h_
47 typedef intptr_t GLsizeiptr;
48 typedef intptr_t GLintptr;
49 #endif
51 #endif /* #if !defined(__gltypes_h_) && !defined(__gl_h_) */
53 #include <stdint.h>
55 // ARB_sync
56 typedef struct __GLsync* GLsync;
57 typedef int64_t GLint64;
58 typedef uint64_t GLuint64;
60 // OES_EGL_image (GLES)
61 typedef void* GLeglImage;
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);
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;
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)
94 #endif