OLD | NEW |
1 #ifndef __khrplatform_h_ | 1 #ifndef __khrplatform_h_ |
2 #define __khrplatform_h_ | 2 #define __khrplatform_h_ |
3 | 3 |
4 /* | 4 /* |
5 ** Copyright (c) 2008-2009 The Khronos Group Inc. | 5 ** Copyright (c) 2008-2009 The Khronos Group Inc. |
6 ** | 6 ** |
7 ** Permission is hereby granted, free of charge, to any person obtaining a | 7 ** Permission is hereby granted, free of charge, to any person obtaining a |
8 ** copy of this software and/or associated documentation files (the | 8 ** copy of this software and/or associated documentation files (the |
9 ** "Materials"), to deal in the Materials without restriction, including | 9 ** "Materials"), to deal in the Materials without restriction, including |
10 ** without limitation the rights to use, copy, modify, merge, publish, | 10 ** without limitation the rights to use, copy, modify, merge, publish, |
11 ** distribute, sublicense, and/or sell copies of the Materials, and to | 11 ** distribute, sublicense, and/or sell copies of the Materials, and to |
12 ** permit persons to whom the Materials are furnished to do so, subject to | 12 ** permit persons to whom the Materials are furnished to do so, subject to |
13 ** the following conditions: | 13 ** the following conditions: |
14 ** | 14 ** |
15 ** The above copyright notice and this permission notice shall be included | 15 ** The above copyright notice and this permission notice shall be included |
16 ** in all copies or substantial portions of the Materials. | 16 ** in all copies or substantial portions of the Materials. |
17 ** | 17 ** |
18 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | 18 ** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
19 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | 19 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
20 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | 20 ** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
21 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | 21 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY |
22 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | 22 ** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
23 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | 23 ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE |
24 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. | 24 ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. |
25 */ | 25 */ |
26 | 26 |
27 /* Khronos platform-specific types and definitions. | 27 /* Khronos platform-specific types and definitions. |
28 * | 28 * |
29 * $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $ | 29 * $Revision: 32517 $ on $Date: 2016-03-11 02:41:19 -0800 (Fri, 11 Mar 2016) $ |
30 * | 30 * |
31 * Adopters may modify this file to suit their platform. Adopters are | 31 * Adopters may modify this file to suit their platform. Adopters are |
32 * encouraged to submit platform specific modifications to the Khronos | 32 * encouraged to submit platform specific modifications to the Khronos |
33 * group so that they can be included in future versions of this file. | 33 * group so that they can be included in future versions of this file. |
34 * Please submit changes by sending them to the public Khronos Bugzilla | 34 * Please submit changes by sending them to the public Khronos Bugzilla |
35 * (http://khronos.org/bugzilla) by filing a bug against product | 35 * (http://khronos.org/bugzilla) by filing a bug against product |
36 * "Khronos (general)" component "Registry". | 36 * "Khronos (general)" component "Registry". |
37 * | 37 * |
38 * A predefined template which fills in some of the bug fields can be | 38 * A predefined template which fills in some of the bug fields can be |
39 * reached using http://tinyurl.com/khrplatform-h-bugreport, but you | 39 * reached using http://tinyurl.com/khrplatform-h-bugreport, but you |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
94 | 94 |
95 /*------------------------------------------------------------------------- | 95 /*------------------------------------------------------------------------- |
96 * Definition of KHRONOS_APICALL | 96 * Definition of KHRONOS_APICALL |
97 *------------------------------------------------------------------------- | 97 *------------------------------------------------------------------------- |
98 * This precedes the return type of the function in the function prototype. | 98 * This precedes the return type of the function in the function prototype. |
99 */ | 99 */ |
100 #if defined(_WIN32) && !defined(__SCITECH_SNAP__) | 100 #if defined(_WIN32) && !defined(__SCITECH_SNAP__) |
101 # define KHRONOS_APICALL __declspec(dllimport) | 101 # define KHRONOS_APICALL __declspec(dllimport) |
102 #elif defined (__SYMBIAN32__) | 102 #elif defined (__SYMBIAN32__) |
103 # define KHRONOS_APICALL IMPORT_C | 103 # define KHRONOS_APICALL IMPORT_C |
| 104 #elif defined(__ANDROID__) |
| 105 # include <sys/cdefs.h> |
| 106 # define KHRONOS_APICALL __attribute__((visibility("default"))) __NDK_FPABI__ |
104 #else | 107 #else |
105 # define KHRONOS_APICALL | 108 # define KHRONOS_APICALL |
106 #endif | 109 #endif |
107 | 110 |
108 /*------------------------------------------------------------------------- | 111 /*------------------------------------------------------------------------- |
109 * Definition of KHRONOS_APIENTRY | 112 * Definition of KHRONOS_APIENTRY |
110 *------------------------------------------------------------------------- | 113 *------------------------------------------------------------------------- |
111 * This follows the return type of the function and precedes the function | 114 * This follows the return type of the function and precedes the function |
112 * name in the function prototype. | 115 * name in the function prototype. |
113 */ | 116 */ |
114 #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) | 117 #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) |
115 /* Win32 but not WinCE */ | 118 /* Win32 but not WinCE */ |
116 # define KHRONOS_APIENTRY __stdcall | 119 # define KHRONOS_APIENTRY __stdcall |
117 #else | 120 #else |
118 # define KHRONOS_APIENTRY | 121 # define KHRONOS_APIENTRY |
119 #endif | 122 #endif |
120 | 123 |
121 /*------------------------------------------------------------------------- | 124 /*------------------------------------------------------------------------- |
122 * Chromium-specific overrides of KHRONOS_APICALL and KHRONOS_APIENTRY | 125 * Chromium-specific overrides of KHRONOS_APICALL and KHRONOS_APIENTRY |
123 *-----------------------------------------------------------------------*/ | 126 *-----------------------------------------------------------------------*/ |
124 | |
125 #undef KHRONOS_APICALL | 127 #undef KHRONOS_APICALL |
126 #if defined(GLES2_USE_MOJO) | 128 #if defined(GLES2_USE_MOJO) |
127 #include "mojo/public/c/gles2/gles2_export.h" | 129 #include "mojo/public/c/gles2/gles2_export.h" |
128 #define KHRONOS_APICALL MOJO_GLES2_EXPORT | 130 #define KHRONOS_APICALL MOJO_GLES2_EXPORT |
129 #else | 131 #else |
130 #include "gpu/command_buffer/client/gles2_c_lib_export.h" | 132 #include "gpu/command_buffer/client/gles2_c_lib_export.h" |
131 #define KHRONOS_APICALL GLES2_C_LIB_EXPORT | 133 #define KHRONOS_APICALL GLES2_C_LIB_EXPORT |
132 #endif | 134 #endif |
133 | 135 |
134 /*------------------------------------------------------------------------- | 136 /*------------------------------------------------------------------------- |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 | 231 |
230 /* | 232 /* |
231 * Types that are (so far) the same on all platforms | 233 * Types that are (so far) the same on all platforms |
232 */ | 234 */ |
233 typedef signed char khronos_int8_t; | 235 typedef signed char khronos_int8_t; |
234 typedef unsigned char khronos_uint8_t; | 236 typedef unsigned char khronos_uint8_t; |
235 typedef signed short int khronos_int16_t; | 237 typedef signed short int khronos_int16_t; |
236 typedef unsigned short int khronos_uint16_t; | 238 typedef unsigned short int khronos_uint16_t; |
237 | 239 |
238 /* | 240 /* |
239 * Types that differ between LLP64 and LP64 architectures - in LLP64, | 241 * Types that differ between LLP64 and LP64 architectures - in LLP64, |
240 * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears | 242 * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears |
241 * to be the only LLP64 architecture in current use. | 243 * to be the only LLP64 architecture in current use. |
242 */ | 244 */ |
243 #ifdef _WIN64 | 245 #ifdef _WIN64 |
244 typedef signed long long int khronos_intptr_t; | 246 typedef signed long long int khronos_intptr_t; |
245 typedef unsigned long long int khronos_uintptr_t; | 247 typedef unsigned long long int khronos_uintptr_t; |
246 typedef signed long long int khronos_ssize_t; | 248 typedef signed long long int khronos_ssize_t; |
247 typedef unsigned long long int khronos_usize_t; | 249 typedef unsigned long long int khronos_usize_t; |
248 #else | 250 #else |
249 typedef signed long int khronos_intptr_t; | 251 typedef signed long int khronos_intptr_t; |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 * Values other than zero should be considered to be true. Therefore | 288 * Values other than zero should be considered to be true. Therefore |
287 * comparisons should not be made against KHRONOS_TRUE. | 289 * comparisons should not be made against KHRONOS_TRUE. |
288 */ | 290 */ |
289 typedef enum { | 291 typedef enum { |
290 KHRONOS_FALSE = 0, | 292 KHRONOS_FALSE = 0, |
291 KHRONOS_TRUE = 1, | 293 KHRONOS_TRUE = 1, |
292 KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM | 294 KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM |
293 } khronos_boolean_enum_t; | 295 } khronos_boolean_enum_t; |
294 | 296 |
295 #endif /* __khrplatform_h_ */ | 297 #endif /* __khrplatform_h_ */ |
OLD | NEW |