40141ffddf
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. |
||
---|---|---|
.. | ||
accesschain-invalid-expression.asm.invalid.frag | ||
array-copy-error.asm.invalid.frag | ||
phi-variable-declaration.asm.invalid.frag |