summaryrefslogtreecommitdiff
path: root/indra
AgeCommit message (Collapse)Author
2024-09-12#2542 Buoyant NametagsAlexander Gavriliuk
2024-09-12Work around broken MS `std::basic_ostream`.Nat Goodspeed
MSVC's `std::basic_ostream<CHAR>` template is not implemented in a general way: it can only be instantiated for certain specific `CHAR` types. Declaring a `std::basic_ostringstream<llwchar>` fails on MSVC with C2941. Fortunately both llstring.cpp functions that build a `LLWString` incrementally have the same characteristics: (a) they each build it one character at a time, and (b) the length of the result `LLWString` won't exceed the known length of the input string. So it works to declare a `std::vector<llwchar>`, `reserve()` the input length and `push_back()` individual characters. Then we can use `LLWString`'s range constructor to immediately allocate the right size.
2024-09-12Specialize `std::numpunct<llwchar>` to fix broken MS `basic_ostream`.Nat Goodspeed
MSVC's `std::basic_ostream<CHAR>` template is not implemented in a general way: it can only be instantiated for certain specific `CHAR` types. Declaring a `std::basic_ostringstream<llwchar>` fails on MSVC with C2941. The ugly workaround from Stack Overflow is to clone-and-edit Microsoft's `std::numpunct` template, locally specializing it for the desired `CHAR` type.
2024-09-12Give `LLGLSLShader::finishProfile()` a static default string param.Nat Goodspeed
`finishProfile()` is called at least once within a `__try` block. If we default its `report_name` parameter to a temporary `std::string`, that temporary must be destroyed when the stack is unwound, which `__try` forbids.
2024-09-11Merge pull request #2551 from secondlife/roxie/webrtc-1436Roxanne Skelly
Fix issue with improper reporting as to whether voice is working.
2024-09-12Fix names in group chat sometimes showing as "Loading..." and never resolve ↵Ansariel Hiller
(#2547)
2024-09-12Fix incorrect operator warning and possible dereferencing of null pointer ↵Ansariel Hiller
(#2546)
2024-09-11Fix issue with improper reporting as to whether voice is working.Roxie Linden
This fixes #1436, an issue where the 'call button' sometimes got greyed out when it shouldn't have been. Vivox is now 'working' (and the call button can be enabled) when it's logged in. WebRTC is 'working' (and the call button can be enabled) when the coroutine is active.
2024-09-11viewer#2529 Optimize LLSettingsSky::blendAndrey Kleshchev
2024-09-11viewer#2529 Track interpolateSDMap's performanceAndrey Kleshchev
viewer#2529 Fix initialization
2024-09-11Make Develop->Render Tests->Frame Profile dump JSON to a file too.Nat Goodspeed
Make `LLGLSLShader::finishProfile()` accept a string pathname instead of a bool and, in addition to logging statistics to the viewer log, output statistics to that file as JSON. The calls that used to pass `emit_report=false` now pass `report_name=std::string()`. Make llviewerdisplay.cpp's `display()` function synthesize a profile filename in the viewer's logs directory, and pass that filename to `LLGLSLShader::finishProfile()`.
2024-09-11viewer#2529 Optimize updateGLVariablesForSettingsAndrey Kleshchev
Intent is to eventually use only stored variables for everything. LLSD operations are far too expensive.
2024-09-11Make updateKeyboardFocus a bit more efficientAndrey Kleshchev
2024-09-10Merge pull request #2544 from secondlife/davep-profile-session-9/10cosmic-linden
Profile guided optimizations
2024-09-10Profile guided optimizationsRunitaiLinden
2024-09-10Merge remote-tracking branch 'origin/release/2024.08-DeltaFPS' into developBrad Linden
2024-09-10mute icons were not showing during group call when user was mutedRoxie Linden
This fixes: https://github.com/secondlife/viewer-private/issues/285 When processing messages from the voice server, the volume and not the mute status was being checked with respect to retrieving the mute status.
2024-09-10In llstring.cpp, build result strings using basic_ostringstream<T>.Nat Goodspeed
Many of the string conversion functions in llstring.cpp would build their result strings using successive concatenation operations, piece by piece. This can be expensive in allocations. Instead, use a std::basic_ostringstream of char type appropriate to the return string type to aggregate piecewise string building.
2024-09-10Fix risky signature of `wchar_to_utf8chars()`. Add `ll_convert()` alias.Nat Goodspeed
`wchar_to_utf8chars()` used to require a `char*` output buffer with no length, assuming that its caller knew enough to provide a buffer of sufficient length. In fact a `char[8]` buffer suffices, but nothing in the header indicated that. Eliminate the output parameter and return `std::string`. Fix the few existing callers. Also set an `ll_convert_alias` so that `ll_convert_to<std::string>(llwchar)` directly calls `wchar_to_utf8chars()`. Replace instances of the workaround `wstring_to_utf8str(LLWString(1, llwchar))`.
2024-09-10#2460 Max-Non-Impostors uses a bad shape (code formatting)Alexander Gavriliuk
2024-09-10#2460 Max-Non-Impostors uses a bad shapeAlexander Gavriliuk
2024-09-10#2434 Intel HD4000 compatibility pass (#2541)Dave Parks
* #2434 Intel HD4000 compatibility pass * Fixes crash on old drivers when loading shaders * Fixes 30 second hang on startup * Fixes occasional dev build crash in LLWearableList --------- Co-authored-by: Brad Linden <brad@lindenlab.com>
2024-09-10llinstancetracker.h was missing an #include from last merge.Nat Goodspeed
2024-09-10Pass std::string_view by value, not by const reference.Nat Goodspeed
Consensus seems to be that (a) string_view is, in effect, already a reference, (b) it's small enough to make pass-by-value reasonable and (c) the optimizer can reason about values way better than it can about references.
2024-09-10Merge pull request #2536 from Ansariel/develop-viewermenu-cleanupnat-goodspeed
Clean up llviewermenu
2024-09-10Allow the in world voice indicator to be toggled in preferencesMnikolenko Productengine
2024-09-10Fix a couple errors from merging in new code.Nat Goodspeed
2024-09-10Clean up llviewermenuAnsariel
2024-09-09Voice bars of self and as seen by others do not appear the same.Roxie Linden
The voice server sends up the float power level of peers as an integer multiplied by 128, in order to save character count as the voice power level will likely be only 3 digits, instead of many for a full float. The client was not taking this into account.
2024-09-09Merge branch 'develop' into release/luau-scriptingNat Goodspeed
2024-09-09Callback button for groups was not being reenabled after hanging up on group ↵Roxie Linden
call. For #2532, callback button was remaining disabled after hanging up on a group call. Also, fix an issue where user was automatically added to a group call after the initiator of the group call hangs up and re-calls the group.
2024-09-09Merge pull request #2530 from secondlife/release/2024.08-DeltaFPSBrad Linden
Release/2024.08 delta fps
2024-09-09Merge pull request #2527 from secondlife/maxim/viewer_2473Maxim Nikolenko
Reduce 'World map' floater draw time
2024-09-09Reduce 'World map' floater draw timeMnikolenko Productengine
2024-09-09Fix spelling error in variable name (#2526)Kyler "Félix" Eastridge
2024-09-09Changes towards C++20 compatibility (#2520)Ansariel Hiller
2024-09-09Update calcDataSizeJ2C to stop undersized blocks (#2525)TommyTheTerrible
The initial block area for the pyramid walk should not be smaller than the max_block_size area so need an llmax to not allow multiplication below 1. This was causing decode errors for complex small images (128x128 or smaller) on discard 1 and 2.
2024-09-08#459 Filters on object inventoryAlexander Gavriliuk
2024-09-07Merge pull request #2521 from secondlife/andreyk/viewer_2411Andrey Kleshchev
viewer#2411 Use font buffer for inventory
2024-09-06#2467 Fix for sim surrounds not fully loading (#2524)Dave Parks
Also fixes some sculpts getting wrong LoD
2024-09-07viewer#2411 Use font buffer for inventoryAndrey Kleshchev
2024-09-06Avoid VC fatal warning when trying to fix un/signed comparison.Nat Goodspeed
2024-09-06Remove Lua floaters from menu_viewer.xml; re-add if Lua enabled.Nat Goodspeed
Add a menus.lua autorun script that waits until login, then adds the Lua floaters back into the Develop->Consoles menu where they were originally. Extend UI.addMenuItem() and addMenuSeparator() to support pos argument.
2024-09-06Introduce LuaFeature debug setting, default off.Nat Goodspeed
Make central Lua engine functionality conditional on that flag.
2024-09-06Add pos to 'UI' listener's 'addMenuItem' and 'addMenuSeparator'Nat Goodspeed
'pos' is a 0-relative index at which to insert the desired menu item or separator. If 'pos' is omitted, the item is appended to the menu.
2024-09-06Don't enable vivox spatial when teleporting while in a webrtc ↵Roxie Linden
conference/p2p/group call Processing for vivox was being enabled when teleporting into a vivox region regardless as to whether the user was in a conference/p2p/group call, resulting in vivox spatial and webrtc conference/p2p/group simultaneously being active.
2024-09-06Allow LLMenuGL::insert() to append as well as inserting.Nat Goodspeed
Appending is effected by passing position == getItemCount(). Until now, insert() disallowed that value, so you could insert before the last existing entry but not after it.
2024-09-06Introduce llless(), and use it for llmin(), llmax().Nat Goodspeed
Add tests to verify that llless() correctly handles signed <=> unsigned comparison, which native "<" does not.
2024-09-06Add toggles to avatar dropdown for hear sound or voice from avatar. (#2518, ↵TJ
#2519)
2024-09-06Fix login progress always showing incorrect attempt number (#2517)Ansariel Hiller