Revert "Fix/Workaround T44662: Freestyle gives no visual output when the Save Buffers option is enabled"
This reverts commit ab417f31f4
.
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
Conflicts:
source/blender/render/intern/source/pipeline.c
This commit is contained in:
parent
2c9e89c220
commit
d9b43081b6
Notes:
blender-bot
2023-02-14 08:59:10 +01:00
Referenced by issue #45152, 3D Stereo rendering with Cycles does not work correctly with Freestyle enabled
|
@ -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 ******** */
|
||||
|
||||
|
@ -1446,9 +1435,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;
|
||||
|
||||
|
@ -1496,13 +1482,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)
|
||||
|
@ -1519,13 +1499,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;
|
||||
|
@ -2966,13 +2940,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, "Multiview combined with Save Buffers not supported in Freestyle");
|
||||
return false;
|
||||
}
|
||||
# endif
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in New Issue