Age | Commit message (Collapse) | Author |
|
|
|
|
|
Now the location to which to teleport and the camera focus point can both be
specified by the caller, in this case the frame_profile bash script.
|
|
|
|
|
|
|
|
|
|
frame (#2640)
|
|
|
|
|
|
|
|
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.
|
|
|
|
secondlife/viewer#2599
|
|
fixes secondlife/viewer#2566
|
|
|
|
|
|
init (#2604)
secondlife/viewer#2603
|
|
or to produce readable text from a mix of printing and nonprinting ASCII
characters.
(cherry picked from commit 01a59bab1a4b7c4645271a21cfaadc3735b6029c)
|
|
|
|
|
|
This is redundant (but harmless) on a Posix system, but it fills a missing
puzzle piece on Windows. The point of fsyspath is to be able to interchange
freely between fsyspath and std::string. Existing fsyspath could be
constructed and assigned from std::string, and we could explicitly call its
string() method to get a std::string, but an implicit fsyspath-to-string
conversion that worked on Posix would trip us up on Windows. Fix that.
(cherry picked from commit fbeff6d8052d4b614a0a2c8ebaf35b45379ab578)
|
|
Our std::strings are UTF-8 encoded, so conversion from std::string to
std::filesystem::path must use UTF-8 decoding. The native Windows
std::filesystem::path constructor and assignment operator accepting
std::string use "native narrow encoding," which mangles path strings
containing UTF-8 encoded non-ASCII characters.
fsyspath's std::string constructor and assignment operator explicitly engage
std::filesystem::u8path() to handle encoding. u8path() is deprecated in C++20,
but once we adapt fsyspath's conversion to C++20 conventions, consuming code
need not be modified.
(cherry picked from commit e399b02e3306a249cb161f07cac578d3f2617bab)
|
|
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)
|
|
`finishProfile()` is called at least once within a `__try` block. If we default
its `report_name` parameter to a temporary `std::string`, that temporary must be
destroyed when the stack is unwound, which `__try` forbids.
(cherry picked from commit c6e6f44f50b4de391000c5b9f781a2f0a5024e76)
|
|
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
|