summaryrefslogtreecommitdiff
path: root/indra/llrender/llrender.cpp
AgeCommit message (Collapse)Author
24 hoursMerge remote-tracking branch 'secondlife/release/26.4' into 26.4Erik Kundiman
11 daysoptimisations related to llvertexbuffermobserveur
this commit includes some optimisations related to the llvertextbuffer and is closer to LL code in that regard. It also removes the alternative vertexbuffer mode.
2026-08-12Merge branch 'release/26.3' into geenz/linux-to-developJonathan "Geenz" Goodman
2026-08-11Merge remote-tracking branch 'origin/develop-linux' into geenz/linux-to-developJonathan "Geenz" Goodman
2026-07-26Fix rendering on Parallels VMs with graphics set to "low"McGroarty
In LLRender::syncMatrices(), treat uniform location 0 as valid when uploading the inverse model-view, inverse projection, and identity matrices. Only location -1 indicates that a uniform is absent. (This is a zero-based index.) Fix Parallels GLSL compilation by: - renaming the local waterClip() wrapper to avoid an overload conflict - returning float literals (not ints) from a few functions declared to return float
2026-07-24Merge tag 'Second_Life_Release#bcfda3b6-26.3' into 26.3Erik Kundiman
2026-07-22A few OpenGL state fixes provided by Rye from the Alchemy Viewer.Jonathan "Geenz" Goodman
2026-07-22Revert "Merge pull request #5829 from secondlife/geenz/texture-quality"Jonathan "Geenz" Goodman
This reverts commit 6b4e3f3288ec1e9917cecd862a7a52945e5b4db2, reversing changes made to 99ab6316b4ae9058f22d9f57d21e795ca45797fd.
2026-07-22Revert "Merge pull request #5982 from secondlife/geenz/texture-streaming-tweaks"Jonathan "Geenz" Goodman
This reverts commit 3d465f6c966f0a2fcfd5d3c9effb6ce20c2754c8, reversing changes made to f2c356fc7130ce5e38b994dcfa1e210609b458b9.
2026-07-07Merge tag 'Second_Life_Release#3d465f6c-26.3' into 26.3Erik Kundiman
2026-07-07Get some more wins for overall downrezzing and minimizing thrashing.Jonathan "Geenz" Goodman
Also make sure that probes don't stamp - that creates thrashing when distant probes render. We're at a low enough resolution on those things that higher mips are likely to go unnoticed, and we bake them frequently enough that we can pick up lower mips when we actually need them.
2026-06-13Merge tag 'Second_Life_Release#663bf4d3-26.3' into 26.3Erik Kundiman
2026-05-22Merge pull request #5829 from secondlife/geenz/texture-qualityJonathan "Geenz" Goodman
Texture streaming rework
2026-05-22A few OpenGL state fixes provided by Rye from the Alchemy Viewer.Jonathan "Geenz" Goodman
2026-05-12Rework texture streaming and tracking.Jonathan "Geenz" Goodman
This is a big one: - Reworks the discard signal almost entirely. Now has a normalized 0..1 discard signal: distance x size x channel exponent, floored by staleness and background app state. Shaped by VRAM pressure. - Textures can now scale down to the smallest GPU mip (1×1), independent of the codec's encoded mip count. - Terrain texture LOD now works. Useful for 2K textures and PBR on terrain. Based upon camera distance to nearest terrain patch. - New texture quality setting. Low/Medium/High/Ultra - Caps texture resolution on Low to 1024, and otherwise shifts the discard signal around. Makes distance based texture LOD work a lot more predictably. - We now track last bind state for textures, and discard accordingly. We progressively discard based upon last bind time. - Avatar textures get a residency boost to stay loaded in VRAM longer under pressure.
2026-04-25Merge tag 'Second_Life_Release#4ccf6d90-26.2' into 2026.02Erik Kundiman
2026-04-23Revert #2674 property lines optimizationsAndrey Kleshchev
QA found no difference performance wise, I see a decrease in performance.
2026-03-07Merge tag 'Second_Life_Release#3529bc5f-2026.02' into 2026.02Erik Kundiman
2026-01-07Merge remote-tracking branch 'origin/develop' into develop-linuxRye
2026-01-05secondlife/viewer#2674 Optimize LLWorld::renderPropertyLines() - use ↵Alexander Gavriliuk
vertexBatchPreTransformed()
2025-11-04Improve fix for line width crashes under certain Mesa GL driversRye
We default to and only use aliased lines. Signed-off-by: Rye <rye@alchemyviewer.org>
2025-10-31Rework anisotropic filtering options into a dropdown with levels for better ↵Rye
performance tuning of low end gpu Signed-off-by: Rye <rye@alchemyviewer.org>
2025-10-31Fix invalid calls to glLineWidth on some linux GL driversRye
Signed-off-by: Rye <rye@alchemyviewer.org>
2025-10-31Fix usage of deprecate opengl definesRye
Signed-off-by: Rye <rye@alchemyviewer.org>
2025-10-27Fix GL debug logging on linuxRye
Signed-off-by: Rye <rye@alchemyviewer.org>
2025-10-27Fix broken mvp modelview hash check in syncMatricesRye
Signed-off-by: Rye <rye@alchemyviewer.org>
2025-10-27Fix leak of LLRender VBCache when reset/shutdownRye
Signed-off-by: Rye <rye@alchemyviewer.org>
2025-10-03Merge tag 'Second_Life_Release#79909b8a-2025.07' into 2025.07Erik Kundiman
2025-10-01Merge tag 'Second_Life_Release#a6d4c1d3-2025.07' into 2025.07Erik Kundiman
2025-09-29Fix rendering differences observed in 2025.07 (#4747)Rye
* Fix calling setTextureAddressModeFast and setTextureFilteringOptionFast with invalid tex type during fast binds * Restore mRT->screen to GL_RGBA16F to fix lighting banding
2025-09-09Merge remote-tracking branch 'mobserveur/experimental2'Erik Kundiman
2025-09-09Performance Optimisations, Bloom effect, Visuals Panelmobserveur
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.
2025-09-08Optimisations and experimental HDR display support on macmobserveur
This commit completes the previous ones for performance optimisations, and adds HDR display support on mac
2025-08-30Performance Optimisations, Bloom effect, Visuals Panelmobserveur
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.
2025-08-22Fix texture filtering and address mode not updating for vast majority of ↵Rye
textures when dirtied
2025-03-16Restore support for anistropic filtering on macosRye
2025-02-11Vectorize LLRender UI scale and offset stack to resolve perf hotspot on armRye
2025-02-11Restore support for anistropic filtering on macosRye
2025-01-24Merge remote-tracking branch 'secondlife/release/2024.12-ForeverFPS' into ↵Erik Kundiman
2024.12-ForeverFPS
2025-01-23Fix potential undefined behavior when converting to and from glm types from ↵Rye
LLVector3/4 and fall back mul_mat4_vec3 to scalar implementation to attempt crash mitigation (#3339)
2024-12-06Merge remote-tracking branch 'secondlife/release/2024.09-ExtraFPS' into ↵Erik Kundiman
2024.09-ExtraFPS
2024-12-05Fix for legacy skies with bright suns not matching FS 6.6.17 (#3214)Dave Parks
2024-11-20Merge remote-tracking branch 'secondlife/release/2024.09-ExtraFPS' into ↵Erik Kundiman
2024.09-ExtraFPS
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-10-19Further revert llrender to LL'sErik Kundiman
This might fix the black screen problem on Apple GPU.
2024-10-18Merge branch 'main' into 2024.09-ExtraFPSErik Kundiman
2024-10-18Merge remote-tracking branch 'secondlife/release/2024.09-ExtraFPS' into ↵Erik Kundiman
2024.09-ExtraFPS
2024-10-12Preprocess eTextureType like sGLTextureTypeErik Kundiman
(cause eTextureType seems to have been designed to mirror sGLTextureType) otherwise you'd get a GL error of invalid enum of the first argument for glTexImage2D.
2024-09-19Expose LLVector4a in LLRenderAndrey Kleshchev
Avoid using a bunch of allocators. Make sure we use LLVector4a's SSE logic instead of LLVector3's. Some minor optimizations.
2024-09-18Remove quads rendering mode entirely (#2593)Ansariel Hiller