Page MenuHome

Fix (unreported) compositor resolution propagation broken by some nodes
ClosedPublic

Authored by Manuel Castilla (manzanilla) on Apr 13 2021, 10:31 PM.

Details

Summary

Some operations may use no preferredResolution ({0, 0}) when calling determineResolution on inputs to check if they have resolution on their own. See MixOperation or MathOperation determineResolution implementation. In such cases {0, 0} resolution ends up being set when an input doesn't have own resolution, breaking propagation of the original preferredResolution. They don't mean to set it as resolution, it's just a check.

This patch only allows to set valid resolutions (>0). When it's 0 it may be understood as "No preferred or determined resolution" so it should not be set to give output operations another chance of finding a proper resolution by calling determineResolution again with a different preferredResolution.

Test file:

Diff Detail

Repository
rB Blender
Branch
cmp-fix-propag (branched from master)
Build Status
Buildable 14049
Build 14049: arc lint + arc unit

Event Timeline

Manuel Castilla (manzanilla) requested review of this revision.Apr 13 2021, 10:31 PM
Manuel Castilla (manzanilla) created this revision.
Manuel Castilla (manzanilla) retitled this revision from Fix preferredResolution propagation broken by some nodes to Fix (unreported) compositor resolution propagation broken by some nodes.Apr 13 2021, 10:34 PM
Manuel Castilla (manzanilla) edited the summary of this revision. (Show Details)
Manuel Castilla (manzanilla) edited the summary of this revision. (Show Details)
This revision is now accepted and ready to land.Apr 14 2021, 7:28 AM
This revision now requires review to proceed.Apr 14 2021, 7:28 AM
This revision is now accepted and ready to land.Apr 14 2021, 8:17 AM