From 7419e4429df9bda495cb354f852f81089837a10e Mon Sep 17 00:00:00 2001 From: LuoZhihao Date: Fri, 13 Jun 2025 13:24:38 +0800 Subject: [PATCH] Fix global shader texture uniform --- drivers/gles3/storage/material_storage.cpp | 12 ++++++++---- .../renderer_rd/storage_rd/material_storage.cpp | 12 ++++++++---- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/drivers/gles3/storage/material_storage.cpp b/drivers/gles3/storage/material_storage.cpp index 3daa0fb8bf..0860f72a42 100644 --- a/drivers/gles3/storage/material_storage.cpp +++ b/drivers/gles3/storage/material_storage.cpp @@ -872,10 +872,14 @@ void MaterialData::update_textures(const HashMap &p_paramet E->value = global_textures_pass; } - if (v->override.get_type() == Variant::RID && ((RID)v->override).is_valid()) { - textures.push_back(v->override); - } else if (v->value.get_type() == Variant::RID && ((RID)v->value).is_valid()) { - textures.push_back(v->value); + RID override_rid = v->override; + if (override_rid.is_valid()) { + textures.push_back(override_rid); + } else { + RID value_rid = v->value; + if (value_rid.is_valid()) { + textures.push_back(value_rid); + } } } diff --git a/servers/rendering/renderer_rd/storage_rd/material_storage.cpp b/servers/rendering/renderer_rd/storage_rd/material_storage.cpp index dbfa66c850..8018382539 100644 --- a/servers/rendering/renderer_rd/storage_rd/material_storage.cpp +++ b/servers/rendering/renderer_rd/storage_rd/material_storage.cpp @@ -906,10 +906,14 @@ void MaterialStorage::MaterialData::update_textures(const HashMapvalue = global_textures_pass; } - if (v->override.get_type() == Variant::RID && ((RID)v->override).is_valid()) { - textures.push_back(v->override); - } else if (v->value.get_type() == Variant::RID && ((RID)v->value).is_valid()) { - textures.push_back(v->value); + RID override_rid = v->override; + if (override_rid.is_valid()) { + textures.push_back(override_rid); + } else { + RID value_rid = v->value; + if (value_rid.is_valid()) { + textures.push_back(value_rid); + } } }