SPIRV-Cross/reference/shaders-msl-no-opt
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
..
asm MSL: Consider that function/private variables can be block-like. 2021-08-23 13:26:45 +02:00
comp MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results. 2021-09-22 18:58:31 -04:00
components MSL: Handle array with component when we cannot rely on user() attrib. 2021-05-21 13:46:33 +02:00
frag MSL: Selectively enable fast-math in MSL code to match Vulkan CTS results. 2021-09-22 18:58:31 -04:00
packing MSL: Do not emit swizzled writes in packing fixups. 2020-07-06 10:03:46 +02:00
tesc MSL: Fix '--msl-multi-patch-workgroup' out of bounds reads when dispatching more threads than control points (#1662) 2021-04-29 20:01:26 +02:00
tese MSL: Use proper array for quad tess levels. 2021-04-23 14:12:00 +02:00
vert MSL: Use spvUnsafeArray for builtin arrays after all. 2021-04-19 12:10:49 +02:00
vulkan/frag Deal better with CompositeExtract from constant composite. 2021-01-22 12:30:16 +01:00