summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYuri Sizov <yuris@humnom.net>2023-07-26 18:40:35 +0200
committerYuri Sizov <yuris@humnom.net>2023-07-26 18:40:35 +0200
commitd894a2ff574cfbb32cc9bce72f72b6492c254038 (patch)
tree50a5ac87d1494c4ca86c36a7d0481f26887bec44
parentd50c52652f76f4095f1ed41e8d38fe908d2127f8 (diff)
parent52fb5bf98654ab1b96823cca4eae4f08e47c4d8e (diff)
downloadredot-engine-d894a2ff574cfbb32cc9bce72f72b6492c254038.tar.gz
Merge pull request #79883 from clayjohn/GLES3-shader-cache-dir
Check if shader cache directory is available before using cache
-rw-r--r--drivers/gles3/shader_gles3.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/gles3/shader_gles3.cpp b/drivers/gles3/shader_gles3.cpp
index 29e9ada72b..fdc787b4a1 100644
--- a/drivers/gles3/shader_gles3.cpp
+++ b/drivers/gles3/shader_gles3.cpp
@@ -667,7 +667,7 @@ void ShaderGLES3::_clear_version(Version *p_version) {
void ShaderGLES3::_initialize_version(Version *p_version) {
ERR_FAIL_COND(p_version->variants.size() > 0);
- if (_load_from_cache(p_version)) {
+ if (shader_cache_dir_valid && _load_from_cache(p_version)) {
return;
}
p_version->variants.reserve(variant_count);
@@ -678,7 +678,9 @@ void ShaderGLES3::_initialize_version(Version *p_version) {
_compile_specialization(spec, i, p_version, specialization_default_mask);
p_version->variants[i].insert(specialization_default_mask, spec);
}
- _save_to_cache(p_version);
+ if (shader_cache_dir_valid) {
+ _save_to_cache(p_version);
+ }
}
void ShaderGLES3::version_set_code(RID p_version, const HashMap<String, String> &p_code, const String &p_uniforms, const String &p_vertex_globals, const String &p_fragment_globals, const Vector<String> &p_custom_defines, const LocalVector<ShaderGLES3::TextureUniformData> &p_texture_uniforms, bool p_initialize) {