Commit Graph

2790 Commits (962be69e7170a9f7e8a99b9da4eae22ea6cdb038)

Author SHA1 Message Date
Ansariel ec8bef8e9c Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm
# Conflicts:
#	indra/cmake/bugsplat.cmake
#	indra/newview/llappdelegate-objc.mm
2021-07-06 10:32:52 +02:00
Beq cbe3910620 Cleanup cache clearing to re-enable threaded clear
fixup silly mis-edits
2021-07-04 00:12:13 +01:00
Ansariel 9563ab543b Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-06-25 11:56:38 +02:00
Ansariel c1f1b85243 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-06-08 15:39:56 +02:00
Ansariel ddfb4a5d1b Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-06-08 14:30:18 +02:00
Ansariel bc7c4fb82a Merge branch 'master' of https://bitbucket.org/Ansariel/phoenix-firestorm 2021-06-07 20:55:41 +02:00
Ansariel 6b71b19150 Merge branch 'DRTVWR-518-ui' of https://bitbucket.org/lindenlab/viewer 2021-05-31 10:20:00 +02:00
Ansariel a1d9351739 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-05-31 08:29:56 +02:00
Beq 20cd749175 Instrument threaded texture decode
includes fix for timeout in slow decoded bakes
2021-05-28 02:22:53 +01:00
Ansariel 42458a2049 Merge branch 'master' of https://bitbucket.org/Ansariel/phoenix-firestorm 2021-05-27 10:50:17 +02:00
Ansariel 9e415cdbb2 Merge branch 'DRTVWR-516-maint' of https://bitbucket.org/lindenlab/viewer 2021-05-25 11:03:48 +02:00
Ansariel 2ea6f51200 Merge branch 'master' of https://bitbucket.org/Ansariel/phoenix-firestorm 2021-05-25 09:11:03 +02:00
Andrey Lihatskiy 2922c59316 Merge branch 'sl-10297' into DRTVWR-516-maint 2021-05-21 20:31:53 +03:00
Ansariel bf19b30545 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-05-16 14:54:29 +02:00
Nicky 770dc6c865 Image decode thread pool ported from CoolVL. 2021-05-12 20:42:09 +02:00
Nat Goodspeed 28862ab53b SL-10297: Clean up a few merge glitches. 2021-05-12 14:21:27 -04:00
Nat Goodspeed fd1545197a SL-10297: Merge branch 'sl-10297-oz' into sl-10297.
Bring in Oz's tweaks to the way BugSplat is engaged and tested, plus a few
other miscellaneous goodies.
2021-05-12 13:56:19 -04:00
Ansariel 00539b284e Simple cache viewer: Rename debug setting EnableCacheDebugInfo -> EnableDiskCacheDebugInfo 2021-05-12 13:50:43 +02:00
Nat Goodspeed c9fc4349b7 SL-10297: Move LL_ERRS crash location into the LL_ERRS macro itself.
Introduce Oz's LLERROR_CRASH macro analogous to the old LLError::crashAndLoop()
function. Change LL_ENDL macro so that, after calling flush(), if the CallSite
is for LEVEL_ERROR, we invoke LLERROR_CRASH right there.

Change the meaning of LLError::FatalFunction. It used to be responsible for
the actual crash (hence crashAndLoop()). Now, instead, its role is to disrupt
control flow in some other way if you DON'T want to crash: throw an exception,
or call exit() or some such. Any FatalFunction that returns normally will fall
into the new crash in LL_ENDL.

Accordingly, the new default FatalFunction is a no-op lambda. This eliminates
the need to test for empty (not set) FatalFunction in Log::flush().

Remove LLError::crashAndLoop() because the official LL_ERRS crash is now in
LL_ENDL.

One of the two common use cases for setFatalFunction() used to be to intercept
control in the last moments before crashing -- not to crash or to avoid
crashing, but to capture the LL_ERRS message in some way. Especially when
that's temporary, though (e.g. LLLeap), saving and restoring the previous
FatalFunction only works when the lifespans of the relevant objects are
strictly LIFO.

Either way, that's a misuse of FatalFunction. Fortunately the Recorder
mechanism exactly addresses that case. Introduce a GenericRecorder template
subclass, with LLError::addGenericRecorder(callable) that accepts a callable
with suitable (level, message) signature, instantiates a GenericRecorder, adds
it to the logging machinery and returns the RecorderPtr for possible later use
with removeRecorder().

Change llappviewer.cpp's errorCallback() to an addGenericRecorder() callable.
Its role was simply to update gDebugInfo["FatalMessage"] with the LL_ERRS
message, then call writeDebugInfo(), before calling crashAndLoop() to finish
crashing. Remove the crashAndLoop() call, retaining the gDebugInfo logic. Pass
errorCallback() to LLError::addGenericRecorder() instead of setFatalFunction().

Oddly, errorCallback()'s crashAndLoop() call was conditional on a compile-time
SHADER_CRASH_NONFATAL symbol. The new mechanism provides no way to support
SHADER_CRASH_NONFATAL -- it is a Bad Idea to return normally from any LL_ERRS
invocation!

Rename LLLeapImpl::fatalFunction() to onError(). Instead of passing it to
LLError::setFatalFunction(), pass it to addGenericRecorder(). Capture the
returned RecorderPtr in mRecorder, replacing mPrevFatalFunction. Then
~LLLeapImpl() calls removeRecorder(mRecorder) instead of restoring
mPrevFatalFunction (which, as noted above, was order-sensitive).

Of course, every enabled Recorder is called with every log message. onError()
and errorCallback() must specifically test for calls with LEVEL_ERROR.

LLSingletonBase::logerrs() used to call LLError::getFatalFunction(), check the
return and call it if non-empty, else call LLError::crashAndLoop(). Replace
all that with LLERROR_CRASH.

Remove from llappviewer.cpp the watchdog_llerrs_callback() and
watchdog_killer_callback() functions. watchdog_killer_callback(), passed to
Watchdog::init(), used to setFatalFunction(watchdog_llerrs_callback) and then
invoke LL_ERRS() -- which seems a bit roundabout. watchdog_llerrs_callback(),
in turn, replicated much of the logic in the primary errorCallback() function
before replicating the crash from llwatchdog.cpp's default_killer_callback().

Instead, pass LLWatchdog::init() a lambda that invokes the LL_ERRS() message
formerly found in watchdog_killer_callback(). It no longer needs to override
FatalFunction with watchdog_llerrs_callback() because errorCallback() will
still be called as a Recorder, obviating watchdog_llerrs_callback()'s first
half; and LL_ENDL will handle the crash, obviating the second half.

Remove from llappviewer.cpp the static fast_exit() function, which was simply
an alias for _exit() acceptable to boost::bind(). Use a lambda directly
calling _exit() instead of using boost::bind() at all.

In the CaptureLog class in llcommon/tests/wrapllerrs.h, instead of statically
referencing the wouldHaveCrashed() function from test.cpp, simply save and
restore the current FatalFunction across the LLError::saveAndResetSettings()
call.

llerror_test.cpp calls setFatalFunction(fatalCall), where fatalCall() was a
function that simply set a fatalWasCalled bool rather than actually crashing
in any way. Of course, that implementation would now lead to crashing the test
program. Make fatalCall() throw a new FatalWasCalled exception. Introduce a
CATCH(LL_ERRS("tag"), "message") macro that expands to:
LL_ERRS("tag") << "message" << LL_ENDL;
within a try/catch block that catches FatalWasCalled and sets the same bool.

Change all existing LL_ERRS() in llerror_test.cpp to corresponding CATCH()
calls. In fact there's also an LL_DEBUGS(bad tag) invocation that exercises an
LL_ERRS internal to llerror.cpp; wrap that too.
2021-05-11 21:42:14 -04:00
Ansariel c51cab60d4 Simple cache viewer: Separate texture and asset cache sizes 2021-05-06 12:02:31 +02:00
Ansariel 44081af153 Simple cache viewer: Fix integer overflow 2021-05-06 11:50:13 +02:00
Ansariel 5f90dbbc63 Simple cache viewer: Add regular cache cleanup 2021-05-06 10:05:29 +02:00
Andrey Kleshchev cfb6ca569b SL-15168 Viewer side functionality for guidebook window opening 2021-05-06 02:46:42 +03:00
Ansariel c516f1fc9a Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-05-02 13:50:45 +02:00
Ansariel 94534f4c88 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-04-30 23:25:06 +02:00
Andrey Kleshchev 3f31901640 Merge master (DRTVWR-515) into DRTVWR-516-maint
# Conflicts:
#	autobuild.xml
#	doc/contributions.txt
#	indra/llcommon/llcoros.cpp
#	indra/llmessage/llcoproceduremanager.cpp
#	indra/newview/llfloaterfixedenvironment.cpp
#	indra/newview/llfloaterimsessiontab.cpp
2021-04-29 21:00:25 +03:00
Ansariel 78f87e54d5 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-04-26 10:55:07 +02:00
Ansariel f9a0387cf3 Merge branch 'DRTVWR-515-maint' of https://bitbucket.org/lindenlab/viewer 2021-04-17 22:47:16 +02:00
Ansariel 4841acd297 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-04-17 22:44:52 +02:00
Ansariel c9a9936edd Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-04-16 23:01:15 +02:00
Andrey Kleshchev 4a99fe56d9 SL-14914 New release viewer install updated to RC unexpectedly
Requested behavior: First install of a new viewer should never prompt to update to any RC.
Anfortunately neither viewer nor updater can tell the difference betwen RC and optional release update, so setting updater to download only required updates.
2021-04-15 17:35:43 +03:00
Ansariel 6989808ee1 Fix wrong setting name 2021-04-13 21:00:41 +02:00
Mnikolenko Productengine d3f74c2dff SL-15070 FIXED Moving the cache does not remove the "cache" folder from the old location 2021-04-11 14:59:38 +02:00
Ansariel 9dba08e851 Clear old cache location when moving cache - shared cache is not an issue here 2021-04-11 14:59:22 +02:00
Ansariel 8a44c58dee Merge branch 'DRTVWR-525' of https://bitbucket.org/lindenlab/viewer 2021-04-02 22:53:28 +02:00
Ansariel a50217f5db Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-04-02 22:53:03 +02:00
Ansariel db72dc7d0f Merge branch 'DRTVWR-516-maint' of https://bitbucket.org/lindenlab/viewer 2021-04-02 19:33:18 +02:00
Ansariel 04b074f3b5 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-04-02 17:30:58 +02:00
Ansariel d271062749 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-04-02 16:53:23 +02:00
Dave Houlton 3cad30d9ee Merge branch 'master' into DV525-merge-6.4.18 2021-04-01 14:49:07 -06:00
Andrey Lihatskiy 9fe758e8bc Merge branch 'master' into DRTVWR-516-maint 2021-04-01 20:45:16 +03:00
Andrey Lihatskiy 6240168f24 Merge branch 'master' into DRTVWR-515-maint 2021-04-01 20:45:06 +03:00
Ansariel 3d9d0189e5 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-04-01 19:41:03 +02:00
Andrey Kleshchev 022ff98193 SL-14990 ig75icd64 and other intel crashes
Obsolete driver detection
2021-03-31 09:25:27 +03:00
Ansariel 73bc62975e Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-03-27 17:48:51 +01:00
Ansariel 2bbf8c4fc6 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-03-25 18:54:17 +01:00
Ansariel 6104c3aafc Now that Kokua yoinked Contact Sets, we can clean up some ugly dependencies... :P 2021-03-22 11:17:09 +01:00
Beq 2ce328282a profiling cleanup ready to merge back
put proper markers in place where forgotten before
2021-03-21 15:13:02 +00:00
Beq eb0bfc9e10 more cleanup of telemetry support
remove superfluous cmake changes
rename profiler to telemetry to avoid confusion
2021-03-21 14:59:02 +00:00
Beq bd20cfad1d Ensure clean compile when 3p-Tracy not installed 2021-03-21 14:29:03 +00:00