Currently SampleApp on Android cannot find resources. This sets the
resourcePath to /data/local/tmp/skia/resources/ which is the path
used in documentationo. A future change will allow this default to be
overridden.
BUG=skia:3815
Review URL: https://codereview.chromium.org/1125363004
It's looking like the previous CL did not fix the Daisy bot GMs,
even though that's still the only bit of code I can find that was
ignoring color order. Puzzled. Reverting arm_version=7 for now.
BUG=skia:1843
Review URL: https://codereview.chromium.org/1051423002
- remove unused alex
- streamline Link's config
- remove misleading Daisy config:
1) armv7=1 does nothing. We meant to type arm_version=7 here.
2) arm_neon=1 does nothing unless arm_version == 7.
3) arm_thumb=0 is the default when arm_version <= 7.
4) skia_arch_width=32 is the default when skia_arch_type=arm.
I'd just fix this to make Daisy arm_version=7 and arm_neon=1 (and
arm_thumb=1, which I'm going to separately make the default for
arm_version=7), but there are known color-order bugs with our
NEON procs that would make Daisy start pushing bad images to
Gold. Going to take baby steps here...
BUG=skia:1843
Committed: https://skia.googlesource.com/skia/+/3c2809bc612f4a265770914f860d214c9665dc4a
CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-Arm7-Debug-CrOS_Daisy-Trybot
Review URL: https://codereview.chromium.org/1051253002
Reason for revert:
arm_thumb not defined
Original issue's description:
> tidy up chromeos_setup.sh
>
> - remove unused alex
> - streamline Link's config
> - remove misleading Daisy config:
> 1) armv7=1 does nothing. We meant to type arm_version=7 here.
> 2) arm_neon=1 does nothing unless arm_version == 7.
> 3) arm_thumb=0 is the default when arm_version <= 7.
> 4) skia_arch_width=32 is the default when skia_arch_type=arm.
>
> I'd just fix this to make Daisy arm_version=7 and arm_neon=1 (and
> arm_thumb=1, which I'm going to separately make the default for
> arm_version=7), but there are known color-order bugs with our
> NEON procs that would make Daisy start pushing bad images to
> Gold. Going to take baby steps here...
>
> BUG=skia:1843
>
> Committed: https://skia.googlesource.com/skia/+/3c2809bc612f4a265770914f860d214c9665dc4aTBR=borenet@google.com,mtklein@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:1843
Review URL: https://codereview.chromium.org/1059443002
- remove unused alex
- streamline Link's config
- remove misleading Daisy config:
1) armv7=1 does nothing. We meant to type arm_version=7 here.
2) arm_neon=1 does nothing unless arm_version == 7.
3) arm_thumb=0 is the default when arm_version <= 7.
4) skia_arch_width=32 is the default when skia_arch_type=arm.
I'd just fix this to make Daisy arm_version=7 and arm_neon=1 (and
arm_thumb=1, which I'm going to separately make the default for
arm_version=7), but there are known color-order bugs with our
NEON procs that would make Daisy start pushing bad images to
Gold. Going to take baby steps here...
BUG=skia:1843
Review URL: https://codereview.chromium.org/1051253002
When checking the skia_arch_type for "x86", instead of doing an
== compare, check if "x86" in skia_arch_type, so it will cover
both x86 and x86_64.
Except when we specifically want x86.
Set skia_arch_width based on "64" in skia_arch_type. No need to specify
in scripts.
In gyp_to_android.py, create a separate var_dict for x86_64.
BUG=skia:3419
Review URL: https://codereview.chromium.org/916113002
Properly labels several methods as static.
Use XML_GetBuffer to avoid an extra copy.
Set the memory allocators to Skia's.
Set define in 'defines' instead of cflags.
Update debug dumper.
Review URL: https://codereview.chromium.org/915443002
Rename a few files to make their function clearer.
Update other files to remove dead code or improve function.
Review URL: https://codereview.chromium.org/865943007
This should make the android self-tests start passing again.
Rebaselined with:
$ python makefile_writer_tests.py --rebaseline
BUG=skia:
Review URL: https://codereview.chromium.org/860333004
When running gyp_to_android inside a Skia tree, it uses the gyp program
in third_party/externals. Inside an Android tree, we need to use a
different location for gyp (the Android copy of Skia, in external/skia,
does not contain third_party/externals).
The bot handles this by importing gyp_to_android and running its main
function directly.
Add command line arguments so a human can directly run gyp_to_android.
Review URL: https://codereview.chromium.org/864503002
Pass command strings and offset arrays as out parameters instead of
returning new arrays from the functions.
This simplifies debugger leak investigations, as the app leaks less by
design.
Review URL: https://codereview.chromium.org/821663003
When generating the tool makefiles, which also calls
android_framework_gyp, we also need to pass the gyp directory.
TBR=borenet
NOTRY=True
NOTREECHECKS=True
BUG=skia:3233
Review URL: https://codereview.chromium.org/804473005
Previously, a function was called using dlsym in skia_launcher.
Add a static initializer that changes the setting, and include that for
the tools we automate for testing.
Also only do va_copy if we actually use it.
BUG=skia:2454
Review URL: https://codereview.chromium.org/753543003
This CL updates various files in the includes directory to ensure that (1) they do
not depend on headers in /src and (2) that they minimize their dependence on external
headers.
To ensure that we don't regress this behavior a new build target has been added to
build a single cpp file that contains all* public includes and is compiled with
only those directories in the include path.
* The exception is those includes that depend on OS specific headers
BUG=skia:2941
NOTRY=true
Review URL: https://codereview.chromium.org/721903002
Update the generator to include a line for LOCAL_PICKUP_FILES. When
generating makefiles for our tests, they will now have the following line:
LOCAL_PICKUP_FILES := \
$(LOCAL_PATH)/../resources
This allows testing infrastructure to pick up resource files used by
our tests.
Update expectations files to test LOCAL_PICKUP_FILES.
BUG=skia:2454
Review URL: https://codereview.chromium.org/704393002
This removes ADB from the Skia checkout and also does some quick
checks to make sure the version of ADB used meets a minimum threshold
Review URL: https://codereview.chromium.org/692513003
When running gyp_to_android.py, generate the makefile for gm.
For now, remove json functionality and do not depend on json. This
allows us to build and run until solving skbug.com/2448.
gm/gm_expectations.cpp:
gm/gm_expectations.h:
gm/gmmain.cpp:
Remove all json functionality when SK_BUILD_JSON_WRITER is not defined.
This flag is not defined when SK_BUILD_FOR_ANDROID is defined.
gyp/gm.gyp:
Depend on skia and cutils.
platform_tools/android/bin/gyp_to_android.py:
Generate gm/Android.mk.
platform_tools/android/gyp_gen/makefile_writer.py:
Build gm/Android.mk when building external/skia.
Depends on https://codereview.chromium.org/282053002/
BUG=skia:2447
BUG=skia:2448
R=epoger@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/281303003
git-svn-id: http://skia.googlecode.com/svn/trunk@14767 2bbb7eff-a529-9590-31e7-b0007b416f81
For now, remove json functionality and do not depend on json. This
allows us to build and run until solving skbug.com/2448.
bench/DeferredSurfaceCopyBench.cpp:
Include GrRenderTarget last, so SK_SUPPORT_GPU will be set properly.
bench/ResultsWriter.h:
bench/benchmain.cpp:
Remove JSONResultsWriter when SK_BUILD_JSON_WRITER is not defined,
which is the case for the Android framework build.
gyp/bench.gyp:
Depend on skia and cutils (for android_atomic_inc etc).
gyp/common_conditions.gypi:
Define SK_BUILD_JSON_WRITER when skia_build_json_writer is set.
gyp/common_variables.gypi:
Add a flag for skia_build_json_writer, and set it only when
skia_android_framework is not set.
gyp/jsoncpp.gyp:
Do not build jsoncpp when skia_build_json_writer is not defined.
include/utils/SkJSONCPP.h:
Do not include json headers when SK_BUILD_JSON_WRITER is not defined.
platform_tools/android/bin/gyp_to_android.py:
Generate bench/Android.mk.
platform_tools/android/gyp_gen/gypd_parser.py:
Skip dest_dir when checking for include_dirs.
platform_tools/android/gyp_gen/makefile_writer.py:
Build bench/Android.mk when building external/skia.
platform_tools/android/gyp_gen/tool_makefile_writer.py:
Add a parameter for putting the binary into /data/local/tmp.
BUG=skia:2447
BUG=skia:2448
R=halcanary@google.com, reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/282053002
git-svn-id: http://skia.googlecode.com/svn/trunk@14760 2bbb7eff-a529-9590-31e7-b0007b416f81
gyp/apptype_console.gypi:
Don't include console app dependencies when building for Android framework.
gyp/tests.gyp:
Add/remove libraries for framework build.
platform_tools/android/bin/android_framework_gyp.py:
Moved to gyp_gen.
clean_up_gypd_files moved to this script.
platform_tools/android/bin/gyp_to_android.py:
Call new function for generating tool makefile.
Set LOCAL_MODULE.
platform_tools/android/gyp_gen/gypd_parser.py:
Support relative paths.
platform_tools/android/gyp_gen/makefile_writer.py:
Factor out helper functions to be used by tool writer.
LOCAL_MODULE is set elsewhere.
platform_tools/android/gyp_gen/tool_makefile_writer.py:
Multipurpose file for writing makefiles for tools. Should be able to use
it mostly unchanged for bench, gm, etc.
platform_tools/android/gyp_gen/vars_dict_lib.py:
Make the comments follow the style guide.
Add set().
Rename __li to __ordered_set
More/update tests:
platform_tools/android/tests/android_framework_gyp_tests.py
platform_tools/android/tests/expectations/Android.mk
platform_tools/android/tests/expectations/tool/Android.mk
platform_tools/android/tests/expectations/write_local_vars_append_arm
platform_tools/android/tests/expectations/write_local_vars_append_foo
platform_tools/android/tests/expectations/write_local_vars_append_no_name
platform_tools/android/tests/expectations/write_local_vars_no_append_arm
platform_tools/android/tests/expectations/write_local_vars_no_append_foo
platform_tools/android/tests/expectations/write_local_vars_no_append_no_name
platform_tools/android/tests/gyp_to_android_tests.py
platform_tools/android/tests/makefile_writer_tests.py
platform_tools/android/tests/ordered_set_tests.py
platform_tools/android/tests/test_variables.py
BUG=skia:2447
May require an update to the bot to remove pyc files.
R=halcanary@google.com, djsollen@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/235883015
git-svn-id: http://skia.googlecode.com/svn/trunk@14408 2bbb7eff-a529-9590-31e7-b0007b416f81
The old code requires that include/config/SkUserConfig.h exists,
to ensure that it gets copied into Android's
include/core/SkUserConfig.h when we do a merge. However, if a
developer wants to make changes and rerun the script, they
should not have to recreate include/config/SkUserConfig.h just
to rerun the script. By default, allow the original to not
exist and just skip the copy.
Update tests to pass. Also add tests to support this use case.
Make gyp_to_android.py executable.
R=robertphillips@google.com, halcanary@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/242203008
git-svn-id: http://skia.googlecode.com/svn/trunk@14273 2bbb7eff-a529-9590-31e7-b0007b416f81
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=13980R=djsollen@google.com, reed@google.com, mtklein@google.com, halcanary@google.com
Author: kevin.petit@arm.com
Review URL: https://codereview.chromium.org/143423004
git-svn-id: http://skia.googlecode.com/svn/trunk@14025 2bbb7eff-a529-9590-31e7-b0007b416f81
Since we never want to build with the fake SkUserConfig.h files
(they're only there for testing), change their name to
SkUserConfig-h.txt. Now the housekeeper will ignore it.
Also, update the generated version to match what the housekeeper
wanted. It wants my tabs to be 4 spaces, so change my tabs to 4
spaces!
NOTRY=true
Fixes buildbots.
BUG=skia:2365
R=epoger@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/221063003
git-svn-id: http://skia.googlecode.com/svn/trunk@14013 2bbb7eff-a529-9590-31e7-b0007b416f81