babl/base/babl-rgb-converter.c: Fix universal_nonlinear_rgb_u8_converter_sse2
authorSergey Torokhov <torokhov-s-a@yandex.ru>
Fri, 15 Jul 2022 22:15:20 +0000 (01:15 +0300)
committerSergey Torokhov <torokhov-s-a@yandex.ru>
Fri, 15 Jul 2022 22:15:20 +0000 (01:15 +0300)
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

index 3f4da04d34aa7a31cea740e0afbdde6e1e5e15da..e0ba7c378dbb65a08694a9a8fa6298fd1cf103aa 100644 (file)
@@ -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++)
   {