Commit Graph

51789 Commits (f0300cf8b3a96464a921b8df6cd690ac104fba46)

Author SHA1 Message Date
Nat Goodspeed f0300cf8b3 Add hexdump.h with iostream manipulators to dump a byte range as hex
or to produce readable text from a mix of printing and nonprinting ASCII
characters.

(cherry picked from commit 01a59bab1a4b7c4645271a21cfaadc3735b6029c)
2024-09-18 17:17:59 -04:00
Nat Goodspeed 705ec153c5 Add script to compare a Frame Profile JSON stats file vs. baseline.
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-18 17:04:46 -04:00
Nat Goodspeed 725e1b7d6f Ditch trailing space. 2024-09-18 16:56:10 -04:00
Nat Goodspeed 837a6e04d8 Give our fsyspath an operator std::string() conversion method.
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-18 16:52:45 -04:00
Nat Goodspeed e829828dcd Introduce fsyspath subclass of std::filesystem::path.
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-18 16:52:08 -04:00
Nat Goodspeed e6d0138a6a Add LLFloaterAbout info (esp. GPU info) to Frame Profile stats dump
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-18 14:09:34 -04:00
Nat Goodspeed ee1b0061c3 Add script to convert frame profile JSON file to CSV.
Also slightly refactor profile_pretty.py.

(cherry picked from commit d60b1f92213ace6a8ab6a4a60cb01a43f45d3955)
2024-09-18 14:05:28 -04:00
Nat Goodspeed 277ee6830f Add a JSON frame profile stats file pretty-printer script.
(cherry picked from commit ab3083819793a30911354670a7929b0d3f7c104c)
2024-09-18 14:05:28 -04:00
Nat Goodspeed a3d6544be0 Give `LLGLSLShader::finishProfile()` a static default string param.
`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-18 14:05:27 -04:00
Nat Goodspeed f037cde7f4 Make Develop->Render Tests->Frame Profile dump JSON to a file too.
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-18 14:05:27 -04:00
Alexander Gavriliuk 27b8e6d576 #2408 The long covenant with emojis significantly slows down some operations in the viewer 2024-09-18 17:13:59 +02:00
Ansariel Hiller d9da5bbb33
Remove quads rendering mode entirely (#2593) 2024-09-18 17:09:51 +03:00
Pantera Północy 83cf25af8d
Tiny argument names correction (tittle -> title) (#2594) 2024-09-18 16:26:32 +03:00
Andrey Kleshchev 689d9e6935 More quad to triangle coverage
Quads are deprecated
2024-09-18 11:38:06 +03:00
Andrey Kleshchev 3327ae7938 Convert image drawing logic from quads to triangles 2024-09-18 11:38:06 +03:00
Andrey Kleshchev 55f2103adc viewer#2565 Optimize LLFolderViewItem::draw() 2024-09-18 11:38:06 +03:00
Dave Parks 0a617904f9
#2590 Fix for horrible FPS on Intel Mac (#2591)
* 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-17 18:14:22 -05:00
Dave Parks fd843d514a
Mac pass (#2587) 2024-09-17 13:07:01 -05:00
Dave Parks 870ffbd55b
Suppress mapBuffer warnings. (#2584) 2024-09-17 12:43:47 -05:00
Ansariel Hiller f378d2f95a
Fix Visual Studio complaints in LLTrans (#2575) 2024-09-17 03:10:24 +03:00
Dave Parks 486613e79b
Profile guided optimization pass (#2582)
- 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-16 18:49:03 -05:00
Rye Mutt 42975dfd88
Merge pull request #2580 from RyeMutt/2kbom
Raise resolution of local baked texture preview from 512 to 2048
2024-09-16 16:46:14 -07:00
Rye Mutt eac0c748a2
Fix noise post effect due to missing uniform (#2581) 2024-09-16 17:59:34 -05:00
Brad Linden 7594e3b71b
Merge pull request #2578 from secondlife/brad/2550-plugin-shutdown-crash
Fix for crash in LLPluginProcessParent during early shutdown.
2024-09-16 14:46:21 -07:00
Brad Linden e3c3cc636e Fix for crash in LLPluginProcessParent during early shutdown.
fixes secondlife/viewer#2550
2024-09-16 13:14:14 -07:00
Rye Cogtail 85a7020e49 Raise resolution of local baked texture preview from 512 to 2048 2024-09-16 15:12:15 -04:00
Andrew Meadows 2f38f0685c
Merge pull request #2569 from secondlife/leviathan/send_agent_update
send AgentUpdate ASAP when control bits change
2024-09-13 11:48:51 -07:00
leviathan da87e8bd37 send AgentUpdate ASAP when control bits change 2024-09-13 10:47:24 -07:00
Ansariel Hiller 74205607b7
Clean up Windows build (#2562)
* 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-13 17:28:48 +03:00
Rye Mutt c892ce9f5c
Merge pull request #2563 from RyeMutt/fix-macos-locale
Fix macOS locale not being set due to missing locale strings
2024-09-12 22:45:56 -07:00
Andrey Kleshchev 1e1010bbf2
Merge pull request #2545 for viewer#2529 Improve environment's performance 2024-09-13 08:02:04 +03:00
Rye Cogtail f568fe6655 Fix macOS locale not being set due to missing locale strings 2024-09-12 22:40:16 -04:00
Brad Linden a3f6f98f1b
Merge pull request #2561 from secondlife/brad/2553-about-sl-crash-locale-init
secondlife/viewer#2553 about sl crash locale init
2024-09-12 15:27:26 -07:00
Brad Linden 7dd04dea9f
Merge pull request #2557 from secondlife/davep-fix-mac-vb
OS X - Fix black screen and Tracy build
2024-09-12 15:25:56 -07:00
Brad Linden f4c53518d7 Attempted fix for mac crash when showing About Second Life.
secondlife/viewer#2553
2024-09-12 15:04:03 -07:00
Brad Linden bb9a2dd75b Fix for mac build with tracy enabled. 2024-09-12 15:03:44 -07:00
Alexander Gavriliuk ccbd69bf6b #2166 Avatar does not move its lips when the corresponding checkbox is checked 2024-09-12 21:48:49 +02:00
Roxanne Skelly 1894136e9a
Merge pull request #2543 from secondlife/roxie/webrtc-285
mute icons were not showing during group call when user was muted
2024-09-12 09:46:20 -07:00
Rye Mutt b713f56d07
Replace glh_linear usage with GLM (#2554) 2024-09-12 11:22:10 -05:00
Dave Parks 3c5e8ded93
Merge branch 'develop' into davep-fix-mac-vb 2024-09-12 11:08:27 -05:00
Dave Parks 61990bfd69 Fix for tracy not working on mac 2024-09-12 11:06:05 -05:00
Dave Parks 14a3c75736 Mac compatibility pass. 2024-09-12 11:05:14 -05:00
Rye Mutt 264c57831b
Fix warning spam from missing call to unmapBuffer introduced in #2544 (#2556) 2024-09-12 11:00:58 -05:00
Andrey Kleshchev e71215dcfd viewer#2529 Optimize LLSettingsWater::blend 2024-09-12 18:45:06 +03:00
Maxim Nikolenko 1f6423214c
Don't allow LLAttachmentsMgr to iterate COF items when there is no questionable links there 2024-09-12 18:23:47 +03:00
Alexander Gavriliuk 33c8fd2acc #2542 Buoyant Nametags 2024-09-12 16:34:39 +02:00
Roxanne Skelly 0c7cb663fc
Merge pull request #2551 from secondlife/roxie/webrtc-1436
Fix issue with improper reporting as to whether voice is working.
2024-09-11 23:50:08 -07:00
Ansariel Hiller 1a65e29432
Fix names in group chat sometimes showing as "Loading..." and never resolve (#2547) 2024-09-12 09:18:45 +03:00
Ansariel Hiller 5f622a071c
Fix incorrect operator warning and possible dereferencing of null pointer (#2546) 2024-09-12 09:18:34 +03:00
Roxie Linden f78b43bd1d Fix issue with improper reporting as to whether voice is working.
This fixes #1436, an issue where the 'call button' sometimes got greyed
out when it shouldn't have been.

Vivox is now 'working' (and the call button can be enabled) when it's logged in.
WebRTC is 'working' (and the call button can be enabled) when the coroutine is active.
2024-09-11 15:58:56 -07:00