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