Add option to disable ARM NEON

This commit is contained in:
Peter 2019-09-02 20:20:30 +04:00
parent c63aa07699
commit 453c49b51e
2 changed files with 18 additions and 6 deletions

View File

@ -778,7 +778,10 @@
"@loader_path/Frameworks", "@loader_path/Frameworks",
); );
MACH_O_TYPE = staticlib; MACH_O_TYPE = staticlib;
OTHER_CFLAGS = "-Dpixman_region_selfcheck(x)=1"; OTHER_CFLAGS = (
"-Dpixman_region_selfcheck(x)=1",
"-DLOTTIE_DISABLE_ARM_NEON=1",
);
PRODUCT_BUNDLE_IDENTIFIER = org.telegram.RLottieBinding; PRODUCT_BUNDLE_IDENTIFIER = org.telegram.RLottieBinding;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@ -805,7 +808,10 @@
"@loader_path/Frameworks", "@loader_path/Frameworks",
); );
MACH_O_TYPE = staticlib; MACH_O_TYPE = staticlib;
OTHER_CFLAGS = "-Dpixman_region_selfcheck(x)=1"; OTHER_CFLAGS = (
"-Dpixman_region_selfcheck(x)=1",
"-DLOTTIE_DISABLE_ARM_NEON=1",
);
PRODUCT_BUNDLE_IDENTIFIER = org.telegram.RLottieBinding; PRODUCT_BUNDLE_IDENTIFIER = org.telegram.RLottieBinding;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@ -895,7 +901,10 @@
"@loader_path/Frameworks", "@loader_path/Frameworks",
); );
MACH_O_TYPE = staticlib; MACH_O_TYPE = staticlib;
OTHER_CFLAGS = "-Dpixman_region_selfcheck(x)=1"; OTHER_CFLAGS = (
"-Dpixman_region_selfcheck(x)=1",
"-DLOTTIE_DISABLE_ARM_NEON=1",
);
PRODUCT_BUNDLE_IDENTIFIER = org.telegram.RLottieBinding; PRODUCT_BUNDLE_IDENTIFIER = org.telegram.RLottieBinding;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
@ -978,7 +987,10 @@
"@loader_path/Frameworks", "@loader_path/Frameworks",
); );
MACH_O_TYPE = staticlib; MACH_O_TYPE = staticlib;
OTHER_CFLAGS = "-Dpixman_region_selfcheck(x)=1"; OTHER_CFLAGS = (
"-Dpixman_region_selfcheck(x)=1",
"-DLOTTIE_DISABLE_ARM_NEON=1",
);
PRODUCT_BUNDLE_IDENTIFIER = org.telegram.RLottieBinding; PRODUCT_BUNDLE_IDENTIFIER = org.telegram.RLottieBinding;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";

View File

@ -867,7 +867,7 @@ void VSpanData::updateSpanFunc()
} }
} }
#if !defined(__SSE2__) && !defined(__ARM_NEON__) #if !defined(__SSE2__) && (!defined(__ARM_NEON__) || defined(LOTTIE_DISABLE_ARM_NEON))
void memfill32(uint32_t *dest, uint32_t value, int length) void memfill32(uint32_t *dest, uint32_t value, int length)
{ {
int n; int n;
@ -912,7 +912,7 @@ void vInitDrawhelperFunctions()
{ {
vInitBlendFunctions(); vInitBlendFunctions();
#if defined(__ARM_NEON__) #if defined(__ARM_NEON__) && !defined(LOTTIE_DISABLE_ARM_NEON)
// update fast path for NEON // update fast path for NEON
extern void Vcomp_func_solid_SourceOver_neon( extern void Vcomp_func_solid_SourceOver_neon(
uint32_t * dest, int length, uint32_t color, uint32_t const_alpha); uint32_t * dest, int length, uint32_t color, uint32_t const_alpha);