[Bf-blender-cvs] [76b15e338aa] master: GPU: Avoid blit operation modifying the wrong framebuffer during restore
Clément Foucault
noreply at git.blender.org
Wed Oct 7 14:09:13 CEST 2020
Commit: 76b15e338aa288cedc19dfe5fae3d2be0456bf4c
Author: Clément Foucault
Date: Wed Oct 7 14:03:27 2020 +0200
Branches: master
https://developer.blender.org/rB76b15e338aa288cedc19dfe5fae3d2be0456bf4c
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
===================================================================
M source/blender/gpu/opengl/gl_framebuffer.cc
===================================================================
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;
}
/** \} */
More information about the Bf-blender-cvs
mailing list