summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
2024-03-07triage#103 The focused state of the 'Recently used emojis' is not visibleAlexander Gavriliuk
2024-03-06Merge pull request #927 from secondlife/v-712cosmic-linden
PBR Terrain UI second pass
2024-03-06secondlife/viewer#712: Clean up unused region change callback checksCosmic Linden
2024-03-06WIP: Unfinished Queue.lua, WaitQueue.lua, ErrorQueue.lua, leap.lua.Nat Goodspeed
Also qtest.lua to exercise the queue classes and inspect.lua (from https://github.com/kikito/inspect.lua) for debugging.
2024-03-06SL-20429 Fix emoji categories having mixed translationsAndrey Kleshchev
Was caused by package substituting '&' with 'and' instead of '&'
2024-03-05Merge remote-tracking branch 'origin/release/gltf-maint2' into ↵Brad Linden
release/materials_featurette
2024-03-05triage#86 Use Emoji font in LineEditor by defaultAlexander Gavriliuk
2024-03-05Issue #54 LLRender::init crashAndrey Kleshchev
2024-03-05SL-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.
2024-03-04Merge branch 'main' into marchcat/x-mergeAndrey Lihatskiy
# Conflicts: # indra/llcommon/llstring.cpp # indra/llcommon/llstring.h
2024-03-01secondlife/viewer#712: Use checkbox to make it more obvious that only one ↵Cosmic Linden
set of terrain assets is preserved. Clean up enums.
2024-03-02Revert "Update emoji_categories in Polish translation to slightly more ↵Andrey Kleshchev
correct erms..." This reverts commit 60debe828b87c33fdbd33e3a5fcef423e544fe55.
2024-03-01Update emoji_categories in Polish translation to slightly more correct erms...Pantera Północy
2024-03-01Merge remote-tracking branch 'origin/release/gltf-maint2' into ↵Brad Linden
release/materials_featurette
2024-03-01Merge remote-tracking branch 'origin/main' into release/gltf-maint2Brad Linden
2024-03-01Merge branch 'main' into marchcat/yz-mergeAndrey Lihatskiy
# Conflicts: # indra/newview/llinventorygallery.cpp
2024-03-01triage#105 clearPopups() crashAndrey Kleshchev
onTopLost can result in popup being removed or potentially removing more than one popup.
2024-03-01Merge branch 'main' into DRTVWR-588-maint-WAndrey Lihatskiy
2024-03-01Increment viewer version to 7.1.4Nat Goodspeed
following promotion of secondlife/viewer #673
2024-02-29secondlife/viewer#712: Remember previously set textures/materials when ↵Cosmic Linden
possible. Not persistent.
2024-02-29secondlife/viewer#712: More intuitive selection of PBR vs texture terrain, ↵Cosmic Linden
and update dropdown to match
2024-02-29Fix wonky Unicode chars from web pasteNat Goodspeed
2024-02-29Add Queue.lua from roblox.com documentation.Nat Goodspeed
2024-02-29Clarify that the print output from testmod.lua is load-time.Nat Goodspeed
2024-02-29Fix caching for loaded Lua require() modules.Nat Goodspeed
The code to save the loaded module was using the wrong key.
2024-02-29Add indra/newview/scripts/lua directory, copied into viewer image.Nat Goodspeed
2024-02-29Refactor require() to make it easier to reason about Lua stack usage.Nat Goodspeed
Push throwing Lua errors down into LLRequireResolver::findModule() and findModuleImpl() so their callers don't have to handle the error case. That eliminates finishrequire(). require() itself now only retrieves (and pops) the passed module name and calls LLRequireResolver::resolveRequire() to do the actual work. resolveRequire() is now void. It only instantiates LLRequireResolver and calls its findModule(). findModule() is now also void. It's guaranteed to either push the loaded Lua module or throw a Lua error. In particular, when findPathImpl() cannot find the specified module, findModule() throws an error. That replaces ModuleStatus::NotFound. Since std::filesystem::path::append() aka operator/() detects when its right operand is absolute and, in that case, discards the left operand, we no longer need resolveAndStoreDefaultPaths(): we can just invoke that operation inline. When findModule() pushes _MODULES on the Lua stack, it uses LuaRemover (below) to ensure that _MODULES is removed again no matter how findModules() exits. findModuleImpl() now accepts the candidate pathname as its argument. That eliminates mAbsolutePath. findModuleImpl() now returns only bool: true means the module was found and loaded and pushed on the Lua stack, false means not found and nothing was pushed; no return means an error was reported. Push running a newly found module's source file down into findModuleImpl(). That eliminates the distinction between Cached and FileRead, which obviates ModuleStatus: a bool return means either "previously cached" or "we read it, compiled it, loaded it and ran it." That also eliminates the need to store the module's textual content in mSourceCode. Similarly, once loading the module succeeds, findModuleImpl() caches it in _MODULES right away. That eliminates ResolvedRequire since we need not pass the full pathname of the found module (or its contents) back up through the call chain. Move require() code that runs the new module into private runModule() method, called by findModuleImpl() in the not-cached case. runModule() is the only remaining method that can push either a string error message or the desired module, because of its funny stack manipulations. That means the check for a string error message on the stack top can move down to findModuleImpl(). Add LuaRemover class to ensure that on exit from some particular C++ block, the specified Lua stack entry will definitely be removed. This is different from LuaPopper in that it engages lua_remove() rather than lua_pop(). Also ditch obsolete await_event() Lua entry point.
2024-02-27#681 More generalization of falloff.Jonathan "Geenz" Goodman
2024-02-27#681 Make our sampling code for probes a good deal more generic to make sure ↵Jonathan "Geenz" Goodman
all probes can benefit from the same blending functions.
2024-02-27Issue#900 Crash at LLInventoryAddItemByAssetObserverAndrey Kleshchev
2024-02-27Merge branch 'release/materials_featurette' into ↵Jonathan "Geenz" Goodman
geenz/mirrors-optimization-pass-1
2024-02-27Merge branch 'release/luau-scripting' into luau-require-impl.Nat Goodspeed
2024-02-26Clear the stack after requiring a moduleMnikolenko Productengine
2024-02-26https://github.com/secondlife/jira-archive-internal/issues/71006 Fix for ↵RunitaiLinden
probes going off the rails -- sanity clamp sky glow (#893)
2024-02-26Clean-up and restoring correct pathMnikolenko Productengine
2024-02-26#681 Start adding blending boilerplate.Jonathan "Geenz" Goodman
2024-02-26Make sure to check if we're a hero probe before attempting to register with ↵Jonathan "Geenz" Goodman
the hero probe manager. If we're already in the list, this will return false.
2024-02-26#682 Further tweak the conservative update mechanism.Jonathan "Geenz" Goodman
2024-02-26#890 Make sure we're doing the correct distance check.Jonathan "Geenz" Goodman
#682 Improve the conservative update functionality for mirror faces. Make it attenuate depending on how much the camera is facing that specific cubemap face.
2024-02-25 #889 Start removing mDrawable references. These may be null.Jonathan "Geenz" Goodman
2024-02-25#682 Add a low priority path for conservative probe face updates. This will ↵Jonathan "Geenz" Goodman
update the "low priority" faces at half of the the probe update rate. Useful for less planar reflection geometry.
2024-02-23Merge remote-tracking branch 'origin/release/materials_featurette' into ↵Jonathan "Geenz" Goodman
geenz/mirrors-optimization-pass-1
2024-02-23Merge branch 'brad/avatar_eye_fix' into 'release/materials_featurette' (#883)Brad Linden
2024-02-23Fix for deferred avatar eyes shader failing to link on Intel GPU.Brad Linden
2024-02-23Fixes for some shader compilation failures on mac.Brad Linden
* conditional compilation should use #ifdef * layout keywords need to be lowercase
2024-02-23require() code clean-upMnikolenko Productengine
2024-02-22Lua listen_events(), await_event() => get_event_{pumps,next}().Nat Goodspeed
Don't set up a Lua callback to receive incoming events, a la listen_events(). Don't listen on an arbitrary event pump, a la await_event(). Instead, the new get_event_pumps() entry point simply delivers the reply pump and command pump names (as listen_events() did) without storing a Lua callback. Make LuaListener capture incoming events on the reply pump in a queue. This avoids the problem of multiple events arriving too quickly for the Lua script to retrieve. If the queue gets too big, discard the excess instead of blocking the caller of post(). Then the new get_event_next() entry point retrieves the next (pump, data) pair from the queue, blocking the Lua script until a suitable event arrives. This is closer to the use of stdin for a LEAP plugin. It also addresses the question: what should the Lua script's C++ coroutine do while waiting for an incoming reply pump event? Recast llluamanager_test.cpp for this new, more straightforward API. Move LLLeap's and LuaListener's reply LLEventPump into LLLeapListener, which they both use. This simplifies LLLeapListener's API, which was a little convoluted: the caller supplied a connect callback to allow LLLeapListener to connect some listener to the caller's reply pump. Now, instead, the caller simply passes a bool(pumpname, data) callback to receive events incoming on LLLeapListener's own reply pump. Fix a latent bug in LLLeapListener: if a plugin called listen() more than once with the same listener name, the new connection would not have been saved. While at it, replace some older Boost features in LLLeapListener and LLLeap.
2024-02-21secondlife/viewer-issues#72: Fix clang warnings (virtual override)Cosmic Linden
2024-02-21secondlife/viewer-issues#72: Fix material preview affecting exposure on main ↵Cosmic Linden
screen
2024-02-21#682 Add an update rate parameter to help throttle mirror updates.Jonathan "Geenz" Goodman
So far 4 seems like a good balance for performance and quality. 2 is great for quality, with 6 or 8 being for higher performance. Also bring back the gaussian filter - may end up adding the FXAA filter though instead.