forked from bartvdbraak/blender
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:
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 ******** */
|
/* ********* globals ******** */
|
||||||
|
|
||||||
@ -1450,9 +1439,6 @@ void RE_TileProcessor(Render *re)
|
|||||||
|
|
||||||
static void do_render_3d(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;
|
RenderView *rv;
|
||||||
int cfra_backup;
|
int cfra_backup;
|
||||||
|
|
||||||
@ -1500,13 +1486,7 @@ static void do_render_3d(Render *re)
|
|||||||
re->draw_lock(re->dlh, 0);
|
re->draw_lock(re->dlh, 0);
|
||||||
|
|
||||||
threaded_tile_processor(re);
|
threaded_tile_processor(re);
|
||||||
|
|
||||||
#ifdef FREESTYLR_SAVEBUFFERS_WORKAROUND
|
|
||||||
if (do_early_result_merge) {
|
|
||||||
main_render_result_end(re);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef WITH_FREESTYLE
|
#ifdef WITH_FREESTYLE
|
||||||
/* Freestyle */
|
/* Freestyle */
|
||||||
if (re->r.mode & R_EDGE_FRS)
|
if (re->r.mode & R_EDGE_FRS)
|
||||||
@ -1523,13 +1503,7 @@ static void do_render_3d(Render *re)
|
|||||||
RE_Database_Free(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);
|
main_render_result_end(re);
|
||||||
#endif
|
|
||||||
|
|
||||||
re->scene->r.cfra = cfra_backup;
|
re->scene->r.cfra = cfra_backup;
|
||||||
re->scene->r.subframe = 0.f;
|
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");
|
BKE_report(reports, RPT_ERROR, "Fields not supported in Freestyle");
|
||||||
return false;
|
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
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user