summaryrefslogtreecommitdiff
path: root/indra/newview/llviewertexturelist.cpp
AgeCommit message (Collapse)Author
2017-05-02DRTVWR-418, MAINT-6996: Rationalize LLMemory wrt 64-bit support.Nat Goodspeed
There were two distinct LLMemory methods getCurrentRSS() and getWorkingSetSize(). It was pointless to have both: on Windows they were completely redundant; on other platforms getWorkingSetSize() always returned 0. (Amusingly, though the Windows implementations both made exactly the same GetProcessMemoryInfo() call and used exactly the same logic, the code was different in the two -- as though the second was implemented without awareness of the first, even though they were adjacent in the source file.) One of the actual MAINT-6996 problems was due to the fact that getWorkingSetSize() returned U32, where getCurrentRSS() returns U64. In other words, getWorkingSetSize() was both useless *and* wrong. Remove it, and change its one call to getCurrentRSS() instead. The other culprit was that in several places, the 64-bit WorkingSetSize returned by the Windows GetProcessMemoryInfo() call (and by getCurrentRSS()) was explicitly cast to a 32-bit data type. That works only when explicitly or implicitly (using LLUnits type conversion) scaling the value to kilobytes or megabytes. When the size in bytes is desired, use 64-bit types instead. In addition to the symptoms, LLMemory was overdue for a bit of cleanup. There was a 16K block of memory called reserveMem, the comment on which read: "reserve 16K for out of memory error handling." Yet *nothing* was ever done with that block! If it were going to be useful, one would think someone would at some point explicitly free the block. In fact there was a method freeReserve(), apparently for just that purpose -- which was never called. As things stood, reserveMem served only to *prevent* the viewer from ever using that chunk of memory. Remove reserveMem and the unused freeReserve(). The only function of initClass() and cleanupClass() was to allocate and free reserveMem. Remove initClass(), cleanupClass() and the LLCommon calls to them. In a similar vein, there was an LLMemoryInfo::getPhysicalMemoryClamped() method that returned U32Bytes. Its job was simply to return a size in bytes that could fit into a U32 data type, returning U32_MAX if the 64-bit value exceeded 4GB. Eliminate that; change all its calls to getPhysicalMemoryKB() (which getPhysicalMemoryClamped() used internally anyway). We no longer care about any platform that cannot handle 64-bit data types.
2016-05-20MAINT-6317 Restored the fix after a conflict resolutionAndreyL ProductEngine
2016-05-20Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2016-05-18MAINT-6409 invisiprims should be preloadedandreykproductengine
2016-05-17MAINT-6409 texture_list xml file should be in cache.andreykproductengine
2016-05-06merge 4.0.4-release and MAINT-5974Oz Linden
2016-04-21MAINT-6317 [QuickGraphics-RC] Some rigged mesh attachments render fully on ↵ruslantproductengine
jellybaby avatars when ALM is enabled FIXED - remove global identifier for the black texture - add black texture 2x2x3 localy on apllication startup - add special flag to LLViewerFetchedTexture for protect from removing
2016-04-04merge with 4.0.3-releaseOz Linden
2016-04-01Merged in lindenlab/viewer-bearAndreyL ProductEngine
2016-04-01Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2016-03-29MAINT-6257 Textures loading issues.andreykproductengine
2016-03-29Backed out changeset: ca5d40144cc2andreykproductengine
2016-03-25MAINT-6257 Particle textures loading issues.andreykproductengine
2016-03-17MergeRider Linden
2016-03-16merge changes for DRTVWR-417Oz Linden
2016-03-03MAINT-2199 reverted previous change, refixed missing cloud and ban lineandreykproductengine
2016-02-27MAINT-2199 restored original UI mechanics, removed icons from UI listandreykproductengine
2016-03-07Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2016-02-29Merge from viewer-lynx and conflict resolutionandreykproductengine
2016-02-24MAINT-5297 - icons were not removed from memoryandreykproductengine
2016-02-18MAINT-2199 In some rare cases priorities can change, it shouldn't affect ↵andreykproductengine
texture list.
2016-02-16MAINT-2199 separating UI elements from in-world textures.andreykproductengine
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-08-24MAINT-4952: Removed a bit of debug code that got included accidentally and ↵Rider Linden
change host == LLHost() to host.isInvalid()
2015-08-18MAINT-5506: Fix ugly timing bug in llurlentry static initialization.Nat Goodspeed
The problem was that class-static LLUrlEntryParcel::sRegionHost was being initialized by copying class-static LLHost::invalid. Naturally, these two statics are initialized in different source files. Since C++ makes no promises about the relative order in which objects in different object files are initialized, it seems we hit a case in which we were trying to initialize sRegionHost by copying a completely uninitialized LLHost::invalid. In general we might attempt to address such cross-translation-unit issues by introducing an LLSingleton. But in this particular case, the punch line is that LLHost::invalid is explicitly constructed identically to a default-constructed LLHost! In other words, LLHost::invalid provides nothing we couldn't get from LLHost(). All it gives us is an opportunity for glitches such as the above. Remove LLHost::invalid and all references, replacing with LLHost().
2015-04-13merge changes for 3.7.27-releaseOz Linden
2015-04-10restore the ll[io]fstream because we need them as wrappers on Windows for ↵Oz Linden
wide char paths; on other platforms they are now just typedefs to the std classes
2015-04-07replace llifstream and llofstream with std::ifstream and std::ofstream ↵Oz Linden
respectively
2015-04-07convert llifstream and llofstream to std::ifstream and std::ofstream ↵Oz Linden
respectively
2015-04-02detect xml errors in parsing xml files and remove those filesOz Linden
2014-11-21MAINT-4092 FIXED Prim faces with opaque diffuse maps, with material set to ↵ruslantproductengine
ALPHA MODE BLEND, do not render Pathset #3. Fix problem with not existing UUID's and if have a "conflict" when material can't have DIFFUSE_ALPHA_MODE_BLEND and DIFFUSE_ALPHA_MODE_NONE simultaneously.
2014-10-20Update to build on Xcode 6.0: Large (and final) collection of fixes for ↵callum_linden
unused variables, unused const-variables, unused member variables & functions etc. Also removed flags from CMake
2013-11-19SH-4634 FIX Interesting: Viewer crashes when receiving teleport offerRichard Linden
renamed fast timers to have unique names, changes instance tracker to never allow duplicates
2013-11-11Automated merge with http://bitbucket.org/lindenlab/viewer-releaseRichard Linden
2013-11-05fixed focus issue on inventoryRichard Linden
2013-10-15renamed TimeBlock to BlockTimerStatHandleRichard Linden
2013-10-08merge from viewer-releaseRichard Linden
2013-10-01Automated merge with http://bitbucket.org/lindenlab/viewer-releaseRichard Linden
2013-09-18The unbearable lightness of being norspecGraham Linden
2013-09-09merge with viewer-releaseRichard Linden
2013-09-09Merge viewer-release 3.6.5 CocoaGraham Linden
2013-09-05changed fast timer over to using macroRichard Linden
another attempt to move mem stat into base class
2013-08-28NORSPEC-355 NORSPEC-356 replaced llerrs with asserts to avoid crashes from ↵Graham Linden
false alarms in release
2013-08-19mergeRichard Linden
2013-08-18SH-4433 WIP: Interesting: Statistics > Ping Sim is always 0 msRichard Linden
continued conversion to units system made units perform type promotion correctly and preserve type in arithmetic e.g. can now do LLVector3 in units added typedefs for remaining common unit types, including implicits
2013-08-16Automated merge with http://bitbucket.org/lindenlab/viewer-interestingXiaohong Bao
2013-08-16fix for SH-4297: interesting: viewer-interesting starts loading cached scene ↵Xiaohong Bao
late
2013-08-16SH-4433 WIP: Interesting: Statistics > Ping Sim is always 0 msRichard Linden
converted many values over to units system in effort to track down source of 0 ping
2013-08-15moved unit types out of LLUnits namespace, since they are prefixedRichard Linden
2013-08-14BUILDFIX: added header for numeric_limits support on gccRichard Linden
added convenience types for units F32Seconds, etc.