summaryrefslogtreecommitdiff
path: root/indra/llcommon
AgeCommit message (Collapse)Author
2024-02-05SL-20669 Fix white uuidAndrey Kleshchev
2024-01-24SL-20669 Move constants out of settings.xmlAndrey Kleshchev
UIImgInvisibleUUID doesn't exist Default normal for material is 'null'
2024-01-22SL-18721 Shutdown fixesAndrey Kleshchev
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-18SL-20546: Merge branch 'DRTVWR-588-maint-W' into sl-20546.Nat Goodspeed
2024-01-17SL-20795 Part of previously typed emojis disappear in the 'Save settings as ↵Alexander Gavriliuk
a preset...' option of the 'Preferences' floater
2024-01-16Revert "replaces parts of boost to C++ standard."Andrey Lihatskiy
2024-01-16replace part of boost::fibers::* to std::*AiraYumi
2024-01-12DRTVWR-601 Fix for Tracy instrumentation (Tracy doesn't play nice with ↵RunitaiLinden
coroutines).
2024-01-09Replace BOOST_FOREACH with standard C++ range-based for-loopsAnsariel
2024-01-08replace boost library to standardAiraYumi
2024-01-04SL-17896 Don't crash silently if files are missing or out of memoryAndrey Kleshchev
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.
2023-12-31tbfreq x clockrate.hz only when cpufrequency is 0Erik Kundiman
Just maybe M3 implements cpufrequency, which should be more accurate than the alternative (different results on my Intel Mac).
2023-12-26An alternative in getting CPU freq on M-seriesErik Kundiman
This solution was retrieved from https://listman.redhat.com/archives/libvir-list/2022-February/228217.html sysctl hw.cpufrequency would result as empty on Apple Silicon (at least) M1, when run natively. Ironically (and that's why it's been working with viewers relying on Rosetta 2), arch -x86_64 /bin/bash -c 'sysctl hw.cpufrequency' run on an Apple Silicon would result in the correct number.
2023-12-18Merge branch 'main' into DRTVWR-591-maint-XAndrey Lihatskiy
# Conflicts: # doc/contributions.txt # indra/newview/llpanelprofile.cpp # indra/newview/llspatialpartition.cpp
2023-12-18Merge branch 'main' into DRTVWR-594-maint-YAndrey Lihatskiy
2023-12-15Merge tag '7.1.1-release'Erik Kundiman
source for viewer 7.1.1.7039128750
2023-12-15Merge branch 'main' into DRTVWR-489Andrey Lihatskiy
# 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-14Merge branch 'DRTVWR-587-maint-V' into DRTVWR-588-maint-WAndrey Lihatskiy
# Conflicts: # indra/newview/llspatialpartition.cpp
2023-12-05Merge branch 'main' into DRTVWR-489Alexander Gavriliuk
2023-11-30Merge branch 'DRTVWR-594-maint-Y' into marchcat/594-y-pbr-mergeAndrey Lihatskiy
# Conflicts: # indra/newview/llinventorygallery.cpp # indra/newview/skins/default/xui/en/notifications.xml
2023-11-30SL-19801 Log unicode characters for debugAlexander Gavriliuk
2023-11-30Merge branch 'DRTVWR-591-maint-X' into marchcat/591-x-pbr-mergeAndrey Lihatskiy
# Conflicts: # indra/llrender/llgl.cpp # indra/llrender/llvertexbuffer.cpp # indra/llui/llflatlistview.cpp # indra/newview/app_settings/settings.xml # indra/newview/lldrawpoolground.cpp # indra/newview/llinventorybridge.cpp # indra/newview/llinventorygallery.cpp # indra/newview/llspatialpartition.cpp # indra/newview/llviewercontrol.cpp # indra/newview/llviewertexture.cpp # indra/newview/llvosky.cpp # indra/newview/skins/default/xui/en/menu_inventory.xml
2023-11-30Merge branch 'DRTVWR-588-maint-W' into marchcat/588-w-pbr-mergeAndrey Lihatskiy
# 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-29Merge branch 'DRTVWR-559' into marchcat/587-v-pbr-mergeAndrey Lihatskiy
# Conflicts: # indra/llcommon/CMakeLists.txt # indra/newview/llspatialpartition.cpp # indra/newview/llviewergenericmessage.cpp # indra/newview/llvoavatar.cpp
2023-11-23SL-17434 Crash clearing LLEventPumpsAndrey Kleshchev
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-20llmemory: use getrusage for getCurrentRSS on linuxMiezhiko
2023-11-17SL-20546: Defend llrand's random generator against concurrent accessNat Goodspeed
by making it thread_local.
2023-11-17SL-20546: Avoid promoting F32 to double just to compare bounds.Nat Goodspeed
2023-11-15SL-20546: Even with C++17 CTAD, makeClassicCallback() still useful.Nat Goodspeed
2023-11-15SL-20546: Use narrow() explicit conversion from F64 to F32.Nat Goodspeed
2023-11-15SL-20546: Rely on CTAD for 'narrow' class.Nat Goodspeed
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-14DRTVWR-588: Try to fix sporadic llrand test failures.Nat Goodspeed
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-06Merge remote-tracking branch 'secondlife/DRTVWR-559' into DRTVWR-559Erik Kundiman
2023-11-03Fix build error from overly fancy tracy macro usage that nobody else is ↵Brad Linden
using for DRTVWR-559
2023-11-03Fix for SL-19968 objects missing timing bug due to stall during loginBrad Kittenbrink (Brad Linden)
ensure inventory skeleton loading doesn't block the message system from processing packets.
2023-10-31DRTVWR-588: Enlarge default coroutine stack size.Nat Goodspeed
On a Windows CI host, we got the dreaded rc 3221225725 aka c00000fd aka stack overflow.
2023-10-31DRTVWR-588: Try to make threadsafequeue timing more robust.Nat Goodspeed
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-29DRTVWR-587: Fix LL::apply(function, LLSD array).Nat Goodspeed
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-27DRTVWR-587: Skip Visual Studio LLSDParam<const char*> tests for now.Nat Goodspeed
They do work fine on clang... unblocking the rest of the team during diagnosis.
2023-10-26Merge remote-tracking branch 'secondlife/DRTVWR-559' into DRTVWR-559Erik Kundiman
2023-10-25Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-10-25Post merge build fixAndrey Kleshchev
2023-10-25Merge branch 'main' into DRTVWR-591-maint-XAndrey Lihatskiy
# Conflicts: # indra/newview/llinventorygallery.cpp
2023-10-25Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
# Conflicts: # autobuild.xml
2023-10-25Merge branch 'main' into DRTVWR-587-maint-VAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/llcommon/tests/llleap_test.cpp # indra/newview/viewer_manifest.py
2023-10-18SL-20463 Rename outfit dialog box accepts emoji charactersAlexander Gavriliuk
2023-10-17SL-20476: Don't let the compiler know we intend to crash.Nat Goodspeed
clang has gotten smart enough to recognize an inline attempt to store to address zero. Fool it by storing to an address passed as a parameter, and pass nullptr from a different source file.
2023-10-12SL-18837: Unify all llrand_test.cpp in-range tests.Nat Goodspeed
The header file documents that no llrand function should ever return a value equal to the passed extent, so the one test in llrand_test.cpp that checked less than or equal to the high end of the range was anomalous. But changing that to an exclusive range means that we no longer need separate exclusive range and inclusive range functions. Replace ensure_in_range_using(), ensure_in_exc_range() and ensure_in_inc_range() with a grand unified (simplified) ensure_in_range() function.
2023-10-11SL-20370 Change PDT to SLT on menu barAlexander Gavriliuk
2023-10-11SL-20370 Change PDT to SLT on menu barAlexander Gavriliuk