summaryrefslogtreecommitdiff
path: root/indra/llrender/llrendertarget.cpp
diff options
context:
space:
mode:
authorRider Linden <rider@lindenlab.com>2019-05-03 20:52:10 +0000
committerRider Linden <rider@lindenlab.com>2019-05-03 20:52:10 +0000
commit217c6a86ec61963578ce3eb0c76ff3a96e63a995 (patch)
treedab3c478a6a0e85abb19b36e4c89ea21da8c2a8a /indra/llrender/llrendertarget.cpp
parentf67fe8fce7d84bc8687d409311518565d97a5fc5 (diff)
parent89c24095c6c1b778b93a4eb7ad398627f4d5479f (diff)
Merged in graham_linden/viewer-eep-rc-fixes (pull request #378)
SL-11087, SL-11086, SL-11092, SL-11075, SL-11070, SL-11090, SL-11085
Diffstat (limited to 'indra/llrender/llrendertarget.cpp')
-rw-r--r--indra/llrender/llrendertarget.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/indra/llrender/llrendertarget.cpp b/indra/llrender/llrendertarget.cpp
index cd484b4fe9..9fb4f7f2b0 100644
--- a/indra/llrender/llrendertarget.cpp
+++ b/indra/llrender/llrendertarget.cpp
@@ -502,9 +502,26 @@ U32 LLRenderTarget::getNumTextures() const
}
-void LLRenderTarget::bindTexture(U32 index, S32 channel)
+void LLRenderTarget::bindTexture(U32 index, S32 channel, LLTexUnit::eTextureFilterOptions filter_options)
{
gGL.getTexUnit(channel)->bindManual(mUsage, getTexture(index));
+
+ bool isSRGB = false;
+ llassert(mInternalFormat.size() > index);
+ switch (mInternalFormat[index])
+ {
+ case GL_SRGB_ALPHA:
+ case GL_SRGB:
+ case GL_SRGB8_ALPHA8:
+ isSRGB = true;
+ break;
+
+ default:
+ break;
+ }
+
+ gGL.getTexUnit(channel)->setTextureFilteringOption(filter_options);
+ gGL.getTexUnit(channel)->setTextureColorSpace(isSRGB ? LLTexUnit::TCS_SRGB : LLTexUnit::TCS_LINEAR);
}
void LLRenderTarget::flush(bool fetch_depth)