Thank you—this answers the main questions and clarifies the contraction requirement.
My understanding is now:
safe math and precise FP32 functions do not select or expose the arithmetic rounding mode;
arithmetic may use either round-to-nearest-ties-to-even or round-toward-zero;
denormal inputs and results may be flushed independently of the selected math mode;
floatingPointConversionRoundingMode applies only to conversions;
safe mode sets FP contraction to on, so applications requiring separate rounding points must additionally use -ffp-contract=off or an equivalent pragma.
I’ll file the two separate Feedback Assistant reports you suggested:
A documentation request for Chapter 8 and the Metal Feature Set Tables to state the effective arithmetic rounding mode and denormal behavior for supported Apple GPU families, including the referenced texture-write rounding support.
An enhancement request for compile-time arithmetic-rounding and denormal controls together with corresponding MTLDevice capability queries.
I’ll cross-reference the two reports and include compute-shader probe results with the Apple GPU family, OS version, Xcode/Metal compiler version, compile options, input bit patterns, and observed output bit patterns. I’ll also post the Feedback IDs here once filed.
Thanks again for checking both the current and upcoming SDK headers.
Topic:
Graphics & Games
SubTopic:
Metal
Tags: