summaryrefslogtreecommitdiff
path: root/indra/newview/llviewerdisplay.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-12-20DRTVWR-418: Rationalize LLPipeline API.Nat Goodspeed
Someone evidently figured every static LLPipeline method should have at least one void* parameter. There were methods requiring void* parameters that were completely ignored. More to the point, there were methods whose callers have a U32 in hand -- and which want to use a U32 -- but which bizarrely forced callers to cast to void* just so the method could cast back to U32. In a 64-bit compile, this isn't merely pointless, it's erroneous. Change all such methods to accept U32; remove (void*) casts from call sites. While at it, fix LLPipeline API to use bool, true, false rather than their obsolete all-caps predecessors. Once you eat that first potato chip... :-P
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-04-13merge changes for 3.7.27-releaseOz Linden
2015-03-30MAINT-3585 FIXED (Crashes when attempting to upload image.)ruslantproductengine
2014-12-12MAINT-3488 FIXED Pose balls are sometimes invisible after standing up until ↵ruslantproductengine
zooming camera closer
2014-12-10Rename llround(..) to ll_round(..) because of a collision with MS llround ↵callum_linden
(long long round) in VS2013
2014-11-03MAINT-3585 FIXED Viewer Crashes when attempting to upload image.ruslantproductengine
The bug was fixed, the reasone of crash is following. The Core Flow view contain another GL context and will not care about restoring a previous. I restore context manually. This path also contain a minor changes in another files. All changes described here. Сhange's for fix current bug. indra/llwindow/llwindow.h indra/llwindow/llwindowheadless.h indra/llwindow/llwindowmacosx.h indra/llwindow/llwindowsdl.h indra/llwindow/llwindowwin32.h indra/newview/lllocalbitmaps.cpp indra/newview/llviewerdisplay.cpp indra/newview/llviewerdisplay.h Twice mUsage initialization (replace to forward initialization). indra/llcharacter/lljointstate.h Looks like condition should be befor memcopy call, otherwise - possible CRASH. indra/llcommon/llmd5.cpp Unused condition and variables. indra/llmath/llsphere.cpp Looks like should be under if otherwise - possible CRASH indra\llprimitive\llmodel.cpp Useless assert's. indra/llrender/llrender.cpp indra/newview/lldaycyclemanager.cpp
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-10-15renamed TimeBlock to BlockTimerStatHandleRichard Linden
2013-10-01Automated merge with http://bitbucket.org/lindenlab/viewer-releaseRichard Linden
2013-09-05changed fast timer over to using macroRichard Linden
another attempt to move mem stat into base class
2013-08-29SH-4292 FIX: Interesting: My avatar declouds slower in Interesting viewer ↵Richard Linden
than in Release viewer moved occlusion culling earlier in login process
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-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-09second phase summer cleaningRichard Linden
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-07-30Summer cleaning - removed a lot of llcommon dependencies to speed up build timesRichard Linden
consolidated most indra-specific constants in llcommon under indra_constants.h fixed issues with operations on mixed unit types (implicit and explicit) made LL_INFOS() style macros variadic in order to subsume other logging methods such as ll_infos added optional tag output to error recorders
2013-07-23MergeXiaohong Bao
2013-07-11NORSPEC-291 WIP materials underwater with haze, reflection broken, water ↵Graham Madarasz (Graham)
dist broken
2013-07-10NORSPEC-291 WIP materials underwater w and wo alpha, water fog color broken, ↵Graham Linden
no refl, no water dis
2013-07-09NORSPEC-291 WIP drop the no deferred underwater logic onlyGraham Linden
2013-06-22fixed scene load monitor resetting to eagerly due to spurious camer amotionRichard Linden
pulled swap() out of ui time block cleaned up internal lltrace dependencies, factored out common accumulator definitions
2013-06-20merge with releaseRichard Linden
2013-06-19Automated merge with ↵Dave Parks
https://bitbucket.org/lindenlab/viewer-development-materials
2013-06-19SH-4246 FIX interesting: fast timers significantly decreases framerateRichard Linden
moved collapsed flag to fast timer tree node
2013-06-18Occlusion culling overhaul.Dave Parks
2013-06-13Fix ternary use found illegit in the eyes of GCCGraham Madarasz
2013-06-13MAINT-2632 speculative guards in display_startup based on prevalence of ↵Graham Madarasz
crashes ending there (no repro, unfortunately)
2013-06-05merge with viewer-releaseRichard Linden
2013-05-30NORSPEC-216 Fix for some HUD objects not rendering with advanced ↵Dave Parks
lighting/materials enabled.
2013-05-20SH-3931 WIP Interesting: Add graphs to visualize scene load metricsRichard Linden
fixed copy construction of Recorders, eliminated most zero-length frames fixed reset behavior of periodic recordings and extendable recordings to clear entire history removed busy-loop recording of stats from worker threads...stats reported only when work is done
2013-05-09SH-4080 WIP interesting: random crash on MacRichard Linden
added controls for curtain delay
2013-04-25Merge 3.5.1 into MaterialsGraham Madarasz
2013-04-19merge changes for DRTVWR-294Oz Linden
2013-04-15NORSPEC-49 Add shader profiler, add support for ARB_depth_clamp where availableDave Parks
2013-04-01merge changes for 3.5.0-beta7Oz Linden
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-03-27NORSPEC-61 Hook up material parameters to shaders.Dave Parks
2013-03-20Merge with viewer-chuiprep@lindenlab.com
2013-03-18SH-3931 WIP Interesting: Add graphs to visualize scene load metricsRichard Linden
changed LLCriticalDamp to LLSmoothInterpolation and sped up interpolator lookup improvements to stats display of llstatbar added scene load stats floater accessed with ctrl|shift|2
2013-03-16CHUI-863 : Clean up dead code that's creating failures on gcc-4.6 builds on ↵merov
Linux
2013-03-13More fixes for gcc-4.6 breakageDon Kjer
2013-03-12SH-3944 WIP CHUI merge fixingNyx Linden
re-introduced don's refactor of low-level openGL calls pulling out of llui and putting them into llrender. Took the new code from their updated versions from the CHUI merge, but put them in a place accessible to appearance utility.
2013-03-06renamed LLTrace stat gathering classes/methods to make the structure of ↵Richard Linden
LLTrace clearer Count becomes CountStatHandle Count.sum becomes sum(Count, value), etc.
2013-02-12merge up to 3.4.5-releaseOz Linden
2013-02-04Added a new draw pool specifically for faces with materials applied to them. ↵Geenz
Removed materials rendering from the bump draw pool, and reverted it to its previous state.
2013-01-11Initial (largely complete) gamma correct rendering implementation.Geenz
2013-01-08MergeXiaohong Bao
2012-12-19fix for SH-3640: Can not edit objectsXiaohong Bao
2012-11-21more for SH-3571: display frame-to-frame pixel differences on screenXiaohong Bao