Age | Commit message (Collapse) | Author |
|
Introduce `ScriptCommand` class that parses a command line into a script name
and optional args, using bash-like quoting and escaping. `ScriptCommand`
searches for a file with that script name on a passed list of directories; the
directories may be specified relative to a particular base directory.
`ScriptCommand` supports the special case of a script name containing unescaped
spaces. It guarantees that either the returned script file exists, or its
`error()` string is non-empty.
Replace `LLLeap::create()` logic, from which `ScriptCommand` was partly
derived, with a `ScriptCommand` instance.
Make `LLLUAmanager::runScriptFile()` use a `ScriptCommand` instance to parse
the passed command line.
Subsume `LLAppViewer::init()` script-path-searching logic for `--luafile`
into `ScriptCommand`. In fact that lambda now simply calls
`LLLUAmanager::runScriptFile()`.
Make `lluau::dostring()` accept an optional vector of script argument strings.
Following PUC-Rio Lua convention, pass these arguments into a Lua script as
the predefined global `arg`, and also as the script's `...` argument.
`LuaState::expr()` also accepts and passes through script argument strings.
Change the log tag for the Lua script interruption message: if we want it, we
can still enable it, but we don't necessarily want it along with all other
"Lua" DEBUG messages.
Remove `LuaState::script_finished_fn`, which isn't used any more. Also remove
the corresponding `LLLUAmanager::script_finished_fn`. This allows us to
simplify `~LuaState()` slightly, as well as the parameter signatures for
`LLLUAmanager::runScriptFile()` and `runScriptLine()`.
|
|
secondlife/viewer#2462: Optimize unloading of prims
|
|
|
|
|
|
mode
|
|
|
|
|
|
|
|
|
|
|
|
Make Develop->Render Tests->Frame Profile dump JSON to a file too.
|
|
|
|
|
|
# Conflicts:
# indra/newview/llviewertexturelist.cpp
|
|
|
|
|
|
Avoid using a bunch of allocators.
Make sure we use LLVector4a's SSE logic instead of LLVector3's.
Some minor optimizations.
|
|
|
|
|
|
|
|
init (#2604)
secondlife/viewer#2603
|
|
|
|
cherry-pick viewer#1016 Incorrect behavior of Physics Shapes rendering
|
|
Also fix assert while prepping GLTF assets
|
|
As part of the boost::json conversion, the json that mutes and sets peer gain
was not being formed correctly.
Also, tweaked the peer gain default.
|
|
|
|
|
|
With the About info added, `getProfileStatsContext()` need not redundantly add
`"channel"`, `"version"` or `"region"`.
Slightly improve the efficiency of `LlsdToJson()` and `LlsdFromJson()` by
preallocating the known size of the source array or map. (Unfortunately the C++
`LLSD` class offers us no way to preallocate a map.)
In `LLAppViewer::getViewerInfo()`, avoid immediate successive calls to
`gAgent.getRegion()`.
(cherry picked from commit f4b65638879c10c832b3bb8448f82001106ffd11)
|
|
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()`.
(cherry picked from commit d5712689d36a1ee1af32242706901fde7229b08d)
|
|
in the viewer
|
|
|
|
|
|
|
|
* Work around for GHA mac runners not playing nice with Tracy
* Delay VBO deletion for a few frames
* Enable multithreaded GL driver and multithreaded media textures on Apple silicon
|
|
following promotion of secondlife/viewer #2367: 2024.08 DeltaFPS
|
|
|
|
|
|
|
|
- Tune up LLJointRiggingInfoTab
- Visualize joint bounding boxes when visualizing joints
- Use LLJointRiggingInfo to caclulate desired resolution of a texture
- Throttle calls to calcPixelArea
- Fetch MeshSkinInfo immediately when header is received
|
|
Raise resolution of local baked texture preview from 512 to 2048
|
|
|
|
With the About info added, `getProfileStatsContext()` need not redundantly add
`"channel"`, `"version"` or `"region"`.
Slightly improve the efficiency of `LlsdToJson()` and `LlsdFromJson()` by
preallocating the known size of the source array or map. (Unfortunately the C++
`LLSD` class offers us no way to preallocate a map.)
In `LLAppViewer::getViewerInfo()`, avoid immediate successive calls to
`gAgent.getRegion()`.
|
|
|
|
|
|
|
|
|
|
|
|
Specifically, add the viewer version, the machine ID, the grid, the region
name and ID, the parcel name and ID and the timestamp. This is both richer and
less fragile than trying to extract that information from the generated
filename: e.g. we now have region and parcel names.
Instead of making `LLGLSLShader::finishProfile()` mess with file I/O, pass it
a reference to a `boost::json::value` to be filled in with statistics, if it's
a `boost::json::object`. Otherwise it's `boost::json::null`, meaning no report.
Make llviewerdisplay.cpp's `display()` function instantiate a `boost::json::value`
to pass to `finishProfile()`. That lets llviewerdisplay.cpp also set the
`"context"` entry, with a new `getProfileStatsContext()` function quite
similar to `getProfileStatsFilename()`.
|
|
|
|
|