diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-08-30 13:40:27 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-08-30 14:11:03 +0300 |
commit | ad5d5d3f3bb2765a97cfc07202d00d8112701fea (patch) | |
tree | cec8de78fbda74d5fb2e07c577e6de7f794666f5 /source | |
parent | d98c722a5a863d2a5caded350c57fc8322c5548e (diff) |
EEVEE: Fix broken rendering caused by SSR + Alpha blended material
This was affecting Mesa drivers as well as AMD pro driver. But it
might have been noticeable on other config too.
This was introduced by rBa9f2ebb21508.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/gpu/opengl/gl_state.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/gpu/opengl/gl_state.cc b/source/blender/gpu/opengl/gl_state.cc index 84824191a12..8f01ff13486 100644 --- a/source/blender/gpu/opengl/gl_state.cc +++ b/source/blender/gpu/opengl/gl_state.cc @@ -407,8 +407,10 @@ void GLStateManager::set_blend(const eGPUBlend value) } } + /* Always set the blend function. This avoid a rendering error when blending is disabled but + * GPU_BLEND_CUSTOM was used just before and the framebuffer is using more than 1 color targe */ + glBlendFuncSeparate(src_rgb, dst_rgb, src_alpha, dst_alpha); if (value != GPU_BLEND_NONE) { - glBlendFuncSeparate(src_rgb, dst_rgb, src_alpha, dst_alpha); glEnable(GL_BLEND); } else { |