skia2/platform_tools/barelinux/bin/arm64_make
commit-bot@chromium.org d643a90ee2 Revert of ARM Skia NEON patches - 35 - First AArch64 support (https://codereview.chromium.org/143423004/)
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
2014-03-28 18:05:29 +00:00

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"