Commit Graph

3801 Commits (c785a0e955478dcad867af55bcd44111a718aefd)

Author SHA1 Message Date
Andrey Lihatskiy 84dfe55810 Merge branch 'main' into marchcat/y-merge
# Conflicts:
#	autobuild.xml
#	indra/llcommon/llsys.cpp
2024-04-10 07:08:25 +03:00
Andrey Lihatskiy 990c8b81da Merge branch 'main' into marchcat/yz-merge 2024-03-27 01:40:12 +02:00
Andrey Lihatskiy 78174fc865 Merge remote-tracking branch 'origin/main' into DRTVWR-588-maint-W
# Conflicts:
#	.github/workflows/build.yaml
2024-03-27 00:14:56 +02:00
Andrey Kleshchev 1161262029 SL-18721 Restore release behavior
Closing window correctly caused a significant amount of logout freezes
with no known reproes. Temporarily returning to old behavior were thread
was killes without closing window and will reenable in later maints to
hopefully get a scenario or at least more data of what is causing the
freeze.
2024-03-15 19:44:38 +02:00
Andrey Kleshchev 78ce375dda SL-17896 Don't crash silently if files are missing or out of memory
Under debug LL_ERRS will show a message as well, but release won't show
anything and will quit silently so show a notification when applicable.
2024-03-05 00:29:35 +02:00
Brad Linden 258c039584 Merge remote-tracking branch 'origin/main' into release/gltf-maint2 2024-03-01 10:12:00 -08:00
Andrey Lihatskiy faf69f407f Merge branch 'main' into marchcat/yz-merge
# Conflicts:
#	indra/newview/llinventorygallery.cpp
2024-03-01 18:02:48 +02:00
Andrey Lihatskiy 6d077c90a0 Merge branch 'main' into DRTVWR-588-maint-W 2024-03-01 17:30:06 +02:00
Andrey Kleshchev 18ec799992 SL-18721 Shutdown fixes #5 2024-02-27 23:14:44 +02:00
Andrey Kleshchev ae7b318e7f viewer#875 Crash at uri normalization
Note that crash happened when setting LLProgressView::setMessage
2024-02-23 19:18:23 +02:00
Andrey Kleshchev da0f5ea0b4 Viewer#863 Crash reading xml 2024-02-22 01:36:10 +02:00
Alexander Gavriliuk afc9252372 SL-20363 Option 'Debug Unicode' - show unicode values 2024-02-09 09:16:17 +03:00
Alexander Gavriliuk a2552a5556 Build fix for Visual Studio patch 2024-02-08 23:44:34 +03:00
Alexander Gavriliuk 7075717b7c SL-20363 Add Advanced option 'Debug Unicode' 2024-02-08 13:17:18 +03:00
Andrey Kleshchev 2e5b105dff SL-18721 Shutdown fixes #4 2024-02-08 01:34:39 +02:00
Andrey Lihatskiy e3e1672ac4 Merge branch 'DRTVWR-599-maint-Z' into release/maint-yz
# Conflicts:
#	indra/newview/llchiclet.h
2024-02-05 22:04:40 +02:00
Andrey Kleshchev 23aa975cf0 SL-20669 Fix white uuid 2024-02-05 16:44:07 +02:00
Andrey Kleshchev 869712e273 SL-20669 Move constants out of settings.xml
UIImgInvisibleUUID doesn't exist
Default normal for material is 'null'
2024-01-24 17:40:01 +02:00
Andrey Kleshchev 4a34a11966 SL-18721 Shutdown fixes
1. After window closes viewer still takes some time to shut down, so
added splash screen to not confuse users (and to see if something gets
stuck)
2. Having two identical mWindowHandle caused confusion for me, so I
split them. It looks like there might have been issues with thread being
stuck because thread's handle wasn't cleaned up.
3. Made region clean mCacheMap immediately instead of spending time
making copies on shutdown
2024-01-22 18:47:43 +02:00
Nat Goodspeed fea1d9f4d2 SL-20546: Merge branch 'DRTVWR-588-maint-W' into sl-20546. 2024-01-18 13:15:32 -05:00
Alexander Gavriliuk ae91ae43a5 SL-20795 Part of previously typed emojis disappear in the 'Save settings as a preset...' option of the 'Preferences' floater 2024-01-17 04:34:21 +01:00
Andrey Lihatskiy 746788e789 Revert "replaces parts of boost to C++ standard." 2024-01-16 17:09:02 +02:00
AiraYumi 382f9f0786 replace part of boost::fibers::* to std::* 2024-01-16 15:51:58 +02:00
RunitaiLinden 25d7828bec DRTVWR-601 Fix for Tracy instrumentation (Tracy doesn't play nice with coroutines). 2024-01-12 12:39:57 -06:00
Ansariel ba74152c82 Replace BOOST_FOREACH with standard C++ range-based for-loops 2024-01-09 20:44:50 +02:00
AiraYumi 7c8907522f replace boost library to standard 2024-01-08 23:29:21 +02:00
Andrey Lihatskiy aed6313d7c Merge branch 'main' into DRTVWR-594-maint-Y 2023-12-18 06:33:57 +02:00
Andrey Lihatskiy 793bed7d06 Merge branch 'main' into DRTVWR-489
# Conflicts:
#	indra/newview/fonts/DejaVu-license.txt
#	indra/newview/fonts/DejaVuSans-Bold.ttf
#	indra/newview/fonts/DejaVuSans-BoldOblique.ttf
#	indra/newview/fonts/DejaVuSans-Oblique.ttf
#	indra/newview/fonts/DejaVuSans.ttf
#	indra/newview/fonts/DejaVuSansMono.ttf
2023-12-15 07:06:15 +02:00
Andrey Lihatskiy 4b98ae6e8a Merge branch 'DRTVWR-587-maint-V' into DRTVWR-588-maint-W
# Conflicts:
#	indra/newview/llspatialpartition.cpp
2023-12-14 02:47:44 +02:00
Alexander Gavriliuk c9cd5631e4 Merge branch 'main' into DRTVWR-489 2023-12-05 03:37:06 +01:00
Andrey Lihatskiy c409236dac Merge branch 'DRTVWR-594-maint-Y' into marchcat/594-y-pbr-merge
# Conflicts:
#	indra/newview/llinventorygallery.cpp
#	indra/newview/skins/default/xui/en/notifications.xml
2023-11-30 18:09:29 +02:00
Alexander Gavriliuk 2fad5a770b SL-19801 Log unicode characters for debug 2023-11-30 14:08:29 +01:00
Andrey Lihatskiy 0465c761a4 Merge branch 'DRTVWR-588-maint-W' into marchcat/588-w-pbr-merge
# Conflicts:
#	indra/llrender/llgl.cpp
#	indra/llrender/llvertexbuffer.cpp
#	indra/llui/llflatlistview.cpp
#	indra/newview/lldrawpoolground.cpp
#	indra/newview/llspatialpartition.cpp
#	indra/newview/lltexturefetch.cpp
#	indra/newview/llviewergenericmessage.cpp
#	indra/newview/llviewertexture.cpp
#	indra/newview/llvosky.cpp
#	indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml
#	indra/newview/skins/default/xui/en/floater_stats.xml
#	indra/newview/skins/default/xui/en/floater_texture_fetch_debugger.xml
#	indra/newview/skins/default/xui/en/notifications.xml
#	indra/newview/skins/default/xui/en/panel_performance_preferences.xml
2023-11-30 12:28:26 +02:00
Andrey Lihatskiy d1c0a5b840 Merge branch 'DRTVWR-559' into marchcat/587-v-pbr-merge
# Conflicts:
#	indra/llcommon/CMakeLists.txt
#	indra/newview/llspatialpartition.cpp
#	indra/newview/llviewergenericmessage.cpp
#	indra/newview/llvoavatar.cpp
2023-11-29 10:45:43 +02:00
Andrey Kleshchev a1fed466f0 SL-17434 Crash clearing LLEventPumps
We actively use event pumps's connections in threads, make sure nothing
modifies list of connections during reset.
And in case this doesn't fix the issue list affected pump before it
crashes to have a better idea of what is going on.
2023-11-23 17:57:19 +02:00
Miezhiko 9bd1ef1cf8 llmemory: use getrusage for getCurrentRSS on linux 2023-11-20 18:30:32 +02:00
Nat Goodspeed 5fa7f69101 SL-20546: Defend llrand's random generator against concurrent access
by making it thread_local.
2023-11-17 14:31:21 -05:00
Nat Goodspeed e7ae20c96f SL-20546: Avoid promoting F32 to double just to compare bounds. 2023-11-17 10:24:14 -05:00
Nat Goodspeed 1c71a8e78e SL-20546: Even with C++17 CTAD, makeClassicCallback() still useful. 2023-11-15 11:10:42 -05:00
Nat Goodspeed d427d5dbfa SL-20546: Use narrow() explicit conversion from F64 to F32. 2023-11-15 10:12:12 -05:00
Nat Goodspeed 7670f19082 SL-20546: Rely on CTAD for 'narrow' class.
Now that we're building with C++17, we can use Class Template Argument
Deduction to infer the type passed to the constructor of the 'narrow' class.
We no longer require a narrow_holder class with a narrow() factory function.
2023-11-15 10:11:30 -05:00
Nat Goodspeed d255c3dda8 DRTVWR-588: Try to fix sporadic llrand test failures.
With GitHub viewer builds, every few weeks we've seen test failures when
ll_frand() returns exactly 1.0. This is a problem for a function that's
supposed to return [0.0 .. 1.0).

Monty suggests that the problem is likely to be conversion of F32 to F64 to
pass to fmod(), and then truncation of fmod()'s F64 result back to F32. Moved
the clamping code to each size-specific ll_internal_random specialization.

Monty also noted that a stateful static random number engine isn't
thread-safe. Added a mutex lock.
2023-11-14 20:29:51 -05:00
Brad Linden dfb44aec70 Fix build error from overly fancy tracy macro usage that nobody else is using for DRTVWR-559 2023-11-03 09:50:03 -07:00
Brad Kittenbrink (Brad Linden) b9b38db567 Fix for SL-19968 objects missing timing bug due to stall during login
ensure inventory skeleton loading doesn't block the message system from processing packets.
2023-11-03 09:49:48 -07:00
Nat Goodspeed 5f1008ab6b DRTVWR-588: Enlarge default coroutine stack size.
On a Windows CI host, we got the dreaded rc 3221225725 aka c00000fd aka stack
overflow.
2023-10-31 12:05:07 -04:00
Nat Goodspeed 6fb9a4640b DRTVWR-588: Try to make threadsafequeue timing more robust.
The test was coded to push (what's intended to be) the third entry with
timestamp (now + 200ms), then (what's intended to be) the second entry with
timestamp (now + 100ms).

The trouble is that it was re-querying "now" each time. On a slow CI host, the
clock might have advanced by more than 100ms between the first push and the
second -- meaning that the second push would actually have a _later_
timestamp, and thus, even with the queue sorting properly, fail the test's
order validation.

Capture the timestamp once, then add both time deltas to the same time point
to get the relative order right regardless of elapsed real time.
2023-10-31 12:03:03 -04:00
Nat Goodspeed f7d2d40b30 DRTVWR-587: Fix LL::apply(function, LLSD array).
We define a specialization of LLSDParam<const char*> to support passing an
LLSD object to a const char* function parameter. Needless to remark, passing
object.asString().c_str() would be Bad: destroying the temporary std::string
returned by asString() would immediately invalidate the pointer returned by
its c_str(). But when you pass LLSDParam<const char*>(object) as the
parameter, that specialization itself stores the std::string so the c_str()
pointer remains valid as long as the LLSDParam object does.

Then there's LLSDParam<LLSD>, used when we don't have the parameter type
available to select the LLSDParam specialization. LLSDParam<LLSD> defines a
templated conversion operator T() that constructs an LLSDParam<T> to provide
the actual parameter value. So far, so good.

The trouble was with the implementation of LLSDParam<LLSD>: it constructed a
_temporary_ LLSDParam<T>, implicitly called its operator T() and immediately
destroyed it. Destroying LLSDParam<const char*> destroyed its stored string,
thus invalidating the c_str() pointer before the target function was entered.

Instead, make LLSDParam<LLSD>::operator T() capture each LLSDParam<T> it
constructs, extending its lifespan to the lifespan of the LLSDParam<LLSD>
instance. For this, derive each LLSDParam specialization from LLSDParamBase, a
trivial base class that simply establishes the virtual destructor. We can then
capture any specialization as a pointer to LLSDParamBase.

Also restore LazyEventAPI tests on Mac.
2023-10-29 11:56:17 -04:00
Nat Goodspeed 2667653d41 DRTVWR-587: Skip Visual Studio LLSDParam<const char*> tests for now.
They do work fine on clang... unblocking the rest of the team during diagnosis.
2023-10-27 15:40:20 -04:00
Brad Linden 673b3309dd Merge remote-tracking branch 'origin/main' into DRTVWR-559 2023-10-25 16:12:13 -07:00
Andrey Kleshchev 34b83e4047 Post merge build fix 2023-10-25 23:37:23 +03:00