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: 9356 $ on $Date: 2009-10-21 02:52:25 -0700 (Wed, 21 Oct 2009) $ |
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 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 * name in the function prototype. | 112 * name in the function prototype. |
113 */ | 113 */ |
114 #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) | 114 #if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) |
115 /* Win32 but not WinCE */ | 115 /* Win32 but not WinCE */ |
116 # define KHRONOS_APIENTRY __stdcall | 116 # define KHRONOS_APIENTRY __stdcall |
117 #else | 117 #else |
118 # define KHRONOS_APIENTRY | 118 # define KHRONOS_APIENTRY |
119 #endif | 119 #endif |
120 | 120 |
121 /*------------------------------------------------------------------------- | 121 /*------------------------------------------------------------------------- |
122 * Chromium-specific overrides of KHRONOS_APICALL and KHRONOS_APIENTRY | |
123 *-----------------------------------------------------------------------*/ | |
124 | |
125 #undef KHRONOS_APICALL | |
126 #if defined(COMPONENT_BUILD) | |
127 #if defined(WIN32) | |
128 #if defined(GLES2_C_LIB_IMPLEMENTATION) | |
129 # define KHRONOS_APICALL __declspec(dllexport) | |
130 #else | |
131 # define KHRONOS_APICALL __declspec(dllimport) | |
132 #endif /* defined(GLES2_C_LIB_IMPLEMENTATION) */ | |
133 #else | |
134 # define KHRONOS_APICALL __attribute__((visibility("default"))) | |
135 #endif /* defined(WIN32) */ | |
136 #else | |
137 # define KHRONOS_APICALL | |
138 #endif | |
139 | |
140 #undef KHRONOS_APIENTRY | |
141 #define KHRONOS_APIENTRY | |
142 | |
143 /*------------------------------------------------------------------------- | |
144 * Definition of KHRONOS_APIATTRIBUTES | 122 * Definition of KHRONOS_APIATTRIBUTES |
145 *------------------------------------------------------------------------- | 123 *------------------------------------------------------------------------- |
146 * This follows the closing parenthesis of the function prototype arguments. | 124 * This follows the closing parenthesis of the function prototype arguments. |
147 */ | 125 */ |
148 #if defined (__ARMCC_2__) | 126 #if defined (__ARMCC_2__) |
149 #define KHRONOS_APIATTRIBUTES __softfp | 127 #define KHRONOS_APIATTRIBUTES __softfp |
150 #else | 128 #else |
151 #define KHRONOS_APIATTRIBUTES | 129 #define KHRONOS_APIATTRIBUTES |
152 #endif | 130 #endif |
153 | 131 |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 #endif | 214 #endif |
237 | 215 |
238 | 216 |
239 /* | 217 /* |
240 * Types that are (so far) the same on all platforms | 218 * Types that are (so far) the same on all platforms |
241 */ | 219 */ |
242 typedef signed char khronos_int8_t; | 220 typedef signed char khronos_int8_t; |
243 typedef unsigned char khronos_uint8_t; | 221 typedef unsigned char khronos_uint8_t; |
244 typedef signed short int khronos_int16_t; | 222 typedef signed short int khronos_int16_t; |
245 typedef unsigned short int khronos_uint16_t; | 223 typedef unsigned short int khronos_uint16_t; |
246 | |
247 /* | |
248 * Types that differ between LLP64 and LP64 architectures - in LLP64, | |
249 * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears | |
250 * to be the only LLP64 architecture in current use. | |
251 */ | |
252 #ifdef _WIN64 | |
253 typedef signed long long int khronos_intptr_t; | |
254 typedef unsigned long long int khronos_uintptr_t; | |
255 typedef signed long long int khronos_ssize_t; | |
256 typedef unsigned long long int khronos_usize_t; | |
257 #else | |
258 typedef signed long int khronos_intptr_t; | 224 typedef signed long int khronos_intptr_t; |
259 typedef unsigned long int khronos_uintptr_t; | 225 typedef unsigned long int khronos_uintptr_t; |
260 typedef signed long int khronos_ssize_t; | 226 typedef signed long int khronos_ssize_t; |
261 typedef unsigned long int khronos_usize_t; | 227 typedef unsigned long int khronos_usize_t; |
262 #endif | |
263 | 228 |
264 #if KHRONOS_SUPPORT_FLOAT | 229 #if KHRONOS_SUPPORT_FLOAT |
265 /* | 230 /* |
266 * Float type | 231 * Float type |
267 */ | 232 */ |
268 typedef float khronos_float_t; | 233 typedef float khronos_float_t; |
269 #endif | 234 #endif |
270 | 235 |
271 #if KHRONOS_SUPPORT_INT64 | 236 #if KHRONOS_SUPPORT_INT64 |
272 /* Time types | 237 /* Time types |
(...skipping 22 matching lines...) Expand all Loading... |
295 * Values other than zero should be considered to be true. Therefore | 260 * Values other than zero should be considered to be true. Therefore |
296 * comparisons should not be made against KHRONOS_TRUE. | 261 * comparisons should not be made against KHRONOS_TRUE. |
297 */ | 262 */ |
298 typedef enum { | 263 typedef enum { |
299 KHRONOS_FALSE = 0, | 264 KHRONOS_FALSE = 0, |
300 KHRONOS_TRUE = 1, | 265 KHRONOS_TRUE = 1, |
301 KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM | 266 KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM |
302 } khronos_boolean_enum_t; | 267 } khronos_boolean_enum_t; |
303 | 268 |
304 #endif /* __khrplatform_h_ */ | 269 #endif /* __khrplatform_h_ */ |
OLD | NEW |