summaryrefslogtreecommitdiff
path: root/indra/llrender
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llrender')
-rw-r--r--indra/llrender/llrender.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp
index 173444f708..de04ea601a 100644
--- a/indra/llrender/llrender.cpp
+++ b/indra/llrender/llrender.cpp
@@ -1477,6 +1477,13 @@ void LLRender::matrixMode(U32 mode)
{
if (mode == MM_TEXTURE)
{
+ U32 tex_index = gGL.getCurrentTexUnitIndex();
+ // the shaders don't actually reference anything beyond texture_matrix0/1
+ if (tex_index > 3)
+ {
+ LL_WARNS_ONCE("render") << "Cannot use texture matrix with texture unit " << tex_index << " forcing texture matrix 3!" << LL_ENDL;
+ tex_index = 3;
+ }
mode = MM_TEXTURE0 + gGL.getCurrentTexUnitIndex();
}