Commit Graph

564 Commits

Author SHA1 Message Date
skia.committer@gmail.com
58433de862 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7839 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-23 07:02:45 +00:00
scroggo@google.com
f8d7d27313 Create SkLazyPixelRef which performs lazy decoding.
The new pixel ref behaves similarly to SkImageRef, with some key differences:
It does not depend on the images project.
It requires an SkImageCache, which handles allocation and caching of the pixel
memory.
It takes a function signature for decoding which decodes into already allocated
pixel memory rather than into an SkBitmap.

Add two implementations of SkImageCache: SkLruImageCache and SkAshmemImageCache.

Replace SkSerializationHelpers::DecodeBitmap with SkPicture::InstallPixelRefProc,
and update sites that referenced it.

SkBitmapFactory now sets the pixel ref to a new object of the new
class SkLazyPixelRef, provided it has an SkImageCache for caching.

Provide an option to do lazy decodes in render_pictures and bench_pictures.

SkPicture:
Eliminate the default parameters in the constructor.
If a proc for decoding bitmaps is installed, use it to decode any encoded
data in subpictures.
When parsing deserializing subpictures, check for success.
When serializing subpictures, pass the picture's bitmap encoder to the
subpicture's call to serialize.

Update BitmapFactoryTest to test its new behavior.

BUG=https://code.google.com/p/skia/issues/detail?id=1008
BUG=https://code.google.com/p/skia/issues/detail?id=1009

Review URL: https://codereview.appspot.com/7060052

git-svn-id: http://skia.googlecode.com/svn/trunk@7835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 21:38:35 +00:00
reed@google.com
3934200b67 use DEF_GM
git-svn-id: http://skia.googlecode.com/svn/trunk@7832 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-22 17:28:16 +00:00
borenet@google.com
4f62bf4b47 Fix GM self-test expectations, mkII
Review URL: https://codereview.appspot.com/7393046

git-svn-id: http://skia.googlecode.com/svn/trunk@7815 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 19:48:02 +00:00
borenet@google.com
1df2a5e528 Fix GM self-test expectations
Review URL: https://codereview.appspot.com/7386048

git-svn-id: http://skia.googlecode.com/svn/trunk@7814 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 19:20:11 +00:00
borenet@google.com
a904ea1b2a Fix ignored errors in GM when no reference images are provided
Review URL: https://codereview.appspot.com/7400044

git-svn-id: http://skia.googlecode.com/svn/trunk@7813 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 18:34:14 +00:00
skia.committer@gmail.com
d454ec135e Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7803 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-21 07:15:03 +00:00
jvanverth@google.com
d98df1a3c4 Fix compile errors in blur code on Windows.
Various typecasts to remove warnings and get this code building on Windows.


git-svn-id: http://skia.googlecode.com/svn/trunk@7797 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-20 19:02:34 +00:00
humper@google.com
a99a92ceba Complete the implementation of the faster blur; now supports all blur styles and matches the boxfilter approximation visually. Also change the interpretation of the blur radius to be sigma/2; need to add SK_IGNORE_BLUR_RADIUS_CORRECTNESS to chromium GYP to avoid immediate layout test failures over there.
Review URL: https://codereview.appspot.com/7307076

git-svn-id: http://skia.googlecode.com/svn/trunk@7793 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-20 16:42:06 +00:00
epoger@google.com
d271d245e9 gm: Add ability to compare against checksums (as opposed to image files)
Review URL: https://codereview.appspot.com/7306071

git-svn-id: http://skia.googlecode.com/svn/trunk@7724 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-13 18:14:48 +00:00
bsalomon@google.com
fec0bc3fc1 Remove legacy names no longer referenced in Chrome and WebKit.
Review URL: https://codereview.appspot.com/7311055

git-svn-id: http://skia.googlecode.com/svn/trunk@7640 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-07 14:43:04 +00:00
epoger@google.com
e460a4718c gm self-tests: generate JSON expectations, in addition to image expectations
Review URL: https://codereview.appspot.com/7310050

git-svn-id: http://skia.googlecode.com/svn/trunk@7624 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-06 18:41:04 +00:00
reed@google.com
25cfa69342 land https://codereview.appspot.com/7221086/ -- add Multiply xfermode matching CSS spec
git-svn-id: http://skia.googlecode.com/svn/trunk@7553 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 20:06:00 +00:00
reed@google.com
83f7c65946 add new gms for shallow_gradient, in preparation for improving their quality
git-svn-id: http://skia.googlecode.com/svn/trunk@7544 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-04 16:56:15 +00:00
epoger@google.com
84a1802b07 gm: report max-pixel-error if comparing against PNG files (not checksums)
Review URL: https://codereview.appspot.com/7241064

git-svn-id: http://skia.googlecode.com/svn/trunk@7526 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-01 20:39:15 +00:00
reed@google.com
487b5606e2 add width() and height() helpers
git-svn-id: http://skia.googlecode.com/svn/trunk@7511 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-01 15:01:24 +00:00
reed@google.com
ba3a3c93b2 revert name changes to SkBlendImageFilter. It (correctly) named its enum kMultiply_Mode,
and handled that itself internally, rather than calling SkXfermode. This CL removes
the kModulate_Mode alias from its list.



git-svn-id: http://skia.googlecode.com/svn/trunk@7509 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-01 14:35:09 +00:00
epoger@google.com
5f6a007755 gm: force all pixels opaque earlier in the process
Review URL: https://codereview.appspot.com/7251043

git-svn-id: http://skia.googlecode.com/svn/trunk@7493 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-31 16:30:55 +00:00
epoger@google.com
4688de1ee5 gm self-tests: add 565 mode testing, in addition to 8888 mode
Review URL: https://codereview.appspot.com/7229061

git-svn-id: http://skia.googlecode.com/svn/trunk@7489 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-31 15:06:36 +00:00
reed@google.com
8d3cd7a170 clone of https://codereview.appspot.com/7208043/
Review URL: https://codereview.appspot.com/7232062

git-svn-id: http://skia.googlecode.com/svn/trunk@7476 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-30 21:36:11 +00:00
junov@chromium.org
5ae319cc0e Re-enbling blurrect gm test wich no longer fails with rtree/tileGrid
Some re-baselining may be necessary since the existing ones may be out of date.

Unreviewed.

git-svn-id: http://skia.googlecode.com/svn/trunk@7462 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-30 15:34:57 +00:00
skia.committer@gmail.com
cdcb2ce274 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7439 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-29 07:05:52 +00:00
scroggo@google.com
7312a18327 Remove a workaround in gm/xfermodes.cpp
We were performing a deep copy of the pixels in a SkBitmap to work around a bug where drawing an SkBitmap whose pixel memory was set with setPixels to an SkPicture did not preserve the pixel memory.

Since the workaround was written, we have fixed the bug in two ways:
1. If setPixels is called with a pointer, we wrap the pixels in an SkPixelRef.
2. Picture recording now makes a deep copy of mutable bitmaps.

Also switch to using onOnceBeforeDraw, an existing feature on GM that performs the purpose of the init function.

BUG=http://code.google.com/p/skia/issues/detail?id=224

Review URL: https://codereview.appspot.com/7220054

git-svn-id: http://skia.googlecode.com/svn/trunk@7433 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 21:14:21 +00:00
reed@google.com
b6399a79b2 add (disabled) test for big dashing
git-svn-id: http://skia.googlecode.com/svn/trunk@7417 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-28 16:57:29 +00:00
skia.committer@gmail.com
e16efc1882 Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-26 07:06:02 +00:00
epoger@google.com
666c5cf3af Fix bugs in r7291
TBR=reed
Review URL: https://codereview.appspot.com/7129057

git-svn-id: http://skia.googlecode.com/svn/trunk@7292 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-19 04:56:36 +00:00
epoger@google.com
3726960733 re-land r7258 with fixes and tests
BUG=http://code.google.com/p/skia/issues/detail?id=1079
TBR=reed
Review URL: https://codereview.appspot.com/7132060

git-svn-id: http://skia.googlecode.com/svn/trunk@7291 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-19 04:21:27 +00:00
epoger@google.com
9ef89ce8b7 Roll out r7258
BUG=http://code.google.com/p/skia/issues/detail?id=1079
TBR=robertphillips
Review URL: https://codereview.appspot.com/7138065

git-svn-id: http://skia.googlecode.com/svn/trunk@7289 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 21:45:42 +00:00
senorblanco@chromium.org
3f2d45aff6 (Relanding r7275 with assert fix, plus fixes from r7276, r7280, r7283.)
Implement a bicubic resampling image filter, with raster and GPU backends.
In order to get this to work on the GPU side, I had to modify the width and height of the drawn texture in drawSprite() and drawDevice() to use the filtered texture's dimensions, instead of the source texture.  (This wasn't a problem before since all other image filters produce results the same dimensions as their input texture.)
For now, this implementation only does axis-aligned scaling (same as the Lanczos-3 implementation in Chrome).  It's also done for correctness and clarity, not speed, so there are lots of opportunities for speedups.

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

Review URL: https://codereview.appspot.com/7033049

git-svn-id: http://skia.googlecode.com/svn/trunk@7287 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 20:48:20 +00:00
epoger@google.com
80d447893e gm self-test: followup to r7284
TBR=rmistry
Review URL: https://codereview.appspot.com/7128056

git-svn-id: http://skia.googlecode.com/svn/trunk@7286 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 20:03:58 +00:00
robertphillips@google.com
c51f752554 Reverting chain of SkBicubicImageFilter changes (7275, 7276, 7280 & 7283)
git-svn-id: http://skia.googlecode.com/svn/trunk@7285 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 19:20:52 +00:00
epoger@google.com
407f8da4f4 make gm self-test more robust
BUG=http://code.google.com/p/skia/issues/detail?id=1068
Review URL: https://codereview.appspot.com/7164043

git-svn-id: http://skia.googlecode.com/svn/trunk@7284 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 19:19:47 +00:00
senorblanco@chromium.org
744820e657 Implement a bicubic resampling image filter, with raster and GPU backends.
In order to get this to work on the GPU side, I had to modify the width and height of the drawn texture in drawSprite() and drawDevice() to use the filtered texture's dimensions, instead of the source texture.  (This wasn't a problem before since all other image filters produce results the same dimensions as their input texture.)
For now, this implementation only does axis-aligned scaling (same as the Lanczos-3 implementation in Chrome).  It's also done for correctness and clarity, not speed, so there are lots of opportunities for speedups.

Review URL: https://codereview.appspot.com/7033049

git-svn-id: http://skia.googlecode.com/svn/trunk@7275 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-18 17:29:15 +00:00
epoger@google.com
a243b22422 Reapply r7198 with Mac/Windows fixes
BUG=https://code.google.com/p/skia/issues/detail?id=1067
Review URL: https://codereview.appspot.com/7138056

git-svn-id: http://skia.googlecode.com/svn/trunk@7258 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-17 17:54:28 +00:00
bsalomon@google.com
68b58c9538 Remove default implementation of GrEffect::isEqual. Make GrSingleTextureEffect abstract.
Review URL: https://codereview.appspot.com/7142049

git-svn-id: http://skia.googlecode.com/svn/trunk@7254 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-17 16:50:08 +00:00
skia.committer@gmail.com
4d28d9889b Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7240 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-17 07:06:06 +00:00
robertphillips@google.com
914a2f2823 Compiler warning fixes for r7235
git-svn-id: http://skia.googlecode.com/svn/trunk@7237 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 19:57:02 +00:00
reed@google.com
1c711cabae fix int->scalar warnings
git-svn-id: http://skia.googlecode.com/svn/trunk@7236 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 19:24:15 +00:00
reed@google.com
12fa9bad91 add gm for comparing drawSprite and drawBitmap
git-svn-id: http://skia.googlecode.com/svn/trunk@7235 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 18:54:15 +00:00
junov@chromium.org
20bd04e365 Turn on the kUsePathBoundsForClip_RecordingFlag in bench, gm and tools that use class PictureRenderer
Chrome uses this flag for recording to skpicture in order to improve performance.
Therefore, skai benchmarks should run with this flag enabled, and we need 
gm and render_pictures test coverage to validate it.  In gm, the vanilla 
SkPicture test step will still run without the flag to ensure that case still gets test
coverage, while the SkPicture test steps that use rtree and tileGrid will now run with
the flag enabled.
Review URL: https://codereview.appspot.com/7111043

git-svn-id: http://skia.googlecode.com/svn/trunk@7234 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 18:43:36 +00:00
bsalomon@google.com
0ac6af4997 Wrap GrEffects in GrEffectPtr.
This is the first step towards automatic recycling of scratch resouces in the cache via ref-cnts.

R=robertphillips@google.com
Review URL: https://codereview.appspot.com/7092061

git-svn-id: http://skia.googlecode.com/svn/trunk@7222 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 15:16:18 +00:00
skia.committer@gmail.com
ff21c2e0ae Sanitizing source files in Skia_Periodic_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@7215 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 07:05:56 +00:00
epoger@google.com
98204f9301 better quick fix for GM self-test: ignore instance-counting lines in Debug output
BUG=http://code.google.com/p/skia/issues/detail?id=1068
Review URL: https://codereview.appspot.com/7127044

git-svn-id: http://skia.googlecode.com/svn/trunk@7214 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 04:19:01 +00:00
epoger@google.com
6008e60a54 quick fix for GM self-test failures after r7206
BUG=http://code.google.com/p/skia/issues/detail?id=1068
Review URL: https://codereview.appspot.com/7131043

git-svn-id: http://skia.googlecode.com/svn/trunk@7213 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-16 03:34:15 +00:00
bsalomon@google.com
4e23068b37 Re-enable inst counting in debug builds.
R=robertphillips@google.com
Review URL: https://codereview.appspot.com/7098066

git-svn-id: http://skia.googlecode.com/svn/trunk@7206 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-15 20:37:04 +00:00
epoger@google.com
bc159bdcd0 Revert r7198 until I can fix https://code.google.com/p/skia/issues/detail?id=1067
Review URL: https://codereview.appspot.com/7124043

git-svn-id: http://skia.googlecode.com/svn/trunk@7203 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-15 20:24:03 +00:00
epoger@google.com
06b8a19b56 gm: use new Expectations struct instead of comparison bitmaps
Review URL: https://codereview.appspot.com/7088044

git-svn-id: http://skia.googlecode.com/svn/trunk@7198 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-15 19:10:16 +00:00
epoger@google.com
b4a870bfab Update gm self-test results to expect new runtime config debug message
git-svn-id: http://skia.googlecode.com/svn/trunk@7197 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-15 18:29:41 +00:00
sugoi@google.com
781cc76e0f Implementation of the displacement effect (both CPU and GPU)
TEST=Added new GM called "displacement"
Review URL: https://codereview.appspot.com/7058075

git-svn-id: http://skia.googlecode.com/svn/trunk@7182 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-15 15:40:19 +00:00
robertphillips@google.com
5c4d5582c9 dashing asPoints could draw excessively long first dash
https://codereview.appspot.com/7098054/

Will require rebaselining of dashing gm.



git-svn-id: http://skia.googlecode.com/svn/trunk@7177 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-01-15 12:53:31 +00:00