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. |
||
---|---|---|
.. | ||
depth-compare.asm.frag | ||
global-constant-arrays.asm.frag | ||
padded-float-array-member-defef.asm.frag | ||
sample-mask-not-array.asm.frag | ||
subpass-input.ios.framebuffer-fetch.asm.frag | ||
subpass-input.msl23.framebuffer-fetch.asm.frag | ||
texture-atomics.asm.argument.msl2.frag | ||
texture-atomics.asm.frag | ||
texture-atomics.asm.graphics-robust-access.frag |