AcademySoftwareFoundation / AcademySoftwareFoundation/OpenColorIO
unit test numeric failures in test_metal and test_gpu
- Dominant language
- C++
- Stars
- 2.1k
- Forks
- 503
- PR merge metrics
- No merged PRs in 30d
Description
macOS Sequoia 15.7.1 (i.e. fully up to patch level for Sequoia)
GL Vendor: Apple
GL Renderer: Apple M4 Max
GL Version: 2.1 Metal - 89.4
GLSL Version: 1.20
> [202/241] [Lut1DOp / lut1d_file2_disallow_tex1D_test ] - FAILED -
> Maximum error: 1 at pixel: 43691 on component 1 larger than epsilon.
> src = {1.000015259, 1.000026703, 1.000038147, 1.000049591}
> cpu = {0, 1, 0, 1.000049591}
> gpu = {0, 0, 0, 1.000049591}
> absolute tolerance=9.999999747e-05
If the tolerance is 0.0001, and the failure magnitude is 1.0, this feels like a rounding error in the LUT somewhere.
As an example of a more typical error, as it turns out there are two failures in `test_metal`, the other being this one:
> [ 56/241] [FixedFunction / style_aces2_rgb_to_jmh_fwd ] - FAILED -
> Maximum error: 0.000244140625 at pixel: 13 on component 2 larger than epsilon.
> src = {0.2668400109, 0.2460400015, 0.4093199968, 1}
> cpu = {53.46554947, 13.12156677, 285.6588745, 1}
> gpu = {53.4655571, 13.12158012, 285.6591187, 1}
> absolute tolerance=0.0001999999949
Over in `test_gpu`, there's this:
> [ 69/241] [FixedFunction / style_RGB_TO_HSV_inv_custom ] - FAILED -
> Maximum error: 7.629394531e-06 at pixel: 7 on component 1 larger than epsilon.
> src = {0.5, 2.5, 0.03999999911, 0}
> cpu = {-39.95812988, 39.9981308, 39.9981308, 0}
> gpu = {-39.95812988, 39.99812317, 39.99812317, 0}
> absolute tolerance=9.999999975e-07
As I am trying to get `ctest` to run without failure to satisfy the MacPorts CI system, I'd appreciate insight on the first one here, and would ask if there's a workaround (perhaps a way to relax the tolerances for just one test?) on the second and third ones.
Contributor guide
Assessment
This issue has not been assessed yet.