From ac8f0f9ce9cefe6265f1f8ac4b0e5ed3fba9ee5d Mon Sep 17 00:00:00 2001 From: Stephen Jia Date: Thu, 31 Oct 2024 07:38:53 -0700 Subject: [PATCH] [ET-VK] Build Vulkan delegate on MacOS with MoltenVK As title. Differential Revision: [D65219240](https://our.internmc.facebook.com/intern/diff/D65219240/) [ghstack-poisoned] --- backends/vulkan/targets.bzl | 41 ++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/backends/vulkan/targets.bzl b/backends/vulkan/targets.bzl index 38e0183318c..12243ec7fab 100644 --- a/backends/vulkan/targets.bzl +++ b/backends/vulkan/targets.bzl @@ -101,28 +101,37 @@ def define_common_targets(is_fbcode = False): "fbsource//third-party/VulkanMemoryAllocator/3.0.1:VulkanMemoryAllocator_xplat", ] - if not is_fbcode: + if is_fbcode: VK_API_DEPS += [ - "fbsource//third-party/volk:volk", + "fbsource//third-party/swiftshader:swiftshader_vk_headers", + "fbsource//third-party/swiftshader/lib/linux-x64:libvk_swiftshader_fbcode", + "fbsource//third-party/swiftshader/lib/linux-x64:libvk_swiftshader_so", ] + else: VK_API_DEPS += select({ - "DEFAULT": [], - "ovr_config//os:android": ["fbsource//third-party/toolchains:android"], + "DEFAULT": [ + "fbsource//third-party/volk:volk", + ], + "ovr_config//os:android": [ + "fbsource//third-party/volk:volk", + "fbsource//third-party/toolchains:android" + ], + "ovr_config//os:macos-arm64": [ + "//third-party/khronos:moltenVK" + ], }) - VK_API_PREPROCESSOR_FLAGS += [ - "-DUSE_VULKAN_WRAPPER", - "-DUSE_VULKAN_VOLK", - ] VK_API_PREPROCESSOR_FLAGS += select({ - "DEFAULT": [], - "ovr_config//os:android": ["-DVK_ANDROID_external_memory_android_hardware_buffer"], + "DEFAULT": [ + "-DUSE_VULKAN_WRAPPER", + "-DUSE_VULKAN_VOLK", + ], + "ovr_config//os:android": [ + "-DUSE_VULKAN_WRAPPER", + "-DUSE_VULKAN_VOLK", + "-DVK_ANDROID_external_memory_android_hardware_buffer" + ], + "ovr_config//os:macos-arm64": [] }) - else: - VK_API_DEPS += [ - "fbsource//third-party/swiftshader:swiftshader_vk_headers", - "fbsource//third-party/swiftshader/lib/linux-x64:libvk_swiftshader_fbcode", - "fbsource//third-party/swiftshader/lib/linux-x64:libvk_swiftshader_so", - ] runtime.cxx_library( name = "vulkan_compute_api",