diff options
author | Janne Karhu <jhkarh@gmail.com> | 2010-10-21 21:00:38 +0400 |
---|---|---|
committer | Janne Karhu <jhkarh@gmail.com> | 2010-10-21 21:00:38 +0400 |
commit | cfcf82803a9e0d590800152a060ff9f97b123184 (patch) | |
tree | e49498a8bc18965cce4d35efd981ae748060e905 /source/blender/render | |
parent | 59d174067161ea9835068f5b12e426efe6497fe1 (diff) |
Temporary fix for sequencer bugs #22925, #21429, #21783, #24165
* This fix is really only a bandage, as the underlying issue is that sequencer preview render doesn't yet use the job system.
* The sequencer preview can start a full render of the scene, and this can collide with other preview/actual renders in many cases.
* Drawing the sequencer preview is now disabled when an other render is in progress, but the sequence preview rendering could have already been started before the other render, so this doesn't really fix anything.
* For now only OpenGL rendering can be used for the sequencer preview reliably until it's reimplemented using the job system.
* Using the job system in the future can handle the clashes between different renders properly and will give users a nice progress bar to indicate something is happening while the preview is recalculated.
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/pipeline.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c index 7230e0b3909..1feb43c04dd 100644 --- a/source/blender/render/intern/source/pipeline.c +++ b/source/blender/render/intern/source/pipeline.c @@ -2451,7 +2451,7 @@ static void do_render_seq(Render * re) { static int recurs_depth = 0; struct ImBuf *ibuf; - RenderResult *rr = re->result; + RenderResult *rr; /* don't assign re->result here as it might change during give_ibuf_seq */ int cfra = re->r.cfra; re->i.cfra= cfra; @@ -2463,9 +2463,11 @@ static void do_render_seq(Render * re) recurs_depth++; - ibuf= give_ibuf_seq(re->main, re->scene, rr->rectx, rr->recty, cfra, 0, 100.0); + ibuf= give_ibuf_seq(re->main, re->scene, re->result->rectx, re->result->recty, cfra, 0, 100.0); recurs_depth--; + + rr = re->result; BLI_rw_mutex_lock(&re->resultmutex, THREAD_LOCK_WRITE); |