Age | Commit message (Collapse) | Author |
|
#3758 initial chat mention support
|
|
Increment viewer version after 2025.03
|
|
|
|
|
|
|
|
|
|
|
|
Make sure new floater can launch wihtout a key.
It isn't supposed to be launched wihtout a key, but there are some ways
to do that intentionally.
|
|
|
|
|
|
Sometimes mesh thread crashes when allocating joints
|
|
1. 'sActive' variables are atomic, no locks needed
2. Fix trylocks. There are internal locks inside loadMeshLOD so without
checking locks 3 and 4 viewer would be locked on each loadMeshLOD,
potentially making main thread wait for threads to unlock.
|
|
|
|
|
|
|
|
Clean up LLUI and fix/add suggestions from VS
|
|
# Conflicts:
# indra/llui/lltextbase.h
# indra/llui/lltexteditor.h
# indra/llwindow/llwindowsdl.cpp
|
|
"Current Window" to determine correct image size and upload cost
|
|
on previously selected snapshot type and not necessarily snapshot to inventory
|
|
image size and display upload cost to user
|
|
# Conflicts:
# indra/newview/llpanelsnapshotinventory.cpp
|
|
|
|
that don't work using /fp:fast floating point behavior under MSVC
|
|
I'm not sure if I should be crashing and logging this data to bugsplat
or if I should let it be in case cache file is unreasonably big.
|
|
setSelectedEnvironment for a default transition was conflicting with
updateEnvironment for an instant transition.
setSelectedEnvironment already has updateEnvironment, so remove the
update and fix time
|
|
This part needs a recheck
|
|
Fix: Remove potentially redundant RenderAutoHideSurfaceAreaLimit sett…
|
|
Refactor tonemap blending to preserve HDR detail during mix
|
|
Merge 2025.03 release into develop.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The blending operation for the `tonemap_mix` uniform in `postDeferredTonemap.glsl` incorrectly used a prematurely clamped color value as the source for the linear mix target. Specifically, the exposed HDR input color was clamped to the [0, 1] LDR range before being used in the `mix()` function when `tonemap_mix < 1.0`.
This premature clamping resulted in the loss of High Dynamic Range (HDR) detail in highlights during the blend operation. As `tonemap_mix` was reduced, instead of smoothly blending towards the linear scene representation, clipped highlights were incorrectly reintroduced.
This commit modifies the `toneMap` and `toneMapNoExposure` functions to correct this logic:
1. The original linear input color is preserved before exposure/processing.
2. The appropriate exposure factor is calculated and applied separately.
3. The chosen tone mapping operator is applied to the exposed color, storing the result.
4. The `mix()` function now correctly blends between the appropriately scaled, *unclamped* linear input color and the fully tone-mapped result.
5. The final clamp to the [0, 1] LDR range is applied *after* the blend operation.
This change ensures that HDR information is preserved throughout the blending process, resulting in a smoother, more perceptually correct visual transition as `tonemap_mix` is adjusted. While the effect is nuanced, it is noticeable in bright highlights; with the legacy code, these highlights appeared visibly clipped and less intense during the blend, whereas the corrected code allows them to retain their peak brightness and detail more accurately. This makes the `tonemap_mix` control more intuitive, behaving as a true intensity blend for the tone mapping effect without introducing clipping artifacts. The computational cost is negligible.
|
|
Fix: Apply Cloud Texture Changes from Environment Settings Floater
|
|
|
|
|
|
Partial revert from d00b6e4216bb308ae075d90dfa871c902d765f8d
Our statistics claimed that AudioLevelWind is unused, but it is in use.
|
|
|
|
|
|
assertInitializedDoError() on shutdown
|
|
A long standing one
|
|
according to bugsplat mWrapperPanel is null.
|
|
|
|
|
|
registration
This commit removes a seemingly duplicated `connectRefreshCachedSettingsSafe` call in `LLPipeline::init()` for the `RenderAutoHideSurfaceAreaLimit` setting.
A duplicated registration for this setting was identified during a review of `LLPipeline::init()`. Double registration can lead to unexpected behavior, including potential CPU overhead.
The duplication *may* have been introduced with commit 440c7b2 (Added CollectFontVertexBuffers feature), though this requires further confirmation.
Testing Performed:
After removing the duplicate registration, the `RenderAutoHideSurfaceAreaLimit` functionality was validated by ensuring the following behavior (consistent with the existing code):
* A value of 0 (zero) causes all objects to appear regardless of size.
* Values slightly above zero result in only small objects appearing, with all others hidden.
* Increasing the value causes objects of increasing size to appear, while smaller objects remain visible.
This change merits careful review to ensure it has no unintended side effects, and to confirm the accuracy of these observations from other developers.
|
|
|
|
|