[Bf-blender-cvs] [33297db] master: OpenGL: Do not schedule new frames for write if error happens

Sergey Sharybin noreply at git.blender.org
Fri Oct 7 17:48:28 CEST 2016


Commit: 33297db9de8f9313ed6975bd3645c45093e7c0e6
Author: Sergey Sharybin
Date:   Fri Oct 7 16:05:51 2016 +0200
Branches: master
https://developer.blender.org/rB33297db9de8f9313ed6975bd3645c45093e7c0e6

OpenGL: Do not schedule new frames for write if error happens

Also do not attempt to write any already scheduled frames.

===================================================================

M	source/blender/editors/render/render_opengl.c

===================================================================

diff --git a/source/blender/editors/render/render_opengl.c b/source/blender/editors/render/render_opengl.c
index db0ffb9..3737c32 100644
--- a/source/blender/editors/render/render_opengl.c
+++ b/source/blender/editors/render/render_opengl.c
@@ -841,6 +841,11 @@ static void write_result_func(TaskPool * __restrict pool,
 	const bool is_movie = BKE_imtype_is_movie(scene->r.im_format.imtype);
 	const int cfra = task_data->cfra;
 	bool ok;
+	/* Don't attempt to write if we've got an error. */
+	if (!oglrender->pool_ok) {
+		RE_FreeRenderResult(rr);
+		return;
+	}
 	/* Construct local thread0safe copy of reports structure which we can
 	 * safely pass to the underlying functions.
 	 */
@@ -907,6 +912,7 @@ static void write_result_func(TaskPool * __restrict pool,
 static bool schedule_write_result(OGLRender *oglrender, RenderResult *rr)
 {
 	if (!oglrender->pool_ok) {
+		RE_FreeRenderResult(rr);
 		return false;
 	}
 	Scene *scene = oglrender->scene;




More information about the Bf-blender-cvs mailing list