diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/pipeline.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/linden/indra/newview/pipeline.cpp b/linden/indra/newview/pipeline.cpp index 92a9811..c1ad4b3 100644 --- a/linden/indra/newview/pipeline.cpp +++ b/linden/indra/newview/pipeline.cpp | |||
@@ -1162,8 +1162,7 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result, S32 water_cl | |||
1162 | !hasRenderType(LLPipeline::RENDER_TYPE_HUD) && | 1162 | !hasRenderType(LLPipeline::RENDER_TYPE_HUD) && |
1163 | !sReflectionRender && | 1163 | !sReflectionRender && |
1164 | gPipeline.canUseVertexShaders() && | 1164 | gPipeline.canUseVertexShaders() && |
1165 | sRenderGlow && | 1165 | sRenderGlow; |
1166 | gGLManager.mHasFramebufferObject; | ||
1167 | 1166 | ||
1168 | if (to_texture) | 1167 | if (to_texture) |
1169 | { | 1168 | { |
@@ -1243,7 +1242,7 @@ void LLPipeline::updateCull(LLCamera& camera, LLCullResult& result, S32 water_cl | |||
1243 | if (to_texture) | 1242 | if (to_texture) |
1244 | { | 1243 | { |
1245 | mScreen.flush(); | 1244 | mScreen.flush(); |
1246 | glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); | 1245 | LLRenderTarget::unbindTarget(); |
1247 | } | 1246 | } |
1248 | else if (LLPipeline::sUseOcclusion > 1) | 1247 | else if (LLPipeline::sUseOcclusion > 1) |
1249 | { | 1248 | { |
@@ -2258,6 +2257,8 @@ void LLPipeline::renderGeom(LLCamera& camera, BOOL forceVBOUpdate) | |||
2258 | 2257 | ||
2259 | glEnableClientState(GL_VERTEX_ARRAY); | 2258 | glEnableClientState(GL_VERTEX_ARRAY); |
2260 | 2259 | ||
2260 | LLVertexBuffer::unbind(); | ||
2261 | |||
2261 | // Do verification of GL state | 2262 | // Do verification of GL state |
2262 | #ifndef LL_RELEASE_FOR_DOWNLOAD | 2263 | #ifndef LL_RELEASE_FOR_DOWNLOAD |
2263 | LLGLState::checkStates(); | 2264 | LLGLState::checkStates(); |
@@ -4462,8 +4463,7 @@ void LLPipeline::bindScreenToTexture() | |||
4462 | void LLPipeline::renderBloom(BOOL for_snapshot) | 4463 | void LLPipeline::renderBloom(BOOL for_snapshot) |
4463 | { | 4464 | { |
4464 | if (!(gPipeline.canUseVertexShaders() && | 4465 | if (!(gPipeline.canUseVertexShaders() && |
4465 | sRenderGlow && | 4466 | sRenderGlow)) |
4466 | gGLManager.mHasFramebufferObject)) | ||
4467 | { | 4467 | { |
4468 | return; | 4468 | return; |
4469 | } | 4469 | } |
@@ -4862,6 +4862,8 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in) | |||
4862 | { | 4862 | { |
4863 | if (LLPipeline::sWaterReflections && assertInitialized() && LLDrawPoolWater::sNeedsReflectionUpdate) | 4863 | if (LLPipeline::sWaterReflections && assertInitialized() && LLDrawPoolWater::sNeedsReflectionUpdate) |
4864 | { | 4864 | { |
4865 | LLVertexBuffer::unbind(); | ||
4866 | |||
4865 | #ifndef LL_RELEASE_FOR_DOWNLOAD | 4867 | #ifndef LL_RELEASE_FOR_DOWNLOAD |
4866 | LLGLState::checkStates(); | 4868 | LLGLState::checkStates(); |
4867 | LLGLState::checkTextureChannels(); | 4869 | LLGLState::checkTextureChannels(); |
@@ -5039,7 +5041,7 @@ void LLPipeline::generateWaterReflection(LLCamera& camera_in) | |||
5039 | } | 5041 | } |
5040 | last_update = LLDrawPoolWater::sNeedsReflectionUpdate && LLDrawPoolWater::sNeedsDistortionUpdate; | 5042 | last_update = LLDrawPoolWater::sNeedsReflectionUpdate && LLDrawPoolWater::sNeedsDistortionUpdate; |
5041 | 5043 | ||
5042 | glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); | 5044 | LLRenderTarget::unbindTarget(); |
5043 | LLPipeline::sReflectionRender = FALSE; | 5045 | LLPipeline::sReflectionRender = FALSE; |
5044 | 5046 | ||
5045 | if (!LLRenderTarget::sUseFBO) | 5047 | if (!LLRenderTarget::sUseFBO) |