summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2010-08-24 14:52:05 +0100
committerTofu Linden <tofu.linden@lindenlab.com>2010-08-24 14:52:05 +0100
commitce1a0c6bafad092f9687e3b5a6b4865569d96863 (patch)
tree29dafcce870eb2f494bebe2d968721abe266e930 /indra/newview
parentd179727469692054fc100a9f1d68f181bebcd7de (diff)
parent308d9f10147ff31752c90150bc3ee769a63837e9 (diff)
Final(???) merge from viewer-release to viewer-public.
Diffstat (limited to 'indra/newview')
-rw-r--r--indra/newview/lldynamictexture.cpp22
-rw-r--r--indra/newview/llstartup.cpp5
-rw-r--r--indra/newview/llvosky.cpp5
3 files changed, 23 insertions, 9 deletions
diff --git a/indra/newview/lldynamictexture.cpp b/indra/newview/lldynamictexture.cpp
index bb4e6c7a3e..a460a4f618 100644
--- a/indra/newview/lldynamictexture.cpp
+++ b/indra/newview/lldynamictexture.cpp
@@ -167,12 +167,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);
}
}
@@ -211,11 +218,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;
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 2475870b17..e64c4c90b7 100644
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -2925,9 +2925,8 @@ bool process_login_success_response()
text = response["agent_region_access"].asString();
if (!text.empty())
{
- U32 preferredMaturity =
- llmin((U32)LLAgent::convertTextToMaturity(text[0]),
- gSavedSettings.getU32("PreferredMaturity"));
+ U32 preferredMaturity = (U32)LLAgent::convertTextToMaturity(text[0]);
+
gSavedSettings.setU32("PreferredMaturity", preferredMaturity);
}
// During the AO transition, this flag will be true. Then the flag will
diff --git a/indra/newview/llvosky.cpp b/indra/newview/llvosky.cpp
index d73850cb49..bb80988854 100644
--- a/indra/newview/llvosky.cpp
+++ b/indra/newview/llvosky.cpp
@@ -975,7 +975,10 @@ void LLVOSky::calcAtmospherics(void)
}
temp2.mV[1] = llmax(0.f, lighty);
- temp2.mV[1] = 1.f / temp2.mV[1];
+ if(temp2.mV[1] > 0.f)
+ {
+ temp2.mV[1] = 1.f / temp2.mV[1];
+ }
componentMultBy(sunlight, componentExp((light_atten * -1.f) * temp2.mV[1]));
// Distance