summaryrefslogtreecommitdiff
path: root/indra/llprimitive/lltextureentry.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llprimitive/lltextureentry.cpp')
-rw-r--r--indra/llprimitive/lltextureentry.cpp15
1 files changed, 14 insertions, 1 deletions
diff --git a/indra/llprimitive/lltextureentry.cpp b/indra/llprimitive/lltextureentry.cpp
index ac482ffbf9..5296e86a69 100644
--- a/indra/llprimitive/lltextureentry.cpp
+++ b/indra/llprimitive/lltextureentry.cpp
@@ -356,6 +356,7 @@ S32 LLTextureEntry::setScale(F32 s, F32 t)
{
mScaleS = s;
mScaleT = t;
+ mMinScaleSq = -1.f; // invalidate cache for getMinScaleSq()
retval = TEM_CHANGE_TEXTURE;
}
@@ -368,6 +369,7 @@ S32 LLTextureEntry::setScaleS(F32 s)
if (mScaleS != s)
{
mScaleS = s;
+ mMinScaleSq = -1.f; // invalidate cache for getMinScaleSq()
retval = TEM_CHANGE_TEXTURE;
}
return retval;
@@ -379,11 +381,22 @@ S32 LLTextureEntry::setScaleT(F32 t)
if (mScaleT != t)
{
mScaleT = t;
+ mMinScaleSq = -1.f; // invalidate cache for getMinScaleSq()
retval = TEM_CHANGE_TEXTURE;
}
return retval;
}
+F32 LLTextureEntry::getMinScaleSq() const
+{
+ if (mMinScaleSq < 0.f)
+ {
+ F32 m = llmin(fabsf(mScaleS), fabsf(mScaleT));
+ mMinScaleSq = m * m;
+ }
+ return mMinScaleSq;
+}
+
S32 LLTextureEntry::setColor(const LLColor4 &color)
{
if (mColor != color)
@@ -600,7 +613,7 @@ LLGLTFMaterial* LLTextureEntry::getGLTFRenderMaterial() const
return mGLTFRenderMaterial;
}
- llassert(getGLTFMaterialOverride() == nullptr || getGLTFMaterialOverride()->isClearedForBaseMaterial());
+ //llassert(getGLTFMaterialOverride() == nullptr || getGLTFMaterialOverride()->isClearedForBaseMaterial());
return getGLTFMaterial();
}