Tests: Change failure thresholds for AMD GPUs

While testing driver stack changes while moving our AMD GPU workers
from Rocky Linux 8 to Ubuntu 24.04 these tests came up as errors. Some
of these errors could be attributed to hardware differences (W7600 vs.
W7800).

Pull Request: https://projects.blender.org/blender/blender/pulls/163975
This commit is contained in:
Bart van der Braak 2026-09-16 19:02:20 +02:00
parent 5b5b668d81
commit 86e21e9f8a
3 changed files with 24 additions and 1 deletions

View file

@ -404,11 +404,20 @@ def main():
# Reference images on the CI worker seem to differ slightly from images on
# an NVIDIA RTX 4060 Ti with driver 610.74
report.set_fail_threshold(6.0 / 255.0)
elif test_dir_name.startswith('attributes') and gpu_vendor == "AMD":
# attribute_pointcloud_color
report.set_fail_percent(0.09)
elif test_dir_name.startswith('ray_portal') and gpu_vendor == "AMD":
# AMD PRO W7600
report.set_fail_percent(0.09)
elif test_dir_name.startswith('camera'):
# camera_stereo_panoramic have some platform specific small differences
# Fix back to 0.14 once eevee panorama has proper filtering.
report.set_fail_percent(1.5)
report.set_fail_threshold(6.0 / 255.0)
if gpu_vendor == "AMD" and args.gpu_backend == "opengl":
# camera_fisheye_polynomial
report.set_fail_percent(1.8)
elif test_dir_name.startswith('image_colorspace'):
# image_log has hot pixels that result in platform differences.
report.set_fail_percent(0.15)
@ -486,6 +495,9 @@ def main():
elif test_dir_name.startswith('pointcloud'):
# Only because of points_transparent
report.set_fail_threshold(8.0 / 255.0)
if gpu_vendor == "AMD" and args.gpu_backend == "opengl":
# points_transparent
report.set_fail_percent(0.9)
elif test_dir_name.startswith('motion_blur'):
# Failure can be subtle, tighten threshold
report.set_fail_percent(0.04)
@ -495,8 +507,13 @@ def main():
report.set_fail_percent(0.06)
if args.gpu_backend == "opengl" and gpu_vendor == "AMD":
# large_combined_motion has 1 hot pixel difference in rasterization.
report.set_fail_percent(0.043)
# shutter_curve_triangle on AMD PRO W7600
report.set_fail_percent(0.1)
report.set_fail_threshold(3.0 / 255.0)
elif test_dir_name.startswith('bsdf') and args.gpu_backend == "opengl" and gpu_vendor == "AMD":
# ray_portal fireflies on AMD PRO W7600
report.set_fail_percent(0.3)
report.set_fail_threshold(3.0 / 255.0)
elif test_dir_name.startswith('lightprobe') and args.gpu_backend == "metal":
# Some shadow difference, to be investigated
report.set_fail_percent(0.09)

View file

@ -90,6 +90,9 @@ def main():
# affecting the coverage of FaceDots and similar overlays.
# This means reference images should not be rendered on Intel.
report.set_fail_threshold(0.05)
elif gpu_vendor == "AMD" and args.gpu_backend == "opengl":
report.set_fail_threshold(0.22)
report.set_fail_percent(2.0)
else:
report.set_fail_threshold(0.02)

View file

@ -143,6 +143,9 @@ def main():
report.set_fail_threshold(0.050)
if test_dir_name.startswith('openvdb'):
report.set_fail_threshold(0.04)
if test_dir_name.startswith('hair') and gpu_vendor == "AMD" and args.gpu_backend == "opengl":
report.set_fail_threshold(0.11)
report.set_fail_percent(3.0)
ok = report.run(args.testdir, args.blender, get_arguments, batch=args.batch)