Commit Graph

23 Commits (2bc4fb2bf0bef5adf709ef1fc90ba1bcdee7f8d0)

Author SHA1 Message Date
Andrey Kleshchev 2f4902967a Merge branch 'xcode-14.1' into andreyk/SL-19134
# Conflicts:
#	indra/llcommon/llsdserialize.cpp
#	indra/llcommon/llsdserialize.h
2023-02-03 22:59:50 +02:00
Nat Goodspeed 4349cb6165 DRTVWR-575: Address review comments on Xcode 14.1 type tweaks.
Introduce LLSD template constructors and assignment operators to disambiguate
construction or assignment from any integer type to Integer, likewise any
floating point type to Real. Use new narrow() function to validate
conversions.

For LLSD method parameters converted from LLSD::Integer to size_t, where the
method previously checked for a negative argument, make it now check for
size_t converted from negative: in other words, more than S32_MAX. The risk of
having a parameter forced from negative to unsigned exceeds the risk of a
valid length or index over that max.

In lltracerecording.cpp's PeriodicRecording, now that mCurPeriod and
mNumRecordedPeriods are size_t instead of S32, defend against subtracting 1
from 0.

Use narrow() to validate newly-introduced narrowing conversions.

Make llclamp() return the type of the raw input value, even if the types of
the boundary values differ.

std::ostream::tellp() no longer returns a value we can directly report as a
number. Cast to U64.
2022-11-12 18:59:21 -10:00
Nat Goodspeed 9522a0b7c1 DRTVWR-575: Fix llcommon assumptions that size_t fits in 4 bytes.
It's a little distressing how often we have historically coded S32 or U32 to
pass a length or index.

There are more such assumptions in other viewer subdirectories, but this is a
start.
2022-11-03 14:58:32 -04:00
Andrey Kleshchev fe26a9d32c SL-17868 Crash at ThreadRecorder::bringUpToDate
According to bugsplat get_thread_recorder was null
Replaced apr based LLThreadLocalPointer with thread_local
2022-07-30 02:57:30 +03:00
Ptolemy 31b0e8cef8 SL-16606: Add profiler category STATS 2022-01-14 11:50:21 -08:00
Dave Parks 8d20480c5f SL-16148 SL-16244 SL-16270 SL-16253 Remove most BlockTimers, remove LLMemTracked, introduce alignas, hook most/all reamining allocs, disable synchronous occlusion, and convert frequently accessed LLSingletons to LLSimpleton 2021-10-28 18:06:21 +00:00
Nat Goodspeed c80c5fa512 DRTVWR-476: Explicitly cast 64-bit NaN constant to F32 as needed.
VS 2017 was complaining about truncating the value.
2020-03-25 16:12:46 -04:00
Richard Linden 1dfba44b3d fixed things so that trace recordings can be read from even while active 2013-10-21 14:22:21 -07:00
Richard Linden 17df8988fe renamed TraceType to StatType
added more MemTrackable types
optimized memory usage of LLTrace some more
2013-10-07 13:38:03 -07:00
Richard Linden f8a85003dd more memory optimizations of lltrace 2013-10-03 19:04:51 -07:00
Richard Linden 1821fa1283 fixed memory tracking of lltrace system 2013-10-03 16:57:15 -07:00
Richard Linden 754e8752a9 added initial memory usage tracking for lltrace 2013-10-03 14:30:34 -07:00
Richard Linden 12f0f8cb72 changed over to manual naming of MemTrackable stats
changed claimMem and disclaimMem behavior to not pass through argument
added more mem tracking stats to floater_stats
2013-10-01 13:46:43 -07:00
Richard Linden af6b6db264 fixed lltrace memory tracking
image memory utilization now always non-negative
2013-09-27 21:24:27 -07:00
Richard Linden 72f979135b merge 2013-09-18 14:20:30 -07:00
Richard Linden 3fd68662f2 added memory usage and occlusion events to traces
renamed "current" to "primary" when referring to accumulators
2013-09-07 21:16:39 -07:00
Richard Linden f0a642898d SH-4377 FIX: Interesting: Windows viewer crashes when SceneLoadingMonitorEnabled is enabled 2013-08-29 15:25:48 -07:00
Richard Linden 049317fc64 SH-4433 WIP Interesting: Statistics > Ping Sim is always 0 ms
added unit tests for lltrace
2013-08-21 23:51:46 -07:00
Richard Linden 2c6bc5afa5 SH-4433 WIP Interesting: Statistics > Ping Sim is always 0 ms
made getPrimaryAccumulator return a reference since it was an
always non-null pointer
changed unit conversion to perform lazy division in order to avoid truncation
of timer values
2013-08-21 14:06:57 -07: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 8d3daa141e SH-4374 FIX Interesting: Statistics Object cache hit rate is always 100%
moved object cache sampling code so that it actually gets executed
default values for stats are NaN instead of 0 in many cases
2013-08-09 16:14:19 -07:00
Richard Linden 808d3eff19 SH-4299 WIP: Interesting: High fps shown temporarily off scale in statistics console
fixed some lltrace logic errors
more consistent syncing of timestamps of sample values in recording stack
selection of primary buffers was completely incorrect
assignment of recordings got wrong play state due to implicit
operator = defined in base class
fixed asset stats only working up to the first send
2013-06-27 00:07:21 -07:00
Richard Linden 8bddaeec66 fixed scene load monitor resetting to eagerly due to spurious camer amotion
pulled swap() out of ui time block
cleaned up internal lltrace dependencies, factored out common accumulator definitions
2013-06-22 12:00:18 -07:00