Commit Graph

77947 Commits (c513ebb777b5345416683404454125cd94de838c)

Author SHA1 Message Date
minerjr 5b0801e535 [FIRE-35081] - Fixed blurry textures and scaling issues
Added new calculation to the LLCamera for draw distance multiplier
Removed the Inverse aspect as not longer used
Modified the LLFace to no long user the inverse aspect.
Updated mInFrustum to use mImportanceToCamera as it was correct
LLViewerCamera removed the mCosCameraFOV (not used anymore)
Added LLViewerMenu option under Developer->Dump->Texture List to dump texture list to info for debugging.
LLViewerTexture viewer for LOD textures, now loops to make the texture fit to cover the max discard value instead of calculating with logs and divisions.
LLViewerTextureList updated to to dump texture list to the Infos, and updated to boost for not only textures based upon the importance to the camera, but to boost a second time for textures close to the camera. Also capped the mMaxVirtualSize to try to help track down texture size changes
Updated LLPipeline to use same getDrawDistanceMultiplier as the texture calcPixelArea code.
2025-03-12 00:32:16 +00:00
minerjr c64a294cf1 Fixed up animations to always be running (Frustum may need revision
Fixed up animations to always be running, so they should not stutter or be in odd places when turning the camera.
May need to revise the mInFrustum as trying to make sure it's within the actual visual location. Need to test with
2025-03-12 00:32:16 +00:00
minerjr 8a0cf5ca0f Added storing the full Cos FOV for the camera
Added storing the full Cos FOV for the camera
2025-03-12 00:32:16 +00:00
minerjr 27ec21aa7e Added invers aspect ratio
Added inverse aspect ratio for use with face virtual textures.
2025-03-12 00:32:16 +00:00
minerjr 87eb902f7a [FIRE-35081] Blurry prims not changing with graphics settings, not happening with SL Viewer
Changed the textures to divide the texture vsize  by the Aspect Ratio and Fields of view. to better control when a texture needs to be scaled down.
Fixed issue when low screen image size could cause an assert on the on screen console due to negative sizes(Calculated to -30 from the value and code that uses the negative location
Updated the logic in LLViewerObjectList to fix the issue of mObjects being modified at possibly any time by the code it calling.
2025-03-12 00:32:16 +00:00
Andrey Kleshchev e70694e67c Small cleanup 2025-03-11 22:25:33 +02:00
Bennett Goble 851039cf4e Add timestamp to snapshot file names
This changeset adds a timestamp in the format of "YYYY-MM-DD_HHSS" to
snapshot filenames. This is useful for understanding when a snapshot was
taken, chronologically ordering files, and is less confusing than the
current method of adding a number to the snapshot name, as it does not
result in interleaving of old and new snapshots inside a directory.
2025-03-11 22:25:33 +02:00
Andrey Kleshchev 89a87fbf81 #3717 LLPluginClassMedia::sendMessage 2025-03-11 21:40:03 +02:00
Andrey Lihatskiy 8297b923f0
Merge branch 'release/2025.03' into marchcat/2025.03-maint-b 2025-03-11 19:02:27 +02:00
Maxim Nikolenko 8bb35ac029
Merge pull request #3711 from secondlife/maxim/2025.03-3702
#3702 Crash at doTeleportViaLandmark
2025-03-11 12:27:01 +02:00
Mnikolenko Productengine 179f46c18f #3702 Crash at doTeleportViaLandmark 2025-03-11 12:12:39 +02:00
Maxim Nikolenko 716e09cffe
Merge pull request #3707 from secondlife/maxim/2025.03
Merge branch 'main' into release/2025.03
2025-03-11 11:17:50 +02:00
Andrey Kleshchev 8d00744998 #3699 Crash at finishRenamingItem 2025-03-11 11:09:59 +02:00
Andrey Kleshchev 44fa0c438a #3696 LLFontFreetype crash when adding glyph 2025-03-11 11:09:59 +02:00
Andrey Kleshchev d5b72eb78d #3697 Crash on LLAvatarPropertiesProcessor::notifyObservers 2025-03-11 11:09:59 +02:00
Jonathan "Geenz" Goodman 5ce0c5858c
#3409 Make maximum probe count adjustable. (#3709)
* #3409 Make probe count adjustable to better accomodate low VRAM scenarios
2025-03-11 06:40:36 +02:00
Andrey Lihatskiy f02a400134 Fix indentations to make pre-commit happy 2025-03-11 05:38:26 +02:00
Andrey Lihatskiy 4132a13972 Merge branch 'marchcat/maint-b-cherrypicks' into marchcat/2025.03-maint-b 2025-03-11 05:10:11 +02:00
Alexander Gavriliuk 95a395de22 #1080 BugSplat Crash: LLAppViewer::initStrings() - show crash reason 2025-03-11 04:22:22 +02:00
Andrey Lihatskiy e6d7f6a92f viewer-private#217 Build fix 2025-03-11 04:21:01 +02:00
Salad Dais 6fd4f13c47 Add support for RequestTaskInventory capability
The viewer now prefers to load inventory via the capability rather than
over the deprecated Xfer system, though both are still supported.

# Conflicts:
#	indra/newview/llviewerobject.h
2025-03-11 04:21:01 +02:00
Andrey Kleshchev 4f67df346b viewer#1577 Attachments cannot be detached in performance floater
attachment list gets filled with object ids, not attachment ids
2025-03-11 04:21:01 +02:00
Beq Janus 4de07d71ab fix bad indentation and modernise (#1503)
# Conflicts:
#	indra/llxml/llxmltree.cpp
2025-03-11 04:21:01 +02:00
Alexander Gavriliuk 5eb210586d secondlife/jira-archive-internal#70713 Combine recently and frequently used 2025-03-11 04:21:01 +02:00
Andrey Kleshchev 88f503ecc3 viewer-private#217 Cef log was deleted too often
delete once per session, not once per instance

# Conflicts:
#	indra/newview/llviewermedia.cpp
2025-03-11 04:21:01 +02:00
Andrey Kleshchev a5c8d4f180 viewer-private#217 Fix cef log name
# Conflicts:
#	indra/newview/llviewermedia.cpp
2025-03-11 04:21:01 +02:00
Nicky f7e7903105 Fix ASAN errors from LLVector4a::memcpyNonAliased16
Found by running with -fsanitze=thread
Suggestion to avoid accessing invalid memory:

In both cases memory will be allocated by can be accessed beyond bounds.

In LLPolyMesh it can be off by at least one (+x%2). Though I am not even sure if even in best case it always will be a multiple of 16.

In LLViewerJointMesh::updateFaceData the code tries to account for padding by, but the allocation in LLPolyMeshSharedData::allocateVertexData is done without any padding. Thus the sizes must not match.

Replacing the calls with memcpy as a quick fix to see if the error goes away fixed address sanitzer complaining.

It is up to debate if memcpy is a good replacement. LLVector4a::memcpyNonAliased16 was invented for performance. But on the other hand one could argue that nowadays every stdlib maintainer will very heavily optmize functions like memcpy themselves and could take advantage of CPU features the old LL implementation does not take into account.

AVX comes to mind. In any case did I not measure any of this.
2025-03-11 03:21:43 +02:00
Andrey Kleshchev a925b178b0 triage#163 'Create folder from selected' misbehaves in marketplace
Marketplace deliberately doesn't allow creating folders and the "New
folder from selected" is a way of creating a new folder then moving
selected items inside, therefore shouldn't be allowed.
2025-03-11 03:13:10 +02:00
Andrey Lihatskiy c864e6a8b3 Build fix 2025-03-11 03:12:39 +02:00
Andrey Kleshchev ea7b63ffbf viewer#1114 Expose max impostors setting in basic graphics preferences
# Conflicts:
#	indra/newview/llfloaterpreferencesgraphicsadvanced.cpp
2025-03-11 01:55:50 +02:00
Andrey Kleshchev d8f3c242d4 viewer#1104 Crash at populateFoldersList
Ensure folder creation callbacks remain alive

# Conflicts:
#	indra/newview/llfloatercreatelandmark.cpp
#	indra/newview/llfloatercreatelandmark.h
2025-03-11 01:41:05 +02:00
Andrey Kleshchev f2042fe9d8 triage#150 on OSX any file can be chosen for model upload
# Conflicts:
#	indra/newview/llfilepicker.cpp
2025-03-11 01:39:10 +02:00
Bennett Goble 483b4fa993 BUG-134040: Fix broken SOCKS5 proxy
Second Life's SOCKS5 proxy has been broken on windows for at least six
years due to a conflation of milliseconds and microseconds in the APR
timeout value used when attempting to ping the proxy.

# Conflicts:
#	indra/llmessage/llproxy.cpp
2025-03-11 01:38:10 +02:00
Andrey Kleshchev 41db7cb9a5 viewer#1061 Altitudes are invisible in region's environment 2025-03-11 01:34:27 +02:00
Andrey Kleshchev e6f904f5c1 viewer#1016 Incorrect behavior of Physics Shapes rendering
# Conflicts:
#	indra/newview/llphysicsshapebuilderutil.cpp
2025-03-11 01:34:12 +02:00
Andrey Kleshchev 9ed1e92016 viewer-private#217 Rotate cef log file
# Conflicts:
#	indra/newview/llviewermedia.cpp
2025-03-11 01:30:59 +02:00
Andrey Kleshchev 83ded06e0c viewer-private#216 Viewer fails to rename vivox logs 2025-03-11 01:27:29 +02:00
Andrey Kleshchev 84345d7140 viewer#970 Fixed param validation warnings
# Conflicts:
#	indra/newview/llfloateremojipicker.cpp
#	indra/newview/skins/default/xui/en/floater_fast_timers.xml
2025-03-11 01:27:09 +02:00
Andrey Kleshchev 0e26d7717d viewer#945 Some worn items are missing from Avatar floater's Outfits tab
# Conflicts:
#	indra/newview/lloutfitslist.cpp
2025-03-11 01:23:53 +02:00
Cosmic Linden 065eddb8bf secondlife/viewer-issues#75: Remove "HTTP Textures" setting in Developer menu 2025-03-11 01:21:07 +02:00
Mnikolenko Productengine 2648d5cdc8 Merge branch 'main' into release/2025.03 2025-03-11 00:34:12 +02:00
William Weaver 45836d65d3
Merge pull request #3 from ApertureViewer/PRFS/Fixes-SSAO-Consistency
Fixes: Improve SSAO Appearance Consistency for High-Resolution Snapshots
2025-03-09 20:29:01 +03:00
William Weaver 4e2435eabe
Merge branch 'FirestormViewer:master' into PRFS/Fixes-SSAO-Consistency 2025-03-09 19:25:25 +03:00
William Weaver b0a5216b27 Fixes: Improve SSAO Appearance Consistency for High-Resolution Snapshots
Detailed description of the changes.

This commit addresses an issue where Screen Space Ambient Occlusion (SSAO) appearance was inconsistent, particularly in high-resolution snapshots compared to the main viewer window.

Previously, the SSAO radii parameters (RenderSSAOScale and RenderSSAOMaxScale) were directly applied to the shader without considering the resolution difference between the viewer window and the render target (snapshot).  This resulted in SSAO appearing too small and under-sampled in high-resolution snapshots, as the sampling radius was not scaled up to match the larger snapshot resolution.

To resolve this, a scaling factor is now calculated based on the ratio of the viewer window's height to the snapshot's height:

    scale_factor = viewer_window_height / snapshot_height

This scale factor is then used to divide the user-defined SSAO radius values before they are passed to the shader.  When the snapshot resolution is higher than the viewer resolution, the `scale_factor` becomes less than 1. Dividing by this factor effectively increases the SSAO radii, ensuring the ambient occlusion effect scales proportionally to the higher resolution.

For example, if the viewer is running at 1080p height and a snapshot is taken at 4096p height, the scale factor would be approximately 1080 / 4096 ≈ 0.2637. Dividing the SSAO radii by 0.2637 results in multiplying them by approximately 3.79, thus scaling up the SSAO effect to maintain visual consistency in the high-resolution snapshot.

Intended Impact & Benefits:

- **Visual Consistency:** Ensures that the SSAO effect maintains a consistent visual scale and intensity between the interactive viewer display and high-resolution snapshots, providing a more predictable and professional output.
- **Improved User Experience:** Users capturing high-resolution snapshots will now experience a more accurate and visually pleasing SSAO effect, preventing the unintended diminishment of ambient occlusion and preserving the intended scene aesthetics.
- **Balanced Quality Across Resolutions:**  The fix dynamically adjusts the SSAO radii based on resolution, maintaining a balanced and consistent level of detail and intensity across varying output resolutions without requiring manual user adjustments.

Testing:

- **Build:** Rebuild the Aperture Viewer after applying this commit.
- **Run:** Launch the viewer and ensure that Screen Space Ambient Occlusion (SSAO) is enabled in the graphics settings.
- **Visual Comparison (Viewer vs. High-Resolution Snapshot):**
    1.  In the viewer, observe the appearance of SSAO in a scene with noticeable ambient occlusion effects.
    2.  Take a high-resolution snapshot to disk (e.g., 4096p or higher).
    3.  Compare the SSAO effect in the saved snapshot image to the SSAO in the live viewer window. The SSAO in the snapshot should now appear visually consistent in scale and intensity with the viewer, and not diminished or under-sampled.
- **Resolution Variation (Recommended):** Test with different viewer window sizes (e.g., 720p, 1080p) and snapshot resolutions (including resolutions higher than the viewer) to verify that the SSAO consistency is maintained across a range of rendering targets.

Documentation:

- No specific updates to the  Wiki are required as this commit is a bug fix that improves the existing SSAO feature's consistency.
- It is recommended to include a note about this fix in the Viewer release notes to inform users about the improved SSAO behavior in high-resolution snapshots.
2025-03-09 19:24:41 +03:00
William Weaver 7bbbecc2b8
Merge pull request #2 from ApertureViewer/PRFS/Fixes-ShadowResolutionScale
Fixes: Correctly update shadows on RenderShadowResolutionScale change
2025-03-09 18:55:03 +03:00
William Weaver a096005de5
Merge branch 'FirestormViewer:master' into PRFS/Fixes-ShadowResolutionScale 2025-03-09 18:37:44 +03:00
William Weaver f2962eb522 fix: Correctly update shadows on RenderShadowResolutionScale change
Shadows were not updating correctly when the RenderShadowResolutionScale setting was changed in-session, leading to broken shadows.

This commit changes the signal listener for "RenderShadowResolutionScale" in llviewercontrol.cpp from `handleShadowsResized` to `handleSetShaderChanged`.

`handleSetShaderChanged` ensures a full shader update, which is necessary for this setting to take effect immediately, similar to other render settings like RenderDeferredSSAO.

This fix ensures shadows update correctly when the resolution scale is changed without requiring a viewer restart.
2025-03-09 18:36:57 +03:00
Zi Ree 54a991a54c Add water exclusion checkbox to new texture/materials panel 2025-03-09 00:18:42 +01:00
Ansariel fb675c42f8 Apply my actual std::lerp fixes submitted to LL develop branch 2025-03-08 23:58:03 +01:00
Ansariel 98a96cf033 Revert "tentative workaround for gcc c++20 std::lerp clash"
This reverts commit 19999b5858.
2025-03-08 23:46:30 +01:00