Merge remote-tracking branch 'goog/mirror-m-wireless-internal-release'
[platform/upstream/VK-GL-CTS.git] / framework / opengl / wrapper / glwTypes.inl
1 /*-------------------------------------------------------------------------
2  * drawElements Quality Program OpenGL Utilities
3  * ---------------------------------------------
4  *
5  * Copyright 2014 The Android Open Source Project
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  *
19  *//*!
20  * \file
21  * \brief OpenGL wrapper base types.
22  *
23  * \note Unlike most .inl files this one is NOT auto-generated. This is .inl
24  *               because it is included from both glwDefs.hpp (inside glw namespace)
25  *               and glw.h (in root namespace, as C source).
26  *//*--------------------------------------------------------------------*/
27
28 /* Calling convention. */
29 #if (DE_OS == DE_OS_ANDROID)
30 #       include <sys/cdefs.h>
31 #       if !defined(__NDK_FPABI__)
32 #               define __NDK_FPABI__
33 #       endif
34 #       define GLW_APICALL __NDK_FPABI__
35 #else
36 #       define GLW_APICALL
37 #endif
38
39 #if (DE_OS == DE_OS_WIN32)
40 #       define GLW_APIENTRY __stdcall
41 #else
42 #       define GLW_APIENTRY
43 #endif
44
45 /* Signed basic types. */
46 typedef deInt8                          GLbyte;
47 typedef deInt16                         GLshort;
48 typedef deInt32                         GLint;
49 typedef deInt64                         GLint64;
50
51 /* Unsigned basic types. */
52 typedef deUint8                         GLubyte;
53 typedef deUint16                        GLushort;
54 typedef deUint32                        GLuint;
55 typedef deUint64                        GLuint64;
56
57 /* Floating-point types. */
58 typedef deUint16                        GLhalf;
59 typedef float                           GLfloat;
60 typedef float                           GLclampf;
61 typedef double                          GLdouble;
62 typedef double                          GLclampd;
63
64 /* Special types. */
65 typedef char                            GLchar;
66 typedef deUint8                         GLboolean;
67 typedef deUint32                        GLenum;
68 typedef deUint32                        GLbitfield;
69 typedef deInt32                         GLsizei;
70 typedef deInt32                         GLfixed;
71 typedef void                            GLvoid;
72
73 #if (DE_OS == DE_OS_WIN32 && DE_CPU == DE_CPU_X86_64)
74         typedef signed long long int    GLintptr;
75         typedef signed long long int    GLsizeiptr;
76 #else
77         typedef signed long int                 GLintptr;
78         typedef signed long int                 GLsizeiptr;
79 #endif
80
81 /* Opaque handles. */
82 typedef struct __GLsync*        GLsync;
83 typedef void*                           GLeglImageOES;
84
85 /* Callback for GL_ARB_debug_output. */
86 typedef void (GLW_APIENTRY* GLDEBUGPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *message, GLvoid *userParam);
87
88 /* OES_EGL_image */
89 typedef void*                           GLeglImageOES;