mirror of
https://github.com/blender/blender
synced 2026-09-29 04:37:17 +03:00
Fix #162523: GPU: Add mipmap workaround for Intel Arc Windows OpenGL
The compute-shader based function `update_mipmaps` can generate broken mipmaps for Intel Arc Windows OpenGL. A workaround for falling back to `generate_mipmap` is added to mitigate the issue. Furthermore, a render test is added that catches the issue. Pull Request: https://projects.blender.org/blender/blender/pulls/162524
This commit is contained in:
parent
f6c6ee2405
commit
9dfdae1c36
7 changed files with 89 additions and 24 deletions
|
|
@ -67,6 +67,17 @@ BLOCKLIST = [
|
|||
"light_path_is_camera_ray.blend",
|
||||
# Exhibit non-deterministic (to be fixed).
|
||||
"background_scene.blend",
|
||||
# Currently, the only image_mipmap test enabled for EEVEE is image_mipmap_large_tex.blend.
|
||||
"image_cache_evict.blend",
|
||||
"image_mipmap_area_light.blend",
|
||||
"image_mipmap_filter_glossy.blend",
|
||||
"image_mipmap_incomplete_derivs.blend",
|
||||
"image_mipmap_light_tree.blend",
|
||||
"image_mipmap_transparent_shadow.blend",
|
||||
"image_mipmap_volume.blend",
|
||||
"image_mipmap_working_space.blend",
|
||||
"image_mipmap_world.blend",
|
||||
"image_mipmap_world_sun.blend",
|
||||
|
||||
### Cycles only tests go here ###
|
||||
]
|
||||
|
|
@ -384,6 +395,10 @@ def main():
|
|||
elif test_dir_name in {"texture"}:
|
||||
report.set_fail_percent(0.14)
|
||||
report.set_fail_threshold(6.0 / 255.0)
|
||||
elif test_dir_name.startswith('image_mipmap'):
|
||||
# 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('camera'):
|
||||
# camera_stereo_panoramic have some platform specific small differences
|
||||
report.set_fail_percent(0.14)
|
||||
|
|
@ -474,6 +489,13 @@ def main():
|
|||
# Some shadow difference, to be investigated
|
||||
report.set_fail_percent(0.09)
|
||||
report.set_fail_threshold(6.0 / 255.0)
|
||||
elif test_dir_name.startswith('image_mipmap'):
|
||||
# Texture interpolation can look slightly different.
|
||||
if gpu_vendor == "AMD":
|
||||
report.set_fail_percent(0.39)
|
||||
else:
|
||||
report.set_fail_percent(0.08)
|
||||
report.set_fail_threshold(8.0 / 255.0)
|
||||
|
||||
ok = report.run(args.testdir, args.blender, get_arguments, batch=args.batch)
|
||||
sys.exit(not ok)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue