Commit Graph

40429 Commits (bd008a170898e69beeb8bc0481b4bfd94de86c55)

Author SHA1 Message Date
coyot@coyot-sager-PC.hsd1.ca.comcast.net 50bb2317b2 SL-617: upgrade to VMP package 504984 2017-05-04 19:10:36 +01:00
coyot@coyot-sager-PC.hsd1.ca.comcast.net 6d425401c1 SL-617: use final_exe to create exe name in summary.json 2017-05-04 18:59:01 +01:00
Nat Goodspeed 07ec10781e Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2017-05-04 13:51:16 -04:00
Nat Goodspeed 35cec8fec8 Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2017-05-03 22:56:07 -04:00
Nat Goodspeed b78065ec55 DRTVWR-418: 64-bit Windows viewer requests "win64" updates from VVM.
This is only transitional, until we integrate the Viewer Management Process
(soon now).
2017-05-03 22:55:18 -04:00
Nat Goodspeed d6b870c0ca DRTVWR-418: Add dtor to LLSafeHandle<T>::NullInstanceHolder
to suppress fatal warnings in Visual Studio.
2017-05-03 22:53:34 -04:00
Nat Goodspeed 09e953a3b7 Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2017-05-03 20:45:23 -04:00
Glenn Glazer 54d5658186 MAINT-6928: upgrade VMP package to 504954 2017-05-03 15:33:29 -07:00
Nat Goodspeed 18083bad5c Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2017-05-03 15:58:53 -04:00
Nat Goodspeed 614c75e110 DRTVWR-418: Silence some Mac build warnings.
Whatever we were trying to do with LLSharedLibs.cmake hasn't worked on the Mac
for a long time, and trying to fix it only digs up more problems. Skip it:
we've already worked around it.

Update the media_plugins_example CMakeLists.txt to eliminate some CMake
non-existent dependency warnings.
2017-05-03 15:58:21 -04:00
Glenn Glazer 81c5f03013 MAINT-6928: upgrade VMP package to 504920 and rip out viewer-manifest changes for 2.6 2017-05-03 11:06:12 -07:00
Nat Goodspeed 9002e3cbc7 DRTVWR-418: Add big deprecation notice to llsafehandle.h. 2017-05-03 13:20:56 -04:00
Nat Goodspeed 03c1e5e034 Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2017-05-03 13:00:00 -04:00
callum@lindenlab.com 9930e22ac5 Automated merge with head of lindenlab/viewer64 2017-05-02 13:31:54 -07:00
coyot@coyot-sager-PC.hsd1.ca.comcast.net e1253f1a8c SL-617: use the braces, Luke! 2017-05-02 21:18:57 +01:00
Nat Goodspeed e4996c5d81 DRTVWR-418, MAINT-6996: clarify divide-by-1024 (not shift-right 10) 2017-05-02 14:39:59 -04:00
Oz Linden d47f604e63 VOICE-47: Disconnect from voice during teleport to prevent audio artifacts 2017-05-02 14:32:34 -04:00
Nat Goodspeed 2bb19aec98 DRTVWR-418, MAINT-6996: Update Mac LLMemory::getCurrentRSS().
Evidently the Mac implementation of LLMemory::getCurrentRSS() goes back to
OS X 10.3, because there was a helpful comment of the form:

------
The API used here is not capable of dealing with 64-bit memory sizes, but is
available before 10.4.

Once we start requiring 10.4, we can use the updated API, which looks like
this:

[new current implementation]

Of course, this doesn't gain us anything unless we start building the viewer
as a 64-bit executable, since that's the only way for our memory allocation to
exceed 2^32.
------

Hey, guess what, we're building 64-bit viewers now!

Thank you, whoever thoughtfully noted that, both for calling out the issue and
sparing us the research. (The comment goes back to Subversion days, so hg
blame shows only the merge-to-release changeset.)
2017-05-02 11:05:13 -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
Callum Prentice 49745fe4ed Pull in new version of Dullahan that is built against latest version of CEF (CEF 3.3029.1611.g44e39a8 / Chromium 58.0.3029.81) 2017-05-01 12:43:14 -07:00
Callum Prentice 7005310541 Fix MAINT-7360 Investigate removal of MSVCR100.DLL and MSVCP100.DLL 2017-05-01 12:42:12 -07:00
Brad Payne (Vir Linden) ed9653f711 MAINT-7343 - contributions.txt update 2017-05-01 15:17:28 -04:00
Brad Payne (Vir Linden) 218615320a MAINT-7343 - removed unusued coprocedure parameter, changed one coro argument to pass by value 2017-05-01 15:05:57 -04:00
Callum Prentice e94d785713 Automated merge with tip 2017-05-01 11:12:39 -07:00
Callum Prentice 31e2ab7c1c Trivial whitespace change in README to force a new build 2017-05-01 11:12:07 -07:00
coyot@coyot-sager-PC.hsd1.ca.comcast.net b7b07b0414 SL-617: fix registry path 2017-05-01 18:57:06 +01:00
callum@lindenlab.com a32ec9e983 Pull in Nickyd's changes to APR and LLCEFLib (Dullahan) for MAINT-6116 Console window appears breifly for Flash sites 2017-04-28 13:51:09 -07:00
callum@lindenlab.com 0c9758820c Add NULL macOs implementation for 'MAINT-6950 Shared media a great distance away (different region even) sometimes plays at maximum volume when entering a region or moving camera slightly.' - until we can understand how to make real mac_volume_catcher work 2017-04-28 13:48:36 -07:00
Brad Payne (Vir Linden) 9dfb5614e6 MAINT-7343 - moved asset downloads to use coprocedure pools, which should reduce the size of potential memory spikes 2017-04-28 16:10:24 -04:00
coyot@coyot-sager-PC a67d449813 SL-617: pass final_exe from viewer manifest to NSIS as VIEWER_EXE 2017-04-28 20:04:32 +01:00
coyot@coyot-sager-PC b6e1419007 SL-671: fix string substitution 2017-04-28 17:05:58 +01:00
Callum Prentice 8f95d9ad6e FIX for MAINT-6950 Shared media a great distance away (different region even) sometimes plays at maximum volume when entering a region or moving camera slightly. 2017-04-27 18:04:00 -07:00
coyot@coyot-sager-PC 24b4d3c13f SL-671: make icon point to launcher, not viewer 2017-04-28 01:09:14 +01:00
Nat Goodspeed 29dd5f0123 DRTVWR-418: Use (protected) LLSingleton to store "null instance"
of LLSafeHandle's referenced type. Using LLSingleton gives us a well-defined
time at which the "null instance" is deleted: LLSingletonBase::deleteAll().
2017-04-27 18:49:33 -04:00
Nat Goodspeed b94e2d0103 DRTVWR-418: initSingleton(), cleanupSingleton() must be non-static. 2017-04-27 09:02:37 -04:00
Nat Goodspeed c04073da37 DRTVWR-418: Use conventional LLSingleton init/cleanup for LLWinDebug.
LLWinDebug, though an LLSingleton, had (and required explicit calls to)
special init() and cleanup() methods. Kitty Barnett points out that the
cleanup() method was actually being called after LLSingletonBase::deleteAll(),
requiring resurrection of the deleted LLWinDebug, which sometimes led to
crashes. (Resurrecting deleted LLSingletons is always suspect.)

Change LLWinDebug::init() and cleanup() to the conventional initSingleton()
and cleanupSingleton() methods. This eliminates the need to make special
method calls at all. In particular, cleanupSingleton() will be called by the
existing LLSingletonBase::cleanupAll() call near viewer shutdown.

We retain the early LLWinDebug::instance() call, which implicitly initializes
the LLWinDebug instance, because evidently we want that initialized early. But
we no longer require a separate init() call.
2017-04-27 08:40:01 -04:00
Nat Goodspeed 0d0f2a8aeb DRTVWR-418: Remove misleading comment -- no more implicit deleteAll().
The comment indicates that calling LLSingletonBase::deleteAll() is optional
because the LLSingleton machinery implicitly calls that during final
static-object cleanup. That is no longer true.
2017-04-27 08:32:19 -04:00
Nat Goodspeed cdbad842c2 DRTVWR-418: Update llphysicsextensions_source to 504710, _stub to 504712. 2017-04-26 22:29:54 -04:00
Nat Goodspeed 579fd1a958 DRTVWR-418: Update havok-source to build 504680, with Havok fix. 2017-04-26 19:03:52 -04:00
Nat Goodspeed b931fb0c28 Automated merge with ssh://bitbucket.org/lindenlab/viewer64 2017-04-26 18:34:17 -04:00
Brad Payne (Vir Linden) b7b8d6e1ae MAINT-7343 - added periodic logging of state of the asset store. 2017-04-26 12:39:14 -04:00
ruslantproductengine e2aa2e0008 MAINT-6275 - Child prim not touchable after being resized and moved relative to root prim by script.
FIXED.
UPDATED: Add comments.
2017-04-26 15:56:43 +03:00
Callum Prentice 89c172993a meaningless whitespace change to force a new build 2017-04-25 14:54:26 -07:00
Glenn Glazer a3acaaa61b MAINT-6928: upgrade VMP package to 504558 2017-04-24 16:13:56 -07:00
Nat Goodspeed d415e019a6 DRTVWR-418: Remove final shutdown cleanup as a cause of crashes.
The recent LLSingleton work added a hook that would run during the C++
runtime's final destruction of static objects. When the LAST LLSingleton in
any module was destroyed, its destructor would call
LLSingletonBase::deleteAll(). That mechanism was intended to permit an
application consuming LLSingletons to skip making an explicit deleteAll()
call, knowing that all instantiated LLSingleton instances would eventually be
cleaned up anyway.

However -- experience proves that kicking off deleteAll() processing during
the C++ runtime's final cleanup is too late. Too much has already been
destroyed. That call tends to cause more shutdown crashes than it resolves.

This commit deletes that whole mechanism. Going forward, if you want to clean
up LLSingleton instances, you must explicitly call
LLSingletonBase::deleteAll() during the application lifetime. If you don't,
LLSingleton instances will simply be leaked -- which might be okay,
considering the application is terminating anyway.
2017-04-24 16:36:54 -04:00
Callum Prentice 5ea93fc85c pull in nickyd's changes to APR and LLCEFLib (Dullahan) for MAINT-6116 Console window appears breifly for Flash sites 2017-04-24 13:13:26 -07:00
ruslantproductengine 334dfe0587 MAINT-6275 - Child prim not touchable after being resized and moved relative to root prim by script.
FIXED.
It's a very important on each cycle on Drawable::update form(), when object
remained in move, list update the CurrentScale member, because if do not do that,
it remained in this list forever or when the delta time between two frames
a become a sufficiently large (due to interpolation)
for overcome the MIN_INTERPOLATE_DISTANCE_SQUARED.
2017-04-24 20:19:48 +03:00
Brad Payne (Vir Linden) e6f53dedb7 MAINT-7343 - Added check for shutdown in progress when asset result arrives 2017-04-24 11:25:04 -04:00
Nat Goodspeed fad8c7edd7 DRTVWR-418: Binary search for a good size for temp Mac disk image 2017-04-22 19:51:40 -04:00
Nat Goodspeed e4cd2028ea DRTVWR-418: Binary search for a good size for temp Mac disk image 2017-04-22 18:45:18 -04:00