Skip to content

Commit b919b19

Browse files
committed
Merge pull request #110174 from clayjohn/RD-shader-cache
Avoid attempting to load from shader cache when both the user-dir and res-dir are invalid
2 parents 6201190 + d90332a commit b919b19

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

servers/rendering/renderer_rd/shader_rd.cpp

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ bool ShaderRD::_load_from_cache(Version *p_version, int p_group) {
437437
f = FileAccess::open(_get_cache_file_path(p_version, p_group, api_safe_name, true), FileAccess::READ);
438438
}
439439

440-
if (f.is_null()) {
440+
if (f.is_null() && shader_cache_res_dir_valid) {
441441
f = FileAccess::open(_get_cache_file_path(p_version, p_group, api_safe_name, false), FileAccess::READ);
442442
}
443443

@@ -539,8 +539,10 @@ void ShaderRD::_compile_version_start(Version *p_version, int p_group) {
539539
p_version->dirty = false;
540540

541541
#if ENABLE_SHADER_CACHE
542-
if (_load_from_cache(p_version, p_group)) {
543-
return;
542+
if (shader_cache_user_dir_valid || shader_cache_res_dir_valid) {
543+
if (_load_from_cache(p_version, p_group)) {
544+
return;
545+
}
544546
}
545547
#endif
546548

@@ -823,6 +825,7 @@ void ShaderRD::initialize(const Vector<String> &p_variant_defines, const String
823825

824826
void ShaderRD::_initialize_cache() {
825827
shader_cache_user_dir_valid = !shader_cache_user_dir.is_empty();
828+
shader_cache_res_dir_valid = !shader_cache_res_dir.is_empty();
826829
if (!shader_cache_user_dir_valid) {
827830
return;
828831
}

servers/rendering/renderer_rd/shader_rd.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ class ShaderRD {
142142
static bool shader_cache_save_compressed_zstd;
143143
static bool shader_cache_save_debug;
144144
bool shader_cache_user_dir_valid = false;
145+
bool shader_cache_res_dir_valid = false;
145146

146147
enum StageType {
147148
STAGE_TYPE_VERTEX,

0 commit comments

Comments
 (0)