summaryrefslogtreecommitdiff
path: root/indra/llprimitive
diff options
context:
space:
mode:
authorRunitaiLinden <davep@lindenlab.com>2023-04-03 17:22:40 -0500
committerGitHub <noreply@github.com>2023-04-03 15:22:40 -0700
commit7c831d115b55b96129806353a51a01dcf2bcebba (patch)
tree03d2a767ff5c4ce0200dbe5e44fa431cd0ed399c /indra/llprimitive
parent982281b6cbba2db8757c906d1c8d5053f1c6696b (diff)
SL-18458 Make LLVOCache the one source of truth on most recently received overrides. (#147)
Diffstat (limited to 'indra/llprimitive')
-rw-r--r--indra/llprimitive/lltextureentry.cpp11
-rw-r--r--indra/llprimitive/lltextureentry.h2
2 files changed, 10 insertions, 3 deletions
diff --git a/indra/llprimitive/lltextureentry.cpp b/indra/llprimitive/lltextureentry.cpp
index a665db378b..17b1f4cf5c 100644
--- a/indra/llprimitive/lltextureentry.cpp
+++ b/indra/llprimitive/lltextureentry.cpp
@@ -559,10 +559,17 @@ void LLTextureEntry::setGLTFMaterial(LLGLTFMaterial* material, bool local_origin
}
}
-void LLTextureEntry::setGLTFMaterialOverride(LLGLTFMaterial* mat)
+S32 LLTextureEntry::setGLTFMaterialOverride(LLGLTFMaterial* mat)
{
llassert(mat == nullptr || getGLTFMaterial() != nullptr); // if override is not null, base material must not be null
- mGLTFMaterialOverrides = mat;
+ if (mat == mGLTFMaterialOverrides)
+ {
+ return TEM_CHANGE_NONE;
+ }
+
+ mGLTFMaterialOverrides = mat;
+
+ return TEM_CHANGE_TEXTURE;
}
S32 LLTextureEntry::setBaseMaterial()
diff --git a/indra/llprimitive/lltextureentry.h b/indra/llprimitive/lltextureentry.h
index 9a81181f3a..f5f2c0172d 100644
--- a/indra/llprimitive/lltextureentry.h
+++ b/indra/llprimitive/lltextureentry.h
@@ -200,7 +200,7 @@ public:
// GLTF override
LLGLTFMaterial* getGLTFMaterialOverride() const { return mGLTFMaterialOverrides; }
- void setGLTFMaterialOverride(LLGLTFMaterial* mat);
+ S32 setGLTFMaterialOverride(LLGLTFMaterial* mat);
// Clear most overrides so the render material better matches the material
// ID (preserve transforms). If the overrides become passthrough, set the
// overrides to nullptr.