mirror of
https://github.com/boykopovar/AnyPS5.git
synced 2026-11-05 13:20:11 +00:00
v_ceil/floor/trunc/rndne/fract/sqrt/rsq/rcp/rcp_iflag/log/exp/sin/cos (f32 and f16) and v_frexp_mant_f32 left NaN, invalid, zero and infinite results to the driver: signalling NaNs came back unquieted, lavapipe lost the NaN sign and payload, invalid results were +NaN instead of -NaN, f32 sin/cos at whole and half cycles returned tiny values instead of +0, and v_fract_f16 of a tiny negative rounded up to 1.0. Adds an execution test for the 27 opcodes with expected values from hardware; approximate ops are compared with tolerances from the Vulkan precision table. Co-Authored-By: Claude <[email protected]>