summaryrefslogtreecommitdiff
path: root/indra/llrender/llrender.cpp
AgeCommit message (Collapse)Author
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-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-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-01-05secondlife/viewer#2674 Optimize LLWorld::renderPropertyLines() - use ↵Alexander Gavriliuk
vertexBatchPreTransformed()
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-08-22Fix texture filtering and address mode not updating for vast majority of ↵Rye
textures when dirtied
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-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-05Fix for legacy skies with bright suns not matching FS 6.6.17 (#3214)Dave Parks
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-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
2024-09-12Replace glh_linear usage with GLM (#2554)Rye Mutt
2024-09-04viewer#2411 Cleanup #2Andrey Kleshchev
2024-09-04viewer#2411 CleanupAndrey Kleshchev
2024-09-04viewer#2411 A bit more coverage for font bufferAndrey Kleshchev
2024-09-04viewer#2411 LLFontGL::render optimizations #3Andrey Kleshchev
2024-09-04viewer#2411 LLFontGL::render optimizationsAndrey Kleshchev
2024-08-29Integrate SMAA and rework post process chain for better visual qualityRye Mutt
Add SMAA buffer generation passes Add quality levels for both FXAA and SMAA Separate gamma correction and tonemapping for effects that require linear-but-tonemapped inputs Move application of noise to final render pass to screen to avoid damaging other post process effects
2024-08-29Remove dead texunit colorspace conversion codeRye Mutt
2024-07-09Update tracy profiler to 0.10 (#1946)Rye Mutt
2024-06-21#1769 gltf optimization pass (#1816)Dave Parks
#1814 and #1517 Fix mirror update rate and occlusion culling
2024-06-11#1718 Add GLTF support for multiple texcoords (#1720)Dave Parks
* Fix for GLTF MeshPrimitiveModes test
2024-06-05#1527 Improve performance on Apple silicon (#1632)Dave Parks
2024-05-23Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into ↵Brad Linden
brad/merge-maint-a-to-dev
2024-05-22Fix line endlingsAnsariel
2024-05-22Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-AAnsariel
# Conflicts: # autobuild.xml # indra/cmake/CMakeLists.txt # indra/cmake/GoogleMock.cmake # indra/llaudio/llaudioengine_fmodstudio.cpp # indra/llaudio/llaudioengine_fmodstudio.h # indra/llaudio/lllistener_fmodstudio.cpp # indra/llaudio/lllistener_fmodstudio.h # indra/llaudio/llstreamingaudio_fmodstudio.cpp # indra/llaudio/llstreamingaudio_fmodstudio.h # indra/llcharacter/llmultigesture.cpp # indra/llcharacter/llmultigesture.h # indra/llimage/llimage.cpp # indra/llimage/llimagepng.cpp # indra/llimage/llimageworker.cpp # indra/llimage/tests/llimageworker_test.cpp # indra/llmessage/tests/llmockhttpclient.h # indra/llprimitive/llgltfmaterial.h # indra/llrender/llfontfreetype.cpp # indra/llui/llcombobox.cpp # indra/llui/llfolderview.cpp # indra/llui/llfolderviewmodel.h # indra/llui/lllineeditor.cpp # indra/llui/lllineeditor.h # indra/llui/lltextbase.cpp # indra/llui/lltextbase.h # indra/llui/lltexteditor.cpp # indra/llui/lltextvalidate.cpp # indra/llui/lltextvalidate.h # indra/llui/lluictrl.h # indra/llui/llview.cpp # indra/llwindow/llwindowmacosx.cpp # indra/newview/app_settings/settings.xml # indra/newview/llappearancemgr.cpp # indra/newview/llappearancemgr.h # indra/newview/llavatarpropertiesprocessor.cpp # indra/newview/llavatarpropertiesprocessor.h # indra/newview/llbreadcrumbview.cpp # indra/newview/llbreadcrumbview.h # indra/newview/llbreastmotion.cpp # indra/newview/llbreastmotion.h # indra/newview/llconversationmodel.h # indra/newview/lldensityctrl.cpp # indra/newview/lldensityctrl.h # indra/newview/llface.inl # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llfloateremojipicker.h # indra/newview/llfloaterimsessiontab.cpp # indra/newview/llfloaterprofiletexture.cpp # indra/newview/llfloaterprofiletexture.h # indra/newview/llgesturemgr.cpp # indra/newview/llgesturemgr.h # indra/newview/llimpanel.cpp # indra/newview/llimpanel.h # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryclipboard.cpp # indra/newview/llinventoryclipboard.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorygallery.cpp # indra/newview/lllistbrowser.cpp # indra/newview/lllistbrowser.h # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llpanelprofile.h # indra/newview/llpreviewgesture.cpp # indra/newview/llsavedsettingsglue.cpp # indra/newview/llsavedsettingsglue.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llurllineeditorctrl.cpp # indra/newview/llvectorperfoptions.cpp # indra/newview/llvectorperfoptions.h # indra/newview/llviewerparceloverlay.cpp # indra/newview/llviewertexlayer.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/macmain.h # indra/test/test.cpp
2024-05-06Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into ↵RunitaiLinden
gltf-dev-maint-a-merge
2024-04-29#824 Process source files in bulk: replace tabs with spaces, convert CRLF to ↵Andrey Lihatskiy
LF, and trim trailing whitespaces as needed
2024-04-171176 integrate llgltfnode with selection manager and llmaniptranslate/rotate ↵RunitaiLinden
(#1258) * #1176 Somewhat working GLTF Node support for translate tool * #1176 Missing file from last commit * #1176 Better translation for rotated nodes. * #1176 Fix for objects snapping back to original position * #1176 GLTF Samples compatibility pass -- attempt at improving rotation manip support, incidental cleanup, GLTF node debug display * #1176 Clean out some unused and not working functions. * #1176 Fix for mac build, incidental cleanup * Mac build fix
2024-03-27Merge branch 'main' into DRTVWR-600-maint-AAndrey Lihatskiy
# Conflicts: # indra/newview/llappviewer.cpp # indra/newview/llfloaterchangeitemthumbnail.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llselectmgr.cpp # indra/newview/lltexturectrl.cpp # indra/newview/lltexturectrl.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llviewerdisplay.cpp # indra/newview/llvovolume.cpp
2024-03-05Issue #54 LLRender::init crashAndrey Kleshchev
2024-02-20Convert BOOL to bool in llrenderAnsariel
2023-08-22SL-19842 WIP -- Move sky auto adjustment magic numbers to debug settings.RunitaiLinden
2023-03-10SL-19172 Texture streaming tune up. Incidental decruft.Dave Parks
2023-03-07SL-19355 Irradiance rebalance.Dave Parks
2023-01-31SL-18154 Followup -- fix mac buildDave Parks
2023-01-31SL-18154 Followup -- Use Henri's xxHash integration to speed up UI Vertex ↵Dave Parks
Buffer cache
2023-01-27SL-19203 et al -- Integrate SSR with reflection probes, tweak probe ↵RunitaiLinden
blending. (#63) * SL-19203 WIP -- Integrate SSR with reflection probes. Decruft LLRenderTarget. * SL-19203 WIP -- Re-integrate SSR. Incidental decruft. * SL-19203 WIP -- SSR frame delta correction (still broken for Z) * SL-19203 WIP -- SSR frame delta Z fix * SL-19203 WIP -- Make SSR toggleable again and disable SSR in cube snapshots. * SL-19203 WIP -- Soften sphere probe transitions and fix reflections on void water (make fallback probe a simple terrain+water+sky probe). Remove parallax correction for automatic probes to reduce artifacts. * SL-19203 Tune probe blending. * SL-19203 Cleanup.
2023-01-24SL-18958 Fix for broken water distortion map and depth buffer. Incidental ↵Dave Parks
decruft.
2023-01-19Optimizations, decruft, and intel compatibility pass (#53)RunitaiLinden
SL-18869, SL-18772 Overhaul VBO management, restore occlusion culling, intel compatibility pass, etc
2023-01-11MacOS build fixAndrey Kleshchev
2023-01-11SL-18869 Touch up -- fix some Debug GL assertions and restore shadows.Dave Parks
2023-01-10SL-18869 Optimizations -- Quiet command buffer -- VBO cache for UI et al and ↵Dave Parks
remove many unneeded VBO binds.
2023-01-09SL-18869 Optimizations -- Decruftify LLRenderTarget, use a shader to copy ↵Dave Parks
color/depth instead of glCopyTexSubImage or glBlitFrameBuffer