diff --git a/src/vk_mem_alloc.h b/src/vk_mem_alloc.h index d2c0de5..c5febc6 100644 --- a/src/vk_mem_alloc.h +++ b/src/vk_mem_alloc.h @@ -3955,11 +3955,18 @@ void *vma_aligned_alloc(size_t alignment, size_t size) } #elif defined(__APPLE__) || defined(__ANDROID__) || (defined(__linux__) && defined(__GLIBCXX__) && !defined(_GLIBCXX_HAVE_ALIGNED_ALLOC)) #include <cstdlib> + +#if defined(__APPLE__) +#include <AvailabilityMacros.h> +#endif + void *vma_aligned_alloc(size_t alignment, size_t size) { -#if defined(__APPLE__) +#if defined(__APPLE__) && (defined(MAC_OS_X_VERSION_10_15) || defined(__IPHONE_13_0)) +#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_15 || __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_13_0 if (__builtin_available(macOS 10.15, iOS 13, *)) return aligned_alloc(alignment, size); +#endif #endif // alignment must be >= sizeof(void*) if(alignment < sizeof(void*))