diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-10-07 15:03:27 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-10-07 15:09:08 +0300 |
commit | 76b15e338aa288cedc19dfe5fae3d2be0456bf4c (patch) | |
tree | 3709032d526f3af446144539bc84e262dc774923 /source/blender/gpu/opengl | |
parent | 724a4f4676586d65b718deab7f04f207e0ad6488 (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')
-rw-r--r-- | source/blender/gpu/opengl/gl_framebuffer.cc | 2 |
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; } /** \} */ |