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. |
||
---|---|---|
.. | ||
basic.flatten.vert | ||
multiindex.flatten.vert | ||
push-constant.flatten.vert | ||
rowmajor.flatten.vert | ||
struct.flatten.vert | ||
swizzle.flatten.vert | ||
types.flatten.frag |