summaryrefslogtreecommitdiff
path: root/indra/newview/lldynamictexture.cpp
diff options
context:
space:
mode:
authorAndrey Lihatskiy <alihatskiy@productengine.com>2020-04-21 13:12:05 +0300
committerAndrey Lihatskiy <alihatskiy@productengine.com>2020-04-21 13:12:05 +0300
commita4b1c0330a6a8e43bf4c41c5b0c836bd1dee2268 (patch)
tree6d68d3e3f665d60fa946bd24a4b324b5e63339fb /indra/newview/lldynamictexture.cpp
parenta8df6762ff88458916397b9707f6954b2714e14d (diff)
parentd7f1c88c35849e56f5b352f13c16a08467d1533b (diff)
Merge branch 'master' into DRTVWR-482
# Conflicts: # indra/newview/app_settings/shaders/class1/objects/previewV.glsl # indra/newview/lldynamictexture.cpp # indra/newview/llfloatermodelpreview.cpp
Diffstat (limited to 'indra/newview/lldynamictexture.cpp')
-rw-r--r--indra/newview/lldynamictexture.cpp13
1 files changed, 9 insertions, 4 deletions
diff --git a/indra/newview/lldynamictexture.cpp b/indra/newview/lldynamictexture.cpp
index e180d91461..89c20904c1 100644
--- a/indra/newview/lldynamictexture.cpp
+++ b/indra/newview/lldynamictexture.cpp
@@ -216,10 +216,12 @@ BOOL LLViewerDynamicTexture::updateAllInstances()
return TRUE;
}
- bool use_fbo = gGLManager.mHasFramebufferObject && gPipeline.mPhysicsDisplay.isComplete() && !gGLManager.mIsATI;
+ bool use_fbo = gGLManager.mHasFramebufferObject && gPipeline.mBake.isComplete() && !gGLManager.mIsATI;
+
if (use_fbo)
{
- gPipeline.mPhysicsDisplay.bindTarget();
+ gPipeline.mBake.bindTarget();
+ gPipeline.mBake.clear();
}
LLGLSLShader::bindNoShader();
@@ -239,6 +241,7 @@ BOOL LLViewerDynamicTexture::updateAllInstances()
gDepthDirty = TRUE;
gGL.color4f(1,1,1,1);
+ dynamicTexture->setBoundTarget(use_fbo ? &gPipeline.mBake : nullptr);
dynamicTexture->preRender(); // Must be called outside of startRender()
result = FALSE;
if (dynamicTexture->render())
@@ -249,7 +252,7 @@ BOOL LLViewerDynamicTexture::updateAllInstances()
}
gGL.flush();
LLVertexBuffer::unbind();
-
+ dynamicTexture->setBoundTarget(nullptr);
dynamicTexture->postRender(result);
}
}
@@ -257,9 +260,11 @@ BOOL LLViewerDynamicTexture::updateAllInstances()
if (use_fbo)
{
- gPipeline.mPhysicsDisplay.flush();
+ gPipeline.mBake.flush();
}
+ gGL.flush();
+
return ret;
}