Commit Graph

152 Commits (e6f9a5e2db4ec8d83fc807efcb71d181c52f5e07)

Author SHA1 Message Date
Nicky 985730a52c Merge. 2017-05-18 17:40:24 +02:00
Nat Goodspeed 9fa131b088 DRTVWR-418, MAINT-6996: Update Mac mem queries (per Drake Arconis)
Drake points out that the OS X 64-bit-capable memory-query APIs recommended in
comments by some long-ago maintainer are by now themselves obsolete. He
offered this patch to update us to current macOS memory APIs.
2017-05-10 14:19:44 -04:00
Nat Goodspeed 52899ed62a DRTVWR-418, MAINT-6996: Rationalize LLMemory wrt 64-bit support.
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.
2017-05-02 10:51:18 -04:00
Ansariel 77bd2672cb Add detection of Windows Server 2016 2016-05-02 14:12:39 +02:00
Ansariel 3192fe832f Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
Nicky e4a639bc48 Widnows: Proper path handling for utf8 paths 2016-01-30 23:41:14 +01:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Nicky d693d7247c Remove obsolete files. 2015-08-19 21:21:06 +02:00
Tonya Souther cf68cc2d12 Whitespace fixes. No code changes. 2015-08-16 09:07:35 -05:00
Tonya Souther 43288cc300 FIRE-10950: Handle VM szes greater than 2 TB. 2015-08-15 19:12:51 -05:00
Ansariel c10c77f2d7 STORM-2105: Remove now obsolete code 2015-05-21 11:21:33 +02:00
Ansariel f2d033ef59 STORM-2105: Switch to VersionHelper API to determine Windows version
While we could set major and minor operating system version with the data
returned by GetVersionEx / GetVersion, we set them explicitly as named function
may be altered or removed in the future. In that case, only the build number
would be affected.

Also removed the old way of determing the build number via shell version. This
was only needed for Windows 9x, which aren't supported anymore and can't even
run the viewer.
2015-05-21 11:13:01 +02:00
Ansariel c806c5784a Sync Windows version detection with V3 as I'm going to pull STORM-2105 2015-06-04 11:45:44 +02:00
Ansariel 8436c9e72e FIRE-15573: Switch to VersionHelper API to determine Windows version 2015-05-11 11:42:48 +02:00
Nicky 006190f2a1 Merge with tools update. 2015-05-05 13:09:27 +02:00
Oz Linden 111900150d work arounds to compile on linux 2014-12-22 16:42:55 -05:00
Nicky 5e83473542 Improve performance of LLMemoryInfo::loadStatsMap. When querying for process memory only, there is no need to make a potential expensive call into GetPerformanceInfo. 2015-02-26 11:24:56 +01:00
Tank_Master 40e56de0b8 Fix FIRE-15464: The latest nightly build is detecting Windows 8.1 as Windows 10 2015-01-29 21:23:02 -08:00
Tank_Master 04b78ef193 Update Windows 10 detection do to kernal version change in latest tech preview (6.4 -> 10.0) 2015-01-27 23:56:15 -08:00
Ansariel a45088cb6b Merge LL V3.7.11 2015-01-12 12:54:15 +01:00
callum_linden 8db1250b73 Update to build on Xcode 6.0: collection of similar const var not used warnings/errors [-Wunused-const-variable] 2014-10-17 14:08:58 -07:00
Tank_Master 8a1c199e07 Display Windows 10 in help->about properly 2014-10-01 22:01:41 -07:00
Oz Linden a98b4b6bee merge changes for 3.7.7-release 2014-05-07 11:09:04 -04:00
Oz Linden 776aadf4ef OPEN-199: replace the confusing STANDALONE switch with USESYSTEMLIBS 2014-03-19 17:30:07 -04:00
Tank_Master 6babf8abd2 Merge LL 3.7.7 2014-06-09 11:29:57 -07:00
Richard Linden f7dc3937cd SH-4641 FIX Interesting: Incorrect amount of system memory detected on Mac 2013-12-03 20:27:41 -08:00
Richard Linden 34ff2fc46b merge with release 2013-12-02 14:57:29 -08:00
Richard Linden 17e9c872ad Automated merge with http://bitbucket.org/lindenlab/viewer-release 2013-11-11 19:17:49 -08:00
Graham Linden 10705b4360 Merge 3.6.11 for RC-ability 2013-11-11 15:50:01 -08:00
Graham Linden 970ee73e9a Fix release merge issues (included upstream changes not yet in release from bear) 2013-10-25 11:48:43 -07:00
Richard Linden 420a1af0c8 SH-4774 FIX: textures are blurry on Mac 2013-09-11 16:26:03 -07:00
Richard Linden ddd9d1396c merge 2013-09-09 20:19:36 -07:00
Richard Linden 21ab67416d SH-4774 FIX: textures are blurry on Mac 2013-09-09 20:18:12 -07:00
Richard Linden 52da9f5f49 merge with viewer-release 2013-09-09 18:58:41 -07:00
simon_linden e2019e8a3b Merge downstream code with viewer-release 2013-09-09 16:17:16 -07:00
dmitry f515c132e4 MAINT-2850 Fix for linux build 2013-08-22 11:38:42 +03:00
Richard Linden 37626bb4a2 BUILDFIX: gcc build fixes 2013-08-21 14:45:04 -07:00
Simon Linden ce6d63be47 Fix file EOL format 2013-08-21 20:41:30 +00:00
dmitrykproductengine 87add5bfb6 MAINT-2850 FIXED Windows 8.1 detected as running in windows 8 compatibility mode always 2013-08-20 20:49:36 +03:00
Richard Linden 612892b45a SH-4433 WIP: Interesting: Statistics > Ping Sim is always 0 ms
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-18 22:30:27 -07:00
Richard Linden 25937040de SH-4433 WIP: Interesting: Statistics > Ping Sim is always 0 ms
converted many values over to units system in effort to track down
source of 0 ping
2013-08-16 12:38:12 -07:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Richard Linden e40065f82c BUILDFIX: #include and dependency cleanup 2013-07-19 15:03:05 -07:00
Richard Linden 862cdf3061 SH-4297 WIP interesting: viewer-interesting starts loading cached scene late
fixed ostream precision munging in llsys
2013-07-18 15:08:46 -07:00
Richard Linden 0a96b47663 merge with viewer-release 2013-06-05 19:05:43 -07:00
Graham Madarasz c38204f5e0 Unwind cruft from hunting for 2707 they won't end up in vwr-dev-mat 2013-06-05 14:26:27 -07:00
Graham Madarasz 50689a13ba BOOG2707 uncomment cleared suspects 2013-06-05 06:14:27 -07:00
Graham Madarasz ea24612561 BUG-2707 make use of OsOutputDebugString _DEBUG only on Windows to avoid throwing unhandlable exceptions in coroutines in RelWithDebInfo builds 2013-06-04 07:51:27 -07:00
Graham Madarasz 1f9137ed5f BUG-2707 fix unref'd var 2013-06-02 19:52:59 -07:00
Graham Madarasz a1888e72fa BUG-2707 eliminate debug message and memory dump from FrameWatcher, which appears to be going off on login for some 2013-06-02 17:08:01 -07:00