Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-10-07 15:03:27 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-10-07 15:09:08 +0300
commit76b15e338aa288cedc19dfe5fae3d2be0456bf4c (patch)
tree3709032d526f3af446144539bc84e262dc774923 /source/blender/gpu/opengl/gl_framebuffer.cc
parent724a4f4676586d65b718deab7f04f207e0ad6488 (diff)
GPU: Avoid blit operation modifying the wrong framebuffer during restore
At the end of `GPU_framebuffer_blit` when `prev_fb->bind(true);` is called, the `context_->active_fb` was not in sync and lead to the wrong framebuffer being modified by bind function. This fix T81055 SSS light is missing from the diffuse light render pass
Diffstat (limited to 'source/blender/gpu/opengl/gl_framebuffer.cc')
-rw-r--r--source/blender/gpu/opengl/gl_framebuffer.cc2
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/gpu/opengl/gl_framebuffer.cc b/source/blender/gpu/opengl/gl_framebuffer.cc
index 6b9d97530f9..4270ba544b5 100644
--- a/source/blender/gpu/opengl/gl_framebuffer.cc
+++ b/source/blender/gpu/opengl/gl_framebuffer.cc
@@ -489,6 +489,8 @@ void GLFrameBuffer::blit_to(
/* Restore the draw buffers. */
glDrawBuffers(ARRAY_SIZE(dst->gl_attachments_), dst->gl_attachments_);
}
+ /* Ensure previous buffer is restored. */
+ context_->active_fb = dst;
}
/** \} */