diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-06-24 14:23:30 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-06-24 14:23:43 +0300 |
commit | be0622533de28d6338797cab65999183572f44f8 (patch) | |
tree | 87cb207832d16d3078ceccf4053f139b3135891b /source/blender/draw/engines/eevee/eevee_engine.c | |
parent | 6f5a9dd8dea8a20e9ca298bb713786a247b9c9d3 (diff) |
Fix T78190 EEVEE: Render passes broken in final render
This was caused by the step motion blur implementation.
`DRW_cache_restart` was reseting the cache and cause
`EEVEE_renderpasses_postprocess` to not work inside
`EEVEE_render_read_result`.
Diffstat (limited to 'source/blender/draw/engines/eevee/eevee_engine.c')
-rw-r--r-- | source/blender/draw/engines/eevee/eevee_engine.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/draw/engines/eevee/eevee_engine.c b/source/blender/draw/engines/eevee/eevee_engine.c index 55a20a0f6bb..83d2168af8e 100644 --- a/source/blender/draw/engines/eevee/eevee_engine.c +++ b/source/blender/draw/engines/eevee/eevee_engine.c @@ -166,6 +166,7 @@ static void eevee_cache_finish(void *vedata) EEVEE_materials_cache_finish(sldata, vedata); EEVEE_lights_cache_finish(sldata, vedata); EEVEE_lightprobes_cache_finish(sldata, vedata); + EEVEE_renderpasses_cache_finish(sldata, vedata); EEVEE_subsurface_draw_init(sldata, vedata); EEVEE_effects_draw_init(sldata, vedata); @@ -469,6 +470,8 @@ static void eevee_render_to_image(void *vedata, /* The previous step of this iteration N is exactly the next step of iteration N - 1. * So we just swap the resources to avoid too much re-evaluation. */ EEVEE_motion_blur_swap_data(vedata); + + DRW_cache_restart(); } else { EEVEE_motion_blur_step_set(ved, MB_PREV); @@ -517,6 +520,7 @@ static void eevee_render_to_image(void *vedata, EEVEE_materials_cache_finish(sldata, vedata); EEVEE_lights_cache_finish(sldata, vedata); EEVEE_lightprobes_cache_finish(sldata, vedata); + EEVEE_renderpasses_cache_finish(sldata, vedata); EEVEE_subsurface_draw_init(sldata, vedata); EEVEE_effects_draw_init(sldata, vedata); @@ -532,8 +536,6 @@ static void eevee_render_to_image(void *vedata, EEVEE_temporal_sampling_create_view(vedata); EEVEE_render_draw(vedata, engine, render_layer, rect); - - DRW_cache_restart(); } } |