Commit Graph

159 Commits (94534f4c88a9975469cc8bc9b403510c34258aaf)

Author SHA1 Message Date
Ansariel 888dce7482 Merge branch 'DRTVWR-515-maint' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	indra/llcommon/llsys.cpp
2021-03-03 21:12:21 +01:00
Brad Payne (Vir Linden) 54c2608d45 SL-12122 - removed frametime spikes in windows build caused by unnecessary call to GetPerformanceInfo() 2021-03-02 22:27:45 +02:00
Ansariel d1c373d9bc Ugly hack to prevent even uglier overflow and negative amounts of memory... 2020-10-25 01:11:34 +02:00
Ansariel bf822b85de Use IsWindows10OrGreater since target SDK is now Windows 10 and remove the year from Windows Server since the different versions can only be distinguished by the build numbers 2020-10-15 21:14:36 +02:00
Ansariel 90ff9e8fb1 Merge viewer-neko 2018-11-14 19:28:16 +01:00
AndreyL ProductEngine 2d22230950 SL-9935 Include full win10 build number in Help > About Second Life and logs 2018-11-12 15:31:19 +02:00
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
Oz Linden b0d8f3a1ab MAINT-4532: properly detect Windows 10 in the 64bit build (only - 32bit runs in Windows 8 compatibility mode) 2017-07-10 16:30:28 -04: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