Age | Commit message (Collapse) | Author |
|
reduce build time
|
|
|
|
|
|
It was reporting shutdown as crashes to bugsplat
|
|
2025.03 Cherry pick from Maint B
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
#3702 Crash at doTeleportViaLandmark
|
|
|
|
Merge branch 'main' into release/2025.03
|
|
|
|
|
|
|
|
* #3409 Make probe count adjustable to better accomodate low VRAM scenarios
|
|
|
|
|
|
|
|
|
|
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
|
|
attachment list gets filled with object ids, not attachment ids
|
|
# Conflicts:
# indra/llxml/llxmltree.cpp
|
|
|
|
delete once per session, not once per instance
# Conflicts:
# indra/newview/llviewermedia.cpp
|
|
# Conflicts:
# indra/newview/llviewermedia.cpp
|
|
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.
|
|
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.
|
|
|
|
# Conflicts:
# indra/newview/llfloaterpreferencesgraphicsadvanced.cpp
|
|
Ensure folder creation callbacks remain alive
# Conflicts:
# indra/newview/llfloatercreatelandmark.cpp
# indra/newview/llfloatercreatelandmark.h
|
|
# Conflicts:
# indra/newview/llfilepicker.cpp
|
|
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
|
|
|
|
# Conflicts:
# indra/newview/llphysicsshapebuilderutil.cpp
|
|
# Conflicts:
# indra/newview/llviewermedia.cpp
|
|
|
|
# Conflicts:
# indra/newview/llfloateremojipicker.cpp
# indra/newview/skins/default/xui/en/floater_fast_timers.xml
|
|
# Conflicts:
# indra/newview/lloutfitslist.cpp
|
|
|
|
|
|
#3569 Pull in some fixes from forevermac
|
|
Merge pull request #3304 from secondlife/release/2024.12-ForeverFPS
|
|
2024.12 ForeverFPS
|
|
Fix preferences search not finding text defined in text boxes (#3653)
|
|
|
|
|
|
|
|
|