diff --git a/indra/newview/llviewertexturelist.cpp b/indra/newview/llviewertexturelist.cpp
index 809ee213b8..29c6d062eb 100755
--- a/indra/newview/llviewertexturelist.cpp
+++ b/indra/newview/llviewertexturelist.cpp
@@ -1412,16 +1412,27 @@ void LLViewerTextureList::updateMaxResidentTexMem(S32Megabytes mem)
}
//
- mMaxTotalTextureMemInMegaBytes = mMaxResidentTexMemInMegaBytes * 2;
// Texture memory management
+ //mMaxTotalTextureMemInMegaBytes = mMaxResidentTexMemInMegaBytes * 2;
#ifndef ND_BUILD64BIT_ARCH
//
+ mMaxTotalTextureMemInMegaBytes = mMaxResidentTexMemInMegaBytes * 2;
+
if (mMaxResidentTexMemInMegaBytes > (S32Megabytes)640)
{
mMaxTotalTextureMemInMegaBytes -= (mMaxResidentTexMemInMegaBytes / 4);
}
// Texture memory management
mMaxTotalTextureMemInMegaBytes = llclamp(mMaxTotalTextureMemInMegaBytes, (S32Megabytes)0, (S32Megabytes)768);
+#else
+ if (mMaxResidentTexMemInMegaBytes > gMaxVideoRam / 2)
+ {
+ mMaxTotalTextureMemInMegaBytes = gMaxVideoRam + (S32Megabytes)(mMaxResidentTexMemInMegaBytes * 0.25f);
+ }
+ else
+ {
+ mMaxTotalTextureMemInMegaBytes = mMaxResidentTexMemInMegaBytes * 2;
+ }
#endif
//