iOS: Enable NEON optimizations, except for the pixman draw-helpers
We used to disable NEON completely, as the iOS toolchain does not handle the GAS syntax of the pixman draw-helpers. But we can limit the disabling to just the draw-helpers, which means we get NEON optimization of eg. QImage and QString. Change-Id: If350b06ce521cca8b24468be5a168ff21e9e7124 Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@digia.com>
This commit is contained in:
parent
4f072e2d3d
commit
182d6292ce
3
configure
vendored
3
configure
vendored
@ -4291,8 +4291,7 @@ fi
|
||||
|
||||
# detect neon support
|
||||
if [ "$CFG_ARCH" = "arm" ] && [ "${CFG_NEON}" = "auto" ]; then
|
||||
# The iOS toolchain has trouble building the pixman NEON draw-helpers
|
||||
if [ "$XPLATFORM_IOS" != "yes" ] && compileTest unix/neon "neon"; then
|
||||
if compileTest unix/neon "neon"; then
|
||||
CFG_NEON=yes
|
||||
else
|
||||
CFG_NEON=no
|
||||
|
@ -91,9 +91,12 @@ SSE2_SOURCES += painting/qdrawhelper_sse2.cpp
|
||||
SSSE3_SOURCES += painting/qdrawhelper_ssse3.cpp
|
||||
IWMMXT_SOURCES += painting/qdrawhelper_iwmmxt.cpp
|
||||
AVX_SOURCES += painting/qdrawhelper_avx.cpp
|
||||
NEON_SOURCES += painting/qdrawhelper_neon.cpp
|
||||
NEON_HEADERS += painting/qdrawhelper_neon_p.h
|
||||
NEON_ASM += ../3rdparty/pixman/pixman-arm-neon-asm.S painting/qdrawhelper_neon_asm.S
|
||||
|
||||
!ios {
|
||||
NEON_SOURCES += painting/qdrawhelper_neon.cpp
|
||||
NEON_HEADERS += painting/qdrawhelper_neon_p.h
|
||||
NEON_ASM += ../3rdparty/pixman/pixman-arm-neon-asm.S painting/qdrawhelper_neon_asm.S
|
||||
}
|
||||
|
||||
MIPS_DSP_SOURCES += painting/qdrawhelper_mips_dsp.cpp
|
||||
MIPS_DSP_HEADERS += painting/qdrawhelper_mips_dsp_p.h painting/qt_mips_asm_dsp_p.h
|
||||
|
@ -6157,7 +6157,7 @@ void qInitDrawhelperAsm()
|
||||
}
|
||||
#endif // IWMMXT
|
||||
|
||||
#if defined(QT_COMPILER_SUPPORTS_NEON)
|
||||
#if defined(QT_COMPILER_SUPPORTS_NEON) && !defined(Q_OS_IOS)
|
||||
if (features & NEON) {
|
||||
qBlendFunctions[QImage::Format_RGB32][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_neon;
|
||||
qBlendFunctions[QImage::Format_ARGB32_Premultiplied][QImage::Format_RGB32] = qt_blend_rgb32_on_rgb32_neon;
|
||||
|
Loading…
Reference in New Issue
Block a user