Fix T78777: Cycles motion blur test differences between AVX/AVX2

This appears to be slight precision differences in the Embree implementation,
simply increase the diff threshold a little for these motion blur tests.
This commit is contained in:
Brecht Van Lommel 2020-08-05 11:20:25 +02:00
parent 4a289081a5
commit de53178b26
2 changed files with 14 additions and 2 deletions

@ -63,6 +63,11 @@ def main():
report.set_pixelated(True) report.set_pixelated(True)
report.set_reference_dir("cycles_renders") report.set_reference_dir("cycles_renders")
report.set_compare_engines('cycles', 'eevee') report.set_compare_engines('cycles', 'eevee')
# Increase threshold for motion blur, see T78777.
if test_dir == 'motion_blur':
report.set_fail_threshold(0.032)
ok = report.run(test_dir, blender, get_arguments, batch=True) ok = report.run(test_dir, blender, get_arguments, batch=True)
sys.exit(not ok) sys.exit(not ok)

@ -104,6 +104,8 @@ class Report:
'reference_dir', 'reference_dir',
'idiff', 'idiff',
'pixelated', 'pixelated',
'fail_threshold',
'fail_percent',
'verbose', 'verbose',
'update', 'update',
'failed_tests', 'failed_tests',
@ -118,6 +120,8 @@ class Report:
self.reference_dir = 'reference_renders' self.reference_dir = 'reference_renders'
self.idiff = idiff self.idiff = idiff
self.compare_engines = None self.compare_engines = None
self.fail_threshold = 0.016
self.fail_percent = 1
self.pixelated = False self.pixelated = False
self.verbose = os.environ.get("BLENDER_VERBOSE") is not None self.verbose = os.environ.get("BLENDER_VERBOSE") is not None
@ -136,6 +140,9 @@ class Report:
def set_pixelated(self, pixelated): def set_pixelated(self, pixelated):
self.pixelated = pixelated self.pixelated = pixelated
def set_fail_threshold(self, threshold):
self.fail_threshold = threshold
def set_reference_dir(self, reference_dir): def set_reference_dir(self, reference_dir):
self.reference_dir = reference_dir self.reference_dir = reference_dir
@ -366,8 +373,8 @@ class Report:
# Diff images test with threshold. # Diff images test with threshold.
command = ( command = (
self.idiff, self.idiff,
"-fail", "0.016", "-fail", str(self.fail_threshold),
"-failpercent", "1", "-failpercent", str(self.fail_percent),
ref_img, ref_img,
tmp_filepath, tmp_filepath,
) )