summaryrefslogtreecommitdiff
path: root/indra/newview/llviewertexture.cpp
AgeCommit message (Collapse)Author
2026-07-22Post revert cleanupAndrey Kleshchev
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-22Revert "Geenz/texture loading speed (#5985)"Jonathan "Geenz" Goodman
This reverts commit a937b237de3651e79cdb517f14381a5bdd4c844b.
2026-07-09Geenz/texture loading speed (#5985)Jonathan "Geenz" Goodman
* Add more controls for texture loading budgets. Should yield much faster loading within a given FPS target - should generally self regulate depending on your framerate. * Harden texture pipeline against stalls and OOM. Generally makes texture loading faster, at the expense of some budgeting (which we weren't doing a great job at anyways).
2026-07-07Kill the dead byte ledger.Jonathan "Geenz" Goodman
2026-07-07Kill the system memory stuff - it's not relevant to the new texture streaming.Jonathan "Geenz" Goodman
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-07-06Remove some old unused settings, and rename mis-labeled ones to the current ↵Jonathan "Geenz" Goodman
nomenclature
2026-07-06Get things working a little more consistently between BP and PBR. Also add ↵Jonathan "Geenz" Goodman
some bias controls for the texel-to-pixel ratio based streaming.
2026-07-06Move over to a pixels to texels ratio to drive texture resolution.Jonathan "Geenz" Goodman
2026-06-30Merge branch 'release/26.3' into geenz/texture-streaming-tweaksJonathan "Geenz" Goodman
2026-06-15p#604 Fix draw range fluctuations #2Andrey Kleshchev
2026-06-12p#604 Fix draw range fluctuationsAndrey Kleshchev
2026-05-29Add watermark driven discards.Jonathan "Geenz" Goodman
Does a much better job of staying within the memory budget.
2026-05-27Update llviewertexture.cppJonathan "Geenz" Goodman
2026-05-27Some additional texture streaming tweaks - more intelligently discard rather ↵Jonathan "Geenz" Goodman
than assuming 1x1 is where we need to be at 1
2026-05-19Bring back the pre-aug 2024 byte estimation for j2c streams, and add a ↵Jonathan "Geenz" Goodman
configurable high water mark for VRAM.
2026-05-19Rework VRAM controller and bubble interaction — gate iteration on ↵Jonathan "Geenz" Goodman
pressure, halve last-ditch floor inside bubble.
2026-05-19More high pressure and quality changes.Jonathan "Geenz" Goodman
New "high res" bubble near the camera, minimum discard settings, and discard scaling.
2026-05-18Break out texture channel priorities.Jonathan "Geenz" Goodman
2026-05-14Add a background discard offset.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-02-07#5380 Guard against scaled() failure to prevent null dereferenceAndrey Lihatskiy
2026-02-07#5380 Fix race condition in texture creation causing AVAndrey Lihatskiy
Move addToCreateTexture() after image scaling to prevent mRawImage from being replaced while background thread holds pointer to it.
2026-01-21#5296 Clothes of other avatars are rendered skin tightAndrey Kleshchev
Fix raw image callback never firing for outfits. Use saved image when raw image isn't present.
2026-01-20p#124 Fix wrong max image size for model uploadAndrey Kleshchev
2025-10-28#4882 Log textures that failed to be createdAndrey Kleshchev
A bunch of 36x36 failed to create, there shouldn't have been any 36x36 textures, log the ids/type.
2025-10-01#4758 Extra logging to track discard 6Andrey Kleshchev
Plus clamped some values and preventing decode from starting
2025-09-15#4604 Tweak range decreaseAndrey Kleshchev
isSystemMemoryLow() and factor check were too agressive for draw range.
2025-08-29#4604 Reduce draw distance when low on RAMAndrey Kleshchev
2025-08-14Merge 2025.06 into developAndrey Kleshchev
Merge 2025.06 into develop
2025-08-12Fix clang compiler issues due to unused variablesAnsariel
2025-04-15Merge branch 'main' into marchcat/maint-c-restoreAndrey Lihatskiy
# Conflicts: # indra/llcommon/lldate.h # indra/newview/llappviewer.cpp # indra/newview/llinventorybridge.cpp # indra/newview/llmaterialeditor.cpp # indra/newview/llviewerparceloverlay.cpp # indra/newview/llvoavatar.cpp
2025-04-10Fix merge issues:Ansariel
* Restore changes from 21947778baaca205615a71a97ac8f563c998fdd3 to llwindow/llwindowwin32.cpp * Restore changes from 3758618949684641fc94b5c9478d9002706213cc to newview/llinspecttexture.cpp * Fix apparent merge error in LLInventoryPanel::itemChanged * Restore changes from 1eeecfa1a8bf43a8980217ce34e3b5f4458483e0 in newview/llpaneloutfitsinventory.h * Restore changes from b9633c17e373bfe55b29228996e8473eb041466d in newview/llpaneloutfitsinventory.h & newview/llpanelwearing.cpp * Restore changes from f660f1f0fda4d2363d351fa550b4f8818b46c2c3 in newview/llviewertexture.cpp * Restore changes from b9633c17e373bfe55b29228996e8473eb041466d & 98f7d73d46fdc045759023eda6409e8c791f5cb2 in newview/lloutfitgallery.cpp and newview/lloutfitslist.cpp * Replace changes from 23729442aab7130f3368d433e8a5a9dd45ff6b98 with current implementation in develop branch * Fix more broken changes in LLViewerTexture::saveRawImage * Restore the changes in LLMath both from develop and maint-c * Fix all kind of other merge errors # Conflicts: # indra/llmath/v2math.h # indra/llmath/v3math.h # indra/llui/llfolderviewitem.cpp # indra/llwindow/llwindowwin32.cpp # indra/newview/llfloaterobjectweights.h # indra/newview/lloutfitgallery.cpp # indra/newview/lloutfitslist.cpp # indra/newview/llsidepaneliteminfo.cpp # indra/newview/llvoavatar.cpp
2025-04-10Merge commit '9e24b30' into marchcat/maint-c/restoreAndrey Lihatskiy
# Conflicts: # indra/llmath/v2math.cpp # indra/llmath/v2math.h # indra/llmath/v3math.h # indra/llmath/v4math.h # indra/llui/llfolderviewitem.cpp # indra/llui/llfolderviewitem.h # indra/llui/llfolderviewmodel.h # indra/llui/llmodaldialog.cpp # indra/llui/lltexteditor.cpp # indra/llui/lltexteditor.h # indra/llwindow/llwindowwin32.cpp # indra/newview/llagent.cpp # indra/newview/llagentcamera.h # indra/newview/llavatarrenderinfoaccountant.cpp # indra/newview/llconversationmodel.h # indra/newview/llfloaterinventorysettings.cpp # indra/newview/llfloaternamedesc.cpp # indra/newview/llfloaternamedesc.h # indra/newview/llfloaterobjectweights.cpp # indra/newview/llfloaterobjectweights.h # indra/newview/llfolderviewmodelinventory.h # indra/newview/llinspecttexture.cpp # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventorygallery.h # indra/newview/llinventorygallerymenu.cpp # indra/newview/llinventorymodel.cpp # indra/newview/llinventorypanel.cpp # indra/newview/llinventorypanel.h # indra/newview/llmaterialeditor.cpp # indra/newview/lloutfitgallery.cpp # indra/newview/lloutfitgallery.h # indra/newview/lloutfitslist.cpp # indra/newview/lloutfitslist.h # indra/newview/llpanelgroupcreate.cpp # indra/newview/llpanelgroupgeneral.cpp # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpaneloutfitsinventory.h # indra/newview/llpanelprofile.cpp # indra/newview/llpanelwearing.cpp # indra/newview/llreflectionmap.cpp # indra/newview/llselectmgr.cpp # indra/newview/llsidepanelappearance.cpp # indra/newview/llsidepaneliteminfo.cpp # indra/newview/llteleporthistorystorage.cpp # indra/newview/lltexturectrl.cpp # indra/newview/lltexturectrl.h # indra/newview/lltexturefetch.cpp # indra/newview/lltexturefetch.h # indra/newview/llviewerassetupload.cpp # indra/newview/llviewercamera.cpp # indra/newview/llviewercamera.h # indra/newview/llviewermenufile.cpp # indra/newview/llviewerobject.h # indra/newview/llviewertexture.cpp # indra/newview/llviewerwindow.cpp # indra/newview/llvoavatar.cpp # indra/newview/llvoavatar.h # indra/newview/llvoavatarself.cpp # indra/newview/llvovolume.cpp # indra/newview/llvovolume.h # indra/newview/tests/llviewerassetstats_test.cpp
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-21#3364 Fix a case of excessive texture updatesAndrey Kleshchev
when bias fluctuates a bit. Make bias' effect a bit more gradual.
2025-03-05Add RenderTextureVRAMDivisor (#3648)Jonathan "Geenz" Goodman
#3647 Add texture VRAM use divisor.
2025-02-03Fix media failing to function on PBR materials (#3445)Rye
2025-01-23Small cleanupAndrey Kleshchev
2025-01-22#3450 Crash at LLViewerMediaTexture::setPlayingAndrey Kleshchev
2025-01-21#3371 Texture resolution cap #2Andrey Kleshchev
2025-01-21#3371 Texture resolution capAndrey Kleshchev
2025-01-16#3364 Fix update rate being stuck high due to biasAndrey Kleshchev
if bias stays unchanged at 4.f, there is no reason to keep refreshing at high rate.
2025-01-11#3364 Decrement bias only if there is 10prcnt free spaceAndrey Kleshchev
Instead of when there is any space.
2024-12-06Remove unwanted notification for texture downrezing behavior (#3233)Brad Linden
secondlife/viewer#2549
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-03#3093 #3055 World Map tiles are blurry #2Andrey Kleshchev