[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [50719] trunk/blender/source/blender: Fixed missing display buffer invalidation when rendering sequencer animation
Sergey Sharybin
sergey.vfx at gmail.com
Tue Sep 18 10:40:54 CEST 2012
Revision: 50719
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=50719
Author: nazgul
Date: 2012-09-18 08:40:53 +0000 (Tue, 18 Sep 2012)
Log Message:
-----------
Fixed missing display buffer invalidation when rendering sequencer animation
Modified Paths:
--------------
trunk/blender/source/blender/blenkernel/intern/image.c
trunk/blender/source/blender/editors/render/render_internal.c
trunk/blender/source/blender/render/intern/source/pipeline.c
Modified: trunk/blender/source/blender/blenkernel/intern/image.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/image.c 2012-09-18 08:00:19 UTC (rev 50718)
+++ trunk/blender/source/blender/blenkernel/intern/image.c 2012-09-18 08:40:53 UTC (rev 50719)
@@ -2585,7 +2585,9 @@
/* invalidate color managed buffers if render result changed */
BLI_lock_thread(LOCK_COLORMANAGE);
- if (ibuf->x != rres.rectx || ibuf->y != rres.recty || ibuf->rect_float != rectf) {
+ if (ibuf->x != rres.rectx || ibuf->y != rres.recty ||
+ ibuf->rect_float != rectf || ibuf->rect != rect)
+ {
ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
}
Modified: trunk/blender/source/blender/editors/render/render_internal.c
===================================================================
--- trunk/blender/source/blender/editors/render/render_internal.c 2012-09-18 08:00:19 UTC (rev 50718)
+++ trunk/blender/source/blender/editors/render/render_internal.c 2012-09-18 08:40:53 UTC (rev 50719)
@@ -124,8 +124,14 @@
if (rr->rectf)
rectf = rr->rectf;
else {
- if (rr->rect32)
+ if (rr->rect32) {
+ /* special case, currently only happens with sequencer rendering,
+ * which updates the whole frame, so we can only mark display buffer
+ * as invalid here (sergey)
+ */
+ ibuf->userflags |= IB_DISPLAY_BUFFER_INVALID;
return;
+ }
else {
if (rr->renlay == NULL || rr->renlay->rectf == NULL) return;
rectf = rr->renlay->rectf;
Modified: trunk/blender/source/blender/render/intern/source/pipeline.c
===================================================================
--- trunk/blender/source/blender/render/intern/source/pipeline.c 2012-09-18 08:00:19 UTC (rev 50718)
+++ trunk/blender/source/blender/render/intern/source/pipeline.c 2012-09-18 08:40:53 UTC (rev 50719)
@@ -1718,6 +1718,9 @@
re->progress(re->prh, (float)(cfra - re->r.sfra) / (re->r.efra - re->r.sfra));
else
re->progress(re->prh, 1.0f);
+
+ /* would mark display buffers as invalid */
+ re->display_draw(re->ddh, re->result, NULL);
}
/* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
More information about the Bf-blender-cvs
mailing list