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. |
||
---|---|---|
.. | ||
amd | ||
asm | ||
comp | ||
desktop-only | ||
flatten | ||
frag | ||
intel | ||
legacy/vert | ||
masking | ||
tesc | ||
tese | ||
vert | ||
vulkan |