summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-06-18#1771 Fix for objects disappearing and not reappearing until LoD switchRunitaiLinden
2024-06-18Merge branch 'lua-login' of github.com:secondlife/viewer into lua-loginNat Goodspeed
2024-06-18Initialize lua_Debug lluau::source_path() passes to lua_getinfo().Nat Goodspeed
On Mac it doesn't seem to matter, but on Windows, leaving it uninitialized can produce garbage results and even crash the coroutine. This seems strange, since we've been assuming lua_getinfo() treats its lua_Debug* as output-only.
2024-06-18Use LL_DEBUGS("Lua") for LuaLog.Nat Goodspeed
We might decide to leave some of them in place.
2024-06-18Improve diagnostic output from running 'require' module.Nat Goodspeed
2024-06-18Attempt to use provided GITHUB_TOKEN and generate tag id from inputsBrad Linden
2024-06-18Added git-blame-ignore entry for whitespace changeBrad Linden
2024-06-18Fix whitespace for pre-commit hooksBrad Linden
2024-06-18Merge remote-tracking branch 'origin/develop' into brad/webrtc-voice-developBrad Linden
2024-06-18Merge pull request #1797 from secondlife/release/maint-aBrad Linden
merge release/maint-a into develop and close maint-a
2024-06-18Follow-up improvements of 810219d3bf27d81751d0f41b65013ca31db34ff7Ansariel
2024-06-18jira-archive-internal#67837 Fix LLDir::getScrubbedFileNameAndrey Kleshchev
2024-06-18Remove special-case ~LuaState() code to call fiber.run().Nat Goodspeed
Instead, make fiber.lua call LL.atexit(fiber.run) to schedule that final run() call at ~LuaState() time using the generic mechanism. Append an explicit fiber.run() call to a specific test in llluamanager_test.cpp because the test code wants to interact with multiple Lua fibers *before* we destroy the LuaState.
2024-06-18Make ~LuaState() walk Registry.atexit table backwardsNat Goodspeed
so cleanup happens in reverse order, as is conventional. Streamline LL.atexit() function: luaL_newmetatable() performs all the find-or-create named Registry table logic.
2024-06-18lua_emplace<T>() should permit GC despite LL.atexit() safety net.Nat Goodspeed
lua_emplace<T>() was passing LL.atexit() a closure binding the new userdata with a cleanup function. The trouble with that was that a strong reference to the new userdata would prevent it ever being garbage collected, even if that was the only remaining reference. Instead, create a new weak table referencing the userdata, and bind that into the cleanup function's closure. Then if the only remaining reference to the userdata is from the weak table, the userdata can be collected. Make lua_emplace_call_gc<T>() check the bound weak table in case the userdata has in fact been collected. Also, in lua_toclass<T>(), use luaL_checkudata() to synopsize comparing the putative userdata's metatable against the one synthesized by lua_emplace<T>(). This saves several explicit steps.
2024-06-18Make lluau::source_path() report top-level script path.Nat Goodspeed
source_path() previously reported the path of the module containing the current (lowest-level) Lua function. The effect was that the Floater.lua module would always try to look up the XUI file relative to scripts/lua/require. It makes more intuitive sense to make source_path() return the path containing the top-level script, so that a script engaging the Floater.lua module looks for the XUI file relative to the script.
2024-06-17Fix yaml indentation of javascript snippet in tag-release workflowBrad Linden
2024-06-17Fix secret name since GITHUB_ prefix is reservedBrad Linden
2024-06-17Attempt to fix tag-release workflow by moving conditional secrets usage into envBrad Linden
2024-06-17Attempt to fix workflow syntax in new tag-release workflow (#1792)Brad Linden
2024-06-17Merge pull request #1763 from secondlife/brad/tag-nightlyBrad Linden
Setting up scheduled and manually dispatched releases.
2024-06-17Pass through input channel to select the tag channel nameBrad Linden
2024-06-17Update naming and add options to tag-release workflow_dispatch.Brad Linden
2024-06-17Renamed tag-nightly.yaml to generalize it to other tags when using ↵Brad Linden
workflow_dispatch
2024-06-17Merge remote-tracking branch 'origin/develop' into brad/webrtc-voice-developBrad Linden
2024-06-17Remove useless 'coro_name' infoMnikolenko Productengine
2024-06-17Remove orphaned VRAM handling codeAnsariel
2024-06-17Store script's LuaListener in userdata in lua_State's Registry.Nat Goodspeed
Instead of deriving LuaListener from LLInstanceTracker with an int key, generating a unique int key and storing that key in the Registry, use new lua_emplace<LuaState>() to store the LuaListener directly in a Lua userdata object in the Lua Registry. Because lua_emplace<T>() uses LL.atexit() to guarantee that ~LuaState will destroy the T object, we no longer need ~LuaState() to make a special call specifically to destroy the LuaListener, if any. So we no longer need LuaState::getListener() separate from obtainListener(). Since LuaListener is no longer an LLInstanceTracker subclass, make LuaState::obtainListener() return LuaListener& rather than LuaListener::ptr_t.
2024-06-14Introduce LL.atexit(), internal lua_emplace<T>(), lua_toclass<T>().Nat Goodspeed
Publish new LL.atexit() function that accepts a Lua function (or C++ closure) and saves it (in Registry["atexit"] table) to call later. Make ~LuaState() walk the Registry["atexit"] table, if it exists, calling each function appended to that table. (Consider using that mechanism to clean up a LuaListener, if one was instantiated. Possibly also use for p.s. leap.run()? But that's run after every expr() call, instead of only at ~LuaState() time. Pragmatically, though, the distinction only matters for a LUA Debug Console LUA string with "clean lua_State" unchecked.) For use by future lua_function() entry points, lua_emplace<T>(ctor args...) pushes a Lua userdata object containing a newly-constructed T instance -- actually a std::optional<T> to avoid double destruction. lua_emplace<T>() is specifically intended to be usable even for T with a nontrivial destructor: it gives the userdata a metatable with a __gc function that destroys the contained T instance when the userdata is garbage collected. But since garbage collection doesn't guarantee to clean up global variables with __gc methods, lua_emplace<T>() also uses LL.atexit() to ensure that ~T() will run when the LuaState is destroyed. The companion to lua_emplace<T>() is lua_toclass<T>(), which returns a non-nullptr T* if the referenced index is in fact a userdata created by lua_emplace<T>() for the same T, that has not yet been destroyed. This lets C++ code access a T previously embedded in Lua userdata.
2024-06-14make Second Life Develop be recognized as a Beta channelBrad Linden
2024-06-141736 audit texture image unit usage on os x (#1739)Dave Parks
* #1736 Remove some unused samplers from glsl files and refactor shader manager to assume 16 texture image units and 4 indexed texture units all the time.
2024-06-14Merge pull request #1747 from megapahit/beaconBrad Linden
Fixes secondlife/viewer#999 lltracker beacon performance issue
2024-06-14Fix for warnings/errors after Visual Studio update (#1775)Dave Parks
2024-06-14Move Lua modules for 'require' to indra/newview/scripts/lua/require.Nat Goodspeed
Make viewer_manifest.py copy them into the viewer install image. Make the require() function look for them there.
2024-06-14Fix a minor but nagging Python build-time warning: invalid regexp.Nat Goodspeed
2024-06-14Add nearby chat listenerMnikolenko Productengine
2024-06-13Skip the actual tag update step gracefully until we have proper tokens set upBrad Linden
2024-06-13Add new viewer_channel detection for develop branchBrad Linden
2024-06-13Initial work setting up scheduled releases for develop branch.Brad Linden
2024-06-13Merge branch 'develop' of github.com:secondlife/viewer into roxie/webrtc-voiceRoxie Linden
2024-06-13Merge pull request #1743 from secondlife/v-1475cosmic-linden
secondlife/viewer#1475: Fix Terrain tab controls no longer disabled when insufficient permissions
2024-06-13secondlife/viewer#907: Remove unused settingCosmic Linden
2024-06-13secondlife/viewer#907: Review feedbackCosmic Linden
2024-06-13secondlife/viewer#1744: Fix missing LSL constant INVENTORY_SETTING in ↵Cosmic Linden
keywords_lsl_default.xml
2024-06-13secondlife/viewer#1475: Fix Terrain tab controls no longer disabled when ↵Cosmic Linden
insufficient permissions
2024-06-13lltracker::drawbeacon() rewritted for better performancemobserveur
this is a better implementation of the drawBeacon() function compared to the previous patch
2024-06-13fixed tracker beacon performance issue on apple silicon macsmobserveur
tracking beacon was causing extreme lag on apple silicon macs
2024-06-12Merge pull request #1746 from Ansariel/developBrad Linden
Fix a few merge issues
2024-06-13Fix a few merge issuesAnsariel
2024-06-12Merge pull request #1745 from secondlife/project/gltf_developmentBrad Linden
move project/gltf development to develop