All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Seiderer <ps.report@gmx.net>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v1] package/qt5base: fix compile for aarch64_be
Date: Sun, 10 May 2020 22:52:20 +0200	[thread overview]
Message-ID: <20200510205220.16002-1-ps.report@gmx.net> (raw)

Add patch to fix availability check for storeRGB32FromARGB32PM_neon(), only
available for arm little-endian.

Fixes:

  - http://autobuild.buildroot.net/results/ab623253a6d988f4ee03d292ee85f3455de2ea25

  .obj/qimage_conversions.o: In function `convert_generic(QImageData*, QImageData const*, QFlags<Qt::ImageConversionFlag>)':
  qimage_conversions.cpp:(.text+0x2598): undefined reference to `storeRGB32FromARGB32PM_neon(unsigned char*, unsigned int const*, int, int, QVector<unsigned int> const*, QDitherInfo*)'
  qimage_conversions.cpp:(.text+0x259c): undefined reference to `storeRGB32FromARGB32PM_neon(unsigned char*, unsigned int const*, int, int, QVector<unsigned int> const*, QDitherInfo*)'
  .obj/qimage_conversions.o: In function `convert_generic_inplace(QImageData*, QImage::Format, QFlags<Qt::ImageConversionFlag>)':
  qimage_conversions.cpp:(.text+0x28fc): undefined reference to `storeRGB32FromARGB32PM_neon(unsigned char*, unsigned int const*, int, int, QVector<unsigned int> const*, QDitherInfo*)'
  qimage_conversions.cpp:(.text+0x2900): undefined reference to `storeRGB32FromARGB32PM_neon(unsigned char*, unsigned int const*, int, int, QVector<unsigned int> const*, QDitherInfo*)'

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 ...ns-arm-neon-draw-helper-only-availab.patch | 58 +++++++++++++++++++
 1 file changed, 58 insertions(+)
 create mode 100644 package/qt5/qt5base/0007-qimage_conversions-arm-neon-draw-helper-only-availab.patch

diff --git a/package/qt5/qt5base/0007-qimage_conversions-arm-neon-draw-helper-only-availab.patch b/package/qt5/qt5base/0007-qimage_conversions-arm-neon-draw-helper-only-availab.patch
new file mode 100644
index 0000000000..6c2080a669
--- /dev/null
+++ b/package/qt5/qt5base/0007-qimage_conversions-arm-neon-draw-helper-only-availab.patch
@@ -0,0 +1,58 @@
+From 78d94321149f8e10e5270516082cb37a5b91e327 Mon Sep 17 00:00:00 2001
+From: Peter Seiderer <ps.report@gmx.net>
+Date: Sun, 10 May 2020 22:26:43 +0200
+Subject: [PATCH] qimage_conversions: arm neon draw helper only available for
+ little endian
+
+Fixes:
+
+  qimage_conversions.cpp:(.text+0x2598): undefined reference to `storeRGB32FromARGB32PM_neon(unsigned char*, unsigned int const*, int, int, QVector<unsigned int> const*, QDitherInfo*)'
+
+Signed-off-by: Peter Seiderer <ps.report@gmx.net>
+---
+ src/gui/image/qimage_conversions.cpp | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/src/gui/image/qimage_conversions.cpp b/src/gui/image/qimage_conversions.cpp
+index 97a5f89e..5fc5aba1 100644
+--- a/src/gui/image/qimage_conversions.cpp
++++ b/src/gui/image/qimage_conversions.cpp
+@@ -119,7 +119,7 @@ void qGamma_correct_back_to_linear_cs(QImage *image)
+  *****************************************************************************/
+ 
+ // The drawhelper conversions from/to RGB32 are passthroughs which is not always correct for general image conversion
+-#if !defined(__ARM_NEON__)
++#if !defined(__ARM_NEON__) || !(Q_BYTE_ORDER == Q_LITTLE_ENDIAN)
+ static void QT_FASTCALL storeRGB32FromARGB32PM(uchar *dest, const uint *src, int index, int count,
+                                                const QVector<QRgb> *, QDitherInfo *)
+ {
+@@ -149,7 +149,7 @@ static const uint *QT_FASTCALL fetchRGB32ToARGB32PM(uint *buffer, const uchar *s
+ #ifdef QT_COMPILER_SUPPORTS_SSE4_1
+ extern void QT_FASTCALL storeRGB32FromARGB32PM_sse4(uchar *dest, const uint *src, int index, int count,
+                                                     const QVector<QRgb> *, QDitherInfo *);
+-#elif defined(__ARM_NEON__)
++#elif defined(__ARM_NEON__) && (Q_BYTE_ORDER == Q_LITTLE_ENDIAN)
+ extern void QT_FASTCALL storeRGB32FromARGB32PM_neon(uchar *dest, const uint *src, int index, int count,
+                                                     const QVector<QRgb> *, QDitherInfo *);
+ #endif
+@@ -181,7 +181,7 @@ void convert_generic(QImageData *dest, const QImageData *src, Qt::ImageConversio
+                 store = storeRGB32FromARGB32PM_sse4;
+             else
+                 store = storeRGB32FromARGB32PM;
+-#elif defined(__ARM_NEON__)
++#elif defined(__ARM_NEON__) && (Q_BYTE_ORDER == Q_LITTLE_ENDIAN)
+             store = storeRGB32FromARGB32PM_neon;
+ #else
+             store = storeRGB32FromARGB32PM;
+@@ -289,7 +289,7 @@ bool convert_generic_inplace(QImageData *data, QImage::Format dst_format, Qt::Im
+                 store = storeRGB32FromARGB32PM_sse4;
+             else
+                 store = storeRGB32FromARGB32PM;
+-#elif defined(__ARM_NEON__)
++#elif defined(__ARM_NEON__) && (Q_BYTE_ORDER == Q_LITTLE_ENDIAN)
+             store = storeRGB32FromARGB32PM_neon;
+ #else
+             store = storeRGB32FromARGB32PM;
+-- 
+2.26.2
+
-- 
2.26.2

             reply	other threads:[~2020-05-10 20:52 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-10 20:52 Peter Seiderer [this message]
2020-05-11 15:50 ` [Buildroot] [PATCH v1] package/qt5base: fix compile for aarch64_be Peter Korsgaard
2020-05-11 16:26   ` Peter Seiderer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200510205220.16002-1-ps.report@gmx.net \
    --to=ps.report@gmx.net \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.