Revert "Fix/Workaround T44662: Freestyle gives no visual output when the Save Buffers option is enabled"

This reverts commit ab417f31f403d74a76fb51fbd6e2aa3f706e15f1.

This workaround caused serious memory corruption issues which is not really acceptable
for the release. We'll be likely sticking to a more limited release when using freestyle
with saved buffers for until proper solution is implemented.

Conflicts:
	source/blender/render/intern/source/pipeline.c
This commit is contained in:
Sergey Sharybin 2015-06-17 18:02:02 +02:00
parent fc35b758ad
commit da61c36f2a

@ -121,17 +121,6 @@
*
*/
/* Freestyle needs the whole frame to be merged into memory prior to
* doing stroke rendering. This conflicts a bit with multiview save
* buffers behavior which does a merge of exr files after all the
* views are rendered.
*
* For until a proper solution is implemented we'll just merge single
* view image prior to freestyle stroke rendering, which is how this
* worked prior to multiview. Multiview+freestyle+save buffers are
* considered unsupported for the time being.
*/
#define FREESTYLR_SAVEBUFFERS_WORKAROUND
/* ********* globals ******** */
@ -1450,9 +1439,6 @@ void RE_TileProcessor(Render *re)
static void do_render_3d(Render *re)
{
#ifdef FREESTYLR_SAVEBUFFERS_WORKAROUND
const bool do_early_result_merge = (re->r.scemode & R_MULTIVIEW) == 0;
#endif
RenderView *rv;
int cfra_backup;
@ -1500,13 +1486,7 @@ static void do_render_3d(Render *re)
re->draw_lock(re->dlh, 0);
threaded_tile_processor(re);
#ifdef FREESTYLR_SAVEBUFFERS_WORKAROUND
if (do_early_result_merge) {
main_render_result_end(re);
}
#endif
#ifdef WITH_FREESTYLE
/* Freestyle */
if (re->r.mode & R_EDGE_FRS)
@ -1523,13 +1503,7 @@ static void do_render_3d(Render *re)
RE_Database_Free(re);
}
#ifdef FREESTYLR_SAVEBUFFERS_WORKAROUND
if (!do_early_result_merge) {
main_render_result_end(re);
}
#else
main_render_result_end(re);
#endif
re->scene->r.cfra = cfra_backup;
re->scene->r.subframe = 0.f;
@ -2970,13 +2944,6 @@ bool RE_is_rendering_allowed(Scene *scene, Object *camera_override, ReportList *
BKE_report(reports, RPT_ERROR, "Fields not supported in Freestyle");
return false;
}
# ifdef FREESTYLR_SAVEBUFFERS_WORKAROUND
if ((scene->r.scemode & R_MULTIVIEW) != 0 && (scene->r.scemode & R_EXR_TILE_FILE) != 0) {
BKE_report(reports, RPT_ERROR, "Multi-View combined with Save Buffers not supported in Freestyle");
return false;
}
# endif
}
#endif