diff options
author | Jeroen Bakker <jeroen@blender.org> | 2020-02-27 14:15:33 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2020-02-27 14:15:33 +0300 |
commit | f24a4750bdd6fcb409785e6527cdcb0b5f33e222 (patch) | |
tree | db384d7a944db3d9999717204e943b483e30dfd1 /source/blender/draw | |
parent | 01162f756a02739314b10fd817759e0c6f344d07 (diff) |
Fix T74254: EEVEE Render Passes Availability
When disabling AO or BLOOM in the render tab, when the pass is shown in
a 3d viewport the pass wasn't reset. This resulted in showing a black
texture and a not filled UI render pass in the shading popover.
This patch will by default reset to the combined pass. It is intended
that the render_pass in the 3d shading struct isn't set to combined as
people could have disabled AO/bloom by mistake and it could reset
viewports that aren't visible.
Diffstat (limited to 'source/blender/draw')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_renderpasses.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_renderpasses.c b/source/blender/draw/engines/eevee/eevee_renderpasses.c index 2f9e8f3d555..e9dcb6376bb 100644 --- a/source/blender/draw/engines/eevee/eevee_renderpasses.c +++ b/source/blender/draw/engines/eevee/eevee_renderpasses.c @@ -88,7 +88,17 @@ void EEVEE_renderpasses_init(EEVEE_Data *vedata) View3D *v3d = draw_ctx->v3d; if (v3d) { - g_data->render_passes = v3d->shading.render_pass; + const Scene *scene = draw_ctx->scene; + eViewLayerEEVEEPassType render_pass = v3d->shading.render_pass; + if (render_pass == EEVEE_RENDER_PASS_AO && + ((scene->eevee.flag & SCE_EEVEE_GTAO_ENABLED) == 0)) { + render_pass = EEVEE_RENDER_PASS_COMBINED; + } + else if (render_pass == EEVEE_RENDER_PASS_BLOOM && + ((scene->eevee.flag & SCE_EEVEE_BLOOM_ENABLED) == 0)) { + render_pass = EEVEE_RENDER_PASS_COMBINED; + } + g_data->render_passes = render_pass; } else { eViewLayerEEVEEPassType enabled_render_passes = view_layer->eevee.render_passes; |