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
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
-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;
}
/** \} */