Commit Graph

1672 Commits

Author SHA1 Message Date
senorblanco@chromium.org
d9cdff67a4 Fix GPU displacement with expanding crop rects.
Fix GPU displacement with expanding crop rects, and re-enable the
imagefilterscropexpand GM. There were two bugs: the result texture was
being created at input color bitmap size, not the cropped bounds size,
and the matrix in GrContext was not being set to identity before draw.

R=junov@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13844 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 23:41:40 +00:00
commit-bot@chromium.org
a713f9c6f6 add new readPixels with direct memory parameters
BUG=skia:
R=scroggo@google.com, bsalomon@google.com, robertphillips@google.com, fmalita@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13840 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 21:31:26 +00:00
commit-bot@chromium.org
949b9986de Fast implementation of QuadTree
Rewritten to avoid memory allocations.

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

Author: iancottrell@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13826 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-17 10:38:34 +00:00
robertphillips@google.com
0f03f43e44 Move SkNoSaveLayerCanvas.h to include/utils
https://codereview.chromium.org/197243005



git-svn-id: http://skia.googlecode.com/svn/trunk@13823 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-16 21:59:11 +00:00
commit-bot@chromium.org
2ff20aba21 Suppress imagefilterscropexpand GM temporarily to fix Win Debug failures.
NOTREECHECKS=true
NOTRY=true
R=halcanary@google.com

Author: senorblanco@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13812 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 19:02:15 +00:00
senorblanco@chromium.org
118252962f Implement support for expanding crop rects in image filters
NOTE: this patch set is based on https://codereview.chromium.org/189913021/,
and needs that patch to land first.

Until now, crop rects in Skia have only been able to reduce
the size of the destination bounds, but not expand them.
SVG semantics require the latter as well. The heart of
the change is in applyCropRect(), which now assigns each
edge, instead of doing an intersection with the crop rect.

In order to support this (and still work well with tiled
drawing) we need to clip the resulting crop rect to the
clipping region of the filters. This uses the Context struct
previously landed from https://codereview.chromium.org/189913021/.

Many of the pixel loops are not yet ready to handle a
destination rect larger than the source rect. So we provide
a convenience version of applyCropRect() which creates an
offscreen and pads it out with transparent black. Once the
pixel loops and shaders have been fixed to support larger
destination bounds, they should be switched back to the
non-drawing version of applyCropRect().

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

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13809 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 17:44:41 +00:00
reed@google.com
18d6753bd0 remove SK_SUPPORT_LEGACY_WRITEPIXELSCONFIG
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13808 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 17:26:15 +00:00
reed@google.com
b3890cbcdb remove SK_SUPPORT_LEGACY_GETDEVICECAPABILITIES
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13807 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 17:24:05 +00:00
senorblanco@chromium.org
29089179a6 Revert "Implement support for expanding crop rects in image filters"
Breaking ImageFilterTests unit test.

TBR=bsalomon@google.com
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13806 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 16:48:39 +00:00
senorblanco@chromium.org
0ef0501baf Implement support for expanding crop rects in image filters
NOTE: this patch set is based on https://codereview.chromium.org/189913021/,
and needs that patch to land first.

Until now, crop rects in Skia have only been able to reduce
the size of the destination bounds, but not expand them.
SVG semantics require the latter as well. The heart of
the change is in applyCropRect(), which now assigns each
edge, instead of doing an intersection with the crop rect.

In order to support this (and still work well with tiled
drawing) we need to clip the resulting crop rect to the
clipping region of the filters. This uses the Context struct
previously landed from https://codereview.chromium.org/189913021/.

Many of the pixel loops are not yet ready to handle a
destination rect larger than the source rect. So we provide
a convenience version of applyCropRect() which creates an
offscreen and pads it out with transparent black. Once the
pixel loops and shaders have been fixed to support larger
destination bounds, they should be switched back to the
non-drawing version of applyCropRect().

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13805 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 16:35:08 +00:00
commit-bot@chromium.org
3da3b621c3 getDeviceCapabilities is no longer need, so remove it
BUG=skia:
R=bungeman@google.com, vandebo@chromium.org

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13797 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 19:38:10 +00:00
commit-bot@chromium.org
641e33b3f6 add gm to show bug in stroked-text in drawPosText
BUG=skia:
R=fmalita@google.com, bungeman@google.com, fmalita@chromium.org

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13777 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 20:31:24 +00:00
reed@google.com
9c135db83d support direct writing to top layer, and hide getTopLayer()
this should remove many of the chrome callers that today call
accessBitmap on the toplayer, so they can read/write those pixels.

The ultimate fix will be to support custom allocation of raster layers
(via GDI/cairo/mac) so we can remove PlatformDevice subclassing in
skia/ext

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13774 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 18:28:35 +00:00
commit-bot@chromium.org
ae79612092 Add compile flag to force usage of distance fields for all SkPaints.
BUG=skia:2173
R=reed@google.com, robertphillips@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13770 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 17:05:46 +00:00
commit-bot@chromium.org
ab373bd459 remove SK_SUPPORT_LEGACY_COPYTO_CONFIG
R=halcanary@google.com
TBR=halcanary@google.com
NOTRY=True
NOTREECHECK=True

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13753 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 22:58:24 +00:00
commit-bot@chromium.org
6f458fc221 First pass at a web app that lets you run Skia code and see the results.
BUG=skia:
R=reed@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13751 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 22:57:50 +00:00
commit-bot@chromium.org
b97c3ffddf Enable use of distance fields via SkPaint flag.
Now that distance field generation is fast enough to make it practical, this makes distances field fonts easily available to anyone who wants to try them out (i.e Chromium).

BUG=skia:2173
R=reed@google.com, bsalomon@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13741 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 17:07:15 +00:00
commit-bot@chromium.org
8065ec50f1 Add new module for distance field generation.
This improves the speed over the previous method by 10x+, and makes using distance fields practical.

BUG=skia:2173

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

R=bsalomon@google.com, robertphillips@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13740 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-11 15:57:40 +00:00
commit-bot@chromium.org
b5f3b35645 Revert of Add new module for distance field generation. (https://codereview.chromium.org/178543007/)
Reason for revert:
multiple compile errors

Original issue's description:
> Add new module for distance field generation.
>
> This improves the speed over the previous method by 10x+, and makes using distance fields practical.
>
> BUG=skia:2173
>
> Committed: http://code.google.com/p/skia/source/detail?r=13729

R=bsalomon@google.com, robertphillips@google.com, jvanverth@google.com
TBR=bsalomon@google.com, jvanverth@google.com, robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2173

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13732 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 20:37:54 +00:00
commit-bot@chromium.org
bf99824083 Add new module for distance field generation.
This improves the speed over the previous method by 10x+, and makes using distance fields practical.

BUG=skia:2173
R=bsalomon@google.com, robertphillips@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13729 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 19:38:51 +00:00
reed@google.com
e8ead8e510 Revert "remove flag for legacy copyTo -- call sites have been updated"
This reverts commit 85586a92f50942ede4422aca7308b9d8a88469db.

git-svn-id: http://skia.googlecode.com/svn/trunk@13719 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 12:17:06 +00:00
skia.committer@gmail.com
a5cb214132 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13716 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-09 03:02:09 +00:00
commit-bot@chromium.org
5c70cdca5e hide getTotalClip, so we can eventually remove it
hide getClipType, so we can eventually remove it

patch from issue 189443007

TBR=robertphilips@google.com

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13715 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-08 03:57:19 +00:00
reed@google.com
ce29b329e4 remove flag for legacy copyTo -- call sites have been updated
TBR=robertphilips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13706 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 16:20:47 +00:00
commit-bot@chromium.org
8016f79cfc This is just the first version and shows how I intend to orchestrate this. Future enhancements will:
track the portion of the bitmap required
track any resizing that might be required
actually preload something

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

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13704 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 15:53:01 +00:00
commit-bot@chromium.org
4cd9e2169e Add SkCanvas::writePixels that takes info+pixels directly
add corresponding methods to device (w/ diff name to avoid colliding with exising virtuals)

BUG=skia:
R=bsalomon@google.com, robertphillips@google.com, junov@google.com, junov@chromium.org

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13697 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 03:25:16 +00:00
commit-bot@chromium.org
a5572e5bb2 Add a class to allocate small objects w/o extra calls to new.
Add SkSmallAllocator, a template for allocating small (as defined by the
instantiation) objects without extra calls to new. Add a helper macro to
make using it simple.

Remove SkTemplatesPriv.h, whose behavior is replaced by SkSmallAllocator.
The old SK_PLACEMENT_NEW had the following drawbacks:
- Easily confused with SkNEW_PLACEMENT.
- Requires passing around lots of void*s along with the storageSize.
- Requires using a separate class for deleting it.
- We had multiple ways Auto objects for deleting in different places.
- It always did a straight heap allocation on Windows, meaning Windows
  did not get any advantages from the confusing code.
The new SkSmallAllocator simplifies things:
- It is clear about what it does.
- It takes care of the deletion in one place that is automatically
  handled.

Further, the new class can be used to create more than one object. This
is in preparation for BUG=skia:1976, for which we would like to create
a new object without extra heap allocations. The plan is to create both
the blitter and the new object on the stack using the SkSmallAllocator.

Add a new test for SkSmallAllocator.

SkShader.h:
Move the private version of CreateBitmapShader to SkBitmapProcShader
(which already has the implementation) and remove the friend class
(which was only used to call this private function). This allows
SkSmallAllocator to reside in the private src/ directory.

SkBitmapProcShader:
Move CreateBitmapShader and the macro for the storage size here. With
the macro in a (private) header, the (private) headers with function
declarations (which now depend on the storage size used) can see the
macro.
Use SkSmallAllocator in CreateBitmapShader.
Change the macro to kBlitterStorageByteCount, since SkSmallAllocator
takes a byte count as its template parameter.

SkBlitter:
Use the SkSmallAllocator.
Remove Sk3DShader::fKillProc and SkAutoCallProc. Both of their
behaviors have been moved into SkSmallAllocator (SkAutoCallProc was
unnecessary anyway, because the only time we ever used it we also
called detach(), so its auto behavior never happened).
Create the Sk3DShader on the stack, if there's room.
Remove the helper version of Choose, which was unused.

SmallAllocatorTest:
Test for the new class.

The rest:
Use SkSmallAllocator.

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

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13696 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 03:24:41 +00:00
commit-bot@chromium.org
fab349c0bf remove SK_SUPPORT_DEEPCOPYTO_CONFIG code -- no longer used
R=reed@google.com
TBR=bsalomon@google.com

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13664 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-05 02:34:58 +00:00
commit-bot@chromium.org
24e0496e8d Factor out a BaseContext from JsContext.
BUG=skia:
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13660 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-04 20:44:32 +00:00
senorblanco@chromium.org
6aa6fec0e3 Cleanup patch to move all of SkImageFilterUtils into SkImageFilter.
This was a utility class that dates from before GPU code was allowed
in core. Now that it is, there's no reason not to have this
functionality in SkImageFilter.

Covered by existing tests.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13646 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-03 22:13:56 +00:00
commit-bot@chromium.org
085a6e476b Rename test files to end with Test.cpp.
DM builds all of {bench,gm,test}/*.cpp.  A Windows build warned us that we were
trying to link typeface.obj twice.  This must have something to do with there
existing gm/typeface.cpp and tests/Typeface.cpp.  To be safe, make sure tests
have a Test.cpp suffix to disambiguate.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13644 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-03 19:23:28 +00:00
commit-bot@chromium.org
6f4fb0f129 Generating the 1M skps frequently yields truncated skps. This tool is intended to help automate weeding these out.
Please see skbug:1057

rmistry for tools, gyp
mtklein for src\core & include\core

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

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13643 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-03 19:18:39 +00:00
commit-bot@chromium.org
ef57b7e653 DM: make GPU tasks multithreaded again. Big refactor.
The main meat of things is in SkThreadPool.  We can now give SkThreadPool a
type for each thread to create and destroy on its local stack.  It's TLS
without going through SkTLS.

I've split the DM tasks into CpuTasks that run on threads with no TLS, and
GpuTasks that run on threads with a thread local GrContextFactory.

The old CpuTask and GpuTask have been renamed to CpuGMTask and GpuGMTask.

Upshot: default run of out/Debug/dm goes from ~45 seconds to ~20 seconds.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13632 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 20:31:31 +00:00
reed@google.com
6c50cd31ed remove SK_SUPPORT_DEEPCOPYTO_CONFIG
git-svn-id: http://skia.googlecode.com/svn/trunk@13625 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 16:30:45 +00:00
commit-bot@chromium.org
e72a408359 Updates to gyp files for building Android.mk
R=djsollen@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13624 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 16:07:39 +00:00
commit-bot@chromium.org
9d0ecf48c4 Modify how gpu.gyp includes angle.gyp.
Instead of including dependencies on angle.gyp and then removing
them if skia_angle is not true, only include angle.gyp to begin
with skia_angle is true.

This allows gyp_to_android.py to work when run in the Android tree,
where we don't have third_party/externals (since we do only a git
merge, and no gclient sync.

R=djsollen@google.com, robertphillips@google.com, bsalomon@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13618 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-27 20:40:31 +00:00
commit-bot@chromium.org
4fcc3ca411 Add GrSet class built on top of RedBlackTree
BUG=skia:
R=bsalomon@google.com

Author: egdaniel@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13616 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-27 20:23:22 +00:00
commit-bot@chromium.org
f679d1bf38 Rename Path to Path2D
BUG=skia:
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13615 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-27 20:20:21 +00:00
commit-bot@chromium.org
38aeb0fd7a DM: also run benches once.
Also:
  - make GrMemoryPoolBenches threadsafe
  - some tweaks to various DM code
  - rename GM::shortName() to getName() to match benches and tests

On my desktop, (289 GMs, 617 benches) x 4 configs, 227 tests takes 46s in Debug, 14s in Release.  (Still minutes faster than running tests && bench && gm.)  GPU singlethreading is definitely the limiting factor again; going to reexamine whether that's helpful to thread it again.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13603 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 23:01:57 +00:00
bsalomon@google.com
4ebe382188 Revert "Revert of Add getReducedClipStack to lua canvas (https://codereview.chromium.org/180283004/)"
This reverts commit efded03a38d6147caaf2d951638d27fdd47eed64.

Fixes builds

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13599 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 20:22:32 +00:00
commit-bot@chromium.org
1caedbb216 Revert of Add getReducedClipStack to lua canvas (https://codereview.chromium.org/180283004/)
Reason for revert:
breaking a bunch of builds

Original issue's description:
> Add getReducedClipStack to lua canvas
>
> Committed: http://code.google.com/p/skia/source/detail?r=13594

R=reed@google.com
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13597 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 18:32:44 +00:00
bsalomon@google.com
b805fe5884 Fix SampleApp build
TBR=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13596 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 18:12:11 +00:00
commit-bot@chromium.org
a47ac2bcc2 Add getReducedClipStack to lua canvas
R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13594 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 17:50:08 +00:00
commit-bot@chromium.org
0dc5bd149a Let DM run unit tests.
- refactor GYPs and a few flags
  - make GPU tests grab a thread-local GrContextFactory when needed as we do in DM for GMs
  - add a few more UI features to make DM more like tests

I believe this makes the program 'tests' obsolete.

It should be somewhat faster to run the two sets together than running the old binaries serially:
  - serial: tests 20s (3m18s CPU), dm 21s (3m01s CPU)
  - together: 27s (6m21s CPU)

Next up is to incorporate benches.  I'm only planning there on a single-pass sanity check, so that won't obsolete the program 'bench' just yet.

Tested: out/Debug/tests && out/Debug/dm && echo ok
BUG=skia:

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

R=reed@google.com, bsalomon@google.com, mtklein@google.com, tfarina@chromium.org

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13592 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 16:31:22 +00:00
commit-bot@chromium.org
7f428a941b Check in today's exhaustive blend experiments.
BUG=skia:
R=reed@google.com, mtklein@google.com

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13588 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-25 21:31:03 +00:00
commit-bot@chromium.org
79e13260cf Revert of Let DM run unit tests. (https://codereview.chromium.org/178273002/)
Reason for revert:
broke tests

Original issue's description:
> Let DM run unit tests.
>   - refactor GYPs and a few flags
>   - make GPU tests grab a thread-local GrContextFactory when needed as we do in DM for GMs
>   - add a few more UI features to make DM more like tests
>
> I believe this makes the program 'tests' obsolete.
>
> It should be somewhat faster to run the two sets together than running the old binaries serially:
>   - serial: tests 20s (3m18s CPU), dm 21s (3m01s CPU)
>   - together: 27s (6m21s CPU)
>
> Next up is to incorporate benches.  I'm only planning there on a single-pass sanity check, so that won't obsolete the program 'bench' just yet.
>
> Tested: out/Debug/tests && out/Debug/dm && echo ok
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=13586

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

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13587 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-25 20:02:09 +00:00
commit-bot@chromium.org
6bd250a2a3 Let DM run unit tests.
- refactor GYPs and a few flags
  - make GPU tests grab a thread-local GrContextFactory when needed as we do in DM for GMs
  - add a few more UI features to make DM more like tests

I believe this makes the program 'tests' obsolete.

It should be somewhat faster to run the two sets together than running the old binaries serially:
  - serial: tests 20s (3m18s CPU), dm 21s (3m01s CPU)
  - together: 27s (6m21s CPU)

Next up is to incorporate benches.  I'm only planning there on a single-pass sanity check, so that won't obsolete the program 'bench' just yet.

Tested: out/Debug/tests && out/Debug/dm && echo ok
BUG=skia:
R=reed@google.com, bsalomon@google.com, mtklein@google.com, tfarina@chromium.org

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13586 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-25 19:32:15 +00:00
reed@google.com
b4c5f06c03 allow skia flags to be specified in a skia file, but reference by chrome's skia_common.gypi
in support of https://codereview.chromium.org/180083002/ which will land after this CL is visible in Chrome

R=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13582 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-25 18:13:22 +00:00
commit-bot@chromium.org
076ce35529 Fix valgrind bot errors introduced in f84722e477.
NOTREECHECKS=true
NOTRY=true
R=robertphillips@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13580 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-25 18:01:37 +00:00
skia.committer@gmail.com
90667ba5eb Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13576 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-25 03:05:18 +00:00
commit-bot@chromium.org
2ea14c68c3 Fix ChromeOS build broken in f84722e477
NOTREECHECKS=true
NOTRY=true
R=scroggo@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13571 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-24 21:39:01 +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
4324c3ba70 Fix warnings on Ubuntu13
Turn off warnings when building libwebp.
Turn off warnings when building libjpeg.
Initialize some variables immediately.

NOTRY=True
NOTREECHECKS=True

BUG=skia:2213
BUG=skia:2214
R=bsalomon@google.com, halcanary@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13545 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-21 20:11:42 +00:00
commit-bot@chromium.org
ed9806f5c9 add SkCanvas::drawDRRect
BUG=skia:
R=bsalomon@google.com, robertphillips@google.com, humper@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13524 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-21 02:32:36 +00:00
commit-bot@chromium.org
fe42410103 Fix NaCl build for pepper_32
BUG=skia:
R=rmistry@google.com, djsollen@google.com

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13523 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-21 00:40:16 +00:00
senorblanco@chromium.org
d4d44f08d7 Re-enable imageresizetiled, but skip it in tilegrid and rtree.
This change makes kSkipTiled_Flag also skip --tileGrid and --rtree.
All GMs which were passing kSkipTiled_Flag before were also passing
kSkipPicture_Flag, which also skips tilegrid and rtree, so this should
have no effect on them, but provides a smaller hammer for GMs which
still want to test picture playback, but not tiling.

The exception is magnifier, which was passing only kSkipTiled_Flag,
but magnifier is an odd beast and not web-exposed, so I'm not worried
about reducing its coverage slightly.

R=scroggo@google.com
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13514 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-20 17:17:57 +00:00
senorblanco@chromium.org
32ffe9c402 Disable imageresizetiled GM for now due to rtree and tilegrid failures.
TBR=scroggo@google.com
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13507 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-19 22:36:32 +00:00
senorblanco@chromium.org
897b73f62c Fix CTM application in SkResizeImagefilter; implement bounds traversals.
SkResizeImageFilter resizes all the pixels from its input (subject to
the input's crop rect), but the offset to be applied was incorrect.
It should take the CTM into account, so that the origin of the resize is
the world space origin, unaffected by whatever clipping is applied.

New GM imageresizetiled exercises the behaviour under
impl-side-painting-like conditions, and existing GMs now have resize
cases added.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13506 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-19 22:10:12 +00:00
commit-bot@chromium.org
c2f7824436 Analytic rrect clip for cicular corners, radius >= 0.5
BUG=skia:2181
R=robertphillips@google.com, jvanverth@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13498 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-19 15:18:05 +00:00
commit-bot@chromium.org
93f5e51621 Small fixes for auto generating Android.mk
Turn off -Wno-c++11-extensions for Android. The Android framework does
not support this flag. Using it gives a bunch of warnings when building,
so remove it.

Remove skia_chrome_utils from framework. They are experimental and not
used by Android.

BUG=skia:1975
R=djsollen@google.com, robertphillips@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13475 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-17 15:22:26 +00:00
commit-bot@chromium.org
35d4872f9a Gyp flag to disable inlining.
To turn off all inlining, rebuild after running the command

$ GYP_DEFINES=skia_disable_inlining=1 ./gyp_skia

Provides an initial value in one GM to avoid an uninitialized variable warning.

BUG=skia:2126
R=scroggo@google.com, mtklein@google.com, tomhudson@google.com

Author: tomhudson@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13437 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 18:36:36 +00:00
commit-bot@chromium.org
c3bd8af6d5 add peekPixels to SkCanvas and SkSurface
fix reference to SkBaseDevice, which was only a problem in no-gpu build

This reverts commit 4fa44a6bf73891b21917fb90d02beef9143bffa3.

R=reed@google.com

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13432 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 17:14:46 +00:00
commit-bot@chromium.org
310ec8e32c Update directions and lib paths for ninja.
BUG=skia:
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13429 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 15:30:06 +00:00
commit-bot@chromium.org
bda591c739 Revert of add peekPixels to SkCanvas and SkSurface (https://codereview.chromium.org/161733002/)
Reason for revert:
compile issues with gm/xfermodes3

Original issue's description:
> add peekPixels to SkCanvas and SkSurface
>
> clone of https://codereview.chromium.org/159723006/
>
> Committed: https://code.google.com/p/skia/source/detail?r=13427

R=jvanverth@google.com
NOTREECHECKS=true
NOTRY=true

Author: reed@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13428 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 15:29:03 +00:00
mike@reedtribe.org
b2d93a9122 add peekPixels to SkCanvas and SkSurface
clone of https://codereview.chromium.org/159723006/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13427 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 15:11:11 +00:00
robertphillips@google.com
105a4a584c Collapse matrix & clip stack in PictureRecord
https://codereview.chromium.org/137093004/



git-svn-id: http://skia.googlecode.com/svn/trunk@13402 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-11 15:10:40 +00:00
commit-bot@chromium.org
5764165127 Split opts_check_arm.cpp into per-class files
Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

BUG=skia:
R=djsollen@google.com

Author: kevin.petit@arm.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13381 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-10 15:01:05 +00:00
reed@google.com
d5808bd35a add inital gm for colorfilters
BUG=skia:
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13346 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-06 16:53:25 +00:00
robertphillips@google.com
1f71846e5c Add test harness for matrix/clip state collapsing
https://codereview.chromium.org/133003006/



git-svn-id: http://skia.googlecode.com/svn/trunk@13340 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-06 14:22:47 +00:00
senorblanco@chromium.org
c4b12f19a4 Implement correct clipping for image filters.
Image filters in Skia currently clip the size of the the offscreen
bitmap used for filtering to the device clip bounds. This means that
any pixel-moving filter (e.g., blur) has edge artifacts at the clip
boundaries. This is problematic for tiling, where a single SkPicture
is played back with a clip set to the tile boundaries.

By implementing the onFilterBounds() traversal, and using it in
saveLayer() when a filter is present, we can clip the layer to the
expanded clip rect. Note that this requires that the traversal be
performed in reverse as compared to computeFastBounds().  (It's also
done in device space, unlike computeFastBounds()).

New test imagefiltersclipped tests pixel-moving filters when clipped
by various clip rects.
New test imageblurtiled tests tiled (compositor-style) rendering of
blurred text. There should be no artifacts at the tile boundaries.

BUG=337831
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13323 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 17:51:22 +00:00
scroggo@google.com
d4adfa37fb Reland "Gyp file changes for the android framework."
Relands https://codereview.chromium.org/153093003/, which was reverted
with https://skia.googlesource.com/skia.git/+/eb6295044b97db05ec40625dcebc2459b2a38a98

This reverts commit 6b32be1402eb6c549d5ba1db71860e24f9de2991.

BUG=skia:1975
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13321 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 16:35:12 +00:00
scroggo@google.com
eb6295044b Gyp file changes for the android framework.
Split off from https://codereview.chromium.org/140503007/.

The eventual goal is to create our Android.mk from gyp. This patch
adds an option for skia_android_framework with the right settings.
The follow-up (https://codereview.chromium.org/140503007/) will
use scripts to create the final makefile.

gyp/android_deps.gyp:
Use different dependencies for the framework than for building Skia
normally.

gyp/android_framework_lib.gyp:
Like skia_lib, specifies the minimum needed for building Skia, in this
case for the framework.

gyp/common_conditions.gypi:
Add settings specific to skia_android_framework. In some cases this
means turning off flags and defines.

gyp/common.gypi
Turn off SK_DEBUG and SK_DEVELOPER when building for the framework.
This allows the framework to create a single makefile which can be
modified to add SK_DEBUG and SK_DEVELOPER as desired.

gyp/common_variables.gypi:
Add skia_android_framework.

gyp/core.gyp:
Don't depend on cpufeatures, and add the cutils library for
skia_android_framework.

gyp/freetype.gyp:
skia_android_framework-specific options:
Don't include freetype_static as a dependency.
Include the proper folders.
Include the android library.

gyp/images.gyp:
Don't export libjpeg as a dependency for targets that include images
for the framework.
Also reorder image decoders to match the Android order, leaving our
most commonly used ones last (and therefore first in the chain for
trying them).

gyp/libwebp.gyp:
Use the system webp when building for the Android framework. Specify
the correct settings for the framework.

gyp/opts.gyp:
Specify a default set of files to compile when there are no possible
optimizations.

gyp/pdf.gyp:
Add dependencies for Android framework.

gyp/zlib.gyp:
Include the zlib folder, and undefine SK_ZLIB_INCLUDE.

BUG=skia:1975
R=djsollen@google.com

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13304 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 16:08:48 +00:00
scroggo@google.com
1c9bd55ea3 Gyp file changes for the android framework.
Split off from https://codereview.chromium.org/140503007/.

The eventual goal is to create our Android.mk from gyp. This patch
adds an option for skia_android_framework with the right settings.
The follow-up (https://codereview.chromium.org/140503007/) will
use scripts to create the final makefile.

gyp/android_deps.gyp:
Use different dependencies for the framework than for building Skia
normally.

gyp/android_framework_lib.gyp:
Like skia_lib, specifies the minimum needed for building Skia, in this
case for the framework.

gyp/common_conditions.gypi:
Add settings specific to skia_android_framework. In some cases this
means turning off flags and defines.

gyp/common.gypi
Turn off SK_DEBUG and SK_DEVELOPER when building for the framework.
This allows the framework to create a single makefile which can be
modified to add SK_DEBUG and SK_DEVELOPER as desired.

gyp/common_variables.gypi:
Add skia_android_framework.

gyp/core.gyp:
Don't depend on cpufeatures, and add the cutils library for
skia_android_framework.

gyp/freetype.gyp:
skia_android_framework-specific options:
Don't include freetype_static as a dependency.
Include the proper folders.
Include the android library.

gyp/images.gyp:
Don't export libjpeg as a dependency for targets that include images
for the framework.
Also reorder image decoders to match the Android order, leaving our
most commonly used ones last (and therefore first in the chain for
trying them).

gyp/libwebp.gyp:
Use the system webp when building for the Android framework. Specify
the correct settings for the framework.

gyp/opts.gyp:
Specify a default set of files to compile when there are no possible
optimizations.

gyp/pdf.gyp:
Add dependencies for Android framework.

gyp/zlib.gyp:
Include the zlib folder, and undefine SK_ZLIB_INCLUDE.

BUG=skia:1975
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13298 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 14:50:20 +00:00
commit-bot@chromium.org
c22d139808 Initial QuadTree implementation
In an effort to find a faster bounding box hierarchy than the R-Tree, a QuadTree has been implemented here.
For now, the QuadTree construction is generally faster than the R-Tree and the queries are a bit slower, so overall, SKP local tests showed QuadTree performance similar to the R-Tree performance.

Tests and bench are included in this cl.

At this point, I'd like to be able to commit this in order to more easily use the bots to test multiple configurations and a larger number of SKPs. The R-Tree BBH is still used by default so this change shouldn't affect chromium.

BUG=skia:
R=junov@chromium.org, junov@google.com, senorblanco@google.com, senorblanco@chromium.org, reed@google.com, sugoi@google.com, fmalita@google.com

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13282 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-03 18:08:33 +00:00
commit-bot@chromium.org
6adce6783c Allow GMs to be used as benchmarks. Make convex_poly_clip opt in.
R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13279 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-03 14:48:17 +00:00
tfarina@chromium.org
bbff20855f Split GrUnitTests.cpp into two separate unit tests.
GrUnitTests is too generic. Instead we split this file between the two
APIs being tested there, GrTBSearch and GrBinHashKey.

BUG=None
TEST=tests -m GrTBSearchTest && tests -m GrBinHashKeyTest
R=brian@thesalomons.net, robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13273 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 21:48:52 +00:00
commit-bot@chromium.org
0a74106aaa fix bad gyp file move
BUG=skia:
R=robertphillips@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13264 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 16:16:22 +00:00
commit-bot@chromium.org
a343c844ec Add GM with convex polygon clips
BUG=skia:2051
R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13262 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 14:48:58 +00:00
commit-bot@chromium.org
6169f2b4da initial import of Chrome's trace_event into skia framework
This patch includes a modified version of Chrome's trace_event.h, which provides
tracing macros that can easily integrate into the about://tracing framework.

Currently the macros link to a default implementation of the (narrow) tracing
class SkDefaultEventTracer which does nothing; next step will be to have Chrome
subclass the SkEventTracer with a shim that bolts Skia's trace events to its own,
allowing Skia's trace events to show up in about://tracing.

I've verified that this file builds properly, and when I added a simple scoped
TRACE_EVENT0 to SkCanvas::drawRect, along with some debug prints in the NOP
implementation of tracing, I saw what I expected printed to the screen.

BUG=skia:
R=nduca@chromium.org, reed@google.com, mtklein@google.com, bsalomon@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13256 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 00:04:25 +00:00
tfarina@chromium.org
ceddfeb2af Port SkBase64 test to our test driver.
BUG=None
TESTS=tests --match SkBase64Test
R=mtklein@google.com, reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13254 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 22:51:42 +00:00
commit-bot@chromium.org
8b0e8ac5f5 Refactor read and write buffers.
Eliminates SkFlattenable{Read,Write}Buffer, promoting SkOrdered{Read,Write}Buffer
a step each in the hierarchy.

What used to be this:

SkFlattenableWriteBuffer -> SkOrderedWriteBuffer
SkFlattenableReadBuffer  -> SkOrderedReadBuffer
SkFlattenableReadBuffer  -> SkValidatingReadBuffer

is now

SkWriteBuffer
SkReadBuffer -> SkValidatingReadBuffer

Benefits:
  - code is simpler, names are less wordy
  - the generic SkFlattenableFooBuffer code in SkPaint was incorrect; removed
  - write buffers are completely devirtualized, important for record speed

This refactoring was mostly mechanical.  You aren't going to find anything
interesting in files with less than 10 lines changed.

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

Author: mtklein@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13245 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 18:58:24 +00:00
commit-bot@chromium.org
c3fe54975d Add convex polygon rendering effect and GM to test it.
BUG=skia:2051
R=robertphillips@google.com, jvanverth@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13242 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 18:15:51 +00:00
commit-bot@chromium.org
ddf2bfb190 Move GrTextContext to private interface
NOTRY=true
R=bsalomon@google.com, reed@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13239 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 16:41:23 +00:00
commit-bot@chromium.org
cf34bc0634 patch from issue 119343003
compile on 10.6, exclude failing gms

Sorry for making another CL; rebasing ToT on the old one ended up with code in a tangled mess; was easier to start over.

NOTRY=true
R=bsalomon@google.com, epoger@google.com, reed@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13238 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 15:34:43 +00:00
tfarina@chromium.org
68f3a3e0b0 Reland "Unwrap GrRedBlackTree unit test and use REPORTER_ASSERT()."
BUG=None
TEST=tests
R=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13233 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-29 23:56:40 +00:00
commit-bot@chromium.org
a96176dc03 ARM Skia NEON patches - 20 - New improved BitmapProcState code
BitmapProcState: new factorised code

This one basically factorises the clamp and repeat transformations with
some performance improvements. It has the benefit of being faster, much
easier to maintain (nearly three times less code for more work
done :-)), and more complete (all persp transformations weren't optimised
in the previous version).

It also introduces the use of can_truncate_to_fixed_for_decal where
useful.

The effect on benchmarks ranges from a 5% penalty to a 25% gain on a
Cortex-A9 and from a 5% penalty to a 100% gain on a Cortex-A15.

Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

BUG=
R=djsollen@google.com, mtklein@google.com, luisjoseromeroesclusa@hotmail.com, reed@google.com

Author: kevin.petit.arm@gmail.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13218 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-28 15:18:54 +00:00
commit-bot@chromium.org
dcfa9ff57c Revert of Fast blurred rectangles on GPU (https://codereview.chromium.org/119343003/)
Reason for revert:
Two problems:

1. broke compile on Build-Mac10.6-* bots
2. broke GM expectations on many bots

We'll need to examine the GM impact before re-landing.  I can work with you to do this on Tuesday if you like; just IM or email me.

Original issue's description:
> Perform the same analytic blur calculation on the GPU that we do on the CPU.  Results in significant performance gains when using Ganesh to render drop shadows in Chrome.
>
> BUG=
>
> Committed: http://code.google.com/p/skia/source/detail?r=13210

R=bsalomon@google.com, reed@google.com, humper@google.com, rmistry@google.com
TBR=bsalomon@google.com, humper@google.com, reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13213 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-28 01:55:24 +00:00
commit-bot@chromium.org
d1829151a5 Perform the same analytic blur calculation on the GPU that we do on the CPU. Results in significant performance gains when using Ganesh to render drop shadows in Chrome.
BUG=
R=bsalomon@google.com, reed@google.com

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13210 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 22:41:45 +00:00
commit-bot@chromium.org
01260b2dbc Revert of Unwrap GrRedBlackTree unit test and use REPORTER_ASSERT(). (https://codereview.chromium.org/147713002/)
Reason for revert:
broke http://108.170.217.252:10115/builders/Build-Mac10.8-Clang-x86_64-Release/builds/2908/steps/Retry_BuildTests/logs/stdio and other builders:

GrRedBlackTreeTest.cpp:24:36: error: use of undeclared identifier 'xi'


Original issue's description:
> Unwrap GrRedBlackTree unit test and use REPORTER_ASSERT().
>
> This fixes the mtklein's TODO in GrUnitTests.cpp.
>
> BUG=None
> TEST=out/Debug/tests
> R=mtklein@google.com, robertphillips@google.com
>
> Committed: https://code.google.com/p/skia/source/detail?r=13208

R=mtklein@google.com, robertphillips@google.com, reed@google.com, tfarina@chromium.org
TBR=mtklein@google.com, reed@google.com, robertphillips@google.com, tfarina@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=None

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13209 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 21:54:18 +00:00
tfarina@chromium.org
0fba15125b Unwrap GrRedBlackTree unit test and use REPORTER_ASSERT().
This fixes the mtklein's TODO in GrUnitTests.cpp.

BUG=None
TEST=out/Debug/tests
R=mtklein@google.com, robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13208 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 21:40:14 +00:00
commit-bot@chromium.org
78dd91d1af Revert "Revert of Workaround for assertion in NVPR config in bench. (https://codereview.chromium.org/131503007/)"
add SK_SUPPORT_GPU check

BUG=skia:2042

TBR=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13203 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 19:52:51 +00:00
commit-bot@chromium.org
594aa5e39d Revert of Workaround for assertion in NVPR config in bench. (https://codereview.chromium.org/131503007/)
Reason for revert:
broke the build.

Original issue's description:
> Workaround for assertion in NVPR config in bench.
>
> BUG=skia:2078
>
> Committed: http://code.google.com/p/skia/source/detail?r=13196

R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2078

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13199 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 18:06:03 +00:00
commit-bot@chromium.org
fbd3047d23 Workaround for assertion in NVPR config in bench.
BUG=skia:2078
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13196 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 17:36:38 +00:00
commit-bot@chromium.org
d8ed85101e Turn NVPR on by default (but off in tools).
BUG=skia:2042

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

R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13176 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 20:49:44 +00:00
halcanary@google.com
68c74884d0 Revert "Turn NVPR on by default (but off in tools)."
This reverts commit 83d81c96de.

Broke Windows build.  Autorevert didn't work.

TBR=bsalomon@google.com,robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
NOPRESUBMIT=true
BUG=skia:2042

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13169 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 16:04:09 +00:00
senorblanco@chromium.org
0ded88d431 [Reland of r13154, since the Housekeeping bot seems to have reverted it in r13155. Next time I'll put the "do not disturb" sign on my commit.]
Refactor SkMorphologyImageFilter, CPU and GPU paths. This required making opts/ dependent on effects/, so that we could use the SkMorphologyProc type in SkMorphologyImageFilter.h.

Correctness and performance covered by existing tests; no change in functionality.

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

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

BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13168 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 15:43:50 +00:00
commit-bot@chromium.org
83d81c96de Turn NVPR on by default (but off in tools).
BUG=skia:2042
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13164 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 14:38:13 +00:00
tfarina@chromium.org
b2c323a91a Remove unused SampleTests.cpp source file.
We never compile this file.

BUG=None
TEST=tests
R=reed@google.com, robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13157 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 21:30:43 +00:00
skia.committer@gmail.com
1878a44c74 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13155 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 18:48:56 +00:00
senorblanco@chromium.org
76d4d04b18 Refactor SkMorphologyImageFilter, CPU and GPU paths. This required making opts/ dependent on effects/, so that we could use the SkMorphologyProc type in SkMorphologyImageFilter.h.
Correctness and performance covered by existing tests; no change in functionality.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13154 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 18:45:23 +00:00
commit-bot@chromium.org
09647969cf Remove extraneous folders from includes.
R=reed@google.com, bsalomon@google.com, mtklein@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13148 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 14:30:21 +00:00
commit-bot@chromium.org
2982a4f98c Add comment at top of freetype.gyp.
This tells VI to use colors when viewing.

R=djsollen@google.com

Author: scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13134 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-21 19:48:47 +00:00
senorblanco@chromium.org
2bfe36b68d Apply the CTM to filter parameters for SkBlurImageFilter, SkDropShadowImageFilter, SkDisplacementMapEffect and SkMorphologyImageFilter. I had resisted this (and may later put in an assert that the CTM contains no rotation, skew or perspective), but it just makes the filters play better with Skia generally.
This revealed that the displacement map was not handling clipping or upstream cropping at all well (the color would "swim" through the displacement at the edge of the clip rect). Fixed by passing through the correct offsets to the bitmap accesses in both raster and GPU paths. Same for morphology.

R=sugoi@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13127 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-20 19:58:28 +00:00
senorblanco@chromium.org
29f351a867 Allow an override of MACOSX_DEPLOYMENT_TARGET, so the user can build against a different SDK if desired.
R=mtklein@google.com, bungeman, mtklein

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13126 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-20 16:14:02 +00:00
bsalomon@google.com
fde5e264f3 Fix utils.gyp missing file
TBR=robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13125 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-17 20:33:09 +00:00
commit-bot@chromium.org
2ab1ba0555 Make leak counters thread-safe and turn them on by default for Debug
Make leak counters implemented with SK_DECLARE_INST_COUNT thread-safe.
Enable the leak counting for Debug builds when Skia is built as a
static library. Having SK_DECLARE_INST_COUNT without
SK_DEFINE_INST_COUNT relies on static variables in member functions
declared in the header files. These might be duplicated in the clients
of the library when Skia is built as a dynamic library, producing
incorrect operation.

Protect the instance counter initialization step (initStep) by
using SkOnce.

Makes SkOnce.h part of the public API, since SkInstCnt is public.

Protect the per-class child list shared variable with a per-class mutex.

Changes the behavior in the way that if the child list has been
"cleaned up", it will still try to create subsequent child lists.

BUG=skia:1219
R=robertphillips@google.com, mtklein@google.com, bsalomon@google.com, bungeman@google.com, djsollen@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13120 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-17 17:55:02 +00:00
commit-bot@chromium.org
6a18079de8 Use MACOSX_DEPLOYMENT_TARGET instead of SDKROOT.
MACOSX_DEPLOYMENT_TARGET is the minimum unconditionally supported OS,
which should just be 10.6 for us until Chrome changes.  SDKROOT is the
maximum conditionally supported OS, which defaults sanely to whatever's
the latest SDK the machine has, so we don't need to mention it.

BUG=skia:
R=bungeman@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13102 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 21:39:18 +00:00
commit-bot@chromium.org
424fce31c1 disable poplar/fontconfig by default on mac
BUG=skia:2045
NOTRY=true
R=vandebo@chromium.org, mtklein@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13095 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 19:28:27 +00:00
commit-bot@chromium.org
fa190be48a Roll fontconfig to 2.11.0 and reenable poppler on mac
R=mtklein@google.com, epoger@google.com

Author: vandebo@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13091 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 17:24:22 +00:00
senorblanco@chromium.org
a612d4c513 Implement a resize image filter. This is needed for the "filterRes" feature in SVG filter effects, which specifies the required size for intermediate processing buffers. In order to make this work, we need to render the primitive at the given resolution (doable at the callsite in Blink), and then to resize the result to the actual on-screen size. The latter is where this filter comes in.
It simply applies a scaling factor (and the current CTM) to its input, and draws its input bitmap at that size.

R=reed@google.com

Committed: https://code.google.com/p/skia/source/detail?r=13077
Reverted: https://code.google.com/p/skia/source/detail?r=13078

BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13082 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 04:49:18 +00:00
senorblanco@chromium.org
96673a918d Revert "Implement a resize image filter."
This reverts commit 3f996e31c7043929fc1553b9b5ecd6a82b5fe125 (r13077).

TBR=reed

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13078 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 22:55:04 +00:00
senorblanco@chromium.org
535e1ccbd0 Implement a resize image filter. This is needed for the "filterRes" feature in SVG filter effects, which specifies the required size for intermediate processing buffers. In order to make this work, we need to render the primitive at the given resolution (doable at the callsite in Blink), and then to resize the result to the actual on-screen size. The latter is where this filter comes in.
It simply applies a scaling factor (and the current CTM) to its input, and draws its input bitmap at that size.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13077 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 22:20:48 +00:00
djsollen@google.com
8844f99780 Revert "Make leak counters thread-safe and turn them on by default for Debug"
iThis CL is breaking the Android debug test bots by firing an assert.

BUG=skia:1219

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13076 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 21:54:44 +00:00
commit-bot@chromium.org
b638a3a941 Default Mac to 64-bit.
DM keeps exhausting 4G address space when it's really rolling.

BUG=
R=reed@google.com, borenet@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13072 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 20:49:26 +00:00
commit-bot@chromium.org
46de153d4e Make leak counters thread-safe and turn them on by default for Debug
Make leak counters implemented with SK_DECLARE_INST_COUNT thread-safe.
Enable the leak counting for Debug builds.

Protect the instance counter initialization step (initStep) by
using SkOnce.

Makes SkOnce.h part of the public API, since SkInstCnt is public.

Protect the per-class child list shared variable with a per-class mutex.

Changes the behavior in the way that if the child list has been
"cleaned up", it will still try to create subsequent child lists.

BUG=skia:1219

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

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

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13068 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 18:42:26 +00:00
reed@google.com
bf0001d047 remove remaining references to Sk64 (obsolete)
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13042 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 14:53:55 +00:00
robertphillips@google.com
56bf6e4bce Pull in Chromium's version of GatherPixelRefs
https://codereview.chromium.org/134473002/



git-svn-id: http://skia.googlecode.com/svn/trunk@13038 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 13:33:26 +00:00
commit-bot@chromium.org
15ac322aae Add bench_record.
I got fed up trying to figure out how best to measure recording cost with bench_pictures, render_pictures, etc, so I wrote a new tool.

Features welcome.

BUG=
R=tomhudson@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13037 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 12:03:47 +00:00
reed@google.com
f3abaeb0c5 remove (now unused) Sk64 -- just use int64_t
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13032 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-10 22:05:41 +00:00
commit-bot@chromium.org
1066f08378 If poppler is disable and native pdf is enabled, we still need SkPDFRasterizer.cpp
R=reed@google.com
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true

Author: vandebo@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13025 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-10 19:09:00 +00:00
commit-bot@chromium.org
4a8e17d52d remove poplar building from mac, until it is fixed
BUG=skia:2008
R=mtklein@google.com, vandebo@chromium.org

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13020 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-10 17:21:00 +00:00
commit-bot@chromium.org
83f56922e2 Fix Mac fontconfig build (try 2)
The Mac fontconfig just #defines the cache directory, which works fine if fontconfig never has to look up any fonts (the case until now). If it has to actually find fonts from the disk, the cache directory and config directory need to be properly defined as well as running fc-cache to populate the cache directory.

Populating the cache directory can take some time, but should only happen on a clean build. To remove this extra time, we have to not build poppler on Mac, which can now be accomplished with GYP_DEFINES="skia_mac_poppler=0"

R=epoger@google.com

Author: vandebo@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13007 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-09 22:54:26 +00:00
commit-bot@chromium.org
32eea431de Revert of https://codereview.chromium.org/113203003/
Reason for revert: Broken under XCode.

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

Author: vandebo@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12997 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-09 17:52:54 +00:00
commit-bot@chromium.org
9a907fa0d3 Fix Mac fontconfig build
The Mac fontconfig just #defines the cache directory, which works fine if fontconfig never has to look up any fonts (the case until now).  If it has to actually find fonts from the disk, the cache directory and config directory need to be properly defined as well as running fc-cache to populate the cache directory.

Populating the cache directory can take some time, but should only happen on a clean build.  To remove this extra time, we have to not build poppler on Mac, which can now be accomplished with GYP_DEFINES="skia_mac_poppler=0"

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

Author: vandebo@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12994 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-09 17:37:38 +00:00
commit-bot@chromium.org
d08d23b385 Small tweaks to be able to build everything target:
- fParsed is unused.
 - Quiet down a bogus -Wuninitialized warning in QWeakPointer.
Tested Clang and GCC on Linux.



BUG=
R=bungeman@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12970 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 21:16:14 +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
b163984ae7 Move v8 into third_party.
BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12954 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 15:14:09 +00:00
commit-bot@chromium.org
91e099e01d Update utils.gyp to find SkNoSaveLayerCanvas.h in 'src'.
R=robertphillips@google.com

Author: bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12947 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-07 20:11:38 +00:00
commit-bot@chromium.org
85facf71ef Add StackBench to measure performance on stack-like (fixed element size) work loads.
BUG=303282
R=reed@google.com, caryclark@google.com, mtklein@chromium.org

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12940 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-07 17:03:31 +00:00
robertphillips@google.com
81e8739a10 NoSaveLayerCanvas now its own file
https://codereview.chromium.org/120553003/



git-svn-id: http://skia.googlecode.com/svn/trunk@12938 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-07 16:08:04 +00:00
commit-bot@chromium.org
40eb3c1000 Add AlphaThreshold filter.
This is based on the Bitmap Alpha Threshold filter, and will be used by Chromium
to implement the window shape API.

R=bsalomon@chromium.org, wez@chromium.org, bsalomon@google.com, reed@google.com

Author: zork@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12935 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 23:41:14 +00:00
commit-bot@chromium.org
c8d732800e Renamed JsCanvas to JsContext and moved into it's own file.
Fleshed out a lot of the Path interface.

BUG=
R=robertphillips@google.com, tfarina@chromium.org, reed@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12913 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 18:17:24 +00:00
commit-bot@chromium.org
d4bda508c9 Add SkPreConfig.h to core.gypi
BUG=
R=reed@google.com

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12886 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-03 17:25:52 +00:00
commit-bot@chromium.org
c735598ce5 take 2: create simple 'skpmaker' tool to generate SKP files for testing
(re-landing https://codereview.chromium.org/108343006 without the build breakages)

BUG=skia:1943
R=rmistry@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12866 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 19:42:15 +00:00
commit-bot@chromium.org
5ccdf01fff Revert of https://codereview.chromium.org/108343006/
Reason for revert: broke some builds

R=rmistry@google.com, mtklein@google.com
TBR=mtklein@google.com, rmistry@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:1943

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12865 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 18:51:38 +00:00
commit-bot@chromium.org
dbd8379e5f create simple 'skpmaker' tool to generate SKP files for testing
(needed to create self-test for render_pictures)

BUG=skia:1943
R=rmistry@google.com, mtklein@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12864 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 18:10:34 +00:00
halcanary@google.com
1bed687f6b Add a release procedure to SkMallocPixelRef; remove SkDataPixelRef
This works in a way that is similar to SkData.

SkMallocPixelRef::NewWithProc

    Motivation: Chrome has a ETC1PixelRef which calls delete[] on the
    pixles on destruction.  There is no reason for them to almost
    duplicate our class, when we can provide them a more flexible
    class.  Example use:

      static void delete_uint8_proc(void* ptr, void*) {
        delete[] static_cast<uint8_t>(ptr);
      }
      SkPixelRef* new_delete_pixref(const SkImageInfo& info,
                                    SkColorTable* ctable) {
        size_t rb = info.minRowBytes();
        return SkMallocPixelRef::NewWithProc(
          info, rb, ctable,
          new uint8_t[info.getSafeSize(rb)],
          delete_uint8_proc, NULL);
      }

SkMallocPixelRef::NewWithData

	Motivation:  This allows up to eliminate SkDataPixelRef.  We
    modified SkImage_Raster to use MallocPixelRef rather than
    SkDataPixlRef.

Also:  Unit tests in tests/MallocPixelRefTest.

BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12861 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 17:29:28 +00:00
commit-bot@chromium.org
261c666682 Make tests output spin on the same line by default.
-v now gives a cleaned-up version of the existing output (every test timed, useless information removed)

Example output, default:
  [ 36/193] PathOpsCubicIntersectionOneOffTest
then later when finished...
  [193/193] BlurMaskFilter

Example output, -v:  (note, codereview is messing up my pretty spacing)
Skia UnitTests: --resourcePath resources SK_RELEASE SK_SCALAR_IS_FLOAT skia_arch_width=32
[  1/193]     0ms PathOpsSimplifyDontFailOneTest
[  2/193]     0ms PathOpsSimplifyFailOneTest
[  3/193]    30ms PathOpsSkpTest
[  4/193]    21ms PathOpsSimplifyFailTest
....
[182/193]  1026ms BlitRow
[183/193]   808ms AAClip
[184/193]  4333ms Math
[185/193]  5068ms PackBits
[186/193]  2265ms DrawText_DrawPosText
[187/193]  9163ms PathOpsRectsThreadedTest
[188/193]  5540ms GLPrograms
[189/193]     0ms GLInterfaceValidation
[190/193]     2ms DeferredCanvas
[191/193]     1ms ClipCache
[192/193]    30ms BlurMaskFilter
[193/193] 10396ms PathOpsOpCubicsThreadedTest
Finished 193 tests, 0 failures, 0 skipped.  (622610 internal tests)

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

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12860 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 16:19:53 +00:00
reed@google.com
85e143c33c reenable vertices gm, adding picture support
BUG=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12845 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 15:51:25 +00:00
mike@reedtribe.org
6adf296a8f disable gm/vertices until I can find/fix all warnings
git-svn-id: http://skia.googlecode.com/svn/trunk@12837 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 04:34:44 +00:00
mike@reedtribe.org
0c87ea8082 add gm::vertices
git-svn-id: http://skia.googlecode.com/svn/trunk@12834 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-30 04:07:34 +00:00
reed@google.com
1915fd09f3 remove unused SkFixed and SkFract functions
BUG=
R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12767 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-19 14:22:03 +00:00
commit-bot@chromium.org
9cfa287bc7 Remove SkBitmapAlphaThresholdShader
R=bsalomon@google.com

Author: zork@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12759 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 21:58:53 +00:00
robertphillips@google.com
94d8f1ed61 Update bench pictures to time image decode & upload costs
https://codereview.chromium.org/117583002/



git-svn-id: http://skia.googlecode.com/svn/trunk@12742 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 17:25:33 +00:00
bungeman@google.com
d9947f605a Split atomic and mutex implementations and make inlinable.
Skia cannot use Chromium's implementation of mutex (Lock) due to static
initializers. However, we would like to be able to use Chromium's
implementation of atomics. This motivates the split of implementation.

Skia's atomic and mutex calls should be inlinable, especially the atomics.
These calls often compile down to very few instructions, and we currently have
the overhead of a function call. This motivates the header implementation.

There is still a desire for the build system to select the implementation, so
the SK_XXX_PLATFORM_H pattern for header files is introduced. This allows the
build system to control which platform specific header files are chosen.

The Chromium side changes (most of which will need to go in before this change
can be found at https://codereview.chromium.org/19477005/ .
The Chromium side changes after this lands can be seen at 
https://codereview.chromium.org/98073013 .

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12738 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 15:27:39 +00:00
commit-bot@chromium.org
0fc0dea333 Add a setTimer() function.
Seemed simple, but required adding a Global class that contains all the global state (instance and context) for our running V8 instance. Also moved canvas.inval to be just inval() at the global level.

BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12730 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-18 04:45:37 +00:00
reed@google.com
8f4d2306fa remove SK_SCALAR_IS_[FLOAT,FIXED] and assume floats
To keep the CL (slightly) managable, this does not make any changes to
existing macros (e.g. SkScalarMul). Just tackling #ifdef constructs this
time around.

BUG=
R=bsalomon@google.com, caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12712 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-17 16:44:46 +00:00
commit-bot@chromium.org
48d94b8ce5 Add command line flag for optionally loading JS from external files.
BUG=
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12692 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 18:24:51 +00:00
reed@google.com
3c12840b23 remove SkFP.h and replace SkFP with SkScalar stop respecting SK_SOFTWARE_FLOAT, assume its always false stop respecting SK_SCALAR_SLOW_COMPARES, assume its always false
BUG=
R=caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12686 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-16 14:17:40 +00:00
reed@google.com
c0784dbd40 remove SkScalarCompare type and header
BUG=
R=fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12681 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 21:16:12 +00:00
commit-bot@chromium.org
a3f882c475 render_pictures: add --writeJsonSummaryPath
Known issues:
- JSON summary will be empty if --writePath not specified also
- testNames within summary do not include the config (8888, gpu, etc.)

BUG=
R=rmistry@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12680 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 20:52:36 +00:00
halcanary@google.com
4428734907 Allow 0-width SkBitmap in setConfig.
Previously, SkBitmap::setConfig would allow zero height, but not zero
width.  This is changed for consistancy.

A unit test was added.

BUG=
R=reed@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12673 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-13 18:29:51 +00:00
senorblanco@chromium.org
533330065a Implement an SkPicture image filter source. This is required for the external-SVG reference feature of feImage. It simply plays back an SkPicture to a given destination rect.
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12661 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 23:28:52 +00:00
senorblanco@chromium.org
9c5435de44 Revert "Implement an SkPicture image filter source. This is required for the external-SVG reference feature of feImage. It simply plays back an SkPicture to a given destination rect."
This reverts commit a620349a24471546ad2e8f0679774c1f5b4de0a4 (r12656).

git-svn-id: http://skia.googlecode.com/svn/trunk@12657 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 22:23:32 +00:00
senorblanco@chromium.org
14e21270f5 Implement an SkPicture image filter source. This is required for the external-SVG reference feature of feImage. It simply plays back an SkPicture to a given destination rect.
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12656 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 22:00:34 +00:00
halcanary@google.com
bc55eec80e Implement SkAshmemDiscardableMemory
-   Implement ashmem-backed SkDiscardableMemory subclass:
    This class in only accesible via the SkDiscardableMemory::Create()
    function, which replaces the mock implementation in
    SkDiscardableMemory_none.cpp

-   Added SkDiscardableMemory_ashmem.cpp to the Android port of Skia
    Removed SkDiscardableMemory_none.cpp from the Android port.

-   Added DiscardableMemoryTest.
    Still needs work.

-   SkDiscardablePixelRef Bugfix:
    onLockPixels() now calls SkDELETE on the SkDiscardableMemory pointer
    when it fails to unlock.

-   Improved documentation inside ashmem.h

BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12608 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 18:33:07 +00:00
vandebo@chromium.org
5f209e6405 Revert "[PDF] Fix font embedding restrictions."
This reverts r12600 and r12601, likely causing crash on Mac.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12604 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 17:22:41 +00:00
commit-bot@chromium.org
47fb2b9c67 [PDF] Fix font embedding restrictions.
Stop using restricted font outlines and honor don't subset restriction.

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

Author: vandebo@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12600 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 16:32:06 +00:00
robertphillips@google.com
42cc237caf New Composite CSS border object
https://codereview.chromium.org/86263003/



git-svn-id: http://skia.googlecode.com/svn/trunk@12597 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 15:19:32 +00:00
commit-bot@chromium.org
99589af4e3 Add support for reading a directory of images with --expectations (-r).
DM writes out its images in a hierarchy that's a little different than GM,
so this can't read GM's output.  But it can read its own, written with -w.

Example usage:
  $ out/Release/dm -w /tmp/baseline
  $ out/Release/dm -r /tmp/baseline -w /tmp/new
  (and optionally)
  $ mkdir /tmp/diff; out/Release/skdiff /tmp/baseline /tmp/new /tmp/diff

GM's IndividualImageExpectationsSource and Expectations are a little too eager
about decoding and hashing the expected images, so I took the opportunity to
add DM::Expectations that mostly replaces skiagm::ExpectationsSource and
skiagm::Expectations in DM.  It mainly exists to move the image decoding and
comparison off the main thread, which would otherwise be a major speed
bottleneck.

I tried to use skiagm code where possible.  One notable place where I differed
is in this new feature.  When -r is a directory of images, DM does no hashing.
It considerably faster to read the expected file into an SkBitmap and do a
byte-for-byte comparison than to hash the two bitmaps and check those.

The example usage above isn't quite working 100% yet.  Expectations on some GMs
fail, even with no binary change.  I haven't pinned down whether this is due to
  - a bug in DM
  - flaky GMs
  - unthreadsafe GMs
  - flaky image decoding
  - unthreadsafe image decoding
  - something else
but I intend to.  Leon, Derek and I have suspected PNG decoding isn't
threadsafe, but are as yet unable to prove it.

I also seem to be able to cause malloc to fail on my laptop if I run too many
configs at once, though I never seem to be using more than ~1G of RAM.  Will
track that down too.

BUG=
R=reed@google.com, bsalomon@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12596 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 14:53:16 +00:00
commit-bot@chromium.org
b6872c06e1 Add support for MIPS to android build
R=borenet@google.com, scroggo@google.com

Author: djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12592 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-10 12:53:56 +00:00
reed@google.com
9230ea2971 make info real in SkPixelRef, and add bitmap::asImageInfo
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12586 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 22:01:03 +00:00
bsalomon@google.com
ee9fb43774 fix file names in gpu.gypi
Review URL: https://codereview.chromium.org/99193004

git-svn-id: http://skia.googlecode.com/svn/trunk@12572 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 18:48:51 +00:00
senorblanco@chromium.org
e93e1dbf0e Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource".
This also includes some changes to the xfermodeimagefilter and tileimagefilter GMs to properly handle the CTM. This worked before only because SkBitmapSource was ignoring the CTM. Now that it respects it, we need to give the correct transform. This also means the GMs now work while zoomed. It also implements CTM support for SkTileImageFilter.

NOTE: this will require rebaselining a number of imagefilter GMs on Nexus4, since they render in perspective (using the CTM). The changes to the results should all be improvements.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12571 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 18:31:42 +00:00
commit-bot@chromium.org
907fbd53c5 Make texture domain a helper so that it can be incorporated into other effects.
R=robertphillips@google.com, jvanverth@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12569 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-09 17:03:02 +00:00
commit-bot@chromium.org
7842c817e9 Add GM to test bitmap shaders with basic geometry and bitmap masks.
R=reed@google.com, bsalomon@google.com, rmistry@google.com

Author: djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12543 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 20:14:39 +00:00
commit-bot@chromium.org
332999eabf Fix #define for distance field fonts
R=robertphillips@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12536 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 18:05:03 +00:00
robertphillips@google.com
40757703bd Reverting 12528 & 12533 (Implement srcRect and dstRect functionality in SkBitmapSource) due to image differences on N4
https://codereview.chromium.org/108623002/



git-svn-id: http://skia.googlecode.com/svn/trunk@12534 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 17:44:15 +00:00
commit-bot@chromium.org
094147d522 Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource".
This also includes some changes to the xfermodeimagefilter and tileimagefilter GMs to properly handle the CTM. This worked before only because SkBitmapSource was ignoring the CTM. Now that it respects it, we need to give the correct transform. This also means the GMs now work while zoomed.

R=reed@google.com

Author: senorblanco@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12528 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-06 15:59:03 +00:00
senorblanco@chromium.org
899b22ab97 Revert "Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource"." until I can sort out the xfermodeimagefilter and tileimagefilter failures.
This reverts commit b26725c8c9755415284c34399e76be098868e01a, aka r12522.

BUG=
TBR=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12523 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 23:06:07 +00:00
senorblanco@chromium.org
af35920e6d Implement srcRect and dstRect functionality in SkBitmapSource. This is required for the "preserveAspectRatio" options of SVG's feImage. Covered by new GM "bitmapsource".
Note: I initially implemented this as a fully-generic SkResizeImageFilter, but then I realized that the dstRect should always be transformed by the filter matrix, but that the srcRect should not (since it's specified relative to the dimensions of the original bitmap). Since this would be confusing for someone attempting to use this as a generic resizing filter, I decided to build the functionality into SkBitmapSource instead.

BUG=
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12522 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 22:41:53 +00:00
halcanary@google.com
2c7c7ee47d Big Cleanup: SkBitmapFactory, SkLazyPixelRef, SkImageCache
Removed SkBitmapFactory since no clients were using it.  New cache
selection mechanism can simply pass a SkDiscardableMemory::Factory
into the SkDiscardablePixelRef if non-default SkDiscardableMemory
should be used.  Removed BitmapFactoryTest.

SkDiscardableMemory::Factory interface.  Android will need this
functionality in the future inside their BitmapFactory.

Removed SkLazyPixelRef, since it's functionality is now subsumed into
SkDiscardablePixelRef.  Removed LazyPixelRef test.

Modified SkDiscardablePixelRef to optionally allow it to use a
SkDiscardableMemory::Factory.  This tiny change makes it a replacement
for SkLazyPixelRef.  This functioanlity is also necessary for moving
Android over to SkDiscardablePixelRef from SkImageRef in a later CL.
Added a test for this.

SkDecodingImageGenerator::Install can optionally pass a factory in to
SkDiscardablePixelRef.

Removed SkImageCache, SkLruImageCache, and SkPurgeableImageCache.
This functionality can be handled much more cleanly by
SkDiscardableMemory.

New SkDiscardableMemoryPool class to replace SkLruImageCache.  In a
later CL, we will replace SkImageRef_GlobalPool (used by android) as
well.  This is a concrete implementation of
SkDiscardableMemory::Factory.  Added a test for this.

modified gm/factory.cpp to remove dependnce on SkBitmapFactory +
SkLruImageCache.  Now uses SkDecodingImageGenerator +
SkDiscardablePixelRef + SkDiscardableMemoryPool.

SkImageDecoder::Target replaces SkBitmapFactory::Target.  The
DecodeMemoryToTarget function may disappear in the future.

Moved SkLazyCachingPixelRef::DecodeProc replaces
SkBitmapFactory::DecodeProc.  This is a short term change, since
another CL changes SkLazyCachingPixelRef to use SkImageGenerator
instead of DecodeProc.

Modified DrawBitmapRectTest to use SkDiscardablePixelRef instead of
SkLazyPixelRef.

tools/LazyDecodeBitmap.cpp now uses SkDecodingImageGenerator +
SkDiscardablePixelRef instead of a SkBitmapFactory.

bench_pictures uses the Global SkDiscardableMemoryPool instead of a
global gLruImageCache.

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12515 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 18:31:42 +00:00
robertphillips@google.com
ea4f3dbcf1 Add Windows compilation support to V8 example
https://codereview.chromium.org/106163004/



git-svn-id: http://skia.googlecode.com/svn/trunk@12508 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 15:55:00 +00:00
halcanary@google.com
36d08c5c90 SkCachingPixelRef to use SkImageGenerator
-   Remove SkLazyCachingPixelRef class.

-   Refactor unit tests.

BUG=
R=reed@google.com, scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12505 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 14:00:03 +00:00
commit-bot@chromium.org
44a3877442 V8 and Skia
R=robertphillips@google.com

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12503 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 13:45:19 +00:00
commit-bot@chromium.org
ab1c13864d Fix compilation with SK_ENABLE_INST_COUNT=1
Add INHERITED declarations to class declarations that prevent
compilation with the flag.

Remove SK_DEFINE_INST_COUNT from all class implementations.  Instead,
use function-local static variables in the reference count helper
classes to create the global instances to store the needed info. The
accessor functions are defined inline in the helper classes, so
definitions are not needed. The initialization point of the variables
should be as well defined as previously.

Remove SK_DECLARE_INST_COUNT_TEMPLATE and use SK_DECLARE_INST_COUNT
instead. This avoids possible future compilation errors further.

For SK_ENABLE_INST_COUNT=0 compilation, add an empty static member
function to all classes that use SK_DECLARE_INST_COUNT and
SK_DECLARE_INST_COUNT_ROOT macros. The function ensures that classes
contain public INHERITED typedef. This member function seems to be
compiled away. This shouĺd ensure that part of the compilation errors
are caught earlier.

Also adds DSK_DECLARE_INST_COUNT to few SkPDFDict subclasses.

R=robertphillips@google.com, richardlin@chromium.org, bsalomon@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12501 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-05 12:08:12 +00:00
senorblanco@chromium.org
1d62f42e21 Implement a NEON version of the RGBA gaussian blur. This shows a 9-15% speedup on Nexus-10.
R=mtklein@google.com, mtklein

before:
running bench [640 480]             blur_image_filter_large_10.00_10.00    8888: cmsecs =  33063.23
running bench [640 480]             blur_image_filter_small_10.00_10.00    8888: cmsecs =  32800.25
running bench [640 480]               blur_image_filter_large_1.00_1.00    8888: cmsecs =  33017.88
running bench [640 480]               blur_image_filter_small_1.00_1.00    8888: cmsecs =  32743.35
running bench [640 480]               blur_image_filter_large_0.00_1.00    8888: cmsecs =  21024.04
running bench [640 480]              blur_image_filter_large_0.00_10.00    8888: cmsecs =  22904.15
running bench [640 480]               blur_image_filter_large_1.00_0.00    8888: cmsecs =  18738.08
running bench [640 480]              blur_image_filter_large_10.00_0.00    8888: cmsecs =  18798.98

after:
running bench [640 480]             blur_image_filter_large_10.00_10.00    8888: cmsecs =  30180.96
running bench [640 480]             blur_image_filter_small_10.00_10.00    8888: cmsecs =  29861.90
running bench [640 480]               blur_image_filter_large_1.00_1.00    8888: cmsecs =  30178.98
running bench [640 480]               blur_image_filter_small_1.00_1.00    8888: cmsecs =  29911.25
running bench [640 480]               blur_image_filter_large_0.00_1.00    8888: cmsecs =  19344.35
running bench [640 480]              blur_image_filter_large_0.00_10.00    8888: cmsecs =  19957.07
running bench [640 480]               blur_image_filter_large_1.00_0.00    8888: cmsecs =  17158.84
running bench [640 480]              blur_image_filter_large_10.00_0.00    8888: cmsecs =  17330.73

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12486 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 18:19:45 +00:00
commit-bot@chromium.org
1d02264b41 Remove cityhash.gyp
According to https://code.google.com/p/skia/issues/detail?id=1286 it should be fine to remove this empty gyp file now.

BUG=None
TEST=None
R=epoger@google.com

Author: tfarina@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12481 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-04 16:30:03 +00:00
commit-bot@chromium.org
55ca8244cc Refactor FourByteInterps. Add 64-bit Fast version. Add tests.
Effect on benches (only _fast_ should be affected, and only on 64-bit):

Desktop (64-bit)
four_byte_interp_slow_255 NONRENDERING c          7.80       7.84      -0.04    -0.5%
four_byte_interp_slow_256 NONRENDERING c          7.38       7.36      +0.02    +0.3%
four_byte_interp_fast_256 NONRENDERING c          4.86       4.38      +0.48    +9.9%
four_byte_interp_fast_255 NONRENDERING c          5.80       5.16      +0.64   +11.0%

N5 (32-bit)
four_byte_interp_slow_256 NONRENDERING c         22.22      22.66      -0.44    -2.0%
four_byte_interp_fast_255 NONRENDERING c         22.22      22.22      +0.00    +0.0%
four_byte_interp_fast_256 NONRENDERING c         18.81      18.81      +0.00    +0.0%
four_byte_interp_slow_255 NONRENDERING c         22.42      22.42      +0.00    +0.0%

BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12468 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 18:53:30 +00:00
commit-bot@chromium.org
e3bb3bce3e Add JSON output option to bench.
A new command-line flag --outResultsFile takes the filename to write the JSON into.

The human readable output is the same as before with one exception. Previously DEBUG would be printed if in debug mode, or nothing would be printed if in release mode. Now this is reported as a named option:

  build=DEBUG

or

  build=RELEASE

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

Author: jcgregorio@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12465 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-03 18:16:48 +00:00
commit-bot@chromium.org
c25d2219cb Add four_byte_interp benches.
Desktop:
running bench [640 480] four_byte_interp_slow_256    NONRENDERING: cmsecs =      6.18
running bench [640 480] four_byte_interp_slow_255    NONRENDERING: cmsecs =      6.83
running bench [640 480] four_byte_interp_fast_256    NONRENDERING: cmsecs =      5.02
running bench [640 480] four_byte_interp_fast_255    NONRENDERING: cmsecs =      5.88

N5:
running bench [640 480] four_byte_interp_slow_256    NONRENDERING: cmsecs =     22.84
running bench [640 480] four_byte_interp_slow_255    NONRENDERING: cmsecs =     25.11
running bench [640 480] four_byte_interp_fast_256    NONRENDERING: cmsecs =     18.89
running bench [640 480] four_byte_interp_fast_255    NONRENDERING: cmsecs =     22.32

BUG=
R=reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12444 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 22:32:47 +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
commit-bot@chromium.org
22528328fd Remove GR_IMPLEMENTATION define.
skgputest is built as a static library and thus this define is not
needed. If the library was built as shared, then this define would
be necessary and used. But it isn't, so we remove it now.

BUG=None
TEST=None
R=bsalomon@google.com

Author: tfarina@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12442 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 22:22:45 +00:00
scroggo@google.com
5092adc546 Separate and update PDF_DIFF_TRACE_IN_PNG
Move its functionality out of readToken() and into its own class.
Callers of the previous readToken() now call
SkPdfNativeTokenizer::readToken(), which in turn calls a function
for writing the diff to a file, if the caller requests it and
PDF_TRACE_DIFF_IN_PNG is defined.

Do not attempt to draw a diff for compatibility sections, which we
do not draw.

Use SkString to handle string manipulation.

Hide globals only used by PDF_TRACE_DIFF_IN_PNG behind that flag.

Remove hasVisualEffects, which always returns true.

Rename gLastOpKeyword to gOpCounter for clarity.

In SkPdfNativeTokenizer, set fEmpty to true when the entire stream
has been read.

Use SkBitmap::copyTo instead of manually copying an SkBitmap.

Builds on https://codereview.chromium.org/79933003/

R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12436 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 20:22:31 +00:00
scroggo@google.com
248647cebb Restructuring of PdfViewer code.
The only change in behavior is that SkPdfAllocator on SkPdfContext is
no longer allocated on the heap.

In general, I have just moved code.

SkPdfContext:
Inherit from SkNoncopyable.
Make SkPdfContext directly own fTmpPageAllocator. fTmpPageAllocator is
created when SkPdfContext is, and destroyed at the same time as well,
so there is no reason for the extra allocation.
Add the function parseStream. This eliminates code duplication, and
allows making fTmpPageAllocator private.
Move PdfMainLooper into the implementation file, since it is now only
used by parseStream.
Move SkTDictWithDefaultConstructor and render stats info here, in
support of PdfMainLooper.

SkPdfTokenLooper:
Rename PdfTokenLooper to SkPdfTokenLooper.
Move readToken here, unchanged.
Remove tokenizer(), which is unused.

SkPdfNativeDoc:
Remove tokenizerOfPage and tokenizerOfBuffer, which are unused.

SkPdfOps:
Move gPdfOps and PdfOperatorRenderer into a header file (hidden for
now), so they can be accessed by both SkPdfRenderer.cpp and
SkPdfContext.cpp.

SkPdfRenderer:
Harvest things into other files:
PdfMainLooper (and the code that calls it) -> SkPdfContext.
readToken -> SkPdfTokenLooper.

R=mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12435 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 20:18:09 +00:00
bungeman@google.com
24339aa211 Libraries without '-l' treated as relative paths.
The following have the same effect on Windows:
'msvs_settings': { 'VCLinkerTool': { 'AdditionalDependencies': [ 'windowscodecs.lib', ],},},
'link_settings': {'libraries': ['-lwindowscodecs.lib',],},

But this one is different:
'link_settings': {'libraries': ['windowscodecs.lib',],},

since this last one will attempt to find the library at
third_party\skia\gyp\windowscodecs.lib
or a place like this, instead of looking in the library paths.

This also fixes capitalization of the affected libraries.

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12434 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 19:54:33 +00:00
rmistry@google.com
d6bab02386 Reverting r12427
git-svn-id: http://skia.googlecode.com/svn/trunk@12428 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 13:50:38 +00:00
skia.committer@gmail.com
5b39f5ba9c Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12427 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-02 13:36:22 +00:00
commit-bot@chromium.org
742058f0ca Speed up GrResourceCache lookup by inlining GrBinHashKey comparisons
The GCC compilers for Android and Ubuntu do not seem to be able to
inline the memcmp operations on GrBinHashKey data. Write the comparisons
manually. Also shortcut GrBinHashKey::EQ to skip comparison when hashes
do not match.

Speeds up grresourcecache_find test on ARM and x86_64. Speeds up
grresourcecache_add on x86_64.

In order to test the change, moves ad hoc Gr unit tests from
src/gr_unittest.cpp to tests/GrUnitTests to be consistent with other
tests and enables GrUnitTests.

Fixes a regression from r2863 with where re-setting GrBinHashKey data
would not set the hash correctly. This should also improve the hash
function itself. The regression caused many of the hash operations be
no-ops. This is caught by the unit test.

Renames the comparison functions that GrHashTable needs from EQ, LT to
Equals, LessThan.

Renames GrTBinHashKey to GrBinHashKey. The GrTBinHashKey used to
forward comparison functions to an ENTRY template class, which would
extract the key and call back to the GrTBinHashKey. This would save
the user from writing one comparison function when comparison was done
with int ENTRY::compare(). There's no real benefit in this now. Also
this was used only for one class (GrTextureStripAtlas). The other use
in GrResourceKey was not actually using the provided "shortcut". The
new GrBinHashKey is not templated with the entry, rather just provides
== and < functions. The users of GrTHashTable provide the needed
functions now.

Adds explicit documentation of functions that are actually needed
GrTHashTable for the Key template. Adds SK_DEBUG guards according to
the contract.

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

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12426 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-28 08:24:29 +00:00
commit-bot@chromium.org
dbe7f52412 ARM Skia NEON patches - 16/17 - Blitmask
Blitmask: NEON optimised version of the D32_A8 functions

    Here are the microbenchmark results I got for the D32_A8
    functions:

    Cortex-A9:
    ==========
    +-------+--------+--------+--------+
    | count | Black  | Opaque | Color  |
    +-------+--------+--------+--------+
    | 1     | -14%   | -39,5% | -37,5% |
    +-------+--------+--------+--------+
    | 2     | -3%    | -29,9% | -25%   |
    +-------+--------+--------+--------+
    | 4     | -11,3% | -22%   | -14,5% |
    +-------+--------+--------+--------+
    | 8     | +128%  | +66,6% | +105%  |
    +-------+--------+--------+--------+
    | 16    | +159%  | +102%  | +149%  |
    +-------+--------+--------+--------+
    | 64    | +189%  | +136%  | +189%  |
    +-------+--------+--------+--------+
    | 256   | +126%  | +102%  | +149%  |
    +-------+--------+--------+--------+
    | 1024  | +67,5% | +81,4% | +123%  |
    +-------+--------+--------+--------+

    Cortex-A15:
    ===========
    +-------+--------+--------+--------+
    | count | Black  | Opaque | Color  |
    +-------+--------+--------+--------+
    | 1     | -24%   | -46,5% | -37,5% |
    +-------+--------+--------+--------+
    | 2     | -18,5% | -35,5% | -28%   |
    +-------+--------+--------+--------+
    | 4     | -5,2%  | -17,5% | -15,5% |
    +-------+--------+--------+--------+
    | 8     | +72%   | +65,8% | +84,7% |
    +-------+--------+--------+--------+
    | 16    | +168%  | +117%  | +149%  |
    +-------+--------+--------+--------+
    | 64    | +165%  | +110%  | +145%  |
    +-------+--------+--------+--------+
    | 256   | +106%  | +99,6% | +141%  |
    +-------+--------+--------+--------+
    | 1024  | +93,7% | +94,7% | +130%  |
    +-------+--------+--------+--------+

    Blitmask: add NEON optimised PlatformBlitRowProcs16

    Here are the microbenchmark results (speedup vs. C code):

    +-------+-----------------+-----------------+
    |       |    Cortex-A9    |   Cortex-A15    |
    | count +--------+--------+--------+--------+
    |       | Blend  | Opaque | Blend  | Opaque |
    +-------+--------+--------+--------+--------+
    | 1     | -19,2% | -36,7% | -33,6% | -44,7% |
    +-------+--------+--------+--------+--------+
    | 2     | -12,6% | -27,8% | -39%   | -48%   |
    +-------+--------+--------+--------+--------+
    | 4     | -11,5% | -21,6% | -37,7% | -44,3% |
    +-------+--------+--------+--------+--------+
    | 8     | +141%  | +59,7% | +123%  | +48,7% |
    +-------+--------+--------+--------+--------+
    | 16    | +213%  | +119%  | +214%  | +121%  |
    +-------+--------+--------+--------+--------+
    | 64    | +212%  | +105%  | +242%  | +167%  |
    +-------+--------+--------+--------+--------+
    | 256   | +289%  | +167%  | +249%  | +207%  |
    +-------+--------+--------+--------+--------+
    | 1024  | +273%  | +169%  | +146%  | +220%  |
    +-------+--------+--------+--------+--------+

    Signed-off-by: Kévin PETIT <kevin.petit@arm.com>

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

Author: kevin.petit.arm@gmail.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12420 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-27 17:08:36 +00:00
commit-bot@chromium.org
361270e6b9 move to newer angle
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12416 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-27 15:43:22 +00:00
commit-bot@chromium.org
c09df2c32e Non-rect polygons are not covered in GM cases, such as triangle, trapezoid, diamond, polygons with lots of edges, concave polygons, etc, especially for stroke-style and stroke-and-fill style painters. So add a GM case to avoid potential rendering errors.
R=bsalomon@google.com, robertphillips@google.com

Author: yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12413 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-27 01:24:53 +00:00
commit-bot@chromium.org
2e86551cf9 Fold bench source file list into bench.gyp.
It is one less file and doesn't make things much worse.

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

Author: tfarina@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12412 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-27 00:44:03 +00:00
mtklein@google.com
09f2579109 DM: add --tileGrid
BUG=
R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12408 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 23:36:51 +00:00
senorblanco@chromium.org
d8f82a4c44 Enhance SkDropShadowImageFilter to support separate X & Y sigmas, and crop rect. This required a new flavour of the constructor.
This is driven by the feDropShadow filter effect in SVG, which unlike the shorthand version accepts separate X & Y sigmas.

Covered by new GM dropshadowimagefilter.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12401 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 21:52:38 +00:00
mtklein@google.com
ee21a3e395 DM: some refactoring
- rename ComparisonTask to ChecksumTask
  - have ChecksumTask handle all the checksum-checking
  - turn on all extra modes by default
  - simplify progress output to a countdown

BUG=
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12398 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 18:52:31 +00:00
commit-bot@chromium.org
11f392ed53 Revert "Revert "remove kA1_Config, as it is no longer supported""
This reverts commit 36d712f2d4c5c79719280ad95523e6aaa88b068e.

BUG=
R=rmistry@google.com, mtklein@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12392 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-26 12:51:57 +00:00
reed@google.com
72e7808d62 Revert "remove kA1_Config, as it is no longer supported"
This reverts commit 2d72d8b242eac6e9d30228f5b0a407236491c369.

git-svn-id: http://skia.googlecode.com/svn/trunk@12387 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 20:54:56 +00:00
commit-bot@chromium.org
4b413c8bb1 remove SkFloatToScalar macro
BUG=
R=reed@google.com, djsollen@google.com

Author: caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12385 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 19:44:07 +00:00
reed@google.com
2a1f4464d1 remove kA1_Config, as it is no longer supported
BUG=
R=djsollen@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12384 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-11-25 18:58:29 +00:00