summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewer.cpp
AgeCommit message (Collapse)Author
2018-03-21MAINT-8417 Fixed startup crash in doFrame() after failing to access vfs cacheandreykproductengine
2018-02-13MAINT-8203 Use the ReadOfflineMsgs cap to fetch IMs after loginandreykproductengine
2018-02-22MAINT-8183 Fixed some exit issues and crashesandreykproductengine
2018-02-15Mark RenderNsightDebugSupport as requiring restart (because it does).Graham Linden graham@lindenlab.com
Remove nerfing of message to run SL_Launcher.
2018-02-15Add debug setting and code to allow nVidia nSight graphics debugging to ↵Graham Linden graham@lindenlab.com
capture SL frames. These changes are only enabled if RenderNsightDebugSupport is true and eliminate use of some OpenGL legacy functionality which is incompatible with nSight capture (mostly glReadPixels and other fixed-function pipe rendering calls).
2018-02-12Merged in lindenlab/viewer-bearAndreyL ProductEngine
2018-01-30MAINT-8180 Add the way to get default string despite of current localiztionmaxim_productengine
2018-01-30MAINT-8091 Removed deprecated and unused private memory poolingAndrey Kleshchev
2018-01-24MAINT-8180 Help > Report Bug does not include viewer bitnessmaxim_productengine
2018-01-17merge 5.1.0-releaseOz Linden
2018-01-17MAINT-8154 Brought back the LLContinueError handlingAndreyL ProductEngine
2018-01-17Merged in lindenlab/viewer-bearAndreyL ProductEngine
2017-12-20MAINT-8087: Use env vars from VMP for AppData\Roaming and Local.Nat Goodspeed
On Windows, when logged in with a non-ASCII username, every one of the three documented APIs -- SHGetSpecialFolderPath(), SHGetFolderPath() and SHGetKnownFolderPath() -- fails to retrieve any pathname at all. We cannot account for the fact that the oldest of these continues to work with the release viewer and within a Python script (though not, curiously, from a Python interactive session). With a non-ASCII username, they consistently fail when called from an Alex Ivy viewer build: "The filename, directory name, or volume label syntax is incorrect." Empirically, with a non-ASCII username, the preset APPDATA and LOCALAPPDATA environment variables are also useless, e.g. c:\Users\??????\AppData\Roaming where those are, yup, actual question marks. Empirically, the VMP is able to successfully call SHGetFolderPath() to retrieve both AppData\Roaming and AppData\Local. Therefore, we make the VMP set the APPDATA and LOCALAPPDATA environment variables to the UTF-8 encoded correct pathnames. Instead of calling SHGetSomethingFolderPath() at all, make LLDir_Win32 retrieve those environment variables. Make LLFile::mkdir() treat "directory already exists" as a success case. Every single call fell into one of two categories: either it didn't check success at all, or it tested specially to exempt errno == EEXIST. Migrate that test into mkdir(); eliminate it from call sites. Make LLDir::append() and add() convenience functions accept variadic arguments. Replace add(add()...) constructs, as well as clumsy concatenations of directory names and getDirDelimiter(), with simple variadic add() calls.
2017-11-29DRTVWR-418: Merge from latest viewer-releaseNat Goodspeed
2017-11-29merge changes for 5.0.9-releaseOz Linden
2017-11-16MAINT-8154 Disabled exception handling in LLAppViewer::frame() to get proper ↵AndreyL ProductEngine
call stacks
2017-10-11DRTVWR-418: Fix glitch from merging from today's viewer-releaseNat Goodspeed
2017-10-11Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-10-11merge changes for 5.0.8-releaseOz Linden
2017-08-24merge changes for MAINT-7594Oz Linden
2017-08-23merge changes for MAINT-7594Oz Linden
2017-08-23merge changes for 5.0.7-releaseOz Linden
2017-08-22MAINT-7594: add platform name string to login request (and add request ↵Oz Linden
parameter logging at DEBUG)
2017-08-16merge changes for DRTVWR-439Oz Linden
2017-08-15Merged in lindenlab/viewer64-maint-7643 (pull request #17)Oz Linden
MAINT-7643 Approved-by: Oz Linden <oz@lindenlab.com> Approved-by: Nat Linden <nat@lindenlab.com>
2017-08-11MAINT-7641: Indent new RunLauncher notification per code review.Nat Goodspeed
2017-08-11MAINT-7641: Warn user if s/he directly runs viewer without launcher.Nat Goodspeed
2017-07-27MAINT-7643: add viewer bitness to crash log output, forked from V64Glenn Glazer
2017-07-27revert bad file copyGlenn Glazer
2017-07-27MAINT-7643: add viewer bitness to crash log outputGlenn Glazer
2017-06-28DRTVWR-418: Bump TEXTURE_CACHE_VERSION and INDRA_OBJECT_CACHE_VERSIONNat Goodspeed
so the Alex Ivy viewer will reset caches. We have some evidence that the cache content is tied to ADDRESS_SIZE, so asking a 64-bit viewer to process 32-bit cache content is problematic.
2017-06-20merge changes for 5.0.6-releaseOz Linden
2017-06-20pull from v64 gateGlenn Glazer
2017-06-20Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2017-06-20Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-08-30MAINT-7758 Fixed freeze on loading lsl scripts from unicode named windows ↵andreykproductengine
folder.
2017-08-27Merged in oz_linden/viewer-maint-7594AndreyL ProductEngine
2017-08-25MAINT-7739 Make LLOSInfo a Singletonandreykproductengine
2017-08-24MAINT-7594: add platform name string and address size to login request for ↵Oz Linden
crash stats (and add request parameter logging at DEBUG)
2017-08-21BUG-134134 Additional loggingandreykproductengine
2017-08-10MAINT-7596 FIXED System information is truncated in JIRA issues filed ↵Mnikolenko Productengine
through "Report bug" viewer option
2017-07-13MAINT-7326 Increased default texture and vfs cache sizeandreykproductengine
2017-07-11MAINT-7554 Removed unneeded checkandreykproductengine
2017-06-27MAINT-7554 Frame throttlingandreykproductengine
2017-05-05pull from gatecoyot@coyot-sager-PC.hsd1.ca.comcast.net
2017-05-04Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-05-03Automated merge with ssh://bitbucket.org/lindenlab/viewer64Nat Goodspeed
2017-05-03DRTVWR-418: 64-bit Windows viewer requests "win64" updates from VVM.Nat Goodspeed
This is only transitional, until we integrate the Viewer Management Process (soon now).
2017-05-02DRTVWR-418, MAINT-6996: clarify divide-by-1024 (not shift-right 10)Nat Goodspeed
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.