summaryrefslogtreecommitdiffstats
path: root/src/gui/painting/qdrawhelper_p.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2018-04-12 21:59:27 +0200
committerLars Knoll <lars.knoll@qt.io>2018-04-12 22:00:35 +0200
commit4f158ccee56827af2a0d7b0a043c5e6cdc3bad5b (patch)
tree068d0e99a0100f64364f6490d5c1e39c34ffc2aa /src/gui/painting/qdrawhelper_p.h
parent5c63e6fd7541609c3fadb694c071b42e93b7acf5 (diff)
parent9c4c136bc9f29bab1cc9684dfced55a92a8bbe96 (diff)
Merge remote-tracking branch 'origin/5.11' into dev
Diffstat (limited to 'src/gui/painting/qdrawhelper_p.h')
-rw-r--r--src/gui/painting/qdrawhelper_p.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/gui/painting/qdrawhelper_p.h b/src/gui/painting/qdrawhelper_p.h
index 4940026abb..c0214e9c11 100644
--- a/src/gui/painting/qdrawhelper_p.h
+++ b/src/gui/painting/qdrawhelper_p.h
@@ -685,6 +685,9 @@ static inline uint interpolate_4_pixels(const uint t[], const uint b[], uint dis
__m128i vb = _mm_loadl_epi64((const __m128i*)b);
return interpolate_4_pixels_sse2(vt, vb, distx, disty);
}
+
+static constexpr inline bool hasFastInterpolate4() { return true; }
+
#elif defined(__ARM_NEON__)
static Q_ALWAYS_INLINE uint interpolate_4_pixels_neon(uint32x2_t vt32, uint32x2_t vb32, uint distx, uint disty)
{
@@ -717,6 +720,9 @@ static inline uint interpolate_4_pixels(const uint t[], const uint b[], uint dis
uint32x2_t vb32 = vld1_u32(b);
return interpolate_4_pixels_neon(vt32, vb32, distx, disty);
}
+
+static constexpr inline bool hasFastInterpolate4() { return true; }
+
#else
static inline uint interpolate_4_pixels(uint tl, uint tr, uint bl, uint br, uint distx, uint disty)
{
@@ -731,6 +737,9 @@ static inline uint interpolate_4_pixels(const uint t[], const uint b[], uint dis
{
return interpolate_4_pixels(t[0], t[1], b[0], b[1], distx, disty);
}
+
+static constexpr inline bool hasFastInterpolate4() { return false; }
+
#endif
#if Q_BYTE_ORDER == Q_BIG_ENDIAN