summaryrefslogtreecommitdiff
path: root/indra/newview/llvlcomposition.cpp
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2026-07-25 13:15:43 +0300
committerAndrey Lihatskiy <alihatskiy@productengine.com>2026-07-25 13:15:43 +0300
commit398bf4f76a275ac08524f6218a707251b171271e (patch)
tree31ed47010ec5db0afac932b1c1d87b4a3fd75c75 /indra/newview/llvlcomposition.cpp
parent34b74530d216a1edc5dfffe327baa615e3654460 (diff)
parent92154ed36ffddac349ac2336a3cc5a1eb6eebb72 (diff)
Merge branch 'release/26.3' into marchcat/slua-26.3
# Conflicts: # indra/llrender/llimagegl.cpp # indra/llrender/llimagegl.h # indra/newview/featuretable.txt # indra/newview/featuretable_linux.txt # indra/newview/featuretable_mac.txt
Diffstat (limited to 'indra/newview/llvlcomposition.cpp')
-rw-r--r--indra/newview/llvlcomposition.cpp18
1 files changed, 12 insertions, 6 deletions
diff --git a/indra/newview/llvlcomposition.cpp b/indra/newview/llvlcomposition.cpp
index eb0261b5e5..3441e25c6a 100644
--- a/indra/newview/llvlcomposition.cpp
+++ b/indra/newview/llvlcomposition.cpp
@@ -173,10 +173,7 @@ LLPointer<LLViewerFetchedTexture> fetch_terrain_texture(const LLUUID& id)
return nullptr;
}
- // LOD_TEXTURE so streaming math runs (the base-class processTextureStats
- // pins mDesiredDiscardLevel at 0).
- LLPointer<LLViewerFetchedTexture> tex = LLViewerTextureManager::getFetchedTexture(
- id, FTT_DEFAULT, true, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE);
+ LLPointer<LLViewerFetchedTexture> tex = LLViewerTextureManager::getFetchedTexture(id);
return tex;
}
@@ -346,9 +343,18 @@ bool LLTerrainMaterials::makeTextureReady(LLPointer<LLViewerFetchedTexture>& tex
{
if (boost)
{
- // Quality is driven by the streaming math via synthetic signals
- // for BOOST_TERRAIN textures in updateImageDecodePriority.
boost_minimap_texture(tex, BASE_SIZE*BASE_SIZE);
+
+ S32 width = tex->getFullWidth();
+ S32 height = tex->getFullHeight();
+ S32 min_dim = llmin(width, height);
+ S32 ddiscard = 0;
+ while (min_dim > BASE_SIZE && ddiscard < MAX_DISCARD_LEVEL)
+ {
+ ddiscard++;
+ min_dim /= 2;
+ }
+ tex->setMinDiscardLevel(ddiscard);
}
return false;
}