From c331971b30535c5e33eabc577c1fba8241a028c6 Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Thu, 25 Jun 2020 14:15:27 -0400 Subject: [PATCH] Only use system aligned_alloc on mac/ios if the SDK has them. Bug: chromium:1098741 Change-Id: I4df73f581c2a6895c7f136ff974db0371c48cc5e --- src/vk_mem_alloc.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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 + +#if defined(__APPLE__) +#include +#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*))