vk_platform.h revision 5ae3abb3ca6728de04935b0c81bcdbdfc37b0d47
1// 2// File: vk_platform.h 3// 4/* 5** Copyright (c) 2014-2015 The Khronos Group Inc. 6** 7** Permission is hereby granted, free of charge, to any person obtaining a 8** copy of this software and/or associated documentation files (the 9** "Materials"), to deal in the Materials without restriction, including 10** without limitation the rights to use, copy, modify, merge, publish, 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 13** the following conditions: 14** 15** The above copyright notice and this permission notice shall be included 16** in all copies or substantial portions of the Materials. 17** 18** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 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, 23** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 24** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. 25*/ 26 27 28#ifndef __VK_PLATFORM_H__ 29#define __VK_PLATFORM_H__ 30 31#ifdef __cplusplus 32extern "C" 33{ 34#endif // __cplusplus 35 36/* 37*************************************************************************************************** 38* Platform-specific directives and type declarations 39*************************************************************************************************** 40*/ 41 42#if defined(_WIN32) 43 // On Windows, VKAPI should equate to the __stdcall convention 44 #define VKAPI __stdcall 45#elif defined(__GNUC__) 46 // On other platforms using GCC, VKAPI stays undefined 47 #define VKAPI 48#else 49 // Unsupported Platform! 50 #error "Unsupported OS Platform detected!" 51#endif 52 53#include <stddef.h> 54 55#if !defined(VK_NO_STDINT_H) 56 #if defined(_MSC_VER) && (_MSC_VER < 1600) 57 typedef signed __int8 int8_t; 58 typedef unsigned __int8 uint8_t; 59 typedef signed __int16 int16_t; 60 typedef unsigned __int16 uint16_t; 61 typedef signed __int32 int32_t; 62 typedef unsigned __int32 uint32_t; 63 typedef signed __int64 int64_t; 64 typedef unsigned __int64 uint64_t; 65 #else 66 #include <stdint.h> 67 #endif 68#endif // !defined(VK_NO_STDINT_H) 69 70#ifdef __cplusplus 71} // extern "C" 72#endif // __cplusplus 73 74#endif // __VK_PLATFORM_H__ 75