• commit-bot@chromium.org's avatar
    ARM Skia NEON patches - 35 - First AArch64 support · 6f2d4d46
    commit-bot@chromium.org authored
    Aarch64 support
    
    This change contains the necessary modifications to have Skia build and
    run properly on an ARMv8 processor in aarch64 execution state.
    
    Here's a list of the changes:
    
     - add an arm64 target to the build system + SK_CPU_ARM64 flag
    
     - MatrixTest was failing when built in Release mode. Fused MAC
       instructions were generated which made some intermediate results
       more accurate. As the test relies on result comparison, the more
       precise results when compared to others led to a gap bigger than
       what was tolerated. As I don't know if some actual skia code relies
       on results being comparable, I've disabled fused MAC instruction
       with -ffp-contract=off for arm64.
    
     - Modify include/core/SkOnce.h to have barriers work.
    
     - SK_CPU_ARM64 implies SK_ARM_NEON_MODE_ALWAYS.
    
     - use existing Xfermode optimisations with modifications that can be
       removed in the future when toolchains are ready. Also save a few
       instructions is two Xfermodes...
    6f2d4d46
common_variables.gypi 9.09 KB