|
@@ -437,7 +437,7 @@ bool ShaderRD::_load_from_cache(Version *p_version, int p_group) {
|
|
|
f = FileAccess::open(_get_cache_file_path(p_version, p_group, api_safe_name, true), FileAccess::READ);
|
|
|
}
|
|
|
|
|
|
- if (f.is_null()) {
|
|
|
+ if (f.is_null() && shader_cache_res_dir_valid) {
|
|
|
f = FileAccess::open(_get_cache_file_path(p_version, p_group, api_safe_name, false), FileAccess::READ);
|
|
|
}
|
|
|
|
|
@@ -539,8 +539,10 @@ void ShaderRD::_compile_version_start(Version *p_version, int p_group) {
|
|
|
p_version->dirty = false;
|
|
|
|
|
|
#if ENABLE_SHADER_CACHE
|
|
|
- if (_load_from_cache(p_version, p_group)) {
|
|
|
- return;
|
|
|
+ if (shader_cache_user_dir_valid || shader_cache_res_dir_valid) {
|
|
|
+ if (_load_from_cache(p_version, p_group)) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
}
|
|
|
#endif
|
|
|
|
|
@@ -823,6 +825,7 @@ void ShaderRD::initialize(const Vector<String> &p_variant_defines, const String
|
|
|
|
|
|
void ShaderRD::_initialize_cache() {
|
|
|
shader_cache_user_dir_valid = !shader_cache_user_dir.is_empty();
|
|
|
+ shader_cache_res_dir_valid = !shader_cache_res_dir.is_empty();
|
|
|
if (!shader_cache_user_dir_valid) {
|
|
|
return;
|
|
|
}
|