Commit Graph

1181 Commits

Author SHA1 Message Date
commit-bot@chromium.org
c69b0d0ee5 gm self-test: stop checking stdout and stderr
BUG=skia:1568
NOTRY=True
R=bsalomon@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13324 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 18:44:31 +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
reed@google.com
76f10a3bd9 remove SkCanvas::createCompatibleDevice, and add SkCanvas::newSurface
BUG=skia:
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13319 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 15:32:21 +00:00
skia.committer@gmail.com
1dab403e44 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13316 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-05 03:01:48 +00:00
commit-bot@chromium.org
076f078a5e Add magnifier to rebaseline server.
NOTRY=true
BUG=skia:1917
R=epoger@google.com

Author: rmistry@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13315 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 22:45:40 +00:00
reed@google.com
11db6fa9b9 convert gm tool to use surfaces instead of devices
BUG=skia:
R=bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13301 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 15:30:57 +00:00
commit-bot@chromium.org
b511be5a9b Add rect clip to convex_poly_clip GM
BUG=skia:2051
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13300 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 15:09:16 +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
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
skia.committer@gmail.com
4c18e9fbb6 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@13258 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-31 03:01:59 +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
robertphillips@google.com
5fbccb35eb Suppress new valgrind complaint
https://codereview.chromium.org/144853006/



git-svn-id: http://skia.googlecode.com/svn/trunk@13244 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-30 18:51:29 +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
reed@google.com
7fa2a65c0c fix more 64bit warnings
BUG=skia:

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13190 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-27 13:42:58 +00:00
commit-bot@chromium.org
440ddf433b Add NVPR configs to GM
BUG=skia:2042
R=robertphillips@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13187 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-26 18:07:40 +00:00
reed@google.com
eb9a46cbbb add legacy/helper allocN32Pixels, and convert gm to use it
This is an intermediate api, but might help us quickly get to a point where
no one is creating bitmaps in a 2-step process (setConfig + alloc).

BUG=skia:
R=halcanary@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13182 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-25 16:46:20 +00:00
commit-bot@chromium.org
d1630e8fc0 new tool: download all GM images for a given builder, ready for skdiff
BUG=skia:1919
R=rmistry@google.com, bsalomon@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13172 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 18:34:11 +00:00
commit-bot@chromium.org
dd10e0ec4c make GM self-test run gm/rebaseline_server unittests
R=borenet@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13170 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-24 18:28:35 +00:00
commit-bot@chromium.org
6dda827913 add leaks flag to show unref'd insts
Leaks are shown optionally instead of always for tests, gm, and bench.
The current display does not show actual leaks necessarily, but
shows global objects that were not deleted when the test ended.
To enable the end-of-run leak display, pass --leaks or -l.

BUG=skia:
R=mtklein@google.com

Author: caryclark@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13151 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 17:21:19 +00:00
commit-bot@chromium.org
7873333236 Remove GetGr() hack.
It seems no GM are using this.

BUG=None
TEST=SampleApp
R=bsalomon@google.com, caryclark@google.com

Author: tfarina@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13141 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-22 14:43: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
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
04747a53d3 rebaseline_server: ignore TSAN, ASAN, Valgrind bots
BUG=skia:2036
R=bsalomon@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13094 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 19:16:09 +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
commit-bot@chromium.org
32678d9a45 use some helper Make functions to initialize SkImageInfo
BUG=
R=halcanary@google.com, scroggo@google.com

Author: reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13081 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-15 02:38:22 +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
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
commit-bot@chromium.org
3e62ebf93b make ignored-tests.txt specify full test name, not partial name
BUG=skia:2022
R=bsalomon@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13060 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 02:54:11 +00:00
commit-bot@chromium.org
8519548693 GM: run mode comparisons for all raster configs.
GM works like this today:
  - Test all enabled configs directly
  - Render into 8888
  - Test all enabled modes against that 8888.

This change makes it do this:
  - Test all enabled configs directly
    - for each config, if it's raster, test all enabled modes against its output.

Upshot is, we now check that picture draws identically to raster for 565 too, not just 8888.  optimizations-565 is correctly failing.

BUG=skia:1994
R=epoger@google.com, reed@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13050 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 18:27:59 +00:00
commit-bot@chromium.org
c45ece5f7f NEON fast path for box blur
Calculate 8 channels in parallel by using 16-bits to store each channel. Due to the limitation of VQRDMULH, (int16 * int16 * 2 + 0x8000) >> 16, the fast path can only support kernelSize < 128.
8 significant bits are kept at least in each stage, the final error should less-equal than 1.

Pre-fetching memory for X-direction read. In fact pre-fetching memory doesn't help much for Y direction read, since it is a waste to load a cache line for only read 8 bytes.(I left it there to keep the symmetry. pre-fetch is cheap :) )

bench data on Nexus 10
before:
running bench [640 480]      blur_image_filter_large_10.00_10.00   8888:  cmsecs =  25081.48
running bench [640 480]      blur_image_filter_small_10.00_10.00   8888:  cmsecs =  25038.04
running bench [640 480]        blur_image_filter_large_1.00_1.00   8888:  cmsecs =  25209.04
running bench [640 480]        blur_image_filter_small_1.00_1.00   8888:  cmsecs =  24928.01
running bench [640 480]        blur_image_filter_large_0.00_1.00   8888:  cmsecs =  17160.98
running bench [640 480]       blur_image_filter_large_0.00_10.00   8888:  cmsecs =  17924.11
running bench [640 480]        blur_image_filter_large_1.00_0.00   8888:  cmsecs =  14609.19
running bench [640 480]       blur_image_filter_large_10.00_0.00   8888:  cmsecs =  14625.91

after:
running bench [640 480]      blur_image_filter_large_10.00_10.00   8888:  cmsecs =  14848.42
running bench [640 480]      blur_image_filter_small_10.00_10.00   8888:  cmsecs =  16037.29
running bench [640 480]        blur_image_filter_large_1.00_1.00   8888:  cmsecs =  14819.55
running bench [640 480]        blur_image_filter_small_1.00_1.00   8888:  cmsecs =  14563.69
running bench [640 480]        blur_image_filter_large_0.00_1.00   8888:  cmsecs =  11905.34
running bench [640 480]       blur_image_filter_large_0.00_10.00   8888:  cmsecs =  11883.85
running bench [640 480]        blur_image_filter_large_1.00_0.00   8888:  cmsecs =   9576.51
running bench [640 480]       blur_image_filter_large_10.00_0.00   8888:  cmsecs =   9793.84

BUG=
R=senorblanco@chromium.org, mtklein@google.com, reed@google.com, kevin.petit@arm.com, kevin.petit.arm@gmail.com

Author: zheng.xu@arm.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13036 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-13 08:16:45 +00:00
commit-bot@chromium.org
7cced56550 merge multiple blurrect GMs into one GM and add versions
BUG=skia:1998
R=reed@google.com

Author: bsalomon@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13034 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-10 23:10:13 +00:00
borenet@google.com
6f0f5b4aad Remove references to Skia's SVN repository
BUG=
R=epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@13006 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-09 21:41:39 +00:00
commit-bot@chromium.org
96ab95f458 Disable optimizations GM for 565 targets.
BUG=skia:1994
R=robertphillips@google.com

Author: mtklein@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12991 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-09 16:45:38 +00:00
commit-bot@chromium.org
e48ef2ae51 Remove GPU-only flag for vertices GM
BUG=skia:1956
R=reed@google.com

Author: jvanverth@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12971 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 21:19:12 +00:00
commit-bot@chromium.org
711ebb9dfa fix gm self-test
BUG=skia:1971
NOTREECHECKS=True
NOTRY=True
R=caryclark@google.com
TBR=caryclark

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12964 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 17:59:22 +00:00
reed@google.com
672588b684 change offset to xy for pixelref subsetting
BUG=
R=scroggo@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12958 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 15:42:01 +00:00
reed@google.com
7bdc759888 suppress on gpu for now
BUG=skia:1956

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12953 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 14:39:34 +00:00
skia.committer@gmail.com
8f7a108bb1 Sanitizing source files in Housekeeper-Nightly
git-svn-id: http://skia.googlecode.com/svn/trunk@12950 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-08 07:01:49 +00:00
commit-bot@chromium.org
69ac6defc1 rebaseline_server: allow spaces within test/config names
(SkipBuildbotRuns)
BUG=skia:1969
NOTREECHECKS=True
NOTRY=True
R=bsalomon@google.com
TBR=bsalomon

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12943 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-07 17:21:11 +00:00
bsalomon@google.com
a19818a146 Make imagealphathreshold GM skip replay modes until it is fixed.
TBR=zork@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12942 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-07 17:20:33 +00:00
commit-bot@chromium.org
9109e188c7 Fix build warnings in SkAlphaThresholdFilter
BUG=None
R=bsalomon@google.com

Author: zork@chromium.org

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12937 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-07 16:04:01 +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
2a78e82f5e create gm/rebaseline_server/test_all.py
Uses proper Python unittest framework to launch all unittests within the directory.

NOTRY=True
R=rmistry@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12915 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-06 18:33:19 +00:00
senorblanco@chromium.org
6776b82d46 Make SkImageFilter crop rects relative to the primitive origin, instead of relative to their parent's crop rect. This is required by SVG semantics, and is more sane anyway.
To do this, this patch changes the "offset/loc" parameter in filterImage() / onFilterImage() from an inout-param to an out-param only, so that the calling filter can know how much the input filter wants its result offset (and doesn't include the original primitive position). This offset can then be applied to the current filter's crop rect. (I've renamed the parameter "offset" in all cases to make this clear.) This makes the call sites in SkCanvas/SkGpuDevice responsible for applying the resulting offset to the primitive's position, which is actually a fairly small change.

This change also fixes SkTileImageFilter and SkOffsetImageFilter to correctly handle an input offset, which they weren't before. This required modifying the GM's, since they assumed the broken behaviour.

NOTE: this will require rebaselining the imagefiltersgraph test, since it has a new test case.

NOTE: this will "break" the Blink layout tests css3/filters/effect-reference-subregion-chained-hw.html and css3/filters/effect-reference-subregion-hw.html, but it actually makes them give correct results. It should be suppressed on the skia roll, and I'll rebaseline it.

R=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12895 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-03 21:48:22 +00:00
commit-bot@chromium.org
758b7a4c89 rebaseline gm self-tests after https://code.google.com/p/skia/source/detail?r=12850
The GM self-test's fragility is already noted in https://code.google.com/p/skia/issues/detail?id=1068 ('make gm self-test more robust')

NOTRY=True
NOTREECHECKS=True
R=mtklein@google.com
TBR=mtklein

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12885 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-03 16:37:16 +00:00
commit-bot@chromium.org
0bf919c89a make results_test.py work better within python unittest framework
BUG=
R=rmistry@google.com

Author: epoger@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12882 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-03 16:04:11 +00:00
halcanary@google.com
3d50ea1b87 Add Options to SkDecodingImageGenerator, simplify API.
Motivation: We want to remove redundant classes from Skia.  To
that end we want to remove SkImageRef and its subclasses and
replace their uses with SkDiscardablePixelRef +
SkDecodingImageGenerator.  Since Android uses SkImageRef, we need
to make sure that SkDecodingImageGenerator allows all of the
settings that Android exposes in BitmapFactory.Options.

To that end, we have created an Options struct for the
SkDecodingImageGenerator which lets the client of the generator set
sample size, dithering, and bitmap config.

We have made the SkDecodingImageGenerator constructor private
and replaced the SkDecodingImageGenerator::Install functions
with a SkDecodingImageGenerator::Create functions (one for
SkData and one for SkStream) which now take a
SkDecodingImageGenerator::Options struct.

Also added a ImageDecoderOptions test which loops through a list
of sets of options and tries them on a set of 5 small encoded
images.

Also updated several users of SkDecodingImageGenerator::Install to
follow new call signature - gm/factory.cpp, LazyDecodeBitmap.cpp,
and PictureTest.cpp, CachedDecodingPixelRefTest.cpp.

We also added a new ImprovedBitmapFactory Test which simulates the
exact function that Android will need to modify to use this,
installPixelRef() in BitmapFactory.

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

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

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12855 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-02 13:15:13 +00:00
tfarina@chromium.org
725a64cf89 Add default resource path for skia test cases in gm and bench tools.
BUG=skia:1765
TEST=./out/Release/gm --match downsamplebitmap_image
R=mtklein@google.com, scroggo@google.com, yunchao.he@intel.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@12850 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-31 14:29:52 +00:00