-
Notifications
You must be signed in to change notification settings - Fork 63
Release/2025.04 #3861
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
Geenz
wants to merge
142
commits into
main
Choose a base branch
from
release/2025.04
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Release/2025.04 #3861
+41,850
−20,616
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ot is engaged. When flag is set allow sever to update local avatar rotation.
…. Flags indicate if the world map should be opened and focused.
…G_SPECIAL, The metadata can contain information about the bot status of the sender. It may also contain a system-injected notification that is displayed to the agent as part of the 1:1 chat window.
…essage on behalf of the system, optionally specify the agent id and name that should be used. (cherry picked from commit 7ff297e)
secondlife/viewer-private#297 Local beacons via script
secondlife/server#966 Honor flag sent by server indicating server side autopilot is engaged. When flag is set allow server to update local avatar rotation.
secondlife/server#1493 New notification for transfer ownership
Update develop with ForeverFPS
Merge pull request #3304 from secondlife/release/2024.12-ForeverFPS
Shadows were not updating correctly after a shader change occurred in-session and then the RenderShadowResolutionScale setting was adjusted. This issue is present in Second Life Release 7.1.12.1355088671 (64-bit) and Second Life Test 7.1.12.250701803 (64-bit). **Specifically, after any shader-related setting is changed in-session (such as toggling Advanced Graphics options like SSAO, HDR, Depth of Field, SSR, Antialiasing, or changing the Graphics Quality preset), subsequent adjustments to `RenderShadowResolutionScale` via Debug Settings result in broken shadow rendering.** The shadows become corrupted or disappear entirely and do not reflect the new resolution scale. Correct shadow rendering is only restored by toggling a shader or restarting the viewer. This behavior is inconsistent with other render settings that update immediately after modification and degrades the user experience when dynamically adjusting shadow quality. 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 change ensures that shadows update correctly and immediately when the resolution scale is changed in Debug Settings, even after prior shader changes in the session, without requiring additional shader toggling or viewer restarts. This provides a smoother and more responsive experience for advanced users adjusting shadow quality in various rendering scenarios. --- **Steps to Reproduce (Bug)** _Verified in Second Life Release 7.1.12.1355088671 (64-bit) and Second Life Test 7.1.12.250701803 (64-bit):_ 1. **Fresh Install Preparation:** Ensure a clean Second Life installation state. Ideally, uninstall and reinstall the viewer or clear/rename all folders in `AppData\Local\Second Life` and `AppData\Roaming\Second Life` before launching. 2. Launch the Second Life Viewer and log in. 3. Enable the Debug Menu: Open Preferences (Ctrl+P), go to the "Advanced" tab, and check "Show Advanced Settings". 4. Open Debug Settings: Click the "Advanced" menu in the menu bar and select "Debug Settings." 5. Locate the `RenderShadowResolutionScale` setting (which should be set to 1.0 on a clean install). 6. Initially, changing `RenderShadowResolutionScale` at this point may not exhibit the bug. Proceed to the next steps to reliably trigger it. 7. **Trigger the Bug:** Open Preferences (Ctrl+P) again and go to the "Graphics" tab. 8. Click the "Advanced Settings" button. 9. **Toggle *any* of the following Advanced Graphics options:** - Screen Space Ambient Occlusion - HDR and Emissive Rendering - Depth of Field - Screen Space Reflections - Antialiasing - *Alternatively*, change the "Graphics Quality" preset slider (e.g., Low to Ultra or any other change). 10. Return to the Debug Settings floater. 11. Change the value of `RenderShadowResolutionScale` to a different value (e.g., from 1.0 to 0.5 or 2.0). 12. **Observe the Bug:** Notice that shadow rendering does not update correctly—shadows become corrupted or disappear. 13. **Workaround (in buggy version):** To restore correct shadow rendering without the fix, either: - Toggle a different shader (e.g., change graphics presets in Preferences, or toggle SSAO, SSR, etc.), or - Restart the viewer. **Steps to Verify (Fix):** 1. Build the viewer with this commit applied. 2. Launch the viewer and log in. 3. Repeat steps 1–9 from "Steps to Reproduce (Bug)" to ensure an Advanced Graphics setting is toggled before proceeding. 4. Open Debug Settings and locate `RenderShadowResolutionScale`. 5. Change the value of `RenderShadowResolutionScale` (e.g., from 1.0 to 0.5 or 2.0). 6. **Verify the Fix:** Confirm that shadow rendering updates immediately and correctly—even after toggling Advanced Graphics settings—with the shadows visibly changing resolution in real time. No shader toggling or viewer restart is required. --- - No specific regression testing is required for this targeted fix. However, standard viewer functionality should be verified after building to ensure no unintended side effects have been introduced. Pay particular attention to shadow rendering in various environments and lighting conditions to confirm the fix has not negatively impacted other shadow-related features. --- - No documentation changes are needed as this is a bug fix for an existing debug setting.
…mensions after shader changes; **Replaces forced shader refresh with lightweight guard** This commit introduces a guard in `LLPipeline::resizeShadowTexture()` to prevent shadow texture resizing when the shadow render target (mRT) has invalid (zero) dimensions. **This replaces a previous, less efficient approach of forcing a full shader recompile whenever `RenderShadowResolutionScale` was changed in-session.** **Background and Problem:** Previously, the code forced a full shader recompile whenever `RenderShadowResolutionScale` changed in-session (after toggling advanced graphics settings like SSAO or HDR). While this “sledgehammer” approach did fix broken shadow rendering, it unnecessarily thrashed the shader cache and reset many pipeline states. **Solution:** This commit removes the forced shader recompile in favor of a guard check in `LLPipeline::resizeShadowTexture()`. The guard ensures mRT (the shadow render target) has non-zero dimensions before resizing. If mRT is zero for that frame, the resize operation is skipped, and a warning is logged. Once mRT becomes valid (usually in the next frame), the shadow texture is resized successfully without requiring a full shader refresh. **Detailed changes:** - Reverted the binding of `RenderShadowResolutionScale` to `handleSetShaderChanged`. - Restored the original `handleShadowsResized` listener for `RenderShadowResolutionScale` in `llviewercontrol.cpp`. - Added guard checks in `LLPipeline::resizeShadowTexture()` to skip resizing when `mRT->width` or `mRT->height` is zero. - Added logging statements to track how many frames are skipped. **Benefits:** - Prevents shader thrashing while still avoiding shadow corruption. - Shadows now update correctly as soon as mRT dimensions are valid. - Maintains a detailed record of frames skipped. - **Lightweight and targeted interim solution, much less disruptive than a full shader recompile.** Testing: 1. Reproduce the bug as described in the bug report (toggle SSAO, then change RenderShadowResolutionScale). 2. Verify that shadows are no longer broken after these steps. 3. Check the logs for the warning message indicating skipped frames when the bug is triggered. 4. Confirm that under normal operation (without shader changes causing mRT issues), shadow resizing works as expected without excessive warnings. Documentation: No user-facing documentation changes are needed for this interim fix. However, internal developer documentation should note this guard and the ongoing investigation into the root cause. Further Development: This guard is a temporary fix. The root cause of why mRT becomes invalid after shader changes needs to be investigated and resolved. See the bug report for detailed next steps for investigation.
…plate-redux message_template.msg to agree with master-message-template
Looks like it was added by a mistake and does not match real value
* prevent erroneous edit of wrong parcel Fixes jira-archive-internal/issues/70771 [SL-20409] Erroneous Local Parcel Twins - Parcel Updates Across Region Borders - unrequested updateDatabaseParcel changes * remove unused argument in sendParcelPropertiesUpdate()
…tattle Fix conflicts
Resubmit PR#2908+2951 Bot self identification and bug fix.
Previously in the develop archive. Recent change is to only run the workflow for tagged builds. The code to running other builds has been commented out.
Added QA workflow file
GHA does not like comments inside an if statement. These have been removed.
Removed unnecessary comments in QA workflow file
Increment viewer version after 2025.03
#3758 initial chat mention support
@_chat_mentions yay! 🎉 |
packet_size was negative
Notification about inventory change from fetchInventoryFromCapCoro Looks like floater was closed a moment before receiving inventoryChanged
texture_stride with '-1' was added in DRTVWR-592 along with getMetersPerGrid multiplication.
NOTES Anti-virus false positive report:
|
kylelinden
approved these changes
May 2, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2025.04 Beta approved
viewer = 7.1.14.14742193597
build = https://github.com/secondlife/viewer/releases/tag/Second_Life_Release%23d9e55c44-Second_Life_Release%23d9e55c4-2025.04
cohort = 2025.04
desired = 500
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
approved
Thumbs up from Product
c/cpp
cmake
llappearance
llcommon
llinventory
llmath
llmessage
llprimitive
llrender
llui
llwindow
python
release
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Add this block in later after we have a proper list of canny issues.
Feedback Issues
Here are the feedback issues you created that were addressed in this release:
List:
as of = 2025-05-02 for RC deploy
build = https://github.com/secondlife/viewer/releases/tag/Second_Life_Release%23d9e55c44-Second_Life_Release%23d9e55c4-2025.04
cohort = 2025.04
deployed = https://github.com/secondlife/viewer/releases/tag/Second_Life_Release%23d9e55c44-Second_Life_Release%23d9e55c4-2025.04
desired = 500
relnotes:
Second Life Viewer Update – 2025.04
UI Refinements, and a Flood of Fixes
We’re back with Viewer 2025.04! This update brings sharp new features, a ton of quality-of-life improvements, stability and crash fixes that make your Second Life smoother, faster, and more reliable than ever.
New Features
Chat Mentions (Early Support)
Initial support for chat mentions is now in place, paving the way for better communication and awareness in local chat. Type @ then pick a name. Coming next: audible alerts and highlight color pickers.
Outfit Subfolders
You can now use subfolders in “My Outfits” to better organize your lookbook.
Hover Height Increased
The new minimum/maximum for hover height is now +/- 3 meters. We hope this helps accommodate your avatars big and small alike.
Quality of Life Improvements
User Interface Improvements
Build floater:
Regression Fixes
This update squashes a huge number of bugs and addresses many common crash sources. Just a few highlights:
And much more, including enhanced error handling, reduced lock contention, better mesh loading behavior, and cleaner crash statistics reporting to help us, help you!
Help Us Keep Improving!
Help us shape the future of Second Life! Found a bug or have feedback? Please submit it via our [Feedback Portal](https://feedback.secondlife.com).
Thanks for being a vital part of the Second Life journey. We can’t wait to see what you create with these latest enhancements!