[babl] babl/base/babl-rgb-converter.c: Fix universal_nonlinear_rgb_u8_converter_sse2



commit 8c993497f338548bdb8247f4796545e250b5e05c
Author: Sergey Torokhov <torokhov-s-a yandex ru>
Date:   Sat Jul 16 01:15:20 2022 +0300

    babl/base/babl-rgb-converter.c: Fix universal_nonlinear_rgb_u8_converter_sse2
    
    Fix alignment of vector of floats in babl-rgb-converter.c
    Downstream Bug (Gentoo): https://bugs.gentoo.org/857708
    Bug: https://gitlab.gnome.org/GNOME/babl/-/issues/76
    
    Thanks-to: Alexander Bezrukov <phmagic mail ru>
    Signed-off-by: Alexander Bezrukov <phmagic mail ru>
    Signed-off-by: Sergey Torokhov <torokhov-s-a yandex ru>

 babl/base/babl-rgb-converter.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
---
diff --git a/babl/base/babl-rgb-converter.c b/babl/base/babl-rgb-converter.c
index 3f4da04d3..e0ba7c378 100644
--- a/babl/base/babl-rgb-converter.c
+++ b/babl/base/babl-rgb-converter.c
@@ -306,7 +306,8 @@ universal_nonlinear_rgb_u8_converter_sse2 (const Babl    *conversion,
   uint8_t *rgb_in_u8 = (void*)src_char;
   uint8_t *rgb_out_u8 = (void*)dst_char;
 
-  float rgba_out[4*samples];
+  // The alignment is necessary for SIMD intrinsics in babl_matrix_mul_vectorff_buf4_sse2()
+  float __attribute__ ((aligned (16))) rgba_out[4*samples];
 
   for (i = 0; i < samples; i++)
   {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]