diff options
author | Graham Linden <graham@lindenlab.com> | 2019-02-07 16:00:21 -0800 |
---|---|---|
committer | Graham Linden <graham@lindenlab.com> | 2019-02-07 16:00:21 -0800 |
commit | 90f9078d1f931774b5a6e866e26f4e0294f1e2d1 (patch) | |
tree | cda33deb2d8c4c9c5458aae4c39a60a6de09ca9b /indra/llrender | |
parent | 43327798dec61590dc256697771e0423eb1ece9c (diff) |
SL-10486, SL-10501, SL-10487
Make moon texture from default daycycle the default moon texture id and use it for the default and blank assets in the picker.
Fix handling of MM_TEXTURE to correctly detect when texture units outside the range 0-3
are used with texture matrix ops to prevent mem overwrite bug and/or asserts.
Diffstat (limited to 'indra/llrender')
-rw-r--r-- | indra/llrender/llrender.cpp | 7 |
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(); } |