summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLars Hofhansl <larsh@apache.org>2017-11-04 18:05:47 -0700
committerSmallJoker <mk939@ymail.com>2018-06-03 17:32:00 +0200
commit0cfe3a810aee9311e8df811b28ae86948f924ae0 (patch)
treee9871ca6b692228141c8f577330db65244216de1
parent6808a3d144c6c8f4aa4f54196fe6cedbda1f0805 (diff)
downloadminetest-0cfe3a810aee9311e8df811b28ae86948f924ae0.tar.gz
minetest-0cfe3a810aee9311e8df811b28ae86948f924ae0.tar.bz2
minetest-0cfe3a810aee9311e8df811b28ae86948f924ae0.zip
Do not scale texture unless necessary.
This avoids scaling textures to 'texture_min_size' unless it is actually required (because either auto-scaling or bi/trilinear filtering is enabled)
-rw-r--r--src/client/tile.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/client/tile.cpp b/src/client/tile.cpp
index 99495132b..cfdff1bb2 100644
--- a/src/client/tile.cpp
+++ b/src/client/tile.cpp
@@ -1805,7 +1805,8 @@ bool TextureSource::generateImagePart(std::string part_of_name,
* mix high- and low-res textures, or for mods with least-common-denominator
* textures that don't have the resources to offer high-res alternatives.
*/
- s32 scaleto = g_settings->getS32("texture_min_size");
+ const bool filter = m_setting_trilinear_filter || m_setting_bilinear_filter;
+ const s32 scaleto = filter ? g_settings->getS32("texture_min_size") : 1;
if (scaleto > 1) {
const core::dimension2d<u32> dim = baseimg->getDimension();