summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-27Fix shutdown crash from OpenAL failing to release a bufferRye Cogtail
2024-09-27Clean up LLCallstacks from postSortRye Cogtail
2024-09-27Clean up unused uniforms in bindDeferredShader and move SSAO uniforms to two ↵Rye Cogtail
shaders that use them
2024-09-27Remove dead llatmosphere codeRye Cogtail
2024-09-27Remove dead LLPostProcess class and related codeRye Cogtail
2024-09-27viewer#2653 fix texture readback not being called and not setting values ↵Andrey Kleshchev
properly Ex: Saving textures to hard drive sometimes fails
2024-09-27Merge pull request #2714 from secondlife/nat/xcode-16nat-goodspeed
Clean up llpointer.h per previous discussions.
2024-09-27Slightly streamline owning_ptr class definition.Nat Goodspeed
2024-09-27Introduce owning_ptr<T>; use it for JPEG2KEncode and JPEG2KDecode.Nat Goodspeed
owning_ptr<T> adapts std::unique_ptr<T> to be a better drop-in replacement for a legacy class that formerly stored plain T* data members, and explicitly destroyed them using domain-specific destructor functions. Directly substituting std::unique_ptr into JPEG2KEncode and JPEG2KDecode was cumbersome because every such pointer declaration required a redundant template parameter describing the deleter function passed into its constructor. Moreover, it required lots of little syntax tweaks: changing every assignment to a reset() call, changing every reference to a get() call. Using owning_ptr<T> allows us to leave the code more or less as it was before, save that assignment and destruction automatically handle the previous referenced T instance.
2024-09-27Add UI callback to invoke specified script via menuMnikolenko Productengine
2024-09-27#2711 Remove ALM text from About SLMaxim Nikolenko
2024-09-27#2674 Optimize LLWorld::renderPropertyLines() - LLRender class code formattingAlexander Gavriliuk
2024-09-27#2674 Optimize LLWorld::renderPropertyLines() - use vertexBatchPreTransformed()Alexander Gavriliuk
2024-09-27Linux GCC prefers the explicit std::string::assign() call.Nat Goodspeed
2024-09-27lltexlayerparams.h uses std::atomic<bool>, so #include <atomic>Nat Goodspeed
2024-09-27Try again to let Windows and Mac succeed despite Linux failure.Nat Goodspeed
2024-09-27Allow Windows and Mac builds to succeed despite Linux failure.Nat Goodspeed
2024-09-27Automate memory management in JPEG2KEncode and JPEG2KDecode.Nat Goodspeed
Instead of using strdup() and free() to store comment_text in JPEG2KEncode, store a std::string. Similarly, instead of manually managing pointers to encoder, decoder, image, stream and codestream_info in JPEG2KDecode and JPEG2KEncode, use std::unique_ptr for each, specifying their respective deleter functions.
2024-09-27Migrate ~LLPointer()'s peculiar warning case to llpointer.cpp.Nat Goodspeed
This allows removing #include "llerror.h" from llpointer.h. Also remove #include "llmutex.h" as a heavy way to get <boost/functional/hash.hpp>. That requires adding #include "llmutex.h" to llimage.h, llnotifications.h, llwatchdog.cpp and llvolumemgr.cpp, which were inheriting it from llpointer.h.
2024-09-27Fix lerp issues and eliminate flerp in favor of std::lerp (#2712)Ansariel Hiller
2024-09-26secondlife/viewer#2638: Don't clear big render target if all pixels will be ↵Cosmic Linden
replaced
2024-09-27Merge pull request #2700 from secondlife/maxim/lua-autopilot-devMaxim Nikolenko
Lua api for autopilot functions
2024-09-26Merge remote branch 'develop' into maxim/lua-autopilot-devNat Goodspeed
2024-09-26Ditch last instances of LL_LIBRARY_INCLUDE.Nat Goodspeed
2024-09-26get rid of extra LL in help textMnikolenko Productengine
2024-09-26viewer#2709 Fix loose triangleAndrey Kleshchev
2024-09-26#2411 Disable LLFontVertexBuffer for HUDAndrey Kleshchev
It needs a rework
2024-09-26Merge pull request #2689 from secondlife/rider/server_autopilotRider Linden
Honor FLAGS_SERVER_AUTOPILOT and don't locally override assigned agent rotation.
2024-09-26#2519 Move "MediaSoundsEarLocation" and "VoiceEarLocation" toggles to the ↵Andrey Lihatskiy
Communicate menu (#2707)
2024-09-26#2411 Allow disabling and enabling LLFontVertexBufferAndrey Kleshchev
for testing purposes
2024-09-26Merge remote branch 'develop' into marchcat/xcode-16Nat Goodspeed
2024-09-26Rename our lerp() to flerp(); call where MSVC balks at std::lerp().Nat Goodspeed
Now the lerp() in global namespace is std::lerp(), but it remains true that for some calls to std::lerp(), MSVC issues fatal argument conversion warnings. In those places, call flerp() (our historic lerp()) instead.
2024-09-26Remove whitespace for pre-commitAndrey Lihatskiy
2024-09-26Set continue-on-error for linux buildsAndrey Lihatskiy
2024-09-26Reinstate our lerp() function, avoid "math.h" header.Nat Goodspeed
For reasons that remain unclear, MSVC likes our lerp() function better than its own std::lerp() function: publishing the latter into the global namespace, instead of defining our own, produces fatal argument conversion warnings. "math.h" publishes all of <cmath> into the global namespace, which causes a GCC conflict between std::lerp() and our lerp() function. Including <cmath> instead leaves std::lerp() in the std namespace, eliminating the conflict.
2024-09-26Fix GCC ambiguous-reversed-operator errors for `LLKeyData` compares.Nat Goodspeed
`LLKeyData::operator==(const LLKeyData&)` and `operator!=(const LLKeyData&)` were not themselves `const` methods. In C++20, that can produce a fatal warning that if the compare operands were reversed, you'd get different results. Making them both `const` should fix it. While touching the method definitions, make `operator==()` more intuitive, and make `operator!=()` simply negate `operator==()` instead of restating it in reverse.
2024-09-26update LLListener and related scriptsMnikolenko Productengine
2024-09-26Ditch our own (conflicting) definition of the lerp() function.Nat Goodspeed
Hoist `std::lerp()` into the global namespace instead.
2024-09-26#include <cmath> rather than "math.h" to avoid lerp() conflict.Nat Goodspeed
GCC on Linux complains that "math.h", which hoists all the standard library math functions into the global namespace for classic C compatibility, creates a conflict between `std::lerp()` and the `lerp()` function in llmath.h. (Perhaps we should just replace our `lerp()` definition with `using std::lerp;`) Anyway, bringing in <cmath> rather than "math.h" leaves standard library math functions in the `std` namespace, avoiding the conflict.
2024-09-26Fix a few more fsyspath conversions, removing explicit u8string().Nat Goodspeed
2024-09-26Use event pump to get autopilot status, when it's terminated; add demo scriptMnikolenko Productengine
2024-09-26Lua api for autopilot functionsMnikolenko Productengine
2024-09-26Merge pull request #2688 from Ansariel/develop-snapshot-fixesAndrey Lihatskiy
Fix various issues with snapshot upload fee calculation
2024-09-25Adapt `fsyspath` for C++20 conventions.Nat Goodspeed
In C++20, `std::filesystem::u8path()` (that accepts a UTF-8 encoded `std::string` and returns a `std::filesystem::path`) is deprecated. Instead, to engage UTF-8 coding conversions, we're supposed to pass the `path` constructor a `std::u8string`, i.e. a `std::basic_string<char8_t>`. Since `char8_t` is a type distinct from both `char` and `unsigned char`, we must Do Something to pass a UTF-8 encoded `std::string` into `std::filesystem::path`. To avoid copying characters from a `std::string` into a temporary `std::u8string` and from there into the `std::filesystem::path`, make a `boost::transform_iterator` that accepts a `std::string_view::iterator` and adapts it to dereference `char8_t` characters. Make `fsyspath(std::string_view)` engage the base-class constructor accepting (iterator, iterator), adapting `string_view::begin()` and `end()` to deliver `char8_t` characters. Use the same tactic for `fsyspath::operator=(std::string_view)`, explicitly calling `std::filesystem::path::assign()` with the adapted iterators. To resolve ambiguities, provide both constructors and assignment operators accepting `(const std::string&)` and `(const char*)`, explicitly converting each to `std::string_view`. At the same time, `std::filesystem::path::u8string()` now returns `std::u8string` rather than `std::string`. Since `std::filesystem::path` delivers only that `std::u8string` rather than iterators into its internal representation, we can't avoid capturing it and copying to the returned `std::string`. Remove explicit `.u8string()` calls from a few existing `fsyspath` instances, now that `fsyspath` supports implicit conversion to `std::string`.
2024-09-25Issue #2687: Honor flag sent by server indicating server side autopilot is ↵Rider Linden
engaged. When flag is set allow sever to update local avatar rotation.
2024-09-26Force snapshot update when opening a snapshot panel and the resolution is ↵Ansariel
"Current Window" to determine correct image size and upload cost
2024-09-25Remove incorrectly calculated upload fee from snapshot options button based ↵Ansariel
on previously selected snapshot type and not necessarily snapshot to inventory
2024-09-25Fix upload cost calculation for snapshots to inventory based on encoded ↵Ansariel
image size and display upload cost to user
2024-09-25Remove orphaned LLPanelOutfitSnapshotInventoryAnsariel
2024-09-25viewer#2646 Fix viewer ignoring Physics Shape Type changesAndrey Kleshchev
asStringRef is only valid for strings