Show More
Commit Description:
Tweak calculations....
Commit Description:
Tweak calculations.
Prevent a negative number of visitors and separate visitors from donors.
References:
File last commit:
Show/Diff file:
Action:
FNA/lib/FNA3D/Vulkan-Headers/include/vulkan/vk_platform.h
82 lines | 2.7 KiB | text/x-c | CLexer
82 lines | 2.7 KiB | text/x-c | CLexer
r690 | // | |||
// File: vk_platform.h | ||||
// | ||||
/* | ||||
** Copyright (c) 2014-2020 The Khronos Group Inc. | ||||
** | ||||
** SPDX-License-Identifier: Apache-2.0 | ||||
*/ | ||||
#ifndef VK_PLATFORM_H_ | ||||
#define VK_PLATFORM_H_ | ||||
#ifdef __cplusplus | ||||
extern "C" | ||||
{ | ||||
#endif // __cplusplus | ||||
/* | ||||
*************************************************************************************************** | ||||
* Platform-specific directives and type declarations | ||||
*************************************************************************************************** | ||||
*/ | ||||
/* Platform-specific calling convention macros. | ||||
* | ||||
* Platforms should define these so that Vulkan clients call Vulkan commands | ||||
* with the same calling conventions that the Vulkan implementation expects. | ||||
* | ||||
* VKAPI_ATTR - Placed before the return type in function declarations. | ||||
* Useful for C++11 and GCC/Clang-style function attribute syntax. | ||||
* VKAPI_CALL - Placed after the return type in function declarations. | ||||
* Useful for MSVC-style calling convention syntax. | ||||
* VKAPI_PTR - Placed between the '(' and '*' in function pointer types. | ||||
* | ||||
* Function declaration: VKAPI_ATTR void VKAPI_CALL vkCommand(void); | ||||
* Function pointer type: typedef void (VKAPI_PTR *PFN_vkCommand)(void); | ||||
*/ | ||||
#if defined(_WIN32) | ||||
// On Windows, Vulkan commands use the stdcall convention | ||||
#define VKAPI_ATTR | ||||
#define VKAPI_CALL __stdcall | ||||
#define VKAPI_PTR VKAPI_CALL | ||||
#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH < 7 | ||||
#error "Vulkan isn't supported for the 'armeabi' NDK ABI" | ||||
#elif defined(__ANDROID__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7 && defined(__ARM_32BIT_STATE) | ||||
// On Android 32-bit ARM targets, Vulkan functions use the "hardfloat" | ||||
// calling convention, i.e. float parameters are passed in registers. This | ||||
// is true even if the rest of the application passes floats on the stack, | ||||
// as it does by default when compiling for the armeabi-v7a NDK ABI. | ||||
#define VKAPI_ATTR __attribute__((pcs("aapcs-vfp"))) | ||||
#define VKAPI_CALL | ||||
#define VKAPI_PTR VKAPI_ATTR | ||||
#else | ||||
// On other platforms, use the default calling convention | ||||
#define VKAPI_ATTR | ||||
#define VKAPI_CALL | ||||
#define VKAPI_PTR | ||||
#endif | ||||
#include <stddef.h> | ||||
#if !defined(VK_NO_STDINT_H) | ||||
#if defined(_MSC_VER) && (_MSC_VER < 1600) | ||||
typedef signed __int8 int8_t; | ||||
typedef unsigned __int8 uint8_t; | ||||
typedef signed __int16 int16_t; | ||||
typedef unsigned __int16 uint16_t; | ||||
typedef signed __int32 int32_t; | ||||
typedef unsigned __int32 uint32_t; | ||||
typedef signed __int64 int64_t; | ||||
typedef unsigned __int64 uint64_t; | ||||
#else | ||||
#include <stdint.h> | ||||
#endif | ||||
#endif // !defined(VK_NO_STDINT_H) | ||||
#ifdef __cplusplus | ||||
} // extern "C" | ||||
#endif // __cplusplus | ||||
#endif | ||||