| Age | Commit message (Collapse) | Author |
|
|
|
to unintended behavior)
|
|
This commit adds support for sun reflection on the sea in hdr display mode.
It also fixes an issue where the display is all white with
low color precision and non hdr & emissive mode.
|
|
|
|
This commit fixes the visual glitches after the 2025.07 merging.
It also allows the user to set a very short draw distance
(this can be useful for photography)
|
|
|
|
|
|
* Fix calling setTextureAddressModeFast and setTextureFilteringOptionFast with invalid tex type during fast binds
* Restore mRT->screen to GL_RGBA16F to fix lighting banding
|
|
|
|
|
|
This commit fixes the long time issue with attached huds rendering,
which was causing important slow down with certain combinations of
post processing settings.
|
|
|
|
|
|
This commit aims to fix the issue that causes a slow down when certain
combinations of post-processing settings are used.
|
|
* Remove GLM sse flag from cmake that was moved to llpreprocessor.h
* Further reduce performance loss of HDR and Sharpening on bandwith-constrained gpu by combining gamma correction into tonemap/sharpening shader passes
* Update SSE2NEON to 1.8.0 to fix random render nans
* Fix occasional startup crash from LLCachedControl being declared in global scope
|
|
|
|
This commit fixes an issue with the multithreaded textures option on Mac
and adds some more optimisations.
|
|
|
|
This commit contains performance optimisations in the the pipeline,
framebuffer, vertexbuffer, reflection probes, shadows. It also fixes
many opengl errors, modifies the opengl debugging, and adds
a visuals effects panel.
|
|
This commit completes the previous ones for performance optimisations,
and adds HDR display support on mac
|
|
Mac Arm
|
|
This commit contains performance optimisations in the the pipeline,
framebuffer, vertexbuffer, reflection probes, shadows. It also fixes
many opengl errors, modifies the opengl debugging, and adds
a visuals effects panel.
|
|
|
|
|
|
|
|
a non-float format
|
|
|
|
|
|
Fix: Remove potentially redundant RenderAutoHideSurfaceAreaLimit sett…
|
|
Merge 2025.03 release into develop.
|
|
AA was causing the viewer to slow down when used with hdr & emissive option ON.
This commit fixes the issue, by making sure mipmap generation is inactive on the Luminance framebuffer.
|
|
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.
|
|
New optimisation and resolution shadow options
|
|
|
|
This reverts commit faab4af12b583b48cfdd9f6e41dad7bba06c3970.
|
|
Resolves the root cause of shadow rendering failures when changing RenderShadowResolutionScale immediately after modifying other graphics settings (e.g., SSAO, HDR).
Investigation revealed that LLPipeline::createGLBuffers, which is called during certain graphics setting changes that require full buffer recreation, contained lines that incorrectly set mRT->width and mRT->height to zero *after* the call to allocateScreenBuffer had already established the correct dimensions.
This created a state inconsistency. If RenderShadowResolutionScale was changed immediately following the graphics setting change, the subsequent call to LLPipeline::resizeShadowTexture (triggered via handleShadowsResized) would read these incorrect zero dimensions from mRT. This led to failed shadow buffer allocation (allocateShadowBuffer(0, 0)) and resulted in corrupted or missing shadows.
This commit removes the erroneous mRT->width = 0 and mRT->height = 0 lines from the end of createGLBuffers. This ensures that the render target dimensions remain valid after buffer recreation.
With this fix, resizeShadowTexture now correctly reads the valid screen dimensions immediately following a graphics setting change and successfully resizes the shadow buffers without delay or error. This eliminates the need for previous workarounds like guard conditions or forced shader recompiles.
Ref: #3719
|
|
|
|
Water exclusion seems to be at the origin of poor performance with antilasing combind with hdr mode.
We remove this from pipeline.cpp for now as a temporary fix. Technically we revert pipeline.cpp to the previous version.
|
|
dimensions 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.
|
|
|
|
|
|
Likely specific to headless client
|
|
|
|
|
|
|
|
Fix disabling renderdoc support
Improve ll_aligned_alloc functions on darwin for 32 and 64byte aligned by utilizing posix_memalign
|
|
* #3455 Add support for water exclusion surfaces
|
|
2024.12-ForeverFPS
|
|
LLVector3/4 and fall back mul_mat4_vec3 to scalar implementation to attempt crash mitigation (#3339)
|
|
2024.12-ForeverFPS
|