diff options
Diffstat (limited to 'indra/newview')
| -rw-r--r-- | indra/newview/lldrawpool.cpp | 1 | ||||
| -rw-r--r-- | indra/newview/lldrawpoolavatar.cpp | 14 | ||||
| -rw-r--r-- | indra/newview/llviewershadermgr.cpp | 2 | ||||
| -rw-r--r-- | indra/newview/pipeline.cpp | 1 | 
4 files changed, 10 insertions, 8 deletions
| diff --git a/indra/newview/lldrawpool.cpp b/indra/newview/lldrawpool.cpp index b7504b16bf..9c072bb0aa 100644 --- a/indra/newview/lldrawpool.cpp +++ b/indra/newview/lldrawpool.cpp @@ -515,6 +515,7 @@ void LLRenderPass::pushBatch(LLDrawInfo& params, U32 mask, BOOL texture, BOOL ba  	if (tex_setup)  	{ +        gGL.matrixMode(LLRender::MM_TEXTURE0);  		gGL.loadIdentity();  		gGL.matrixMode(LLRender::MM_MODELVIEW);  	} diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp index 3e1d78e6df..e96e7cbe6c 100644 --- a/indra/newview/lldrawpoolavatar.cpp +++ b/indra/newview/lldrawpoolavatar.cpp @@ -2000,23 +2000,23 @@ void LLDrawPoolAvatar::renderRigged(LLVOAvatar* avatar, U32 type, bool glow)  			if (face->mTextureMatrix && vobj->mTexAnimMode)  			{                  U32 tex_index = gGL.getCurrentTexUnitIndex(); +                  if (tex_index <= 1)                  { -                    gGL.matrixMode(LLRender::MM_TEXTURE); +                    gGL.matrixMode(LLRender::eMatrixMode(LLRender::MM_TEXTURE0 + tex_index)); +                    gGL.pushMatrix();  				    gGL.loadMatrix((F32*) face->mTextureMatrix->mMatrix);                  } -                else -                { -                    LL_WARNS_ONCE("render") << "Cannot use tex anim of tex index " << tex_index << " ignoring!" << LL_ENDL; -                }  				buff->setBuffer(data_mask);  				buff->drawRange(LLRender::TRIANGLES, start, end, count, offset);                  if (tex_index <= 1)                  { -				    gGL.loadIdentity(); -                }				 +                    gGL.matrixMode(LLRender::eMatrixMode(LLRender::MM_TEXTURE0 + tex_index)); +				    gGL.popMatrix(); +                    gGL.matrixMode(LLRender::MM_MODELVIEW); +                }  			}  			else  			{ diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp index 2a712d68e4..8a69376fe1 100644 --- a/indra/newview/llviewershadermgr.cpp +++ b/indra/newview/llviewershadermgr.cpp @@ -2194,7 +2194,7 @@ BOOL LLViewerShaderMgr::loadShadersDeferred()      if (success)      { -        gTerrainProgram.mName = "Deferred Terrain Shader"; +        gDeferredTerrainProgram.mName = "Deferred Terrain Shader";          gDeferredTerrainProgram.mFeatures.encodesNormal = true;          gDeferredTerrainProgram.mShaderFiles.clear();          gDeferredTerrainProgram.mShaderFiles.push_back(make_pair("deferred/terrainV.glsl", GL_VERTEX_SHADER_ARB)); diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp index 9f80f85750..490738d304 100644 --- a/indra/newview/pipeline.cpp +++ b/indra/newview/pipeline.cpp @@ -4746,6 +4746,7 @@ void LLPipeline::renderGeomPostDeferred(LLCamera& camera, bool do_occlusion)              LL_RECORD_BLOCK_TIME(FTM_POST_DEFERRED_POOLRENDER);              gGLLastMatrix = NULL; +            gGL.matrixMode(LLRender::MM_MODELVIEW);              gGL.loadMatrix(gGLModelView);              for( S32 i = 0; i < poolp->getNumPostDeferredPasses(); i++ ) | 
