d643a90ee2
Reason for revert: GYP's failing on most (all?) bots. Original issue's description: > ARM Skia NEON patches - 35 - First AArch64 support > > 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 (will apply to ARM too). > > - use existing SkBoxBlur and SkMorphology optimisations. > > - use existing SkBlitMask optimisations > > - use existing BitmapProcState and Convolution optimisations. > > Future changes will include: > > - Blitters (only partialy merged upstream) > > - SkUtils (there's little value in sending asm optimisations without > having them benchmarked on real hardware). > > Signed-off-by: Kevin PETIT <kevin.petit@arm.com> > > BUG=skia: > > Committed: http://code.google.com/p/skia/source/detail?r=13980 R=djsollen@google.com, reed@google.com, halcanary@google.com, kevin.petit@arm.com TBR=djsollen@google.com, halcanary@google.com, kevin.petit@arm.com, reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: mtklein@google.com Review URL: https://codereview.chromium.org/216113005 git-svn-id: http://skia.googlecode.com/svn/trunk@13983 2bbb7eff-a529-9590-31e7-b0007b416f81
58 lines
1.3 KiB
Bash
Executable File
58 lines
1.3 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# Copyright 2014 Google Inc.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
usage() {
|
|
cat >&2 <<EOF
|
|
arm64_make - this script builds a ARMv7 Aarch64 version of skia that
|
|
does not depend on external libraries, perfect for putting in an
|
|
embedded system running Linux.
|
|
|
|
Assumes that you have already run the download_deps script.
|
|
|
|
Usage:
|
|
$0 \\
|
|
[-o SKIA_OUT_DIR] [-c CC_EXE] [-x CXX_EXE] \\
|
|
[-t Debug | Release | Coverage | Release_Developer] \\
|
|
|
|
Example use:
|
|
$0 \\
|
|
-o ~/build/skia/arg64gcc \\
|
|
-c ~/local/arm64/bin/aarch64-linux-gnu-gcc \\
|
|
-x ~/local/arm64/bin/aarch64-linux-gnu-g++ \\
|
|
EOF
|
|
return 1
|
|
}
|
|
|
|
# BUILD_TYPE should be one of:
|
|
# Coverage, Debug, Release, or Release_Developer
|
|
BUILD_TYPE='Debug'
|
|
|
|
while getopts ":c:x:o:t:h" opt ; do
|
|
case $opt in
|
|
c) export CC="$OPTARG" ;;
|
|
x) export CXX="$OPTARG" ;;
|
|
o) export SKIA_OUT="$OPTARG";;
|
|
t) BUILD_TYPE="$OPTARG";;
|
|
h) usage || exit;;
|
|
?) echo "unknown option '$OPTARG'" >&2;
|
|
usage || exit;;
|
|
esac
|
|
done
|
|
|
|
export GYP_DEFINES="${GYP_DEFINES} \
|
|
skia_gpu=0 \
|
|
skia_arch_type=arm \
|
|
skia_arch_width=64 \
|
|
armv7=1 \
|
|
armv8=1 \
|
|
arm_neon=0 \
|
|
arm_thumb=0 \
|
|
"
|
|
|
|
"$(dirname "$0")/barelinux_make" -t "$BUILD_TYPE"
|
|
|