Add shader_cache_dir_valid check to _save_to_cache
This commit is contained in:
parent
3524346689
commit
a365c070b3
|
@ -611,6 +611,7 @@ void ShaderGLES3::_save_to_cache(Version *p_version) {
|
|||
#ifdef WEB_ENABLED // not supported in webgl
|
||||
return;
|
||||
#else
|
||||
ERR_FAIL_COND(!shader_cache_dir_valid);
|
||||
#if !defined(ANDROID_ENABLED) && !defined(IOS_ENABLED)
|
||||
if (RasterizerGLES3::is_gles_over_gl() && (glGetProgramBinary == NULL)) { // ARB_get_program_binary extension not available.
|
||||
return;
|
||||
|
|
|
@ -209,7 +209,9 @@ protected:
|
|||
_compile_specialization(s, p_variant, version, p_specialization);
|
||||
version->variants[p_variant].insert(p_specialization, s);
|
||||
spec = version->variants[p_variant].lookup_ptr(p_specialization);
|
||||
_save_to_cache(version);
|
||||
if (shader_cache_dir_valid) {
|
||||
_save_to_cache(version);
|
||||
}
|
||||
}
|
||||
} else if (spec->build_queued) {
|
||||
// Still queued, wait
|
||||
|
|
|
@ -463,6 +463,7 @@ bool ShaderRD::_load_from_cache(Version *p_version, int p_group) {
|
|||
}
|
||||
|
||||
void ShaderRD::_save_to_cache(Version *p_version, int p_group) {
|
||||
ERR_FAIL_COND(!shader_cache_dir_valid);
|
||||
String sha1 = _version_get_sha1(p_version);
|
||||
String path = shader_cache_dir.path_join(name).path_join(group_sha256[p_group]).path_join(sha1) + ".cache";
|
||||
|
||||
|
|
Loading…
Reference in New Issue