@@ -205,7 +205,51 @@ function setup_path_emulation_layer() {
205205 model_emulation_layer_path=" $( cd " ${mlsdk_manifest_dir} /sw/emulation-layer/" && pwd) "
206206 prepend_env_in_setup_path LD_LIBRARY_PATH " ${model_emulation_layer_path} /deploy/lib"
207207 prepend_env_in_setup_path DYLD_LIBRARY_PATH " ${model_emulation_layer_path} /deploy/lib"
208+ prepend_env_in_setup_path VK_LAYER_PATH " ${model_emulation_layer_path} /deploy/share/vulkan/explicit_layer.d"
208209 prepend_env_in_setup_path VK_INSTANCE_LAYERS VK_LAYER_ML_Tensor_Emulation
209210 prepend_env_in_setup_path VK_INSTANCE_LAYERS VK_LAYER_ML_Graph_Emulation
210- prepend_env_in_setup_path VK_LAYER_PATH " ${model_emulation_layer_path} /deploy/share/vulkan/explicit_layer.d"
211+ }
212+
213+ function setup_path_emulation_layer_from_pip() {
214+ if ! command -v emulation_layer > /dev/null 2>&1 ; then
215+ echo " [mlsdk_utils] 'emulation_layer' command not found; skipping pip emulation layer path setup"
216+ return
217+ fi
218+
219+ local output
220+ if ! output=$( emulation_layer 2> /dev/null) ; then
221+ echo " [mlsdk_utils] Failed to query emulation_layer environment; skipping"
222+ return
223+ fi
224+
225+ local exports
226+ exports=$( echo " $output " | grep ' ^export ' || true)
227+
228+ local ld_line
229+ ld_line=$( echo " $exports " | grep ' LD_LIBRARY_PATH=' || true)
230+ if [[ -n " ${ld_line} " ]]; then
231+ local ld_value=${ld_line# export LD_LIBRARY_PATH=}
232+ ld_value=${ld_value%%: \$ LD_LIBRARY_PATH* }
233+ if [[ -n " ${ld_value} " ]]; then
234+ prepend_env_in_setup_path LD_LIBRARY_PATH " ${ld_value} "
235+ fi
236+ fi
237+
238+ local vk_add_line
239+ vk_add_line=$( echo " $exports " | grep ' VK_ADD_LAYER_PATH=' || true)
240+ if [[ -n " ${vk_add_line} " ]]; then
241+ local vk_add_value=${vk_add_line# export VK_ADD_LAYER_PATH=}
242+ if [[ -n " ${vk_add_value} " ]]; then
243+ prepend_env_in_setup_path VK_ADD_LAYER_PATH " ${vk_add_value} "
244+ fi
245+ fi
246+
247+ local vk_instance_line
248+ vk_instance_line=$( echo " $exports " | grep ' VK_INSTANCE_LAYERS=' || true)
249+ if [[ -n " ${vk_instance_line} " ]]; then
250+ local vk_instance_value=${vk_instance_line# export VK_INSTANCE_LAYERS=}
251+ if [[ -n " ${vk_instance_value} " ]]; then
252+ prepend_env_in_setup_path VK_INSTANCE_LAYERS " ${vk_instance_value} "
253+ fi
254+ fi
211255}
0 commit comments