Commit Graph

22 Commits

Author SHA1 Message Date
jcgregorio
3b27adef0a Revert of Make nanobench and dm be usable from Chromium build (patchset #5 id:80001 of https://codereview.chromium.org/657373002/)
Reason for revert:
Causing breakages on Mac build.

Original issue's description:
> Make nanobench and dm be usable from Chromium build
>
> Move the app logic for each app as follows:
>
> <app>.cpp -- the file which contains main(). Embedders that compile
> their own apps, such as ios shell, upcoming Chromium dm etc, do not use this.
>
> <app>_main.cpp -- the main logic of the Skia test application. This will be
> used by Skia -compiled apps as well as embedder -compiled apps.
>
> <app>_main.h -- the API for the main logic. This will be
> used by Skia -compiled apps as well as embedder -compiled apps.
>
> This way (the upcoming) Chromium dm can setup its Chromium-specific setup
> in custom main(), and then call dm_main(), without the need of any
> SK_BUILD_FOR_XXXX defines controlling whether the tool defines main or not.
>
> BUG=skia:2992
>
> Committed: https://skia.googlesource.com/skia/+/c092d3bdab5f723576cc0346cea3ee282a9cb444

TBR=mtklein@chromium.org,mtklein@google.com,borenet@google.com,kkinnunen@nvidia.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2992

Review URL: https://codereview.chromium.org/724073002
2014-11-13 08:06:40 -08:00
kkinnunen
c092d3bdab Make nanobench and dm be usable from Chromium build
Move the app logic for each app as follows:

<app>.cpp -- the file which contains main(). Embedders that compile
their own apps, such as ios shell, upcoming Chromium dm etc, do not use this.

<app>_main.cpp -- the main logic of the Skia test application. This will be
used by Skia -compiled apps as well as embedder -compiled apps.

<app>_main.h -- the API for the main logic. This will be
used by Skia -compiled apps as well as embedder -compiled apps.

This way (the upcoming) Chromium dm can setup its Chromium-specific setup
in custom main(), and then call dm_main(), without the need of any
SK_BUILD_FOR_XXXX defines controlling whether the tool defines main or not.

BUG=skia:2992

Review URL: https://codereview.chromium.org/657373002
2014-11-13 05:00:57 -08:00
mtklein
e7ce26d360 Stop building tests.
BUG=skia:
R=borenet@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/423073011
2014-08-04 09:36:16 -07:00
caryclark
19eb3b2f0a update pathops core and tests
split out skpclip (the test of 1M pictures) into its own project

TBR=reed

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/400033002
2014-07-18 05:08:14 -07:00
caryclark
936b73424f ios fixes
skia_ios.mm
Get the app's Documents directory and pass use it to set the resource path.
This is a quick hack which will be replaced by a new application that is
a tiny shim around a command line tool.

SkImageEncoder.h
SkForceLinking.cpp
SkImageDecoder_CG.cpp
Add support for FORCE_LINKING so iOS sees the PNG encoder and others.

SkFloatBits.cpp
SkPoint.cpp
Handle denormalized numbers that are floored by the iOS ARM processor.

SkImageDecoder_iOS.mm
Remove empty encoder factory.

SkTouchGesture.cpp
Return early on empty state on touch rather than aborting (crashing)

JpegTest.cpp
Hal via stackoverflow.com says partial jpegs can be gray as well.

skia_test.cpp
Remove crash handler call for now to avoid link failure.

OverwriteLine.h
Remove fancy line overwrite for iOS.

Resources.cpp
Add interface to set resource directory based on runtime query.

BUG=skia:2736 skia:2737 skia:2738
R=reed@google.com, halcanary@google.com, mtklein@google.com, tfarina@chromium.org

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/373383003
2014-07-11 12:14:51 -07:00
mtklein
f372321de3 Add nanobench, a fresh look at our microbenchmark harness.
out/Release/nanobench runs 4-5x faster on my Z620 and ~2x faster on my N5 than out/Release/bench with the same configs.

(Debug isn't really comparable.  I haven't added the Debug -> single loop check.)

BUG=skia:
R=djsollen@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/347443002
2014-06-25 14:08:00 -07:00
mtklein
d6043b20b6 Add nanomsg to third_party, with some demos.
This isn't something I want to make part of Skia, but just a substrate to build cross-process demos on top of.  If I client were to use Skia cross-process, they'd drop their own IPC system in here.

If you're not familiar, nanomsg (nanomsg.org) is the next-gen zeromq (zeromq.org), from the same author, righting all his design wrongs from zeromq.

It's a lot like the lower half of mojo, dealing with making the connections and getting messages reliably from A to B.  Think, better sockets, and it spans nicely across in-process (with zero-copy), inter-process, and TCP.

BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/294873004
2014-06-16 20:21:06 -07:00
commit-bot@chromium.org
55e8f3baee remove bit rotted gyp from most
BUG=skia:2597
R=epoger@google.com
TBR=epoger
NOTRY=true

Author: caryclark@google.com

Review URL: https://codereview.chromium.org/297823004

git-svn-id: http://skia.googlecode.com/svn/trunk@14857 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 20:09:05 +00:00
commit-bot@chromium.org
ae0054e48a get iOS building again
1) Disable SampleApp.  Seems like it's totally horked?  SkOSFile_iOS.mm is missing about half the functions needed, and SkOSFile_stdio.cpp is double-providing the others.

2) Drop armv6.

3) Switch from putting headers in sources to putting the corresponding directories in includes.

4)  Force cast the type of glShaderSource.  Something to do with GR_GL_USE_NEW_SHADER_SOURCE_SIGNATURE?

After all this,
    env CC=clang CXX=clang++ GYP_DEFINES=skia_os=ios make
builds for me.
BUG=skia:2363
R=bsalomon@google.com, epoger@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/226413005

git-svn-id: http://skia.googlecode.com/svn/trunk@14069 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-05 01:13:43 +00:00
commit-bot@chromium.org
787227d356 Let DM work without a GPU.
Testing:

/m/s/skia (dm) $ d dm; and env GYP_DEFINES=skia_gpu=0 d dm
ninja: Entering directory `out/Debug'
ninja: no work to do.
(294 GMs, 620 benches) x 4 configs, 245 tests
4507 tasks leftUnsupported vertex-color/texture xfer mode.
Unsupported vertex-color/texture xfer mode.
0 tasks left
416.53user 9.86system 0:47.43elapsed 898%CPU (0avgtext+0avgdata
13353376maxresident)k
0inputs+0outputs (0major+3579906minor)pagefaults 0swaps
ninja: Entering directory `out/Debug'
[909/909] LINK dm
(287 GMs, 612 benches) x 4 configs, 227 tests
0 tasks left
365.24user 7.71system 0:14.55elapsed 2562%CPU (0avgtext+0avgdata
14718912maxresident)k
0inputs+0outputs (0major+3328269minor)pagefaults 0swaps

BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: mtklein@chromium.org

Review URL: https://codereview.chromium.org/213093004

git-svn-id: http://skia.googlecode.com/svn/trunk@13960 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-26 21:26:15 +00:00
commit-bot@chromium.org
f84722e477 Build Skia for a bare-bones embedded Linux system.
Motivation:

    I have downloaded a barebones Linux system built for 64-bit ARM
    from linaro.org and a ARMv8 Foundation Model from arm.com to run
    it on.  This will let us build and test Skia on ARM64 before we
    aquire hardware to allow that.  This CL introduces the changes to
    the build files necessary to build Skia on a barebones embedded
    Linux system.  I tested it with the aarch64 GCC compiler provided
    by linaro.org.

Changes:

    Add a "barelinux" target_os for the DEPS file.  Add an optional
    git download of zlib.

    Changes to gyp files: these changes abstract out libpng, libz, and
    giflib so that images.gyp doesn't know whether they are static or
    dynamically linked.  I also add the variables skia_giflib_static,
    skia_libpng_static, skia_zlib_static, and skia_freetype_static,
    all of which default to false but when set to true will override
    the behavior of the giflib, libpng, zlib, and freetype build
    targets to require them to build statically.  Also, the
    skia_no_fontconfig variable turns off use of the fontconfig service.

	Scripts in platform_tools/barelinux/bin:

    arm64_download - this script downloads the Linaro's ARMv8 Aarch64
	toolchain and minimal embedded Linux system as well as ARM's
	foundation model.  The required files are mirrored on Google
	Cloud.  The script then starts a emulated Arm64 Linux system in
	the background.  After the boot is complete, you can SSH into the
	system at port 8022 via user@localhost.  The SSH key will be
	downloaded into the working directery as well.

	download_deps - Uses gclient to download Skia's dependencies for a
    bare Linux system (the normal dependecies plus giflib, libpng, and
    zlib.)

	barelinux_make - this script builds a version of skia that does
    not depend on external libraries, perfect for putting in an
    embedded system running Linux.  Assumes you have run download_deps
    first.

To test:
    To build a barelinux target, use the barelinux_make script.

    To build for a armv8 system: skia_arch_type=arm arm_neon=0 armv7=1
    armv8=1 arm_thumb=0 skia_arch_width=64 and set the CC and CXX
    variables to point at the cross-compiler downloaded by
    arm64_download.

R=djsollen@google.com, scroggo@google.com, borenet@google.com

Author: halcanary@google.com

Review URL: https://codereview.chromium.org/152513007

git-svn-id: http://skia.googlecode.com/svn/trunk@13570 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-24 20:22:34 +00:00
commit-bot@chromium.org
d9c4dfb170 Move DM from everything to most, to build it by default.
BUG=
R=reed@google.com

Author: mtklein@google.com

Review URL: https://codereview.chromium.org/127423003

git-svn-id: http://skia.googlecode.com/svn/trunk@12962 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 16:52:42 +00:00
commit-bot@chromium.org
611fde182a Remove the comments settings for vim tab width and expansion variables.
These add unnecessary bloat for everyone to carry around, so we just
remove them now.

The same change was made in chromium by Tony in
http://codereview.chromium.org/7310019 - crrev.com/92046

BUG=None
TEST=./gyp_skia
R=mtklein@google.com

Author: tfarina@chromium.org

Review URL: https://codereview.chromium.org/92673003

git-svn-id: http://skia.googlecode.com/svn/trunk@12443 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 22:23:03 +00:00
caryclark@google.com
a2bbc6e19d pathops work in progress
BUG=

Review URL: https://codereview.chromium.org/52653002

git-svn-id: http://skia.googlecode.com/svn/trunk@12089 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-01 17:36:03 +00:00
djsollen@google.com
cc95b1aeb8 Update Skia Android tools.
This CL moves the skia_launcher out of the system/bin and into
/data/local/tmp; removes the need to package our shared libs in an
apk; and updates all the scripts to work in the new environment.

R=mtklein@google.com, scroggo@google.com

Review URL: https://codereview.chromium.org/22617002

git-svn-id: http://skia.googlecode.com/svn/trunk@10673 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-12 12:30:04 +00:00
edisonn@google.com
dc1d7270bc Compile pdf viewer manaully only, disable on build bots.
Review URL: https://codereview.chromium.org/15942013

git-svn-id: http://skia.googlecode.com/svn/trunk@9497 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-10 21:10:50 +00:00
edisonn@google.com
01cd4d5c8f simple podofo and skia based pdf viewer
Review URL: https://codereview.chromium.org/16295031

git-svn-id: http://skia.googlecode.com/svn/trunk@9494 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-10 20:44:45 +00:00
djsollen@google.com
52f0297aaf Prepare skia for shared library build on android
This reapplies revision 9378 after the buildbot has been updated.

R=borenet@google.com, djsollen@google.com

Review URL: https://codereview.chromium.org/15855006

git-svn-id: http://skia.googlecode.com/svn/trunk@9395 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-06-03 12:10:19 +00:00
djsollen@google.com
a96627fd24 prepare skia for shared library build on android
R=borenet@google.com, djsollen@google.com

Committed: https://code.google.com/p/skia/source/detail?r=9378

Review URL: https://codereview.chromium.org/15855006

git-svn-id: http://skia.googlecode.com/svn/trunk@9379 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 20:09:47 +00:00
djsollen@google.com
cf5348f5aa prepare skia for shared library build on android
R=borenet@google.com, djsollen@google.com

Review URL: https://codereview.chromium.org/15855006

git-svn-id: http://skia.googlecode.com/svn/trunk@9378 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-31 20:02:56 +00:00
caryclark@google.com
db60de7cbe shape ops test fixes
- fix rand for Android
- build unit test on linux
- use atomic inc in test count
- add casting for Android

git-svn-id: http://skia.googlecode.com/svn/trunk@8610 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-04-11 12:33:23 +00:00
epoger@google.com
9c875d34ff add a "most" target, and make it the default
split out of https://codereview.appspot.com/6651064/ ('gyp: generate "everything" and "most" targets instead of "all"')
tests: "make most" now works, "make" now calls "make most"
Review URL: https://codereview.appspot.com/6740045

git-svn-id: http://skia.googlecode.com/svn/trunk@5999 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-18 16:10:56 +00:00