summaryrefslogtreecommitdiff
path: root/indra/newview/app_settings
AgeCommit message (Collapse)Author
2025-04-15Merge pull request #3896 from williamweaver/fix/tonemap-hdr-blendJonathan "Geenz" Goodman
Refactor tonemap blending to preserve HDR detail during mix
2025-04-11Fix(Tonemap): Correct blend logic to preserve HDR detailWilliam Weaver
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.
2025-03-26Mitigate some of the frame stuttering we're seeing by setting the VRAM ↵Jonathan "Geenz" Goodman
divisor to 1. tl;dr - this helps avoid frequent texture reuploads to VRAM in some texture heavy areas. This speaks to some bigger problems we're seeing in our texture streaming system however. You will see similar problems by manually setting the texture VRAM manually.
2025-03-26Disable shoreline fade. (#3811)Jonathan "Geenz" Goodman
2025-03-24Readd probe count setting (#3793)Jonathan "Geenz" Goodman
* Readd max probe count. Disable dynamic probe allocation by default (for now).
2025-03-21Dynamic Probe Allocation (#3787)Jonathan "Geenz" Goodman
* #3788 Support dynamic probe allocation. * #3738 Mitigate probe flashing * #3735 Mitigate realtime probes flashing
2025-03-19#3685 add test floater for new slappsMaxim Nikolenko
2025-03-11#3409 Make maximum probe count adjustable. (#3709)Jonathan "Geenz" Goodman
* #3409 Make probe count adjustable to better accomodate low VRAM scenarios
2025-03-06Quick fix for water exclusion. (#3666)Jonathan "Geenz" Goodman
* Fix for water exclusion when shoreline fade is disabled.
2025-03-05Hide shoreline fade behind a shader variant. (#3665)Jonathan "Geenz" Goodman
#3650 Fixed transparent particles over water make the water look black under their transparent parts
2025-03-05AMD NaN and inf propagation mitigation - #3663 (#3664)Jonathan "Geenz" Goodman
#3663 On AMD, the world may be rendered in really strange colors.
2025-03-05Add RenderTextureVRAMDivisor (#3648)Jonathan "Geenz" Goodman
#3647 Add texture VRAM use divisor.
2025-03-05#3611 Decrease TextureScaleMinAreaFactorAndrey Kleshchev
2025-02-24Backout minimal+ change.Jonathan "Geenz" Goodman
2025-02-23Quick fix for null pointer in LLDrawPoolWaterJonathan "Geenz" Goodman
2025-02-23CleanupJonathan "Geenz" Goodman
2025-02-22Accidental double linearization, try roughness ^2 for water punctual light.Jonathan "Geenz" Goodman
2025-02-18#3557 Waves not applying without Transparent WaterAndrey Kleshchev
2025-02-11Additional water fixes and tweaks. (#3524)Jonathan "Geenz" Goodman
* Incorporation of feedback for #3456
2025-02-07Water Exclusion Surfaces (#3517)Jonathan "Geenz" Goodman
* #3455 Add support for water exclusion surfaces
2025-02-06Add some haze to the distance on water. (#3508)Jonathan "Geenz" Goodman
* #3507 Add distance haze to water to get us closer to 6.6.17's appearance.
2025-01-31#3491 Rename all uses of Release Candidate to BetaMaxim Nikolenko
2025-01-30#3456 Water improvements to get us closer to 6.6.17 (#3490)Jonathan "Geenz" Goodman
* A lot of tweaking for water. * Get water much closer to 6.6.17. This won't produce 1:1 results, but it should be much closer to where we once were.
2025-01-09Fix world going black and white in certain locations on apple gpu (#2558)Rye
2025-01-02#3326 Skip ambient probe sampling when we're in classic mode. Ensure that ↵Jonathan "Geenz" Goodman
our passed in ambient lighting is the only thing that gets applied. (#3327)
2024-12-10#3234 Fix for slightly transparent objects negating colors (#3259)Dave Parks
2024-12-10viewer#3169 Legacy settings should no longer be automatically convertedAndrey Kleshchev
2024-12-06#3219 Revert default exposure thresholds to DeltaFPS values (#3228)Dave Parks
2024-12-05#3210 Fix for "Texture will be downscaled" happening too often. (#3212)Dave Parks
2024-12-04#3106 Lower maximum texture bias back to 4, reintroduce camera importance ↵Dave Parks
texture scaling (#3207)
2024-12-03Rename "Vintage Mode" to "HDR and Emissive" in advanced settings. (#3192)Jonathan "Geenz" Goodman
#2590 #3167
2024-12-03Additional tweaks to get skies closer to 6.6.17 in classic mode. (#3202)Jonathan "Geenz" Goodman
2024-11-26#3157 Fix alpha not having ambient lighting on low. (#3162)Jonathan "Geenz" Goodman
* #3157 Fix alpha not having ambient lighting on low.
2024-11-25Drop emissive on old Intel GPUs (#3110)Jonathan "Geenz" Goodman
* #3103 Add the ability to disable the emissive buffer for older GPUs with low memory bandwidth. * #3135 Add a "vintage" mode for slower GPUs * #2719 Fix for skies being overbrightened * #2632 Do not apply tonemapping on legacy skies
2024-11-19brad/2744 handle shader errors (#3105)Brad Linden
* Partial solution to secondlife/viewer#2744 crash with better error handling. Handles shader compile errors better, and should turn crash into an LL_ERRS assertion failure. Strengthed more assertions and improved shader error line numbers * Even more error handling to get a handle on crash secondlife/viewer#2744 * Improved GLSL correctness on Intel chips that lack OpenGL 4.6 support. secondlife/viewer#2744 * Removed non-working fallback code for gDeferredPostProgram * Fixed incorrect llmax call
2024-11-122590 mac intel and radeon pro 5300m horrible fps 2 (#3030)Dave Parks
* OpenGL 3.3 compatibility pass. Fix for FBO driven downscaling corrupting textures. * Increase maximum texture bias, immediately scale down when textures are loaded higher resolution than desired * #2590 Fix for some frame stalls on Intel Macs
2024-10-29Merge brad/2549-downrez-controls into release/2024.09-ExtraFPS (#2864)Brad Linden
2024-10-29Add handling for downrezzing textures when viewer is minimized, fix ↵Rye
downrezzing textures when minimized due to texture system not processesing
2024-10-24Restore default exposure to 1 and add exposure and tonemapping featuretable ↵Rye
entries (#2913) (#2916)
2024-10-22Restore tonemapping to ACES with a slight mix towards linear and raise ↵Rye Mutt
exposure slider limit to 4 (#2915)
2024-10-15Provide affordances to disable automatic downrezing of textures when SL is ↵Brad Linden
in background secondlife/viewer#2549
2024-10-14viewer#2819 Group member pagination toggleAndrey Kleshchev
Group member pagination is not ready, disable it untill later
2024-10-05viewer#2443 voice dot indicator should be visible by defaultMaxim Nikolenko
2024-09-26#2411 Allow disabling and enabling LLFontVertexBufferAndrey Kleshchev
for testing purposes
2024-09-25viewer#2413 Partially remove obsolete alert about expiring voice morphsAndrey Kleshchev
VoiceEffectsWillExpire can be triggered externally. Don't remove the notification, only viewer's code that triggers it so that external notification keeps working.
2024-09-25Revert "viewer#2413 Remove obsolete alert about expiring voice morphs"Andrey Kleshchev
This reverts commit 5c16ae13758bdfe8fe1f13d5f67eabbb6eaa30a1. Fix is correct, but should wait untill server sided fix gets deployed.
2024-09-10Allow the in world voice indicator to be toggled in preferencesMnikolenko Productengine
2024-09-04Merge remote-tracking branch 'origin/release/2024.08-DeltaFPS' into developBrad Linden
2024-09-04secondlife/viewer#2490: Fix PBR terrain texture transform feature flag ↵Cosmic Linden
handled by viewer in unpredictable manner
2024-09-04Fix another 1856 crash on startup case when Terrain Bake shaders are ↵Brad Linden
unsupported (#2491) fixes secondlife/viewer#1856