File tree Expand file tree Collapse file tree 3 files changed +11
-2
lines changed
Expand file tree Collapse file tree 3 files changed +11
-2
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ install_swiftshader() {
2323
2424 export VK_ICD_FILENAMES=" ${_swiftshader_dir} /swiftshader/build/Linux/vk_swiftshader_icd.json"
2525 export LD_LIBRARY_PATH=" ${_swiftshader_dir} /swiftshader/build/Linux/"
26+ export ETVK_USING_SWIFTSHADER=1
2627}
2728
2829install_vulkan_sdk () {
Original file line number Diff line number Diff line change @@ -49,6 +49,14 @@ function(gen_vulkan_shader_lib_cpp shaders_path)
4949 set (VULKAN_SHADERGEN_ENV "" )
5050 set (VULKAN_SHADERGEN_OUT_PATH ${CMAKE_BINARY_DIR} /vulkan_compute_shaders)
5151
52+ set (GEN_SPV_ARGS "--optimize" )
53+ if (DEFINED ENV{ETVK_USING_SWIFTSHADER}
54+ AND (("$ENV{ETVK_USING_SWIFTSHADER} " STREQUAL "1" )
55+ OR ("$ENV{ETVK_USING_SWIFTSHADER} " STREQUAL "True" ))
56+ )
57+ list (APPEND GEN_SPV_ARGS "--replace-u16vecn" )
58+ endif ()
59+
5260 add_custom_command (
5361 COMMENT "Generating Vulkan Compute Shaders"
5462 OUTPUT ${VULKAN_SHADERGEN_OUT_PATH} /spv.cpp
@@ -58,7 +66,7 @@ function(gen_vulkan_shader_lib_cpp shaders_path)
5866 ${shaders_path} --output -path ${VULKAN_SHADERGEN_OUT_PATH}
5967 --glslc-path =${GLSLC_PATH}
6068 --tmp-dir-path =${VULKAN_SHADERGEN_OUT_PATH} /shader_cache/ --env
61- ${VULKAN_GEN_ARG_ENV} --optimize
69+ ${VULKAN_GEN_ARG_ENV} ${GEN_SPV_ARGS}
6270 DEPENDS ${shaders_path} /*
6371 ${EXECUTORCH_ROOT} /backends/vulkan/runtime/gen_vulkan_spv.py
6472 )
You can’t perform that action at this time.
0 commit comments