1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Treat missing variants as normal cache misses during shader cache lookup

This commit is contained in:
Mike Precup
2025-08-22 11:35:42 -07:00
parent d5ad0556a2
commit 277693ba81

View File

@@ -463,9 +463,14 @@ bool ShaderRD::_load_from_cache(Version *p_version, int p_group) {
for (uint32_t i = 0; i < variant_count; i++) {
int variant_id = group_to_variant_map[p_group][i];
uint32_t variant_size = f->get_32();
if (!variants_enabled[variant_id] || variant_size == 0) {
if (!variants_enabled[variant_id]) {
continue;
}
if (variant_size == 0) {
// A new variant has been requested, failing the entire load will generate it
print_verbose(vformat("Shader cache miss for %s due to missing variant %d", name.path_join(group_sha256[p_group]).path_join(_version_get_sha1(p_version)), variant_id));
return false;
}
Vector<uint8_t> variant_bytes;
variant_bytes.resize(variant_size);