summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
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.
2024-02-21Add the option to use clean lua_State in "Lua debug" floaterMnikolenko Productengine
2024-02-21SL-20469 Crash at dead mRootVolp in getAttachedAvatar()Andrey Kleshchev
2024-02-20#682 Separate out the radiance gen.Jonathan "Geenz" Goodman
2024-02-20secondlife/viewer-issues#72: Clean up material preview when hidden or ↵Cosmic Linden
floater closed
2024-02-20Don't accept a full path as arg for require()Mnikolenko Productengine
2024-02-20Initial require implementationMnikolenko Productengine
2024-02-16secondlife/viewer-issues#72: Don't dirty depth in ↵Cosmic Linden
LLViewerDynamicTexture::updateAllInstances
2024-02-16secondlife/viewer-issues#72: Material preview shouldRender should return ↵Cosmic Linden
false if no render needed
2024-02-15#682 Do conservative updates on probes.Jonathan "Geenz" Goodman
2024-02-13Add leaphelp() Lua builtin function for help on LEAP operations.Nat Goodspeed
leaphelp() (no argument) shows a list of all LEAP APIs. leaphelp(API) shows further help for a specific API. Both forms query LuaListener's LeapListener and report its responses. In future we might reimplement leaphelp() as a Lua function. Add LuaState::getListener() method, which checks whether there's a LuaListener associated with this LuaState and returns a pointer if so. Add LuaState::obtainListener() method, which finds or creates a LuaListener for this LuaState and returns its pointer. Both the above use logic migrated from the Lua listen_events() entry point, which now calls obtainListener() instead.
2024-02-13Merge branch 'release/luau-scripting' into helpcmd.Nat Goodspeed
2024-02-12WIP: Changes towards supporting Lua console help text.Nat Goodspeed
2024-02-12#779 Emoji picker is an unintuitive UX disasterAlexander Gavriliuk
2024-02-12Make LLFloaterLUADebug assume 'Execute' button on LUA String EnterMaxim Nikolenko
2024-02-09Add command-line switches --lua "chunk" and --luafile pathname.Nat Goodspeed
--lua "chunk" runs the specified Lua chunk at startup time. --luafile pathname runs the specified Lua script file at startup time. You may specify more than one --lua or --luafile switch on the command line.
2024-02-09Make LLLUAmanager::runScriptFile() use filename as description.Nat Goodspeed
Since the description shows up in the log output, it's better to see just the script filename than to see "runScriptFile('filename')".
2024-02-09secondlife/viewer#773: Fix RenderTerrainPBREnabled requiring restart and ↵Cosmic Linden
respect simulator feature PBRTerrainEnabled
2024-02-09https://github.com/secondlife/jira-archive-internal/issues/70847 Fix for ↵RunitaiLinden
more inaccurate than usual alpha sorting (#781)
2024-02-09Merge branch 'release/materials_featurette' into release/gltf-maint2Brad Linden