From 57cee691b389fd426247b19b417066b59d1603a2 Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Tue, 13 Sep 2022 18:46:40 +0100 Subject: [PATCH] [util] Implement replaceNaN for non-x86 platforms --- src/util/util_vector.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/util/util_vector.h b/src/util/util_vector.h index 43deeb922..ace6cde76 100644 --- a/src/util/util_vector.h +++ b/src/util/util_vector.h @@ -151,12 +151,18 @@ namespace dxvk { static_assert(sizeof(Vector4i) == sizeof(int) * 4); inline Vector4 replaceNaN(Vector4 a) { + #ifdef DXVK_ARCH_X86 Vector4 result; __m128 value = _mm_load_ps(a.data); __m128 mask = _mm_cmpeq_ps(value, value); value = _mm_and_ps(value, mask); _mm_store_ps(result.data, value); return result; + #else + for (int i = 0; i < 4; i++) + a[i] = std::isnan(a[i]) ? 0.0f : a[i]; + return a; + #endif } }