Fix #126565: Render region corrupt compositor output

Activating render region while using the CPU compositor produces corrupt
output for areas outside of the region when using the File Output node.
That's because the Full Frame compositor ignored nodes' render_border
flag, so the areas of interest of nodes that didn't consider render
border like the File Output were corrupt, producing uninitialized
outputs.

To fix this, we just consider the render_border flag when determining
output areas for output nodes in the Full Frame compositor.

Pull Request: https://projects.blender.org/blender/blender/pulls/128546
This commit is contained in:
Omar Emara
2024-10-04 14:25:31 +02:00
committed by Omar Emara
parent ccab8005f6
commit 6ae3232eda

View File

@@ -257,7 +257,8 @@ void FullFrameExecutionModel::get_output_render_area(NodeOperation *output_op, r
const bool has_viewer_border = border_.use_viewer_border &&
(output_op->get_flags().is_viewer_operation ||
output_op->get_flags().is_preview_operation);
const bool has_render_border = border_.use_render_border;
const bool has_render_border = border_.use_render_border &&
output_op->get_flags().use_render_border;
if (has_viewer_border || has_render_border) {
/* Get border with normalized coordinates. */
const rctf *norm_border = has_viewer_border ? border_.viewer_border : border_.render_border;