Vulkan: Disable Workbench image log render tests

The image log render tests uses an EXR that contains INF. Workbench
with specular enabled will mix these INFs, but there is a difference
in behavior between OpenGL and Vulkan.

In OpenGL mix(0.05, INF, 0.0) will result in INF
In Vulkan this results in NaN.

This should eventually be solved in the engine to ensure consistency.
For now we disable the render test and document the limitation.

Pull Request: https://projects.blender.org/blender/blender/pulls/146648
This commit is contained in:
Jeroen Bakker
2025-09-23 16:45:30 +02:00
parent e90c08fa98
commit 6872fb1aaf

View File

@@ -25,6 +25,13 @@ except ImportError:
# this script is run during preparation steps.
pass
BLOCKLIST_VULKAN = [
# Blocked due behavior differences. mix(0.05, INF, 0.0) will result a NaN in Vulkan, but INF in OpenGL.
# The INF is part of the EXR image.
"image_log.blend",
"image_log_osl.blend",
]
def setup():
import bpy
@@ -90,7 +97,11 @@ def main():
parser = create_argparse()
args = parser.parse_args()
report = WorkbenchReport("Workbench", args.outdir, args.oiiotool, variation=args.gpu_backend)
blocklist = []
if args.gpu_backend == "vulkan":
blocklist += BLOCKLIST_VULKAN
report = WorkbenchReport("Workbench", args.outdir, args.oiiotool, variation=args.gpu_backend, blocklist=blocklist)
if args.gpu_backend == "vulkan":
report.set_compare_engine('workbench', 'opengl')
else: