summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-09-18Add script to compare a Frame Profile JSON stats file vs. baseline.Nat Goodspeed
Extract `latest_file()` logic replicated in profile_pretty.py and profile_csv.py out to logsdir.py, and use for new profile_cmp.py. (cherry picked from commit 439cfc97a81f221daaf8ba13aa5daa87e8511047)
2024-09-18Ditch trailing space.Nat Goodspeed
2024-09-18Give our fsyspath an operator std::string() conversion method.Nat Goodspeed
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)
2024-09-18Introduce fsyspath subclass of std::filesystem::path.Nat Goodspeed
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)
2024-09-18Merge pull request #2600 from secondlife/brad/1016-cherry-pickBrad Linden
cherry-pick viewer#1016 Incorrect behavior of Physics Shapes rendering
2024-09-18Fix for particles not loading textures (#2598)Dave Parks
Also fix assert while prepping GLTF assets
2024-09-18Merge remote-tracking branch 'origin/main' into developBrad Linden
2024-09-18Mute other / set volume level for other is not working.Roxie Linden
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.
2024-09-18added .git-blame-ignore for last commitBrad Linden
2024-09-18fix whitespaceBrad Linden
2024-09-18viewer#1016 Incorrect behavior of Physics Shapes renderingAndrey Kleshchev
2024-09-18Add LLFloaterAbout info (esp. GPU info) to Frame Profile stats dumpNat Goodspeed
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)
2024-09-18Add script to convert frame profile JSON file to CSV.Nat Goodspeed
Also slightly refactor profile_pretty.py. (cherry picked from commit d60b1f92213ace6a8ab6a4a60cb01a43f45d3955)
2024-09-18Add a JSON frame profile stats file pretty-printer script.Nat Goodspeed
(cherry picked from commit ab3083819793a30911354670a7929b0d3f7c104c)
2024-09-18Give `LLGLSLShader::finishProfile()` a static default string param.Nat Goodspeed
`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)
2024-09-18Make Develop->Render Tests->Frame Profile dump JSON to a file too.Nat Goodspeed
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)
2024-09-18Merge pull request #2573 from secondlife/lua-profile-cmpnat-goodspeed
Add script to compare a Frame Profile JSON stats file vs. a baseline file.
2024-09-18#2408 The long covenant with emojis significantly slows down some operations ↵Alexander Gavriliuk
in the viewer
2024-09-18Remove quads rendering mode entirely (#2593)Ansariel Hiller
2024-09-18Tiny argument names correction (tittle -> title) (#2594)Pantera Północy
2024-09-18More quad to triangle coverageAndrey Kleshchev
Quads are deprecated
2024-09-18Convert image drawing logic from quads to trianglesAndrey Kleshchev
2024-09-18viewer#2565 Optimize LLFolderViewItem::draw()Andrey Kleshchev
2024-09-17#2590 Fix for horrible FPS on Intel Mac (#2591)Dave Parks
* 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
2024-09-17Increment viewer version to 7.1.11Nat Goodspeed
following promotion of secondlife/viewer #2367: 2024.08 DeltaFPS
2024-09-17Mac pass (#2587)Dave Parks
2024-09-17Suppress mapBuffer warnings. (#2584)Dave Parks
2024-09-17Fix Visual Studio complaints in LLTrans (#2575)Ansariel Hiller
2024-09-16Profile guided optimization pass (#2582)Dave Parks
- 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
2024-09-16Merge pull request #2580 from RyeMutt/2kbomRye Mutt
Raise resolution of local baked texture preview from 512 to 2048
2024-09-16Fix noise post effect due to missing uniform (#2581)Rye Mutt
2024-09-16Merge pull request #2578 from secondlife/brad/2550-plugin-shutdown-crashBrad Linden
Fix for crash in LLPluginProcessParent during early shutdown.
2024-09-16Add LLFloaterAbout info (esp. GPU info) to Frame Profile stats dumpNat Goodspeed
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()`.
2024-09-16Fix for crash in LLPluginProcessParent during early shutdown.Brad Linden
fixes secondlife/viewer#2550
2024-09-16Raise resolution of local baked texture preview from 512 to 2048Rye Cogtail
2024-09-16WIP: edits in support of Lua script argsNat Goodspeed
2024-09-16Merge branch 'release/luau-scripting' into lua-profile-cmpNat Goodspeed
2024-09-16Merge pull request #2574 from secondlife/lua-consolesnat-goodspeed
Restore LUA debug consoles in viewer menu and tie visibility to feature flag (from #2571)
2024-09-13Remove autorun 'menus.lua' since menu_viewer.xml handles visibilityNat Goodspeed
2024-09-13Zap stray trailing space.Nat Goodspeed
2024-09-13Merge pull request #2571 from Ansariel/lua-consolesnat-goodspeed
Restore LUA debug consoles in viewer menu and tie visibility to feature flag
2024-09-13Merge branch 'release/luau-scripting' into lua-profile-cmpNat Goodspeed
2024-09-13Add script to compare a Frame Profile JSON stats file vs. baseline.Nat Goodspeed
Extract `latest_file()` logic replicated in profile_pretty.py and profile_csv.py out to logsdir.py, and use for new profile_cmp.py.
2024-09-13Add context info to Develop->Render Tests->Frame Profile stats file.Nat Goodspeed
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()`.
2024-09-13Merge pull request #2569 from secondlife/leviathan/send_agent_updateAndrew Meadows
send AgentUpdate ASAP when control bits change
2024-09-13Restore LUA debug consoles in viewer menu and tie visibility to feature flagAnsariel
2024-09-13send AgentUpdate ASAP when control bits changeleviathan
2024-09-13Merge PR#2515 Fix remaining occurrences of fake BOOL by AnsarielAndrey Kleshchev
2024-09-13Clean up Windows build (#2562)Ansariel Hiller
* APR_DECLARE_STATIC and APU_DECLARE_STATIC gets already defined in APR.cmake * Move both _CRT_SECURE_NO_WARNINGS and _WINSOCK_DEPRECATED_NO_WARNINGS definitions to 00-Common.cmake * Always define WIN32_LEAN_AND_MEAN and include subset of Windows API by default * Remove llwin32headerslean.h and remove unnecessary WIN32_LEAN_AND_MEAN definition handling in llwin32headers.h * Clean up includes of Windows API headers * Get rid of workaround to link against IPHLPAPI.lib in lluuid.cpp - this seems to have been an issue in the past that has been fixed
2024-09-13Merge pull request #2548 from secondlife/lua-frame-profilenat-goodspeed
Make Develop->Render Tests->Frame Profile dump JSON to a file too (#2412)