Don't expose VK_EXT_external_memory_host on macOS macOS has strong assumptions about GPU availability, and thus doesn't have a reliable API for sharing memory between the GPU and SwiftShader which can comply with SwiftShader's alignment and padding needs. Specifically, we must not try obtaining a pointer from an IOSurface and import it into SwiftShader. Bug: angleproject:7538 Bug: b/178039602 Change-Id: I3ecc4dff31a9e025f50c4afcf7d82fa4384b2cd1 Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/67168 Kokoro-Result: kokoro <noreply+kokoro@google.com> Reviewed-by: Alexis Hétu <sugoi@google.com> Tested-by: Nicolas Capens <nicolascapens@google.com>
diff --git a/src/Vulkan/libVulkan.cpp b/src/Vulkan/libVulkan.cpp index 13c5ffb..77d33fa 100644 --- a/src/Vulkan/libVulkan.cpp +++ b/src/Vulkan/libVulkan.cpp
@@ -368,9 +368,9 @@ #if SWIFTSHADER_EXTERNAL_MEMORY_OPAQUE_FD { { VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME, VK_KHR_EXTERNAL_MEMORY_FD_SPEC_VERSION } }, #endif - +#if !defined(__APPLE__) { { VK_EXT_EXTERNAL_MEMORY_HOST_EXTENSION_NAME, VK_EXT_EXTERNAL_MEMORY_HOST_SPEC_VERSION } }, - +#endif #if VK_USE_PLATFORM_FUCHSIA { { VK_FUCHSIA_EXTERNAL_SEMAPHORE_EXTENSION_NAME, VK_FUCHSIA_EXTERNAL_SEMAPHORE_SPEC_VERSION } }, { { VK_FUCHSIA_EXTERNAL_MEMORY_EXTENSION_NAME, VK_FUCHSIA_EXTERNAL_MEMORY_SPEC_VERSION } },