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 //