From dd5fdb937087718c8954f9111bf4cce1ce45fe1b Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Tue, 22 Nov 2022 14:04:36 +0100 Subject: [PATCH] GPU: Add MoltenVK as dependencies to Vulkan SDK. MoltenVK is part of the vulkan SDK. Blender requires the vulkan SDK to compile. This patch adds the MoltenVK includes and libraries to the Vulkan includes and libraries. --- CMakeLists.txt | 3 --- build_files/cmake/platform/platform_apple.cmake | 14 +++++++++++++- build_files/cmake/platform/platform_win32.cmake | 2 +- intern/ghost/CMakeLists.txt | 2 -- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 855f6aba44f..f2d190be6bb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1244,9 +1244,6 @@ endif() if(WITH_VULKAN_BACKEND) list(APPEND BLENDER_GL_LIBRARIES ${VULKAN_LIBRARIES}) - if(APPLE) - list(APPEND BLENDER_GL_LIBRARIES ${MOLTENVK_LIBRARIES}) - endif() endif() # ----------------------------------------------------------------------------- diff --git a/build_files/cmake/platform/platform_apple.cmake b/build_files/cmake/platform/platform_apple.cmake index b923a076792..31171d083c1 100644 --- a/build_files/cmake/platform/platform_apple.cmake +++ b/build_files/cmake/platform/platform_apple.cmake @@ -101,8 +101,20 @@ if(WITH_USD) endif() if(WITH_VULKAN_BACKEND) - find_package(Vulkan REQUIRED) find_package(MoltenVK REQUIRED) + + if(EXISTS ${LIBDIR}/vulkan) + set(VULKAN_FOUND On) + set(VULKAN_ROOT_DIR ${LIBDIR}/vulkan/macOS) + set(VULKAN_INCLUDE_DIR ${VULKAN_ROOT_DIR}/include) + set(VULKAN_LIBRARY ${VULKAN_ROOT_DIR}/lib/libvulkan.1.dylib) + + set(VULKAN_INCLUDE_DIRS ${VULKAN_INCLUDE_DIR} ${MOLTENVK_INCLUDE_DIRS}) + set(VULKAN_LIBRARIES ${VULKAN_LIBRARY} ${MOLTENVK_LIBRARIES}) + else() + message(WARNING "Vulkan SDK was not found, disabling WITH_VULKAN_BACKEND") + set(WITH_VULKAN_BACKEND OFF) + endif() endif() if(WITH_OPENSUBDIV) diff --git a/build_files/cmake/platform/platform_win32.cmake b/build_files/cmake/platform/platform_win32.cmake index 0439b9b2fb6..2ec11d708a6 100644 --- a/build_files/cmake/platform/platform_win32.cmake +++ b/build_files/cmake/platform/platform_win32.cmake @@ -935,7 +935,7 @@ if(WITH_VULKAN_BACKEND) set(VULKAN_LIBRARY ${VULKAN_ROOT_DIR}/lib/vulkan-1.lib) set(VULKAN_LIBRARIES ${VULKAN_LIBRARY}) else() - message(WARNING "Vulkan was not found, disabling WITH_VULKAN_BACKEND") + message(WARNING "Vulkan SDK was not found, disabling WITH_VULKAN_BACKEND") set(WITH_VULKAN_BACKEND OFF) endif() endif() diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt index 512ce5300c6..9e0b48465c6 100644 --- a/intern/ghost/CMakeLists.txt +++ b/intern/ghost/CMakeLists.txt @@ -85,12 +85,10 @@ if(WITH_VULKAN_BACKEND) list(APPEND INC_SYS ${VULKAN_INCLUDE_DIRS} - ${MOLTENVK_INCLUDE_DIRS} ) list(APPEND LIB ${VULKAN_LIBRARIES} - ${MOLTENVK_LIBRARIES} ) add_definitions(-DWITH_VULKAN_BACKEND)