From 3fdefb783901866f8cfb20f2bc0adec4050407b0 Mon Sep 17 00:00:00 2001 From: Bigfoot71 Date: Fri, 24 Oct 2025 16:24:49 +0200 Subject: [PATCH] tweaks --- src/external/rlsw.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/external/rlsw.h b/src/external/rlsw.h index 97e8961a8..c1e781b22 100644 --- a/src/external/rlsw.h +++ b/src/external/rlsw.h @@ -1054,7 +1054,7 @@ static inline void sw_add_vertex_grad_PTCH( static inline void sw_float_to_unorm8_simd(uint8_t dst[4], const float src[4]) { -#if defined(SW_HAS_NEON) || defined(SW_HAS_NEON_FMA) +#if defined(SW_HAS_NEON) float32x4_t values = vld1q_f32(src); float32x4_t scaled = vmulq_n_f32(values, 255.0f); scaled = vminq_f32(vmaxq_f32(scaled, vdupq_n_f32(0.0f)), vdupq_n_f32(255.0f)); @@ -1080,7 +1080,9 @@ static inline void sw_float_to_unorm8_simd(uint8_t dst[4], const float src[4]) __m128 scaled = _mm_mul_ps(values, _mm_set1_ps(255.0f)); scaled = _mm_max_ps(_mm_min_ps(scaled, _mm_set1_ps(255.0f)), _mm_setzero_ps()); __m128i clamped = _mm_cvtps_epi32(scaled); - clamped = _mm_packus_epi16(_mm_packs_epi32(clamped, clamped), clamped); + + clamped = _mm_packs_epi32(clamped, clamped); + clamped = _mm_packus_epi16(clamped, clamped); *(uint32_t*)dst = _mm_cvtsi128_si32(clamped); #else @@ -1123,9 +1125,10 @@ static inline void sw_float_from_unorm8_simd(float dst[4], const uint8_t src[4]) _mm_storeu_ps(dst, floats); #else - for (int i = 0; i < 4; i++) { - dst[i] = (float)src[i]/255.0f; - } + dst[0] = (float)src[0]/255.0f; + dst[1] = (float)src[1]/255.0f; + dst[2] = (float)src[2]/255.0f; + dst[3] = (float)src[3]/255.0f; #endif }