Commit Graph

11091 Commits

Author SHA1 Message Date
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
8687608c45 tools/roll_deps: add '-m tryserver.chromium' to git-cl-try
R=rmistry@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13804 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 15:50:39 +00:00
senorblanco@chromium.org
4cb543d605 Implement support for a Context parameter in image filters
Some upcoming work (support for expanding crop rects) requires
the clip bounds to be available during filter traversal. This change
replaces the SkMatrix parameter in the onFilterImage() traversals
with a Context parameter. It contains the CTM, as well as the clip
bounds.

BUG=skia:
R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13803 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 15:44:01 +00:00
reed@google.com
0d30c51c6c check for null-device pixels in onWritePixels, so we don't crash
https://code.google.com/p/chromium/issues/detail?id=352616

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13802 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 14:02:58 +00:00
reed@google.com
13874c1ad8 keep kVector enum in legacy mode for getDeviceProperties
git-svn-id: http://skia.googlecode.com/svn/trunk@13801 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 12:32:07 +00:00
skia.committer@gmail.com
bc3d92a7d8 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13800 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-14 03:02:26 +00:00
commit-bot@chromium.org
44c48d062f De-virtualize SkCanvas matrix ops.
This moves the matrix management logic into non-virtual SkCanvas
methods, and turns the virtuals into protected notifiers.

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

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13799 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 20:03:58 +00:00
commit-bot@chromium.org
1037d92bbc Added Z scale when X and Y scale to spot lights and point lights
Z scale is set as the average of X scale and Y scale.

BUG=skia:
R=senorblanco@google.com, senorblanco@chromium.org

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13798 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 19:45:41 +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
bsalomon@google.com
44a435bc1a Attempt to fix -1->unsigned warning on mac 10.6
TBR=bungeman@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13796 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 19:20:32 +00:00
commit-bot@chromium.org
0f10f7bf1f Allow toString capability to be toggled independent of developer mode.
This change is motivated by the desire to see the text information in the debugger when not in developer mode. It is structured so user's can disable it if the capability is not wanted.

R=bsalomon@google.com

Author: robertphillips@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13795 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 18:02:17 +00:00
commit-bot@chromium.org
fa5edbe575 Add effect-based clip for nine-patch SkRRects.
BUG=skia:2181
R=jvanverth@google.com, robertphillips@google.com, rmistry@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13794 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 18:01:05 +00:00
bungeman@google.com
9c28fa5579 Add comment for gcc compiler bug work-around for SK_COMPILE_ASSERT.
If this comment had existed previously, I could have avoided breaking
some bots.

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13793 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 17:51:05 +00:00
commit-bot@chromium.org
addcddeda6 make rebaseline_server client check schema version number
(SkipBuildbotRuns)
NOTREECHECKS=True
NOTRY=True
R=rmistry@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13792 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 17:44:01 +00:00
commit-bot@chromium.org
98e22b84ca Fix distance field edge detection.
When computing the initial edges for distance field generation, I was skipping
the outer pixels of glyphs to avoid accessing out of range memory. However,
there might be an edge transition on those pixels. This detects those cases.

R=robertphillips@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13791 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 17:11:44 +00:00
commit-bot@chromium.org
ea770f155e add schema version to rebaseline_server intermediate JSON
NOTREECHECKS=True
NOTRY=True
R=rmistry@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13790 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 16:33:36 +00:00
commit-bot@chromium.org
ea163cc3a7 Changes to SkFontHost_linux
* Use SkOSPath::SkPathJoin() rather than append so that
  SK_FONT_FILE_PREFIX does not have to end in a '/'.

* Add another font to the default font list.

Motivation: Some tests fail when there are no default fonts.

BUG=skia:2282
R=bungeman@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13789 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 16:24:49 +00:00
commit-bot@chromium.org
cdbbbcc909 Mark strokerects_gpu GM as ignore-failure on Win7/Perspective
BUG=skia:2295
R=bsalomon@google.com, epoger@google.com

Author: borenet@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13788 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 16:23:20 +00:00
commit-bot@chromium.org
56b7a6d52c --dryRun flag for bench
causes bench to print out what tests it would be running, without actually running them.

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

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13787 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 16:22:00 +00:00
commit-bot@chromium.org
e5eee51211 fix memory leak introduced in 9e5f85e8
R=sugoi@chromium.org, robertphillips@google.com

Author: halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13786 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 16:18:49 +00:00
commit-bot@chromium.org
b17ccc992d --dryRun flag for gm
Causes gm to not actually run any tests / create any directories, just print its normal output.  Useful for showing what tests would be run without actually taking the time to run them.

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

Author: humper@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13785 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 16:16:36 +00:00
senorblanco@chromium.org
fb882d774e New GPU baselines for colormatrix GM.
TBR=halcanary@google.com
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13784 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 15:33:02 +00:00
commit-bot@chromium.org
7498d95bde rebaseline_server: generate JSON that can be viewed without a live server
BUG=skia:1919
NOTREECHECKS=True
NOTRY=True
R=rmistry@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13783 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 14:56:29 +00:00
skia.committer@gmail.com
affa77db64 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13782 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-13 03:02:23 +00:00
bungeman@google.com
2f5820903e Add required parens for r13779.
git-svn-id: http://skia.googlecode.com/svn/trunk@13781 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 21:56:23 +00:00
commit-bot@chromium.org
1db03d2fad remove SK_SUPPORT_LEGACY_COPYTO_CONFIG
TBR=robertphillips@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13780 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 21:47:51 +00:00
bungeman@google.com
562b2e67a2 Fix (1 << 31) to (1u << 31) in SkOTTable_OS_2.
When ints are 32 bits, (1 << 31) is undefined.

R=reed@google.com

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13779 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 21:41:06 +00:00
senorblanco@chromium.org
2ca677e75d Fix GPU colormatrix color filter with saturated alpha.
Clamp RGBA values before unpremultiplying, to match the raster path. This causes a problem when the resulting
alpha is >1.0, resulting in overly saturated RGB.

Covered by the setYUV2RGB() test case in the colormatrix GM.

R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13778 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 21:37:42 +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
commit-bot@chromium.org
e54a23fcfa De-virtualize SkCanvas save/restore.
This moves the state management logic into non-virtual SkCanvas methods,
and turns the virtuals into protected notifiers.

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

Author: fmalita@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13776 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 20:21:48 +00:00
commit-bot@chromium.org
f11943f21d render_pictures unittests: run over a dir with multiple SKPs, like production
BUG=skia:1942
R=borenet@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13775 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 20:09:46 +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
fmalita@google.com
9d201d6364 Remove unused zero_fill() in GrAtlas.cpp
Triggers warnings with some local clang builds.

R=jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13773 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 17:31:20 +00:00
bsalomon@google.com
2ae9501e6f Fix unit tests
Review URL: https://codereview.chromium.org/197823002

git-svn-id: http://skia.googlecode.com/svn/trunk@13772 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 17:29:46 +00:00
robertphillips@google.com
1e35304734 Fix for test failure
git-svn-id: http://skia.googlecode.com/svn/trunk@13771 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 17:16:59 +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
c30dcb9b12 Add capture snapshot as data to SkWriter32, use it to optimise record->playback.
This is a new way of implementing https://codereview.chromium.org/155863005/
It uses copy on write semantics to return a buffer without copying it, so that record -> playback does not need to copy the buffer.

BUG=skia:2125
R=tomhudson@google.com, mtklein@google.com, reed@google.com, iancottrell@chromium.org

Author: iancottrell@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13769 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 17:04:28 +00:00
commit-bot@chromium.org
84cd099704 Clean up SkImageFilter.
Rename more occurences of 'target' to 'kernelOffset'.
This is a follow-up patch to
https://codereview.chromium.org/182983003/

BUG=skia:2187
R=senorblanco@chromium.org

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13768 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 16:36:08 +00:00
commit-bot@chromium.org
758bc7aa48 Stores per-iteration bench values in BenchDataPoint.
BUG=skia:2225
NOTRY=true
R=borenet@google.com

Author: bensong@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13767 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 16:23:33 +00:00
commit-bot@chromium.org
4355f21dbc Add elliptical-corner rrect clip effect. Currently only handles the case where all corners have the same pair of radii.
BUG=skia:2181
R=jvanverth@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13766 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 15:32:50 +00:00
commit-bot@chromium.org
069a55a7fe Revert of Revert of Revert "De-virtualize SkCanvas save/restore." (https://codereview.chromium.org/196323003/)
Reason for revert:
Pulling out to rename the virtuals.

Original issue's description:
> Revert of Revert "De-virtualize SkCanvas save/restore." (https://codereview.chromium.org/194923008/)
>
> Reason for revert:
> Re-landing after roll fix.
>
> Original issue's description:
> > Revert "De-virtualize SkCanvas save/restore."
> >
> > (To allow a roll fix into the tree).
> >
> > This reverts commit edf702204be42c945254191f9f9cd6585b3d189b.
> >
> > R=halcanary@google.com
> >
> > Committed: https://code.google.com/p/skia/source/detail?r=13748
>
> TBR=halcanary@google.com,fmalita@chromium.org
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: http://code.google.com/p/skia/source/detail?r=13754

R=halcanary@google.com, fmalita@chromium.org
TBR=fmalita@chromium.org, halcanary@google.com
NOTREECHECKS=true
NOTRY=true

Author: fmalita@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13765 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 15:08:22 +00:00
commit-bot@chromium.org
9e5f85e89d Fixing SkPicture serialization
Fixed a few issues while attempting to use the new
serialization path for SkPicture inside a fuzzer:
- SkReadBuffer and SkValidatingReadBuffer both had a fReader
member instead of sharing the same member, which leads to
problems if a base class function is used
- In SkPicture, a header is now written as a single chunk of
data, so it also has to be read as a single chunk of data
- In the SkPicturePlayback destructor, a bad deserialization
would lead to a crash if we don't safely unref fOpData
- Also in SkPicturePlayback, if we only use a ReadBuffer for
the whole deserialization, additional tags must be added to
parseBufferTag()
- SkValidatingReadBuffer::readBitmap() was broken, but this
path wasn't usen't since the only use case for
SkValidatingReadBuffer is currently image filters and
bitmaps are unflattened as part of the deserialization of
SkBitmapSource
- SkPictureImageFilter was not deserializable. Added it to
SkGlobalInitialization*
- Added a test that exercises the SkPicture serialization /
deserialization code

BUG=skia:
R=senorblanco@google.com, senorblanco@chromium.org, reed@google.com, robertphillips@google.com

Author: sugoi@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13764 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 14:46:41 +00:00
commit-bot@chromium.org
b6401863fb Add NVPR configs to DM
Add NVPR configs to DM. The bench and gm parts support NVPR already.

R=bsalomon@google.com

Author: kkinnunen@nvidia.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13763 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 14:46:31 +00:00
senorblanco@chromium.org
fb142aa07a New baselines for imagefiltersclipped, offsetimagefilter GMs.
These were modified by
https://code.google.com/p/skia/source/detail?r=13744

TBR=halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13762 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 14:01:48 +00:00
robertphillips@google.com
cf69bf4662 Rebaseline performance triggers for Mac10.6 & N7
https://codereview.chromium.org/196573006/



git-svn-id: http://skia.googlecode.com/svn/trunk@13761 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 13:35:23 +00:00
commit-bot@chromium.org
79fbb40bca [WIP] Add Context to SkDrawLooper.
SkDrawLooper carries some state during draws. This CL extracts this state into
a separate class Context, which is then passed by the users of SkDrawLooper
into the appropriate methods.
This is a step towards making SkDrawLooper immutable.

BUG=skia:2141
R=scroggo@google.com, reed@google.com, sugoi@google.com

Author: dominikg@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13760 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 09:42:01 +00:00
bungeman@google.com
ad07e69d4c Revert the rest of r13757.
git-svn-id: http://skia.googlecode.com/svn/trunk@13759 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 04:00:25 +00:00
bungeman@google.com
e60ae2eca3 Revert 13757.
git-svn-id: http://skia.googlecode.com/svn/trunk@13758 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 03:46:48 +00:00
bungeman@google.com
3258a5348b Fix (1 << 31) to (1u << 31) in SkOTTable_OS_2.
When ints are 32 bits, (1 << 31) is undefined.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13757 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-12 03:13:48 +00:00