vulkan/macos: link directly to MoltenVK

It's currently the only sane way we can use MoltenVK functions to
integrate with Metal API.

It also removes the need to specify the VK_ICD_FILENAMES environment
variable pointing to MoltenVK_icd.json.
This commit is contained in:
Matthew Waters 2019-09-03 00:30:31 +10:00 committed by GStreamer Merge Bot
parent acac78c1ce
commit 1c6f3e4b84

View file

@ -95,7 +95,13 @@ foreach option : vulkan_conf_options
vulkan_conf.set10(option, false) vulkan_conf.set10(option, false)
endforeach endforeach
if host_system == 'ios' if ['ios', 'darwin'].contains(host_system)
# - ios does not support the loader/validation layers
# - We need to link directly to MoltenVK to be able to use
# MoltenVK-specific functions that use dispatchable handles (like
# retrieving the metal device from the VkDevice) which is currently waiting
# on implementing a proper Metal extension for Vulkan
# https://github.com/KhronosGroup/MoltenVK/issues/492
vulkan_dep = cc.find_library('MoltenVK', required : get_option('vulkan')) vulkan_dep = cc.find_library('MoltenVK', required : get_option('vulkan'))
elif host_system == 'windows' elif host_system == 'windows'
vulkan_root = run_command(python3, '-c', 'import os; print(os.environ.get("VK_SDK_PATH"))').stdout().strip() vulkan_root = run_command(python3, '-c', 'import os; print(os.environ.get("VK_SDK_PATH"))').stdout().strip()