Commit Graph

1689 Commits

Author SHA1 Message Date
robertphillips@google.com
8cf81e0f4f Simple PKM image decoder.
https://codereview.chromium.org/292663011/



git-svn-id: http://skia.googlecode.com/svn/trunk@14852 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 18:40:29 +00:00
commit-bot@chromium.org
ab08437e39 Revert "Temporarily disable NEON on Android framework builds."
R=scroggo@google.com

Author: djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14844 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 13:42:34 +00:00
commit-bot@chromium.org
83f23d87f1 Remove unused (by clients) SkUnitMapper
This reverts commit 874423a81b5bc2541c7397e6ab00d5e7c9fdaf98.

TBR=scroggo

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14842 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 12:27:41 +00:00
commit-bot@chromium.org
3339ac54a5 Revert of Remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/) (https://codereview.chromium.org/288343009/)
Reason for revert:
required blink change failed to land

Original issue's description:
> Remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/)
>
> This reverts commit dd50c83b5b34dab3a077741861b50ed1f2bc6b8f.
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14830

R=scroggo@google.com, reed@google.com
TBR=reed@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14838 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 02:55:59 +00:00
commit-bot@chromium.org
4b8f802255 Remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/)
This reverts commit dd50c83b5b34dab3a077741861b50ed1f2bc6b8f.

BUG=skia:
R=scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14830 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 19:56:46 +00:00
commit-bot@chromium.org
815d3600e9 Remove -mfpmath=sse for clang, which does it automatically and sometimes is annoyed by it.
BUG=skia:

NOTREECHECKS=true
R=mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14812 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 19:42:03 +00:00
commit-bot@chromium.org
6a106ce251 SSE2 everywhere.
As of M35, Chrome will require SSE2 on Linux (it already did on Windows, and
requires SSSE3 on Macs).  Android already requires SSE2 for x86 chips.

This effectively just forces it on for 32-bit Linux builds; everyone else already had it.

BUG=skia:

Committed: http://code.google.com/p/skia/source/detail?r=14800

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14811 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 19:02:55 +00:00
commit-bot@chromium.org
6379129229 Revert of SSE2 everywhere. (https://codereview.chromium.org/294963002/)
Reason for revert:
Making GM run fewer tests than expected?

Original issue's description:
> SSE2 everywhere.
>
> As of M35, Chrome will require SSE2 on Linux (it already did on Windows, and
> requires SSSE3 on Macs).  Android already requires SSE2 for x86 chips.
>
> This effectively just forces it on for 32-bit Linux builds; everyone else already had it.
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14800

R=reed@google.com, mtklein@chromium.org
TBR=mtklein@chromium.org, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14803 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 15:27:35 +00:00
commit-bot@chromium.org
3056bdd236 Since we're only using it on Linux now, just require poppler as a system dependency.
The Ubuntu package needed is libpoppler-cpp-dev.

iconv and fontconfig were only used as Poppler dependencies.  bson_c is also unused.

BUG=skia:
R=reed@google.com, rmistry@google.com, borenet@google.com, halcanary@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14802 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 15:07:53 +00:00
commit-bot@chromium.org
28f070d2a4 SSE2 everywhere.
As of M35, Chrome will require SSE2 on Linux (it already did on Windows, and
requires SSSE3 on Macs).  Android already requires SSE2 for x86 chips.

This effectively just forces it on for 32-bit Linux builds; everyone else already had it.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14800 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 14:54:09 +00:00
commit-bot@chromium.org
c4e416ce49 Add Memcpy32 bench.
This compares 32-bit copies using memcpy, autovectorization, and when SSE2 is
available, aligned and unaligned SSE2.

Running this on my desktop (Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz), I see
all four perform essentially the same, except Clang's autovectorization looks
 a little better than GCC's.  memcpy is calling libc 2.19's __memcpy_sse2_unaligned.


BUG=skia:
R=reed@google.com, qiankun.miao@intel.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14799 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 14:54:04 +00:00
commit-bot@chromium.org
941ff78d79 Remove legacy constructor for blur draw looper.
Now that Android no longer uses the constructor, remove it, along
with the flag.

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

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14797 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 14:53:32 +00:00
commit-bot@chromium.org
628ed0b220 Add Dashing gpu effect for simple dashed lines
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14775 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 14:32:49 +00:00
commit-bot@chromium.org
120c99993e Generate Android.mk for DM.
ifdef out code that won't build where we don't have jsoncpp.

Include ctype instead of string.h for tolower.

Depends on https://codereview.chromium.org/282053002/

BUG=skia:2447
R=mtklein@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14768 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 18:11:51 +00:00
commit-bot@chromium.org
25c1066e4d Generate gm/Android.mk, minus JSON.
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
2014-05-16 17:56:43 +00:00
commit-bot@chromium.org
684b3d0e3c Disable poppler on Windows since it no longer compiles in VS2013
R=borenet@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14764 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 16:35:48 +00:00
commit-bot@chromium.org
e2b193ca5c Revert of remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/)
Reason for revert:
does not address all legacy callsites in chrome.

e.g.

[13:45:32.091872] ../../ui/native_theme/native_theme_base.cc:608:76: error: no matching function for call to ‘SkGradientShader::CreateLinear(SkPoint [3], SkColor [3], NULL, int, SkShader::TileMode, NULL)’
[13:45:32.091919]            gradient_bounds, colors, NULL, 3, SkShader::kClamp_TileMode, NULL));


Original issue's description:
> remove unused (by clients) SkUnitMapper
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14761

R=robertphillips@google.com, scroggo@google.com, george@mozilla.com
TBR=george@mozilla.com, robertphillips@google.com, scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14763 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:49:08 +00:00
commit-bot@chromium.org
ee0cac336c remove unused (by clients) SkUnitMapper
BUG=skia:
R=robertphillips@google.com, scroggo@google.com, george@mozilla.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14761 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:35:01 +00:00
commit-bot@chromium.org
61744ec1d2 Generate bench/Android.mk from gyp.
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
2014-05-16 13:15:41 +00:00
commit-bot@chromium.org
85fd193223 Factor out DumpRecord method from dump_record tool for later use
R=mtklein@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14751 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-15 16:10:37 +00:00
commit-bot@chromium.org
90b5a2a653 DM: Add --skps.
This does render_pictures, plus checks SkRecord optimizations.

Disable an SkRecord optimization that draws several bot SKPs wrong.  (To be investigated.)

BUG=skia:2378
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14739 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-14 17:55:32 +00:00
commit-bot@chromium.org
ddb9331443 remove reference to (deleted) SkKernel33MaskFilter
BUG=skia:
R=caryclark@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14738 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-14 17:42:42 +00:00
commit-bot@chromium.org
92cea277d7 Remove legacy SkLayerRasterizer flag for Android.
Android's uses of SkLayerRasterizer have been cleaned up and no longer require
the legacy API. Remove the flag for Android.
We still have to keep the legacy API around until Mozilla have cleaned up their
uses.

BUG=skia:2187
R=reed@google.com, djsollen@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14710 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-13 14:47:17 +00:00
djsollen@google.com
7e9fedade8 Fix the android framework build as it still uses mutable local matrices.
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14706 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-13 13:35:04 +00:00
commit-bot@chromium.org
b3c836b787 add SK_SUPPORT_LEGACY_SHADER_LOCALMATRIX for chrome
TBR=borenet@google.com
NOTRY=True

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14704 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-13 00:43:44 +00:00
commit-bot@chromium.org
5b8d047252 Remove SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS flag from chromium_defines.
Chrome/Blink doesn't use any of the legacy methods behind this flag any more.

BUG=skia:2187

Committed: http://code.google.com/p/skia/source/detail?r=14651

R=reed@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14692 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-12 14:12:38 +00:00
commit-bot@chromium.org
e003aecb30 remove unused Kernel33MaskFilter
R=robertphillips@google.com
TBR=robertphilips@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14691 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-12 13:35:55 +00:00
reed@google.com
68867b3db2 Revert "remove SK_SUPPORT_LEGACY_BUILDMIPMAP"
This reverts commit 9acd04797101990af23f5c374b7dfcbaac12fd2b.

git-svn-id: http://skia.googlecode.com/svn/trunk@14685 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 20:06:57 +00:00
commit-bot@chromium.org
259ea9a073 remove SK_SUPPORT_LEGACY_BUILDMIPMAP
TBR=djsollen@google.com
NOTRY=True

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14684 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 19:54:42 +00:00
commit-bot@chromium.org
27f6b0d013 Add timing to dump_record.
Prints microsecond timing for each command in the left-hand column:

optimized flat/http___mobile_news_sandbox_google_com_news_pt0_scroll_layer_7.skp
   4.0   1 Save
2075.0   2      DrawRect
 104.0   3      BoundedDrawPosTextH
 135.4   4      DrawRect
   9.4   5      DrawRect
   5.6   6      DrawRect
   8.2   7      DrawRect
   6.8   8      DrawRect
...

(I'm sure Rietveld will just mangle the crap out of that.  It's helpfully right-aligned.)

To do this, I made Draw from SkRecordDraw Skia-public as SkRecords::Draw,
and time it command-by-command.

BUG=skia:2378
R=fmalita@chromium.org, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14672 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 14:59:29 +00:00
bungeman@google.com
4d868b0285 Add missing sfnt header files to gyp.
This makes finding these files easier in IDEs.


git-svn-id: http://skia.googlecode.com/svn/trunk@14666 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 14:08:28 +00:00
commit-bot@chromium.org
90c0fbd349 reland "extract some common code from PictureRenderer"
re-lands https://codereview.chromium.org/273703006/

NOTRY=True
R=bungeman@google.com, djsollen@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14662 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 03:18:41 +00:00
commit-bot@chromium.org
5e674b2313 Revert of Remove SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS flag from chromium_defines. (https://codereview.chromium.org/265973002/)
Reason for revert:
This is breaking compilation of cc_unittests in Chrome

Original issue's description:
> Remove SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS flag from chromium_defines.
>
> Chrome/Blink doesn't use any of the legacy methods behind this flag any more.
>
> BUG=skia:2187
>
> Committed: http://code.google.com/p/skia/source/detail?r=14651

R=reed@google.com, dominikg@chromium.org
TBR=dominikg@chromium.org, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2187

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14660 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 00:05:52 +00:00
bungeman@google.com
daeec365ff Remove non-existent header file from Android opts.
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14657 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 19:41:48 +00:00
commit-bot@chromium.org
54f98fc215 Remove SK_SUPPORT_LEGACY_PUBLICEFFECTCONSTRUCTORS flag from chromium_defines.
Chrome/Blink doesn't use any of the legacy methods behind this flag any more.

BUG=skia:2187
R=reed@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14651 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 18:13:15 +00:00
commit-bot@chromium.org
de3ad9e220 Revert of extract some common code from PictureRenderer (https://codereview.chromium.org/273703006/)
Reason for revert:
breaking the android debug builds.  It seems to be the result of android using shared libs and not lumping everything into one big static lib or executable. So we have more than one copy of SkString which is the root of the issue.

Original issue's description:
> extract some common code from PictureRenderer
>
> Committed: http://code.google.com/p/skia/source/detail?r=14638

R=borenet@google.com, epoger@google.com
TBR=borenet@google.com, epoger@google.com
NOTREECHECKS=true
NOTRY=true

Author: djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14649 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 16:23:56 +00:00
commit-bot@chromium.org
199cf69575 Fix Moz2D build
BUG=skia:2221
R=george@mozilla.com, reed@google.com

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14647 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 15:29:57 +00:00
commit-bot@chromium.org
ee18f2a3c9 extract some common code from PictureRenderer
R=borenet@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14638 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 14:48:44 +00:00
commit-bot@chromium.org
8fae213590 add localmatrix-shader
BUG=skia:
R=scroggo@google.com, dominikg@chromium.org

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14633 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 22:26:37 +00:00
reed@google.com
a8e52df6f3 remove SK_SUPPORT_LEGACY_BLURMASKFILTER_STYLE
git-svn-id: http://skia.googlecode.com/svn/trunk@14629 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 20:54:58 +00:00
commit-bot@chromium.org
50ca12be56 Statically initialize those zero-size singletons.
This way GCC/Clang don't generate the magic static code to call the
pointless T::T() once in a threadsafe way.  = {} is plenty initialized.

BUG=skia:2378

Committed: http://code.google.com/p/skia/source/detail?r=14623

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14626 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 19:56:27 +00:00
commit-bot@chromium.org
d53b22754d New GM for testing circle blur optimization
BUG=skia:
R=bsalomon@google.com, mtklein@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14621 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 17:50:03 +00:00
commit-bot@chromium.org
2db7fe7d3b When solving the cubic line intersection directly fails, use binary search as a fallback.
The cubic line intersection math empirically works 99.99% of the time (fails 3100 out of 1B random tests) but when it fails, an intersection may be missed altogether.

The binary search is may not find a solution if the cubic line failed to find any solutions at all, but so far that case hasn't arisen.

BUG=skia:2504
TBR=reed@google.com

Author: caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14614 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 15:31:40 +00:00
commit-bot@chromium.org
6e8f64cc91 Disallow Android from calling getTotalClip.
Remove the define that lets the function live on.

R=reed@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14612 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 15:08:48 +00:00
commit-bot@chromium.org
eaca36b657 remove dead mipmap code from SkBitmap
BUG=skia:
R=fmalita@google.com, fmalita@chromium.org

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14611 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 15:05:34 +00:00
commit-bot@chromium.org
e9d8ef5cfd Revert "remove unneeded SK_SUPPORT_LEGACY_BLURMASKFILTER_STYLE"
This reverts commit 95b03ce599.

NOTRY=True
TBR=fmalita@google.com

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14606 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 03:57:56 +00:00
reed@google.com
95b03ce599 remove unneeded SK_SUPPORT_LEGACY_BLURMASKFILTER_STYLE
git-svn-id: http://skia.googlecode.com/svn/trunk@14601 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-06 21:00:01 +00:00
djsollen@google.com
901c43c26f Temporarily disable NEON on Android framework builds.
The GCC 4.8 compiler has an AARCH64 bug that generated non-PIC output
that fails to link.

R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14597 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-06 19:47:07 +00:00
commit-bot@chromium.org
545a21a714 Add dump_record to make inspecting before/after SkRecordOptimize easy.
E.g.
dump_record -r http___groupcloned_com_test_plain_list_animation_simple_html_layer_109.skp

 0 Save
 1 	DrawRect
 2 	DrawRect
 3 	DrawRect
 4 	DrawRect
 5 	Save
 6 		ClipRect
 7 	Restore
 8 	Save
 9 		ClipRect
10 	Restore
11 Restore

dump_record -O -r http___groupcloned_com_test_plain_list_animation_simple_html_layer_109.skp
 0 Save
 1 	DrawRect
 2 	DrawRect
 3 	DrawRect
 4 	DrawRect
 5 	NoOp
 6 	NoOp
 7 	NoOp
 8 	NoOp
 9 	NoOp
10 	NoOp
11 Restore

(Reitveld sadly eats my kickass indentation.)

BUG=skia:2378
R=fmalita@chromium.org, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14596 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-06 19:45:18 +00:00
commit-bot@chromium.org
73fffeb83a Add pattern matchers for SkRecord
This is a mid-level library for finding patterns of commands in an SkRecord.  At the API level, it's a bit regex inspired.  Some examples:
 - Pattern1<Is<DrawRect>> matches a single DrawRect

 - Pattern1<Star<Is<DrawRect>>> matches 0 or more DrawRects

 - Pattern2<Is<ClipRect>, Is<DrawRect>> matches a single clip rect followed by a single draw rect

  - Pattern3<Is<Save>, Star<IsDraw>, Is<Restore>> matches a single Save, followed by any number of Draws, followed by Restore

 - Pattern1<Or<Is<DrawRect>, Is<ClipRect>>> matches a DrawRect or a ClipRect

 - Pattern1<Not<Is<ClipRect>>> matches a command that's notClipRect.

Once you have a pattern, you can call .search() on it to step through ranges of matching commands.  This means patterns can replace most of the custom iteration logic for optimization passes: the generic pattern searching steps through all the optimization candidates, which optimization-specific code further inspects and mutates.

SkRecordTraits is now unused.  Bye bye!

Generated code and performance of SkRecordOpts is very similar to what it was before.  (I had to use SK_ALWAYS_INLINE in a few places to make this so.)

BUG=skia:2378
R=fmalita@chromium.org, bungeman@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@14582 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 21:59:52 +00:00