Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2020-06-24 14:23:30 +0300
committerClément Foucault <foucault.clem@gmail.com>2020-06-24 14:23:43 +0300
commitbe0622533de28d6338797cab65999183572f44f8 (patch)
tree87cb207832d16d3078ceccf4053f139b3135891b /source/blender/draw/engines/eevee/eevee_engine.c
parent6f5a9dd8dea8a20e9ca298bb713786a247b9c9d3 (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.c6
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();
}
}