diff options
author | Don Kjer <don@lindenlab.com> | 2012-07-26 22:59:30 +0000 |
---|---|---|
committer | Don Kjer <don@lindenlab.com> | 2012-07-26 22:59:30 +0000 |
commit | bd1b664d45a75e57209e06b288849c0536d00151 (patch) | |
tree | 863ba132ec822f7f2a3feaf5a934f298374179cd /indra/newview/llface.cpp | |
parent | cff3469d46d297fbec34bc0d648588e900cd255c (diff) | |
parent | 124f45d20ecf45c43a9f277be89de2e1fec40b8b (diff) |
Merge viewer-development -> viewer-horde-fixes
Diffstat (limited to 'indra/newview/llface.cpp')
-rw-r--r-- | indra/newview/llface.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/indra/newview/llface.cpp b/indra/newview/llface.cpp index 08b5c27a68..8d0664770b 100644 --- a/indra/newview/llface.cpp +++ b/indra/newview/llface.cpp @@ -317,7 +317,20 @@ void LLFace::setTexture(LLViewerTexture* tex) void LLFace::dirtyTexture() { - gPipeline.markTextured(getDrawable()); + LLDrawable* drawablep = getDrawable(); + + if (mVObjp.notNull() && mVObjp->getVolume() && + mTexture.notNull() && mTexture->getComponents() == 4) + { //dirty texture on an alpha object should be treated as an LoD update + LLVOVolume* vobj = drawablep->getVOVolume(); + if (vobj) + { + vobj->mLODChanged = TRUE; + } + gPipeline.markRebuild(drawablep, LLDrawable::REBUILD_VOLUME, FALSE); + } + + gPipeline.markTextured(drawablep); } void LLFace::switchTexture(LLViewerTexture* new_texture) |