Skip to content

Commit 7584546

Browse files
committed
Merge pull request #101941 from dsnopek/opengl-global-uniform-sampler2darray
Fix wrong default texture for global uniforms of type `sampler2DArray`
2 parents 0717eda + fa30719 commit 7584546

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

drivers/gles3/storage/material_storage.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -872,7 +872,11 @@ void MaterialData::update_textures(const HashMap<StringName, Variant> &p_paramet
872872
E->value = global_textures_pass;
873873
}
874874

875-
textures.push_back(v->override.get_type() != Variant::NIL ? v->override : v->value);
875+
if (v->override.get_type() == Variant::RID && ((RID)v->override).is_valid()) {
876+
textures.push_back(v->override);
877+
} else if (v->value.get_type() == Variant::RID && ((RID)v->value).is_valid()) {
878+
textures.push_back(v->value);
879+
}
876880
}
877881

878882
} else {

servers/rendering/renderer_rd/storage_rd/material_storage.cpp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -906,7 +906,11 @@ void MaterialStorage::MaterialData::update_textures(const HashMap<StringName, Va
906906
E->value = global_textures_pass;
907907
}
908908

909-
textures.push_back(v->override.get_type() != Variant::NIL ? v->override : v->value);
909+
if (v->override.get_type() == Variant::RID && ((RID)v->override).is_valid()) {
910+
textures.push_back(v->override);
911+
} else if (v->value.get_type() == Variant::RID && ((RID)v->value).is_valid()) {
912+
textures.push_back(v->value);
913+
}
910914
}
911915

912916
} else {

0 commit comments

Comments
 (0)