reed@google.com
b93ba45b58
flag to make kClipToLayer_SaveFlag the default behavior
...
#define SK_SUPPORT_LEGACY_CLIPTOLAYERFLAG to get the old behavior
The goal is to remove the feature of saveLayer that allows the canvas to draw outside of the top-most layer.
R=robertphillips@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/190723004
git-svn-id: http://skia.googlecode.com/svn/trunk@13730 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 19:47:58 +00:00
commit-bot@chromium.org
cac5fd597f
Factory methods for heap-allocated SkImageFilter objects.
...
This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.
This patch makes the constructors of SkImageFilter and its subclasses non-public
and instead provides factory methods for creating these objects on the heap. We
temporarily keep constructor of publicly visible classes public behind a flag.
BUG=skia:2187
R=scroggo@google.com , mtklein@chromium.org , reed@google.com , senorblanco@google.com , senorblanco@chromium.org , bsalomon@google.com , sugoi@chromium.org , zork@chromium.org
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/182983003
git-svn-id: http://skia.googlecode.com/svn/trunk@13718 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-10 10:51:58 +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
skia.committer@gmail.com
e62513fb92
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13714 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-08 03:02:06 +00:00
commit-bot@chromium.org
8c2ee59635
Once Chromium starts holding on to paths and we can actually reuse cached path data (e.g., masks & geometry) we will need a way to preserve that reuse in the skps. This CL begins adding that capability. More analysis & profiling needs to be done before it is always enabled.
...
When enabled it does make the disabled path de-duping test in the Canvas unit test pass.
BUG=skia:507
R=bsalomon@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/190923002
git-svn-id: http://skia.googlecode.com/svn/trunk@13709 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 18:42:15 +00:00
commit-bot@chromium.org
8eb20cc112
remove code disabled from writePixels change
...
These tests were asserting that particular, non-documented, optimizations were taking place
in the deferreddevice. Theese particualr short-cuts are no longer possible given the change
to canvas' writepixels to always require a raw-pointer.
R=junov@google.com
TBR=junov@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/190853002
git-svn-id: http://skia.googlecode.com/svn/trunk@13703 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 14:52:22 +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
5bee0543f0
Give PictureTest more verbose error messages.
...
Motivation: On an odd build system I'm testing, we're triggering these
errors. More verbose test output will help me diagnose the errors.
R=robertphillips@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/183023014
git-svn-id: http://skia.googlecode.com/svn/trunk@13678 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-05 20:59:45 +00:00
commit-bot@chromium.org
0b98f67b90
Fix FontMgrTest to allow for unnamed fonts.
...
Motivation: we are testing on a system without fonts and are falling
back on SkTypeface_Empty.
R=bungeman@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/187933002
git-svn-id: http://skia.googlecode.com/svn/trunk@13675 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-05 19:41:10 +00:00
commit-bot@chromium.org
5e4112b33a
Replace scaled bitmap if entry already exist in cache.
...
BUG=skia:2251
R=reed@google.com
Author: reveman@chromium.org
Review URL: https://codereview.chromium.org/185263009
git-svn-id: http://skia.googlecode.com/svn/trunk@13667 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-05 13:44:18 +00:00
commit-bot@chromium.org
8ef51b975c
remove deprecated use of bitmap config from tests
...
BUG=skia:
R=halcanary@google.com , reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/184233003
git-svn-id: http://skia.googlecode.com/svn/trunk@13666 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-05 13:43:15 +00:00
skia.committer@gmail.com
f1f66c0c86
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13665 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-05 03:02:06 +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
1f6cf695b3
Counterproposal to 182733007: Add iterator to SkTDynamicHash
...
BUG=skia:
R=egdaniel@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/177263005
git-svn-id: http://skia.googlecode.com/svn/trunk@13663 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-05 01:00:50 +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
skia.committer@gmail.com
370a89980b
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13634 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-01 03:02:09 +00:00
robertphillips@google.com
8f90a892c5
add new onClip* methods to SkCanvas
...
https://codereview.chromium.org/183453002/
git-svn-id: http://skia.googlecode.com/svn/trunk@13627 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 18:19:39 +00:00
robertphillips@google.com
03fc3b4f67
Revert of r13620 (add new onClip* methods to SkCanvas - https://codereview.chromium.org/183453002/ ) due to broken Chrome Canary and failing tests.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13622 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 15:28:02 +00:00
robertphillips@google.com
392c9be344
add new onClip* methods to SkCanvas
...
https://codereview.chromium.org/183453002/
git-svn-id: http://skia.googlecode.com/svn/trunk@13620 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 14:35:45 +00:00
skia.committer@gmail.com
0e530754d3
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13619 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 03:02:05 +00:00
commit-bot@chromium.org
3107b6a85e
add SkCanvas::NewRaster factory -- a very common use-case in chrome
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/183533004
git-svn-id: http://skia.googlecode.com/svn/trunk@13617 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-27 20:32:51 +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
skia.committer@gmail.com
4472301607
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13604 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-27 03:02:34 +00:00
commit-bot@chromium.org
40ac5e52b8
BlendTest: implicit casts -> explicit casts
...
BUG=skia:
Committed: http://code.google.com/p/skia/source/detail?r=13595
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/181503003
git-svn-id: http://skia.googlecode.com/svn/trunk@13602 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 21:40:07 +00:00
commit-bot@chromium.org
573f8485a6
BlendTest: implicit casts -> explicit casts
...
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/181503003
git-svn-id: http://skia.googlecode.com/svn/trunk@13595 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-26 17:51:00 +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
commit-bot@chromium.org
d5f032d46b
Do not define SK_SUPPORT_DEEPCOPYTO_CONFIG in Skia.
...
Clean up our callers who depend on the deprecated function.
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/178003003
git-svn-id: http://skia.googlecode.com/svn/trunk@13566 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-24 18:51:43 +00:00
senorblanco@chromium.org
89f077ced4
Fix saveLayer() clipping w/filters, GPU path.
...
Don't modify the clipstack in saveLayer() if the kClipToLayer_SaveFlag is
not set. Without this the GPU path will clip the offscreen to the layer's
bounds, even if the flag is not set.
R=robertphillips@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/164203002
git-svn-id: http://skia.googlecode.com/svn/trunk@13561 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-24 15:16:42 +00:00
commit-bot@chromium.org
8a2ad3cae7
add new copyTo version to SkBitmap, which takes SkColorType
...
BUG=skia:
R=scroggo@google.com , halcanary@google.com , bsalomon@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/171723007
git-svn-id: http://skia.googlecode.com/svn/trunk@13553 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-23 03:59:35 +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
727a352f74
Factory methods for heap-allocated SkColorFilter objects.
...
This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.
This patch makes the constructors of SkColorFilter and its subclasses non-public
and instead provides factory methods for creating these objects on the heap. We
temporarily keep constructor of publicly visible classes public behind a flag.
BUG=skia:2187
R=scroggo@google.com , mtklein@google.com , reed@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/175293002
git-svn-id: http://skia.googlecode.com/svn/trunk@13539 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-21 18:46:30 +00:00
commit-bot@chromium.org
aca1c01f3b
Merge tomhudson and mtklein SkPaint shrinking approaches.
...
I think this is cherry picking the best parts of both our CLs. We've got dirty bit tracking from Tom's, picture format stability from Mike's, etc. Paints are typically 1/3 their original size when flattened in the dictionary.
bench_record on my desktop looks promising. Generally, looks faster. (Best in monospace.)
a/b skp before after
0.83 desk_techcrunch.skp 0.29 0.24
0.83 tabl_gamedeksiam.skp 0.52 0.43
0.87 desk_carsvg.skp 0.4 0.35
0.87 desk_googlehome.skp 0.038 0.033
0.87 desk_pokemonwiki.skp 3.9 3.4
0.88 desk_fontwipe.skp 0.0089 0.0078
0.88 desk_googlespreadsheet.skp 0.16 0.14
0.89 desk_jsfiddlebigcar.skp 0.027 0.024
0.89 desk_tigersvg.skp 0.038 0.034
0.89 desk_weather.skp 0.19 0.17
0.89 tabl_engadget.skp 0.37 0.33
0.89 tabl_googleblog.skp 0.28 0.25
0.9 desk_facebook.skp 0.2 0.18
0.91 desk_mapsvg.skp 0.45 0.41
0.91 desk_youtube.skp 0.22 0.2
0.92 desk_forecastio.skp 0.12 0.11
0.92 desk_googlespreadsheetdashed.skp 0.49 0.45
0.92 desk_gws.skp 0.13 0.12
0.92 desk_pinterest.skp 0.037 0.034
0.92 desk_twitter.skp 0.25 0.23
0.92 tabl_culturalsolutions.skp 0.26 0.24
0.92 tabl_gspro.skp 0.072 0.066
0.92 tabl_mercurynews.skp 0.26 0.24
0.93 desk_booking.skp 0.46 0.43
0.93 desk_chalkboard.skp 0.28 0.26
0.93 desk_linkedin.skp 0.14 0.13
0.93 desk_mobilenews.skp 0.28 0.26
0.93 tabl_cuteoverload.skp 0.46 0.43
0.93 tabl_deviantart.skp 0.15 0.14
0.93 tabl_gmail.skp 0.029 0.027
0.93 tabl_googlecalendar.skp 0.15 0.14
0.93 tabl_mlb.skp 0.15 0.14
0.94 desk_blogger.skp 0.18 0.17
0.94 desk_jsfiddlehumperclip.skp 0.034 0.032
0.94 desk_wordpress.skp 0.33 0.31
0.94 desk_wowwiki.skp 0.94 0.88
0.94 desk_yahooanswers.skp 0.17 0.16
0.94 desk_youtubetvvideo.skp 0.017 0.016
0.94 tabl_sahadan.skp 0.093 0.087
0.94 tabl_worldjournal.skp 0.35 0.33
0.95 desk_css3gradients.skp 0.21 0.2
0.95 desk_gmailthread.skp 0.19 0.18
0.95 tabl_cnet.skp 0.42 0.4
0.95 tabl_mozilla.skp 1.9 1.8
0.95 tabl_pravda.skp 0.19 0.18
0.96 mobi_wikipedia.skp 0.55 0.53
0.96 tabl_cnn.skp 0.48 0.46
0.96 tabl_nofolo.skp 0.05 0.048
0.97 desk_googleplus.skp 0.29 0.28
0.97 tabl_frantzen.skp 0.059 0.057
0.97 tabl_onlinewsj.skp 0.38 0.37
0.97 tabl_slashdot.skp 0.1 0.097
0.97 tabl_vnexpress.skp 0.29 0.28
0.99 desk_amazon.skp 0.088 0.087
1 desk_baidu.skp 0.097 0.099
1 desk_ebay.skp 0.18 0.18
1 desk_espn.skp 0.24 0.24
1 desk_oldinboxapp.skp 0.026 0.026
1 desk_rectangletransition.skp 0.014 0.014
1 desk_samoasvg.skp 0.23 0.24
1 desk_yahoogames.skp 0.029 0.029
1 desk_yahoosports.skp 0.0033 0.0033
1 desk_youtubetvbrowse.skp 0.01 0.01
1 tabl_androidpolice.skp 0.65 0.65
1 tabl_digg.skp 0.33 0.33
1 tabl_hsfi.skp 0.32 0.32
1 tabl_nytimes.skp 0.22 0.22
1 tabl_techmeme.skp 0.069 0.072
1 tabl_ukwsj.skp 0.35 0.35
1.1 desk_sfgate.skp 0.25 0.28
BUG=skia:2190,skia:2194
Committed: http://code.google.com/p/skia/source/detail?r=13487
Committed: http://code.google.com/p/skia/source/detail?r=13496
R=tomhudson@google.com , reed@google.com , mtklein@google.com , robertphillips@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/158913005
git-svn-id: http://skia.googlecode.com/svn/trunk@13536 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-21 18:18:05 +00:00
commit-bot@chromium.org
0a2bf90dcc
Factory methods for heap-allocated SkPathEffect and SkXfermode objects.
...
This is part of an effort to ensure that all SkPaint effects can only be
allocated on the heap.
This patch makes the constructors of SkPathEffect, SkXfermode and
their subclasses non-public and instead provides factory methods for
creating these objects on the heap. We temporarily keep the constructors
of the following classes public to not break Chrome/Blink:
SkXfermode
SkCornerPathEffect
SkDashPathEffect
BUG=skia:2187
R=scroggo@google.com , reed@google.com , mtklein@google.com , bungeman@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/166583002
git-svn-id: http://skia.googlecode.com/svn/trunk@13519 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-20 20:40:19 +00:00
commit-bot@chromium.org
6285f4f766
Offer single-param version of deepCopyTo -- much easier to migrate to colortypes
...
BUG=skia:
R=reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/167683006
git-svn-id: http://skia.googlecode.com/svn/trunk@13516 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-20 19:08:07 +00:00
robertphillips@google.com
ac5004682f
Reverting r13496 (Merge tomhudson and mtklein SkPaint shrinking approaches) due to memory leaks
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13509 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-20 13:08:17 +00:00
skia.committer@gmail.com
c05d2859e1
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13508 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-20 03:01:56 +00:00
commit-bot@chromium.org
92da60cd63
This CL improves saveLayer handling in the SkMatrixClipStateMgr by:
...
1) no longer storing the clip skip offsets in the stack (since saveLayers can force multiple clip states to be open at one time)
2) writing out only the clips that are relative to the saveLayer's clip state
3) updates the testing harness to accept a save/restore bracketing a saveLayer/restore (since clips have to be applied to the saveLayer's result upon restore)
R=bsalomon@google.com , epoger@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/164823003
git-svn-id: http://skia.googlecode.com/svn/trunk@13497 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-19 15:11:23 +00:00
commit-bot@chromium.org
cf52f5b726
Merge tomhudson and mtklein SkPaint shrinking approaches.
...
I think this is cherry picking the best parts of both our CLs. We've got dirty bit tracking from Tom's, picture format stability from Mike's, etc. Paints are typically 1/3 their original size when flattened in the dictionary.
bench_record on my desktop looks promising. Generally, looks faster. (Best in monospace.)
a/b skp before after
0.83 desk_techcrunch.skp 0.29 0.24
0.83 tabl_gamedeksiam.skp 0.52 0.43
0.87 desk_carsvg.skp 0.4 0.35
0.87 desk_googlehome.skp 0.038 0.033
0.87 desk_pokemonwiki.skp 3.9 3.4
0.88 desk_fontwipe.skp 0.0089 0.0078
0.88 desk_googlespreadsheet.skp 0.16 0.14
0.89 desk_jsfiddlebigcar.skp 0.027 0.024
0.89 desk_tigersvg.skp 0.038 0.034
0.89 desk_weather.skp 0.19 0.17
0.89 tabl_engadget.skp 0.37 0.33
0.89 tabl_googleblog.skp 0.28 0.25
0.9 desk_facebook.skp 0.2 0.18
0.91 desk_mapsvg.skp 0.45 0.41
0.91 desk_youtube.skp 0.22 0.2
0.92 desk_forecastio.skp 0.12 0.11
0.92 desk_googlespreadsheetdashed.skp 0.49 0.45
0.92 desk_gws.skp 0.13 0.12
0.92 desk_pinterest.skp 0.037 0.034
0.92 desk_twitter.skp 0.25 0.23
0.92 tabl_culturalsolutions.skp 0.26 0.24
0.92 tabl_gspro.skp 0.072 0.066
0.92 tabl_mercurynews.skp 0.26 0.24
0.93 desk_booking.skp 0.46 0.43
0.93 desk_chalkboard.skp 0.28 0.26
0.93 desk_linkedin.skp 0.14 0.13
0.93 desk_mobilenews.skp 0.28 0.26
0.93 tabl_cuteoverload.skp 0.46 0.43
0.93 tabl_deviantart.skp 0.15 0.14
0.93 tabl_gmail.skp 0.029 0.027
0.93 tabl_googlecalendar.skp 0.15 0.14
0.93 tabl_mlb.skp 0.15 0.14
0.94 desk_blogger.skp 0.18 0.17
0.94 desk_jsfiddlehumperclip.skp 0.034 0.032
0.94 desk_wordpress.skp 0.33 0.31
0.94 desk_wowwiki.skp 0.94 0.88
0.94 desk_yahooanswers.skp 0.17 0.16
0.94 desk_youtubetvvideo.skp 0.017 0.016
0.94 tabl_sahadan.skp 0.093 0.087
0.94 tabl_worldjournal.skp 0.35 0.33
0.95 desk_css3gradients.skp 0.21 0.2
0.95 desk_gmailthread.skp 0.19 0.18
0.95 tabl_cnet.skp 0.42 0.4
0.95 tabl_mozilla.skp 1.9 1.8
0.95 tabl_pravda.skp 0.19 0.18
0.96 mobi_wikipedia.skp 0.55 0.53
0.96 tabl_cnn.skp 0.48 0.46
0.96 tabl_nofolo.skp 0.05 0.048
0.97 desk_googleplus.skp 0.29 0.28
0.97 tabl_frantzen.skp 0.059 0.057
0.97 tabl_onlinewsj.skp 0.38 0.37
0.97 tabl_slashdot.skp 0.1 0.097
0.97 tabl_vnexpress.skp 0.29 0.28
0.99 desk_amazon.skp 0.088 0.087
1 desk_baidu.skp 0.097 0.099
1 desk_ebay.skp 0.18 0.18
1 desk_espn.skp 0.24 0.24
1 desk_oldinboxapp.skp 0.026 0.026
1 desk_rectangletransition.skp 0.014 0.014
1 desk_samoasvg.skp 0.23 0.24
1 desk_yahoogames.skp 0.029 0.029
1 desk_yahoosports.skp 0.0033 0.0033
1 desk_youtubetvbrowse.skp 0.01 0.01
1 tabl_androidpolice.skp 0.65 0.65
1 tabl_digg.skp 0.33 0.33
1 tabl_hsfi.skp 0.32 0.32
1 tabl_nytimes.skp 0.22 0.22
1 tabl_techmeme.skp 0.069 0.072
1 tabl_ukwsj.skp 0.35 0.35
1.1 desk_sfgate.skp 0.25 0.28
BUG=skia:2190
Committed: http://code.google.com/p/skia/source/detail?r=13487
R=tomhudson@google.com , reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/158913005
git-svn-id: http://skia.googlecode.com/svn/trunk@13496 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-19 13:55:07 +00:00
commit-bot@chromium.org
ead1efb6ba
Revert of Merge tomhudson and mtklein SkPaint shrinking approaches. ( https://codereview.chromium.org/158913005/ )
...
Reason for revert:
Breaking the build - see https://code.google.com/p/skia/issues/detail?id=2190
Original issue's description:
> Merge tomhudson and mtklein SkPaint shrinking approaches.
>
> I think this is cherry picking the best parts of both our CLs. We've got dirty bit tracking from Tom's, picture format stability from Mike's, etc. Paints are typically 1/3 their original size when flattened in the dictionary.
>
> bench_record on my desktop looks promising. Generally, looks faster. (Best in monospace.)
> a/b skp before after
> 0.83 desk_techcrunch.skp 0.29 0.24
> 0.83 tabl_gamedeksiam.skp 0.52 0.43
> 0.87 desk_carsvg.skp 0.4 0.35
> 0.87 desk_googlehome.skp 0.038 0.033
> 0.87 desk_pokemonwiki.skp 3.9 3.4
> 0.88 desk_fontwipe.skp 0.0089 0.0078
> 0.88 desk_googlespreadsheet.skp 0.16 0.14
> 0.89 desk_jsfiddlebigcar.skp 0.027 0.024
> 0.89 desk_tigersvg.skp 0.038 0.034
> 0.89 desk_weather.skp 0.19 0.17
> 0.89 tabl_engadget.skp 0.37 0.33
> 0.89 tabl_googleblog.skp 0.28 0.25
> 0.9 desk_facebook.skp 0.2 0.18
> 0.91 desk_mapsvg.skp 0.45 0.41
> 0.91 desk_youtube.skp 0.22 0.2
> 0.92 desk_forecastio.skp 0.12 0.11
> 0.92 desk_googlespreadsheetdashed.skp 0.49 0.45
> 0.92 desk_gws.skp 0.13 0.12
> 0.92 desk_pinterest.skp 0.037 0.034
> 0.92 desk_twitter.skp 0.25 0.23
> 0.92 tabl_culturalsolutions.skp 0.26 0.24
> 0.92 tabl_gspro.skp 0.072 0.066
> 0.92 tabl_mercurynews.skp 0.26 0.24
> 0.93 desk_booking.skp 0.46 0.43
> 0.93 desk_chalkboard.skp 0.28 0.26
> 0.93 desk_linkedin.skp 0.14 0.13
> 0.93 desk_mobilenews.skp 0.28 0.26
> 0.93 tabl_cuteoverload.skp 0.46 0.43
> 0.93 tabl_deviantart.skp 0.15 0.14
> 0.93 tabl_gmail.skp 0.029 0.027
> 0.93 tabl_googlecalendar.skp 0.15 0.14
> 0.93 tabl_mlb.skp 0.15 0.14
> 0.94 desk_blogger.skp 0.18 0.17
> 0.94 desk_jsfiddlehumperclip.skp 0.034 0.032
> 0.94 desk_wordpress.skp 0.33 0.31
> 0.94 desk_wowwiki.skp 0.94 0.88
> 0.94 desk_yahooanswers.skp 0.17 0.16
> 0.94 desk_youtubetvvideo.skp 0.017 0.016
> 0.94 tabl_sahadan.skp 0.093 0.087
> 0.94 tabl_worldjournal.skp 0.35 0.33
> 0.95 desk_css3gradients.skp 0.21 0.2
> 0.95 desk_gmailthread.skp 0.19 0.18
> 0.95 tabl_cnet.skp 0.42 0.4
> 0.95 tabl_mozilla.skp 1.9 1.8
> 0.95 tabl_pravda.skp 0.19 0.18
> 0.96 mobi_wikipedia.skp 0.55 0.53
> 0.96 tabl_cnn.skp 0.48 0.46
> 0.96 tabl_nofolo.skp 0.05 0.048
> 0.97 desk_googleplus.skp 0.29 0.28
> 0.97 tabl_frantzen.skp 0.059 0.057
> 0.97 tabl_onlinewsj.skp 0.38 0.37
> 0.97 tabl_slashdot.skp 0.1 0.097
> 0.97 tabl_vnexpress.skp 0.29 0.28
> 0.99 desk_amazon.skp 0.088 0.087
> 1 desk_baidu.skp 0.097 0.099
> 1 desk_ebay.skp 0.18 0.18
> 1 desk_espn.skp 0.24 0.24
> 1 desk_oldinboxapp.skp 0.026 0.026
> 1 desk_rectangletransition.skp 0.014 0.014
> 1 desk_samoasvg.skp 0.23 0.24
> 1 desk_yahoogames.skp 0.029 0.029
> 1 desk_yahoosports.skp 0.0033 0.0033
> 1 desk_youtubetvbrowse.skp 0.01 0.01
> 1 tabl_androidpolice.skp 0.65 0.65
> 1 tabl_digg.skp 0.33 0.33
> 1 tabl_hsfi.skp 0.32 0.32
> 1 tabl_nytimes.skp 0.22 0.22
> 1 tabl_techmeme.skp 0.069 0.072
> 1 tabl_ukwsj.skp 0.35 0.35
> 1.1 desk_sfgate.skp 0.25 0.28
>
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=13487
R=tomhudson@google.com , reed@google.com , mtklein@google.com , mtklein@chromium.org
TBR=mtklein@chromium.org , mtklein@google.com , reed@google.com , tomhudson@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/169183003
git-svn-id: http://skia.googlecode.com/svn/trunk@13491 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-18 18:41:16 +00:00
commit-bot@chromium.org
1cb6d1a1fd
Revert changes which were breaking the build.
...
Revert "Improve saveLayer handling in SkMatrixClipStateMgr"
This reverts commit f7d08ed626
.
Revert "Compile fix for r13488 (Improve saveLayer handling in SkMatrixClipStateMgr)"
This reverts commit a48822f3eb
.
R=robertphillips@google.com
TBR=robertphillips@google.com
NOTREECHECKS=true
NOTRY=True
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/170973002
git-svn-id: http://skia.googlecode.com/svn/trunk@13490 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-18 18:13:34 +00:00
robertphillips@google.com
f7d08ed626
Improve saveLayer handling in SkMatrixClipStateMgr
...
https://codereview.chromium.org/164823003/
git-svn-id: http://skia.googlecode.com/svn/trunk@13488 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-18 17:28:52 +00:00
commit-bot@chromium.org
d017542551
Merge tomhudson and mtklein SkPaint shrinking approaches.
...
I think this is cherry picking the best parts of both our CLs. We've got dirty bit tracking from Tom's, picture format stability from Mike's, etc. Paints are typically 1/3 their original size when flattened in the dictionary.
bench_record on my desktop looks promising. Generally, looks faster. (Best in monospace.)
a/b skp before after
0.83 desk_techcrunch.skp 0.29 0.24
0.83 tabl_gamedeksiam.skp 0.52 0.43
0.87 desk_carsvg.skp 0.4 0.35
0.87 desk_googlehome.skp 0.038 0.033
0.87 desk_pokemonwiki.skp 3.9 3.4
0.88 desk_fontwipe.skp 0.0089 0.0078
0.88 desk_googlespreadsheet.skp 0.16 0.14
0.89 desk_jsfiddlebigcar.skp 0.027 0.024
0.89 desk_tigersvg.skp 0.038 0.034
0.89 desk_weather.skp 0.19 0.17
0.89 tabl_engadget.skp 0.37 0.33
0.89 tabl_googleblog.skp 0.28 0.25
0.9 desk_facebook.skp 0.2 0.18
0.91 desk_mapsvg.skp 0.45 0.41
0.91 desk_youtube.skp 0.22 0.2
0.92 desk_forecastio.skp 0.12 0.11
0.92 desk_googlespreadsheetdashed.skp 0.49 0.45
0.92 desk_gws.skp 0.13 0.12
0.92 desk_pinterest.skp 0.037 0.034
0.92 desk_twitter.skp 0.25 0.23
0.92 tabl_culturalsolutions.skp 0.26 0.24
0.92 tabl_gspro.skp 0.072 0.066
0.92 tabl_mercurynews.skp 0.26 0.24
0.93 desk_booking.skp 0.46 0.43
0.93 desk_chalkboard.skp 0.28 0.26
0.93 desk_linkedin.skp 0.14 0.13
0.93 desk_mobilenews.skp 0.28 0.26
0.93 tabl_cuteoverload.skp 0.46 0.43
0.93 tabl_deviantart.skp 0.15 0.14
0.93 tabl_gmail.skp 0.029 0.027
0.93 tabl_googlecalendar.skp 0.15 0.14
0.93 tabl_mlb.skp 0.15 0.14
0.94 desk_blogger.skp 0.18 0.17
0.94 desk_jsfiddlehumperclip.skp 0.034 0.032
0.94 desk_wordpress.skp 0.33 0.31
0.94 desk_wowwiki.skp 0.94 0.88
0.94 desk_yahooanswers.skp 0.17 0.16
0.94 desk_youtubetvvideo.skp 0.017 0.016
0.94 tabl_sahadan.skp 0.093 0.087
0.94 tabl_worldjournal.skp 0.35 0.33
0.95 desk_css3gradients.skp 0.21 0.2
0.95 desk_gmailthread.skp 0.19 0.18
0.95 tabl_cnet.skp 0.42 0.4
0.95 tabl_mozilla.skp 1.9 1.8
0.95 tabl_pravda.skp 0.19 0.18
0.96 mobi_wikipedia.skp 0.55 0.53
0.96 tabl_cnn.skp 0.48 0.46
0.96 tabl_nofolo.skp 0.05 0.048
0.97 desk_googleplus.skp 0.29 0.28
0.97 tabl_frantzen.skp 0.059 0.057
0.97 tabl_onlinewsj.skp 0.38 0.37
0.97 tabl_slashdot.skp 0.1 0.097
0.97 tabl_vnexpress.skp 0.29 0.28
0.99 desk_amazon.skp 0.088 0.087
1 desk_baidu.skp 0.097 0.099
1 desk_ebay.skp 0.18 0.18
1 desk_espn.skp 0.24 0.24
1 desk_oldinboxapp.skp 0.026 0.026
1 desk_rectangletransition.skp 0.014 0.014
1 desk_samoasvg.skp 0.23 0.24
1 desk_yahoogames.skp 0.029 0.029
1 desk_yahoosports.skp 0.0033 0.0033
1 desk_youtubetvbrowse.skp 0.01 0.01
1 tabl_androidpolice.skp 0.65 0.65
1 tabl_digg.skp 0.33 0.33
1 tabl_hsfi.skp 0.32 0.32
1 tabl_nytimes.skp 0.22 0.22
1 tabl_techmeme.skp 0.069 0.072
1 tabl_ukwsj.skp 0.35 0.35
1.1 desk_sfgate.skp 0.25 0.28
BUG=skia:
R=tomhudson@google.com , reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/158913005
git-svn-id: http://skia.googlecode.com/svn/trunk@13487 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-18 17:25:25 +00:00
commit-bot@chromium.org
186c0ccac2
staticMethod -> StaticMethod
...
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/166193006
git-svn-id: http://skia.googlecode.com/svn/trunk@13485 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-18 16:15:05 +00:00
bungeman@google.com
2c56cb858f
Use factories instead of directly creating SkImageInfo.
...
R=reed@google.com
Review URL: https://codereview.chromium.org/169363007
git-svn-id: http://skia.googlecode.com/svn/trunk@13480 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-17 17:02:17 +00:00
commit-bot@chromium.org
e5b2af955b
Store SkRRects in SkClipStack
...
BUG=skia:2181
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/163683002
git-svn-id: http://skia.googlecode.com/svn/trunk@13465 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-16 13:25:24 +00:00
commit-bot@chromium.org
15a1405999
Change device factories to take SkImageInfo instead of SkBitmap::Config
...
patch from issue 167033002
BUG=skia:
R=reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/168653002
git-svn-id: http://skia.googlecode.com/svn/trunk@13463 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-16 00:59:25 +00:00