summaryrefslogtreecommitdiff
path: root/indra/newview/lldynamictexture.cpp
diff options
context:
space:
mode:
authorVadim Savchuk <vsavchuk@productengine.com>2010-08-26 16:52:32 +0300
committerVadim Savchuk <vsavchuk@productengine.com>2010-08-26 16:52:32 +0300
commit19fb0a16695b57e70dc371471d37c16929f1c424 (patch)
tree39f16d806b66e3795ded41c1462e205404996046 /indra/newview/lldynamictexture.cpp
parent8e56f063924601041bac3791e794fa6934f20936 (diff)
parent1a8d917a6d0d2393a0f0248d0072dd7cfd487609 (diff)
Manual merge from default branch
--HG-- branch : product-engine
Diffstat (limited to 'indra/newview/lldynamictexture.cpp')
-rw-r--r--indra/newview/lldynamictexture.cpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/indra/newview/lldynamictexture.cpp b/indra/newview/lldynamictexture.cpp
index 466cb4709e..ed35546ca3 100644
--- a/indra/newview/lldynamictexture.cpp
+++ b/indra/newview/lldynamictexture.cpp
@@ -161,12 +161,19 @@ void LLViewerDynamicTexture::postRender(BOOL success)
{
generateGLTexture() ;
}
- if(!mGLTexturep->getHasGLTexture())
+ else if(!mGLTexturep->getHasGLTexture())
+ {
+ generateGLTexture() ;
+ }
+ else if(mGLTexturep->getDiscardLevel() != 0)//do not know how it happens, but regenerate one if it does.
{
generateGLTexture() ;
}
- llcallstacks << "class type: " << (S32)getType() << llcallstacksendl ;
+ if(gGLManager.mDebugGPU)
+ {
+ LLGLState::dumpStates() ;
+ }
success = mGLTexturep->setSubImageFromFrameBuffer(0, 0, mOrigin.mX, mOrigin.mY, mFullWidth, mFullHeight);
}
}
@@ -205,11 +212,16 @@ BOOL LLViewerDynamicTexture::updateAllInstances()
{
LLViewerDynamicTexture *dynamicTexture = *iter;
if (dynamicTexture->needsRender())
- {
+ {
+ if(gGLManager.mDebugGPU)
+ {
+ llinfos << "class type: " << (S32)dynamicTexture->getType() << llendl;
+ LLGLState::dumpStates() ;
+ }
+
glClear(GL_DEPTH_BUFFER_BIT);
gDepthDirty = TRUE;
-
-
+
gGL.color4f(1,1,1,1);
dynamicTexture->preRender(); // Must be called outside of startRender()
result = FALSE;