@@ -71,6 +71,9 @@ function install_vulkan_sdk_macos() {
7171 fi
7272
7373 log_step " vulkan" " Extracting Vulkan SDK installer"
74+ rm -rf \
75+ " vulkansdk-macOS-${vulkan_sdk_version} .app" \
76+ " vulkansdk-macos-${vulkan_sdk_version} .app"
7477 unzip -q -o " ${vulkan_sdk_zip_file} "
7578
7679 local vulkan_sdk_app_path=" "
@@ -91,15 +94,33 @@ function install_vulkan_sdk_macos() {
9194
9295 local install_root=" $( cd " ${root_dir} " && pwd) /${vulkan_sdk_base_dir} /${vulkan_sdk_version} "
9396 mkdir -p " ${install_root} "
94- local vulkan_sdk_root=" ${root_dir} /${vulkan_sdk_base_dir} "
9597
9698 log_step " vulkan" " Installing Vulkan SDK (${vulkan_sdk_version} ) to ${install_root} "
97- ${vulkan_sdk_installer} --root " ${install_root} " --accept-licenses --default-answer --confirm-command install
99+ " ${vulkan_sdk_installer} " --root " ${install_root} " --accept-licenses --default-answer --confirm-command install
100+ }
101+
102+ function validate_vulkan_sdk_installation() {
103+ if [[ ! -d " ${root_dir} /${vulkan_sdk_bin_dir} " ]]; then
104+ return 1
105+ fi
106+
107+ vulkan_sdk_bin_path=" $( cd " ${root_dir} /${vulkan_sdk_bin_dir} " && pwd) "
108+ if [[ ! -x " ${vulkan_sdk_bin_path} /glslc" ]]; then
109+ return 1
110+ fi
111+
112+ " ${vulkan_sdk_bin_path} /glslc" --version > /dev/null 2>&1
98113}
99114
100115function setup_vulkan_sdk() {
101116 cd " ${root_dir} "
102117
118+ if validate_vulkan_sdk_installation; then
119+ log_step " vulkan" " Reusing Vulkan SDK at ${root_dir} /${vulkan_sdk_base_dir} /${vulkan_sdk_version} "
120+ log_step " vulkan" " Vulkan SDK validation (glslc) succeeded"
121+ return
122+ fi
123+
103124 if [[ " ${os_name} " == " Darwin" ]]; then
104125 install_vulkan_sdk_macos
105126 else
@@ -117,11 +138,11 @@ function setup_vulkan_sdk() {
117138 exit 1
118139 fi
119140
120- if ${vulkan_sdk_bin_path} /glslc --version > /dev/null 2>&1 ; then
141+ if " ${vulkan_sdk_bin_path} /glslc" --version > /dev/null 2>&1 ; then
121142 log_step " vulkan" " Vulkan SDK validation (glslc) succeeded"
122143 else
123144 log_step " vulkan" " Error: Vulkan SDK validation failed"
124- ${vulkan_sdk_bin_path} /glslc --version
145+ " ${vulkan_sdk_bin_path} /glslc" --version
125146 exit 1
126147 fi
127148}
@@ -143,7 +164,7 @@ function setup_path_vulkan() {
143164 vulkan_sdk_arch_root=" $( cd " ${vulkan_sdk_arch_root} " && pwd) "
144165 vulkan_sdk_bin_path=" $( cd " ${vulkan_sdk_bin_dir} " && pwd) "
145166
146- append_env_in_setup_path PATH ${vulkan_sdk_bin_path}
167+ append_env_in_setup_path PATH " ${vulkan_sdk_bin_path} "
147168 if [[ " ${OS:- } " == " Darwin" ]]; then
148169 prepend_env_in_setup_path DYLD_LIBRARY_PATH " ${vulkan_sdk_arch_root} /lib"
149170 local moltenvk_icd_path=" ${vulkan_sdk_arch_root} /share/vulkan/icd.d/MoltenVK_icd.json"
0 commit comments