Age | Commit message (Collapse) | Author |
|
|
|
|
|
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.
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
zooming camera closer
|
|
(long long round) in VS2013
|
|
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
|
|
renamed fast timers to have unique names, changes instance tracker to never allow duplicates
|
|
|
|
|
|
another attempt to move mem stat into base class
|
|
than in Release viewer
moved occlusion culling earlier in login process
|
|
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
|
|
converted many values over to units system in effort to track down
source of 0 ping
|
|
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
|
|
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
|
|
|
|
dist broken
|
|
no refl, no water dis
|
|
|
|
pulled swap() out of ui time block
cleaned up internal lltrace dependencies, factored out common accumulator definitions
|
|
|
|
https://bitbucket.org/lindenlab/viewer-development-materials
|
|
moved collapsed flag to fast timer tree node
|
|
|
|
|
|
crashes ending there (no repro, unfortunately)
|
|
|
|
lighting/materials enabled.
|
|
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
|
|
added controls for curtain delay
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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
|
|
Linux
|
|
|
|
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.
|
|
LLTrace clearer
Count becomes CountStatHandle
Count.sum becomes sum(Count, value), etc.
|
|
|
|
Removed materials rendering from the bump draw pool, and reverted it to its previous state.
|