Only use system aligned_alloc on mac/ios if the SDK has them.
Bug: chromium:1098741
Change-Id: I4df73f581c2a6895c7f136ff974db0371c48cc5e
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,12 +3955,19 @@
}
#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*))
{