SPIRV-Cross/reference
Bill Hollings 40141ffddf MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results.
Based on CTS testing, math optimizations between MSL and Vulkan are inconsistent.
In some cases, enabling MSL's fast-math compilation option matches Vulkan's math
results. In other cases, disabling it does. Broadly enabling or disabling fast-math
across all shaders results in some CTS test failures either way.

To fix this, selectively enable/disable fast-math optimizations in the MSL code,
using metal::fast and metal::precise function namespaces, where supported, and
the [[clang::optnone]] function attribute otherwise.

Adjust SPIRV-Cross unit test reference shaders to accommodate these changes.
2021-09-22 18:58:31 -04:00
..
opt MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results. 2021-09-22 18:58:31 -04:00
shaders Add tests for OpSpecConstantOp ops OpQuantizeToF16 and OpSRem. 2021-09-05 16:51:04 -04:00
shaders-hlsl HLSL: Rewrite how block IO is emitted. 2021-06-28 15:04:49 +02:00
shaders-hlsl-no-opt HLSL: Rewrite how block IO is emitted. 2021-06-28 15:04:49 +02:00
shaders-msl MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results. 2021-09-22 18:58:31 -04:00
shaders-msl-no-opt MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results. 2021-09-22 18:58:31 -04:00
shaders-no-opt Fix switch fallthrough case in some cases. 2021-08-31 17:24:09 +02:00
shaders-reflection Parser: Don't assume OpTypePointer will always take a SPIRType. 2020-11-03 10:53:37 +01:00
shaders-ue4/asm MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results. 2021-09-22 18:58:31 -04:00
shaders-ue4-no-opt/asm MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results. 2021-09-22 18:58:31 -04:00