|
@@ -698,7 +698,8 @@ void ShaderGLES3::_clear_version(Version *p_version) {
|
|
|
|
|
|
void ShaderGLES3::_initialize_version(Version *p_version) {
|
|
|
ERR_FAIL_COND(p_version->variants.size() > 0);
|
|
|
- if (shader_cache_dir_valid && _load_from_cache(p_version)) {
|
|
|
+ bool use_cache = shader_cache_dir_valid && !(feedback_count > 0 && GLES3::Config::get_singleton()->disable_transform_feedback_shader_cache);
|
|
|
+ if (use_cache && _load_from_cache(p_version)) {
|
|
|
return;
|
|
|
}
|
|
|
p_version->variants.reserve(variant_count);
|
|
@@ -709,7 +710,7 @@ 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);
|
|
|
}
|
|
|
- if (shader_cache_dir_valid) {
|
|
|
+ if (use_cache) {
|
|
|
_save_to_cache(p_version);
|
|
|
}
|
|
|
}
|