diff --git a/backends/vulkan/runtime/vk_api/Runtime.cpp b/backends/vulkan/runtime/vk_api/Runtime.cpp index 2073a7364ba..cadf1184a08 100644 --- a/backends/vulkan/runtime/vk_api/Runtime.cpp +++ b/backends/vulkan/runtime/vk_api/Runtime.cpp @@ -381,7 +381,12 @@ std::string& set_and_get_pipeline_cache_data_path( const std::string& file_path) { // The global cache data path is declared as a static local variable for the // same reasons as the global runtime below. +#if defined(ETVK_DEFAULT_CACHE_PATH) + static std::string global_cache_data_path = ETVK_DEFAULT_CACHE_PATH; +#else static std::string global_cache_data_path; +#endif /* ETVK_DEFAULT_CACHE_PATH */ + if (file_path.size() > 0) { global_cache_data_path = file_path; } diff --git a/backends/vulkan/targets.bzl b/backends/vulkan/targets.bzl index 665fde103fc..29578aa177a 100644 --- a/backends/vulkan/targets.bzl +++ b/backends/vulkan/targets.bzl @@ -170,6 +170,10 @@ def define_common_targets(is_fbcode = False): "ovr_config//os:macos": mac_flags, }) + etvk_default_cache_path = read_config("etvk", "default_cache_path", "") + if etvk_default_cache_path != "": + VK_API_PREPROCESSOR_FLAGS += ["-DETVK_DEFAULT_CACHE_PATH={}".format(etvk_default_cache_path)] + debug_mode = read_config("etvk", "debug", "0") == "1" if debug_mode: VK_API_PREPROCESSOR_FLAGS += ["-DVULKAN_DEBUG"]