EEVEE: Update test failure threshold

After fixing a bunch of issues over the years,
the render tests failure threshold it too high and
let valid errors become undetected.

Divide the fail threshold by 10 in most cases
and by 2 in worst cases.

This reduces the threshold to a very low number since
most EEVEE renders have a low amount of noise.

Some tests are updated to reduce platform differences.

This unveiled quite a few issues that will be fixed
in main later on (see blocklist edits).

Test refinement:
- 🟩 NVidia Opengl (reference)
- 🟩 AMD Opengl
- 🟩 AMD Vulkan
- 🟩 Intel Opengl
- 🟩 Metal

Pull Request: https://projects.blender.org/blender/blender/pulls/158810
This commit is contained in:
Clément Foucault 2026-05-22 07:36:11 +02:00 • committed by Clément Foucault
parent b63c56c728
commit df30a8b3ec
62 changed files with 207 additions and 153 deletions

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ff10e10563876e9af09ad58b019b5563198789c47ece357a9cfe504e25fdbae7
size 22204
oid sha256:8dbda482a9f1ad0aff4949e58abe2009ebaf2e05b3ecdbb61ccae782ea2ad28a
size 22382

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0a9b90382aeaab03dadcfcfb06f928a23b8015503395b78b0ef9b16588bcd492
size 21857
oid sha256:46edbf74f3486cabfe7b8c3209124da826c0613cf95c75db391552b3fe232f73
size 21978

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1cdc9d4b3b2c287187bf9ae4fe8627fc4faddf3d6e7cfb5d8a03d53168bfa236
size 22816

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e6fdd229fa5c4e28b32777e5d6b797fc05651bc6c44e7d14967c17bed552e1a0
size 31129

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9ae153a3d44dc2681251206feb35cb2aba862e57b040eabaa459009202f7035e
size 15173
oid sha256:3cc5ef1e052a24ab9c2295b0e05a5d74ca5b3b7ba6e8d3a144e030e351727a93
size 14872

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:382f96b18a36faad13ebb31c7e2d3fae99856f9d1b180367110b63919e1c64f2
size 141230

View file

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b7eebecd389131bfd36d82db030b32f96ae133e1d6ea95ce127d5d2634d28ead
size 137090

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1e7f2001633bc080ef1b6bcf2d450a1ce5895ffa37ccc116c009784167994a56
size 118294
oid sha256:b0e7917d608912723d3add7bf0d56f5952ce66687687a2a4b6f0f70234449499
size 702934

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bd40e2f561e91c03ee7c97d8c2c580bd7acee021d1096520b80080a6c005f4d2
size 118649
oid sha256:6d009efcf00f09269ac04a251a31c46f8025be82d8faa26c6ca47f68c40e5863
size 121078

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5ec41f722897d0ef6d0edc1efbd364b55b7d57e7098c2ac714842aae9bc58265
size 21482
oid sha256:7039cb28451c63faaf83d6ec71ff31a0cc8b51ecdf861a57f8a4fb739300cb95
size 21496

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a28af7f417e0ce8dcb9e44c591bee8a9bacfc2aaf3ae6af99de1d14b4d5085e5
size 14756
oid sha256:e7194df6fc91ff34edb846ef06b54d64dcd6b206958eb1da6b3bb3010948bd26
size 14771

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:39a29c587eadb466f57f4cdc1d2f60e507c12cd9d3d469fbc6f1164ebaf8e2d6
size 6471
oid sha256:e7260e082c53e726d693af84f333f2d0026a045301cb29671a529f046b6d676f
size 6486

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ef9d335b39aaa7533ee3745498bef0ac71b04282bef96ebb045e2c75066c090e
size 14697
oid sha256:d0d90d14f686aa458fc55b823c1bd564bf9ffcf3dca02773a01d3d0bf3b6a0d9
size 14448

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a2d5d5f226a08f94cc578d44338cc60eb247ff2e8bf9a2e345b81c2c84bc5063
size 20937
oid sha256:683d0188214665bae3dd1a9d808dda3560fdd96562123747a93fefd83b07bd16
size 19454

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d3be114a8d182174bf06bafa8e71433fa3876909fc5ffbb9fe8a4fd8543e1bdd
size 133177
oid sha256:30d81218719c2b6ac9187d6a2bbe43178193857f4d90bced353ea64dd3740a52
size 132474

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1ad67e04d7dc1d81e8b6529be487cb3121d53775c241ccc5be55908224b55382
size 145964
oid sha256:42aa768be05a32571ff659421d44598be762bc9a63068e2bc69514744f44955e
size 147769

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8841f8f586a56d142fa1ed070e0a2055c4014327c052ef3102787cc6dc30ac83
size 1347940
oid sha256:fece7286d99b172d1266fef9301f55a20ad867bae8ae7c1ffb208f214cb160db
size 4244408

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a7f44182dda3bb5ada6428290d3c5e01c21c011b87390bb15d62c40fe6063566
size 27962
oid sha256:2cea7896afb14372b90d1b1c8ba5792a09de86dfb0cdd2f21fa1e4e97dd611d2
size 27921

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d6cdadd211db99d813395306525fcdd84c6f9713cdf7238864b166dfd21b293f
size 23243
oid sha256:dbae327e9c5ce6ee97842f78b69484a7d50c48481faedf2e3395b1fed04f7292
size 23322

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:96c09bb497c17d1aed19966e8280db088e73a865069aa32da0229d6d4e45a6d9
size 29924
oid sha256:09c6cc2b0640831bdb1fefd1311d99146c46089342c95108a28785dc0a89ecab
size 29939

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b40096d0cf2ff3aa3001162b41398556a381abe366b099c522ae5f8ae7779114
size 17741
oid sha256:d207e0bb079cc730e1fdb6af5b5f9838efc10a89f54465f911b61cf8beea1733
size 18003

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:07474861d1cccb93ed0f82ea94511d4e2129006b14fd3447998c3c814f1567ea
size 18882
oid sha256:dfdd255858780b19683767b3f9b2fdf6ebcf2cade497a5f2cb4be8ed6c7b36f8
size 18014

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1e54299d1b86533b0e0d0afd0da82ac9e1ed566f7c8bf6f0858cdcfb75bcb3bd
size 21722
oid sha256:2c918a3f5c3c348ed5abb31d826ec0032ddc55d36eeaef25100da9ece2a6b042
size 19980

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c8763550f67bfa6f2953309057c7bb1c3b1d721eeaf5c855387dc0ca2fc70fe0
size 34749
oid sha256:17217657c310a75edff2fc6cb40c2c877c3aee55bd6feb1c0a894f91af1ed88e
size 34704

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6f9643c3d08082cb3a81dfa90f67f4c04b7ef2425380b6f3ecd329d9ecdeac7e
size 22891
oid sha256:706dcb606a2392f4b187d4aa09908cfc29d3c50c441eeebe6842ca30b6787b97
size 20357

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d1ceceded0d7888490150a26096cff4eeb6b3664c54b3ff8b613868bb2ca3953
size 17318
oid sha256:e55cd76508fcf1bcf126417af0963abd8457bf7d06fda3c32e6deb3caa8fba02
size 15805

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1d89a53e2bbeb0b0545eb6c6caf9de3b6ad5a1c6ccafb532b5aafcb19fbe37cc
size 17061
oid sha256:139872c861bd7e344ed781764e1f61572237535c1626acdea1738a50c7a40fc8
size 15710

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9038759fe159d28bd980801dd9a48986ac7a251034072ca89fffd2515642a06e
size 128382
oid sha256:c254087a0f02b3bb35c4257d05f989eae6a75149be88c5c8627e87c92b51313c
size 129225

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8725d0694546bd697d87738eff6b0d18f61551388f475a1d45f28d4d4c285062
size 112646
oid sha256:095807a9fab63e1cac8118395017e51ccf514f74921eeee6f2855b37bd992d0a
size 111885

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3e91289f8b8386889581466104e2268357f6ed5b24ba243948b8b1527fef9f42
size 102783
oid sha256:78557403fd3dc2a35e37db3b46dbe94527a52878223a1f07c3a54a25badb0043
size 677961

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1f677021696f50a8f6165a162965728824ae1361eff1354fbd77d3256275db8c
size 121346
oid sha256:894878ece634c5946ad8ba539da580e191e096228100e3f931b5096b7197aed7
size 722608

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0454daa56c03c27c5c97c10cb09161c69a78c8cbf4709a0555b3f787daebcb27
size 117601
oid sha256:33120fd2cb225fc99606ab33eac9cd2eeaf93f9daec7b68e037bf4f86c27811e
size 116059

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:61e39049a9226424675f4536fda00043581d958ecb606f591d0dd54f0c8e60fb
size 16394
oid sha256:1c10d7409ee5589495fc602026ecba884ef5a9c928083e607bc8b0906ce5968f
size 16332

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4805d2a850f1e3b52e381ece3b64947b2b0a3549ca8e10b01e5ba1b196323b69
size 16405
oid sha256:95993aa362f3607012367523a602c15c648ffd41b964f90745095187e55e6e4f
size 16343

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9635daa8e7a70196aa911c0a450909b67d424d9dcbd20e10023e044c2040f1a1
size 26288
oid sha256:0f4e465df7e91eef669c3acf8af39590defca4f708ea2612e0ef705db867a8f7
size 26480

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ad46ff1f9db62a48fd44b9cbcb04a46130ce15a250fadcf95e9463a8588b3336
size 21989
oid sha256:2ccf38cc9fbedf31a5b347dfe39724d22848483fabb255d05407cf4e9f489c17
size 21257

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a3d2e0d33aac7dccbb092763672163d310726514a87939f67d15c3313bbae44e
size 139029
oid sha256:ece404167eb57431e3b28d7c5f609330df25a40da284790afa65eb09acda89c2
size 139264

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1be81d81df44bde96e210b25afcb517ca78e83798430a6f0165d1cd82be1bc53
size 5300
oid sha256:7bcf48ebb97a29880e9cadc87facffc017b4b40b6c61269a134acbe7988aeddb
size 5395

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1cf6d6648d202166f55140be13590985fde0cea1546deda85c416116e2b1ea4f
size 33560
oid sha256:0aca1c7801748fa6e85ffec34adb78dca1c98d4b8254a4b4e8f0e90e3c453fc8
size 32854

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6fb73b4702f8313533052ed05359d6c47d6f98d017a7338cc82edb2679c69009
size 117375
oid sha256:990ae3a280e0c9292079cdd4d03ac22f1a53fffae7e943649a757042865e93c9
size 569786

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e276e0c2017f70f632d0c8cf40a319c87a5f71a8b5b76863122bce30a9f0a72e
size 20633
oid sha256:01e15b8c066282a8dca32e0fb4f9074f3f143835569ffdd29c18c7f73029da5f
size 21209

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d71980a597c6c42592da66189b9559ed3ca2ff9127ae7d78cda591f93931a1a8
size 125356
oid sha256:340e9cf03583ef1a29b3b93b72dc8e6f4563d58bcb12763a272e5d6d86178b32
size 908024

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:712da3604a271d413b1202b686400729121d76e8bbdb7998b92f009374abf47c
size 150487
oid sha256:7b0f2c4f17385ff170f420ac912c48d2911bc3e5af27709b3a976aadabb57d88
size 146787

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f4c1a58808ad6624a27f573ab8c8ff02c5487324962141195299a285ff68e94f
size 25603
oid sha256:2b13f53d76225f2286a16476a49a50f9eae08fd3ec67d0ef907ab46c6e5da677
size 22266

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:df7c912927870fd4be9545e19f30e4394122ddfe8fbd997aa107c3167505f2d0
size 8571
oid sha256:fe4dc0a259365ebeb3c18e6a0b56ae6fde2cd3f81e4a6ad4665d95d8de1afe5d
size 8683

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:30d58f802cdc019049a669a8575311f950d71fc543816a2fba9eeaf8a2cf808b
size 30444
oid sha256:d6552e3b9b6cd85a3458870e7cfbf819866d2dccfecb9516359c7cdecdba45da
size 30268

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0121874731f83d9b6775df2a1a1061953df44c034e615ede28177e04c2c56096
size 169843
oid sha256:38391bb5357459d213575dd0f2d5fc61d12a0aee099f6a56f0383c97d43d56c4
size 170312

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:908c4e7ae24de5938a3cccfdf3911bd6462fa7c82d68d7696d52304be3630dd6
size 22665

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:582ef3f5c28510c93947bff11cf7e66b5893180b2eec7169fc1b7426abdbfd9d
size 29685

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a42388fe660729a3fb0ac5f3c4d58546075b0f42eaf50601e2df733078fd4ddb
size 140778

View file

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c78e90090a166f17a5c283102e5b24cd84058558265362ed93da6ba3f3567de8
size 137694

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aaa6305c031c301c201293041bcc126cbe007acd3f0d5b955d3f17369e8e519f
size 35414
oid sha256:d8f28b4ca3985f3ecb1c434713dc88ae6043c7f70ada48526df0506f1988be01
size 35490

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:371bc71985503aab59fca4745cd9d833a86ac311980bfbc0813cab4718859c22
size 23573
oid sha256:cd55309b883a8196fd6601d8a472a6ba44bbc56ea774362142d343560ea85fdc
size 23613

View file

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c50b6d48db9d2fe1e2d9f1272b762730b2be713a510668959038ecfd92eaa4a
size 22546
oid sha256:4f479af3ab71ffbecf562b9f8f3b3978c4914c27075af39d5c5b0b1c0a874bb8
size 22560

View file

@ -908,6 +908,7 @@ if((WITH_CYCLES OR WITH_GPU_RENDER_TESTS) AND TEST_SRC_DIR_EXISTS)
shadow_catcher
sss
texture
transparency
)
set(workbench_tests

View file

@ -46,6 +46,22 @@ BLOCKLIST = [
"raycast_bump.blend",
# Blocked due to platform-dependent uninitialized pixels.
"image_mapping_udim.blend",
# Redundant with hair_linear_close_up.
"hair_ribbon_close_up.blend",
# Redundant with transparent_shadow.
"transparent_shadow_limit_.*",
# Redundant with transparent_shadow_hair.
"transparent_shadow_hair_blur.blend",
# Unsupported feature. Redundant tests.
"osl_camera_.*",
# Extreme texture values interpolate differently on different GPUs.
"image_log.blend",
# Exhibit the LTC light leaking issue. To be enabeld back after fixing.
"light_path_glossy_depth.blend",
# Exhibit non-deterministic behavior because of tracing outside the spotlight 45° cone.
"light_path_is_camera_ray.blend",
# Exhibit non-deterministic (to be fixed).
"background_scene.blend",
]
BLOCKLIST_METAL = [
@ -59,9 +75,17 @@ BLOCKLIST_METAL = [
"image.blend",
# Blocked due to subtle differences in DOF
"osl_camera_advanced.blend",
# Blocked due to volume occupancy being broken
"texture_coordinate_object.blend",
]
BLOCKLIST_VULKAN = [
# Blocked due to UB in the background pixels (to be fixed).
"lightprobe_planar.blend",
# Blocked due to texture interpolation differences (to be investigated).
"principled_blackbody.blend",
# Blocked due to difference in indirect light (AMD linux) (to be investigated).
"sss_concave_clamp.blend",
# Blocked due to difference in screen space tracing (to be investigated).
"image.blend",
]
@ -247,8 +271,8 @@ def main():
elif args.gpu_backend == "opengl":
blocklist += BLOCKLIST_OPENGL
gpu_vendor = render_report.get_gpu_device_vendor(args.blender)
if os.getenv("BLENDER_TEST_IGNORE_VENDOR_BLOCKLIST") is None:
gpu_vendor = render_report.get_gpu_device_vendor(args.blender)
if gpu_vendor == "INTEL":
blocklist += BLOCKLIST_INTEL
if gpu_vendor == "INTEL" and sys.platform == "win32" and args.gpu_backend == "opengl":
@ -262,58 +286,87 @@ def main():
report.set_pixelated(True)
report.set_reference_dir("eevee_renders")
# Default settings are too lose. EEVEE renders have much less noise than a path tracer.
report.set_fail_percent(0.08)
report.set_fail_threshold(4.0 / 255.0)
test_dir_name = Path(args.testdir).name
if test_dir_name.startswith('image_mapping'):
# Platform dependent border values. To be fixed
report.set_fail_threshold(0.2)
elif test_dir_name.startswith('image'):
report.set_fail_threshold(0.051)
elif test_dir_name.startswith('displacement'):
# metal shadow and wireframe difference. To be fixed.
report.set_fail_threshold(0.07)
elif test_dir_name.startswith('bsdf'):
# metallic thinfilm tests and dithered transparency
report.set_fail_threshold(0.045)
elif test_dir_name.startswith('principled_bsdf'):
# principled bsdf transmission test
report.set_fail_threshold(0.02)
if gpu_vendor == "NVIDIA" and args.gpu_backend == "opengl":
# References are supposed to be generated on OpenGL Nvidia. Tighten the threshold for this platform.
report.set_fail_percent(0.049)
report.set_fail_threshold(2.0 / 255.0)
elif test_dir_name.startswith('camera'):
# Line/rasterization difference (Old AMD/Linux/OpenGL only, see #154515)
report.set_fail_threshold(0.0375)
elif test_dir_name.startswith('raycast'):
# Line/rasterization difference (Old AMD/Linux/OpenGL only, see #154516)
report.set_fail_threshold(0.02)
# Noise pattern changes depending on platform. Mostly caused by transparency.
# TODO(fclem): See if we can just increase number of samples per file.
if test_dir_name.startswith('render_layer'):
# shadow pass, rlayer flag
report.set_fail_threshold(0.08)
elif test_dir_name.startswith('hair'):
# hair close up
report.set_fail_threshold(0.0275)
elif test_dir_name.startswith('integrator'):
# Noise difference in transparent materials
report.set_fail_threshold(0.05)
elif test_dir_name.startswith('pointcloud'):
# points transparent
report.set_fail_threshold(0.06)
elif test_dir_name.startswith("lightprobe"):
# Avoid higher threshold of the light case
report.set_fail_threshold(0.01)
elif test_dir_name.startswith('light_linking'):
# Noise difference in transparent material
report.set_fail_threshold(0.05)
elif test_dir_name.startswith('light'):
# Noise difference in background
report.set_fail_threshold(0.03)
elif test_dir_name.startswith('texture'):
# Noise difference in "white noise 256pp" (Old AMD/Linux/OpenGL only, see #154515)
report.set_fail_threshold(0.02)
# camera_central_cylindrical and camera_stereo_panoramic have some platform specific small differences
report.set_fail_percent(0.8)
report.set_fail_threshold(6.0 / 255.0)
elif test_dir_name.startswith('image_colorspace'):
# image_log has hot pixels that result in platform differences.
report.set_fail_percent(0.15)
elif test_dir_name.startswith('displacement'):
# Real & bump displacement use hardware derivatives which results in platform differences.
report.set_fail_percent(0.38)
report.set_fail_threshold(7.0 / 255.0)
elif test_dir_name.startswith('transparency'):
# Dithered transparency uses platform dependent noise pattern.
report.set_fail_percent(0.22)
report.set_fail_threshold(10.0 / 255.0)
elif test_dir_name.startswith('instancing'):
# Noise difference in "instance_types" on the point-clouds (Metal only, to investigate)
report.set_fail_threshold(0.02)
# Small pointcloud has platform dependent raster pattern
report.set_fail_threshold(8.0 / 255.0)
if args.gpu_backend == "metal":
report.set_fail_percent(0.33)
elif test_dir_name.startswith('hair'):
# hair_close_up has differences of line rasterization on linux.
if gpu_vendor == "INTEL":
report.set_fail_percent(0.13)
elif test_dir_name.startswith('principled_bsdf'):
# principled_bsdf_thinfilm_metallic has some weird behavior in reflection of
# black surfaces. to be investigated
report.set_fail_percent(0.09)
elif test_dir_name.startswith('integrator'):
# Noise difference in transparent materials (mostly transparent_spatial_splits)
report.set_fail_threshold(8.0 / 255.0)
if gpu_vendor == "INTEL":
# light_path_is_singular_ray has some fireflies.
report.set_fail_percent(0.11)
elif test_dir_name.startswith('light_linking'):
# Noise difference in transparent materials (mostly shadow_link_transparency) and volume
report.set_fail_threshold(8.0 / 255.0)
elif test_dir_name.startswith('texture'):
# Texture sampling and noise function different per platform.
# Also voronoi_f1 test uses `pow()` which has different precision depending on platform.
report.set_fail_percent(0.46)
report.set_fail_threshold(6.0 / 255.0)
elif test_dir_name.startswith('shader'):
# normal_mapping_light_leak fireflies.
# fresnel_layer_weight high values are accumulated differently on different platform.
report.set_fail_percent(0.2)
if gpu_vendor == "INTEL":
# mix_color uses implementation dependent function.
report.set_fail_percent(0.41)
elif test_dir_name.startswith('render_layer'):
# Because of aov_transparency noise pattern
report.set_fail_percent(0.5)
report.set_fail_threshold(8.0 / 255.0)
elif test_dir_name.startswith('grease_pencil'):
# TAA dependent look? To be investigated.
report.set_fail_percent(0.1)
report.set_fail_threshold(6.0 / 255.0)
elif test_dir_name.startswith('raycast') and gpu_vendor == "AMD":
# Some slight contour differences on AMD
report.set_fail_percent(0.37)
report.set_fail_threshold(10.0 / 255.0)
elif test_dir_name.startswith('pointcloud'):
# Only because of points_transparent
report.set_fail_threshold(8.0 / 255.0)
elif test_dir_name.startswith('motion_blur'):
# Failure can be subtle, tighten threshold
report.set_fail_percent(0.04)
report.set_fail_threshold(2.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)
report.set_fail_threshold(6.0 / 255.0)
ok = report.run(args.testdir, args.blender, get_arguments, batch=args.batch)
sys.exit(not ok)