Index: src/opts/SkNx_neon.h |
diff --git a/src/opts/SkNx_neon.h b/src/opts/SkNx_neon.h |
index 53e95eb97fd2394b4108d4d497b33c734051b2ac..df11de3d5fb13d3240f3e47a327bcbe0528809c8 100644 |
--- a/src/opts/SkNx_neon.h |
+++ b/src/opts/SkNx_neon.h |
@@ -483,6 +483,14 @@ static inline Sk4i Sk4f_round(const Sk4f& x) { |
return vcvtq_s32_f32((x + 0.5f).fVec); |
} |
+static inline void Sk4h_load4(const void* ptr, Sk4h* r, Sk4h* g, Sk4h* b, Sk4h* a) { |
+ uint16x4x4_t rgba = vld4_u16((const uint16_t*)ptr); |
+ *r = rgba.val[0]; |
+ *g = rgba.val[1]; |
+ *b = rgba.val[2]; |
+ *a = rgba.val[3]; |
+} |
+ |
static inline void Sk4h_store4(void* dst, const Sk4h& r, const Sk4h& g, const Sk4h& b, |
const Sk4h& a) { |
uint16x4x4_t rgba = {{ |