henrik.smiding
3bb195ef0d
Add SSE4 optimization of S32A_Opaque_Blitrow
...
Adds optimization of Skia S32A_Opaque_Blitrow blitter using SSE4.2 SIMD
instruction set. Special case for when alpha is zero or opaque.
Performance increase of 10%-400% compared to the existing SSE2
optimization (measured on Silvermont architecture).
Noticeable in ~25 different skia bench subtests, especially in
bitmap_8888_*, repeatTile_*, and morph_*.
bitmap_8888_A - 100% faster
bitmap_8888_A_source_transparent - 250% faster
bitmap_8888_A_source_opaque - 25% faster
bitmap_8888_A_scale_bicubic - 75% faster
Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
Committed: https://skia.googlesource.com/skia/+/e2527b147679b0c43019fae7d59cc3777d2d097e
Committed: https://skia.googlesource.com/skia/+/b5c281e1e06af3be804309877de1dac6145686b9
R=reed@google.com , mtklein@google.com , tomhudson@google.com , djsollen@google.com , joakim.landberg@intel.com
Author: henrik.smiding@intel.com
Review URL: https://codereview.chromium.org/289473009
2014-06-27 08:03:17 -07:00
reed
982542dce8
add SkSurface::NewRasterDirectReleaseProc
...
allows for lifetime control of pixel memory on raster surface
BUG=skia:
R=fmalita@google.com , bsalomon@google.com , fmalita@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/351373005
2014-06-27 06:48:14 -07:00
reed
8c0c7b0bcd
remove unnecessary bitmapdevice references
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/354143004
2014-06-27 05:49:54 -07:00
reed
2a8ca93171
don't create explicit bitmapdevice when not needed
...
TBR=
Author: reed@google.com
Review URL: https://codereview.chromium.org/349213006
2014-06-26 22:12:09 -07:00
tfarina
11a005ee01
Promote SkInterpolator unit test to our tests driver.
...
BUG=None
TEST=make tests && out/Debug/tests -m Interpolator
R=mtklein@google.com , bsalomon@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/351713005
2014-06-26 13:07:05 -07:00
senorblanco
7bf1068473
Remove SkBicubicImageFilter, and all related tests.
...
Now that we have SkResizeImageFilter, and the bicubic
resizing is part of skia proper, there's no need for a
specialized image filter.
BUG=skia:
R=bsalomon@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/357793002
2014-06-25 14:39:06 -07:00
tfarina
12345aee12
Rename TestSize.cpp to SizeTest.cpp
...
It is the only file where Test is the prefix rather than the sufix.
This patch fixes that so it matches with the rest of the files
under tests/ directory.
And separate SkISize test into its own DEF_TEST().
BUG=None
TEST=make tests && out/Debug/tests
R=mtklein@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/337783007
2014-06-25 10:39:02 -07:00
caryclark
66a5d8bf13
add path dump test
...
Add a unit test for SkPath::dump(). The unit test exposed a minor
bug (inconsistent CRs) and an unused parameter (title).
R=bsalomon@google.com
TBR=bsalomon
BUG=skia:1836
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/351833003
2014-06-24 08:30:18 -07:00
Mike Klein
c11530ea73
Tick off some TODOs:
...
- support fRecord in copy constructor
- support SkDrawPictureCallback
Moved SkDrawPictureCallback to its own header so
SkRecordDraw can include it without pulling in all of
SkPicture.
Adding an SkAutoSaveRestore to SkRecordDraw was the easiest
way to match the balance guarantees of the callback, and
probably not a bad idea in general. Updated its tests.
BUG=skia:
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/349973008
2014-06-24 11:29:06 -04:00
caryclark
a8d2ffb1c2
add pathops tight bounds; conform path ops' gyp to unit tests
...
Implement path tight bounds using path ops machinery. This is not
as efficient as it could be; for instance, internally, it creates
a path ops structure more suited to intersection. If this shows
up as a performance bottleneck, it could be improved.
Fix path ops gyp files, which have fallen out of sync with other
tests.
R=mtklein@google.com , bsalomon@google.com
TBR=mtklein
BUG=skia:1712
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/348343002
2014-06-24 07:55:12 -07:00
tfarina
9ea53f93e7
Preprend Test to test function name generated by DEF_TEST() macro.
...
That way when declaring a test with DEF_TEST() macro, you don't have to
uniquify the test name because it might colide with the class it is
being testing.
For example, if you are testing SkBase64 and do:
DEF_TEST(SkBase64, reporter) {
}
That will generate an error because the macro will declare a function
named SkBase64 which colides with the type SkBase64.
By adding Test to the function name we avoid this problem.
Fixed the entries found with the following command line:
$ git grep "Test, r" | grep DEF
BUG=None
TEST=make tests && out/Debug/tests
R=mtklein@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/345753007
2014-06-24 06:50:39 -07:00
Mike Klein
6fc763e3c2
No one uses SkPicture::swap.
...
BUG=skia:
R=robertphillips@google.com
Review URL: https://codereview.chromium.org/349313004
2014-06-23 15:29:52 -04:00
tfarina
bcbc1788b4
Refactor how we handle resources path in Tests.
...
This idea emerged while doing https://codereview.chromium.org/321723002/
(commit 880914c35c
).
BUG=None
TEST=make tests && out/Debug/tests
R=mtklein@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/346453002
2014-06-18 14:32:49 -07:00
mtklein
30e6e2af14
Add basic stacktrace handler using libunwind.
...
This means we will all have to apt-get install libunwind8-dev on Linux. Mac comes with everything we need already.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/343583005
2014-06-18 11:44:18 -07:00
caryclark
e4097e3a0b
Fix last pathops skp bug
...
This fixes the last bug discovered by iterating through the 800K
skp corpus representing the top 1M websites. For every clip on the
stack, the paths are replaced with the pathop intersection. The
resulting draw is compared with the original draw for pixel errors.
At least two prominent bugs remain. In one, the winding value is
confused by a cubic with an inflection. In the other, a quad/cubic
pair, nearly coincident, fails to find an intersection.
These minor changes include ignoring very tiny self-intersections
of cubics, and processing degenerate edges that don't connect to
anything else.
R=reed@android.com
TBR=reed
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/340103002
2014-06-18 07:24:19 -07:00
humper
4a24cd8ff4
Fifth attempt to land faster rect blur. Remove unnecessary conditionals from the shader.
...
approved over in https://codereview.chromium.org/331863006/ ; reuploading
because it had the wrong base url
BUG=skia:2095
R=bsalomon@google.com
TBR=bsalomon
Author: humper@google.com
Review URL: https://codereview.chromium.org/341543005
2014-06-17 13:39:31 -07:00
mtklein
887f3979f0
Add EXPERIMENTAL_beginRecording() for SkRecord-based recording.
...
The interesting stuff is in SkPictureRecorder.{h,cpp}. The rest is mostly moving SkRecord from its own directories into core to avoid circular dependencies in GYP.
After plumbing SkRecord all the way through in Picture, I'll delete its old entry point include/record/SkRecording.h. For now it and record.gypi need to stay where they are to keep Chrome building.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/331573004
2014-06-17 12:08:16 -07:00
reed
c3b3266b7d
hide SkBitmap::Config entirely (behind a flag)
...
patch from issue 339463002
TBR=
I think the NoGPU failure is unrelated, so ignoring
NOTRY=True
Author: reed@google.com
Review URL: https://codereview.chromium.org/340533002
2014-06-17 08:38:31 -07:00
caryclark
dac1d17027
Enabling the canvas bit to turn the clip stack into a flat replace exposed around 100 failures when testing the 800K skp set generated from the top 1M web sites.
...
This fixes all but one of those failures.
Major changes include:
- Replace angle indices with angle pointers. This was motivated by the need to add angles later but not renumber existing angles.
- Aggressive segment chase. When the winding is known on a segment, more aggressively passing that winding to adjacent segments allows fragmented data sets to succeed.
- Line segments with ends nearly the same are treated as coincident first.
- Transfer partial coincidence by observing that if segment A is partially coincident to B and C then B and C may be partially coincident.
TBR=reed
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/272153002
2014-06-17 05:15:38 -07:00
reed
0689d7b12e
stop using SkBitmap::Config
...
R=scroggo@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/338493005
2014-06-14 05:30:20 -07:00
reed
bfefc7c95f
hide Config in SkImageDecoder -- use SkColorType instead
...
patch from issue 334613003
TBR=scroggo
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/334793002
2014-06-12 17:40:00 -07:00
scroggo
e07c1ab408
Revert of third try at landing improved blur rect; this time with more correctness ( https://codereview.chromium.org/331443003/ )
...
Reason for revert:
Failing layout test: https://storage.googleapis.com/chromium-layout-test-archives/WebKit_Linux/32762/layout-test-results/virtual/gpu/fast/canvas/canvas-draw-canvas-on-canvas-shadow-pretty-diff.html
Original issue's description:
> third try at landing improved blur rect; this time with more correctness
>
> BUG=skia:2095
> R=bsalomon@google.com
> TBR=bsalomon
>
> Committed: https://skia.googlesource.com/skia/+/72abfc2b4e7caead660f6b6a05e60d05eaf1a66f
R=bsalomon@google.com , reed@google.com , humper@google.com
TBR=bsalomon@google.com , humper@google.com , reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2095
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/333763002
2014-06-12 12:10:24 -07:00
tfarina
da4ed3289e
Cleanup: Delete sk_tools::make_filepath() in favor of SkOSPath::SkPathJoin().
...
BUG=None
TEST=make tools tests && out/Debug/tests
R=epoger@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/327403002
2014-06-12 08:50:56 -07:00
humper
72abfc2b4e
third try at landing improved blur rect; this time with more correctness
...
BUG=skia:2095
R=bsalomon@google.com
TBR=bsalomon
Author: humper@google.com
Review URL: https://codereview.chromium.org/331443003
2014-06-11 12:42:49 -07:00
krajcevski
2b310e46eb
Texture compression unit tests along with a couple of bug fixes
...
R=robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/330453005
2014-06-11 12:26:49 -07:00
robertphillips
0bdbea75ff
Remove picture pre-allocation from SkPictureRecorder
...
This CL improves the separation of the SkPicture and SkPictureRecord classes. It delays creation of the SkPicture (in SkPictureRecorder) until recording is actually completed. To accomplish this the SkRecord-derived classes now get SkPathHeap and SkPictureContentInfo members that are absorbed by the SkPicture when it is constructed.
As an ancillary change, this CL also moves the SkPictureContentInfo object from SkPicture to SkPicturePlayback. This is intended to centralize all the data in the SkPicturePlayback object.
R=mtklein@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/324293004
2014-06-11 11:37:55 -07:00
tfarina
1c99ea8ed8
Cleanup: Delete sk_tools::get_basename() in favor of SkOSPath::SkBasename().
...
BUG=None
TEST=make tests && out/Debug/tests
R=epoger@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/321693002
2014-06-11 08:58:50 -07:00
reed
b0b1aa04ed
Revert of second try at landing improved blur rect ( https://codereview.chromium.org/325703002/ )
...
Reason for revert:
broke some fast/canvas layout tests
Original issue's description:
> second try at landing improved blur rect
>
> BUG=skia:2095
> TBR=bsalomon
>
> Committed: https://skia.googlesource.com/skia/+/e9ea0d6b7d59ac3b7e257281e545b24bcc0d2a76
R=bsalomon@google.com , reed@chromium.org , humper@google.com
TBR=bsalomon@google.com , humper@google.com , reed@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=skia:2095
Author: reed@google.com
Review URL: https://codereview.chromium.org/322423002
2014-06-11 07:26:23 -07:00
robertphillips
9058d602d0
Fix error revealed by Android unit test
...
The issue is/was that the original Picture/PictureRecorder that is being partially replayed is not guaranteed to issue any more commands before attempting to modify the existing data. Such modification is prohibited if there is a extant copy-on-write snapshot. Rather then further complicate the SkWriter32::snapshot capability for a dis-preferred use case, this CL simply copies the operation data.
R=scroggo@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/316063005
2014-06-10 11:45:46 -07:00
reed
6c22573edb
hide SkBitmap::setConfig
...
patch from issue 325733002
TBR=scroggo
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/322963002
2014-06-09 19:52:07 -07:00
humper
e9ea0d6b7d
second try at landing improved blur rect
...
BUG=skia:2095
R=bsalomon@google.com
TBR=bsalomon
Author: humper@google.com
Review URL: https://codereview.chromium.org/325703002
2014-06-09 14:35:21 -07:00
tfarina
880914c35c
Reland "Clean up Test's resourcePath code."
...
This relands commit 91359bed48
(Clean up
Test's resourcePath code."
BUG=None
TEST=make dm && out/Debug/dm
R=mtklein@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/321723002
2014-06-09 12:05:34 -07:00
cdalton
511923443f
Generate path names on the client side
...
Pre-allocates a range of path names and manages allocations within
that range on the client side. This allows us to generate new path
objects in a feed-forward manner that doesn't require round trips to
the GL server.
BUG=skia:
R=bsalomon@google.com , markkilgard@gmail.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/304403003
2014-06-09 11:16:58 -07:00
robertphillips
9f1c241e0d
Remove SkPicture::kUsePathBoundsForClip_RecordingFlag
...
The real question is whether we ever want to record a picture without using the path bounds for a conservative (but faster) clip answer?
R=reed@google.com , mtklein@google.com , djsollen@google.com , scroggo@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/316143003
2014-06-09 06:25:34 -07:00
robertphillips
e2f2b98444
No longer limit SkPictureRecorder::partialReplay to Android
...
Toggling this for local testing is a bit of a chore.
R=mtklein@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/316173004
2014-06-08 13:12:44 -07:00
mtklein
91359bed48
Revert of Clean up Test's resourcePath code. ( https://codereview.chromium.org/319473003/ )
...
Reason for revert:
Some benchmarks are written in a way that makes this change unsafe (e.g. const char* resPath = GetResourcePath().c_str(); in SkipZeroesBench) and Valgrind and ASAN caught that. We can try again after a more careful cleanup of GetResourcePath().
Original issue's description:
> Clean up resourcePath code.
>
> 1) Make the implementation of SetResourcePath/GetResourcePath of GM and SkBenchmark match with the one in Test.
> 2) Make gResourcePath a static pointer to const char and move it inside the classes.
>
> BUG=None
> TEST=make tests && out/Debug/tests
> make gm && out/Debug/gm
> make bench && out/Debug/bench
> R=mtklein@google.com
>
> Committed: https://skia.googlesource.com/skia/+/52e4f413ffe2d281f9e90ff2147db08083ffcba7
R=tfarina@chromium.org
TBR=tfarina@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=None
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/320733002
2014-06-08 07:02:47 -07:00
tfarina
52e4f413ff
Clean up resourcePath code.
...
1) Make the implementation of SetResourcePath/GetResourcePath of GM and SkBenchmark match with the one in Test.
2) Make gResourcePath a static pointer to const char and move it inside the classes.
BUG=None
TEST=make tests && out/Debug/tests
make gm && out/Debug/gm
make bench && out/Debug/bench
R=mtklein@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/319473003
2014-06-07 20:50:44 -07:00
jvanverth
d78a2fac37
Rollback of fe689c46
and all subsequent changes
...
BUG=skia:
R=humper@google.com
TBR=humper@google.com
NOTRY=True
NOTREECHECKS=True
Author: jvanverth@google.com
Review URL: https://codereview.chromium.org/324463005
2014-06-06 13:40:36 -07:00
humper
da1c00914e
disable GPU/CPU blur match test (possibly temporary)
...
BUG=skia:
TBR=jvanverth
NOTRY=True
NOTREECHECKS=True
Author: humper@google.com
Review URL: https://codereview.chromium.org/322593002
2014-06-06 11:37:24 -07:00
krajcevski
c250d2e4ab
Initial KTX encoder
...
The encoder comes with tests to check that the encoding/decoding
operations between ETC encoded bitmaps and ARGB bitmaps are sane.
R=bsalomon@google.com , robertphillips@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/312353003
2014-06-06 06:16:28 -07:00
robertphillips
c2fce56522
Add bench for rectanizers
...
R=bsalomon@google.com , jvanverth@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/319523003
2014-06-05 07:18:03 -07:00
robertphillips
9b14f26d0f
Alter SkCanvas::drawPicture (devirtualize, take const SkPicture, take pointer)
...
R=reed@google.com , bsalomon@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/313613004
2014-06-04 05:40:44 -07:00
scroggo
65044bfe02
Return NULL when building empty LayerRasterizer.
...
In SkLayerRasterizer::snapshotRasterizer() and ::detachRasterizer(),
if no layers have been added, do not attempt to create an
SkLayerRasterizer. Instead, return NULL.
This fixes an error when running tests on Android.
Update dox to state that NULL may be returned.
Add tests.
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/313653006
2014-06-03 13:12:51 -07:00
krajcevski
99ffe24200
Initial KTX file decoder
...
R=bsalomon@google.com , robertphillips@google.com , halcanary@google.com , reed@google.com
Author: krajcevski@google.com
Review URL: https://codereview.chromium.org/302333002
2014-06-03 13:04:35 -07:00
reed
868074b50b
remove SkBounder -- unused and unloved
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/312553006
2014-06-03 10:54:00 -07:00
robertphillips
dcf9ab14a1
Remove legacy picture recording
...
This is unblocked now that Android no longer uses the old interface.
This is just the first step in cleaning this up. Future CLs will constify SkPicture access in SkCanvas and split up the SkPicture/SkPicturePlayback/SkPictureRecord trio.
R=bsalomon@google.com , reed@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/313613002
2014-06-03 10:04:47 -07:00
mtklein
1b81877880
Clean up SkOnce:
...
1 Remove atExit feature: clients can do it just as well as SkOnce can.
2 Remove support for functors: no one but the unit test did that.
3 Remove support for unused non-static SkOnceFlag (no SK_ONCE_INIT).
4 Add SkOnce variants for no-arg functions so we're not forced to pass dummy values all the time.
5 Merge SkSpinlock and SkOnceFlag, making all members private.
6 More notes about memory barriers, adding an acquire load after acquiring the spinlock.
BUG=skia:
R=bungeman@google.com , mtklein@google.com , reed@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/302083003
2014-06-02 11:26:59 -07:00
robertphillips
d537341e16
Move GrIPoint16 to SkIPoint16 (and remove GrPoint.h)
...
R=bsalomon@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/309683002
2014-06-02 10:20:15 -07:00
commit-bot@chromium.org
a1ff26a64a
Add a way for the gpu veto to report back the reason why it said no
...
BUG=2334
R=bsalomon@google.com
Author: humper@google.com
Review URL: https://codereview.chromium.org/301423002
git-svn-id: http://skia.googlecode.com/svn/trunk@15012 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 21:52:52 +00:00
senorblanco@chromium.org
97f5fc6519
Allow SkPictureImageFilter to be serialized when not run cross-process.
...
Picture serialization is not yet hardened, but it turns out we do need
serialization of SkPictureImageFilter for deferred SVG-on-SVG filters,
since the SkPaints (and thus the SkImageFilters) are serialized by
SkPictureRecord. However, deferred filters are always drawn in the
same process, so we can safely serialize them in this case. We do this
by turning the compile-time check for
SK_ALLOW_PICTUREIMAGEFILTER_SERIALIZATION to a runtime check for
isCrossProcess().
The image filter fuzzer sample was also modified to enable fuzzing
of basic picture image filters (the code had rotted a bit, being behind
an #ifdef that no one sets).
BUG=375162
R=sugoi@google.com
Review URL: https://codereview.chromium.org/311443003
git-svn-id: http://skia.googlecode.com/svn/trunk@15008 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 20:50:56 +00:00
senorblanco@chromium.org
910702b564
Implement SkPictureImageFilter bounds computation.
...
SkPictureImageFilter::onFilterBounds() was unimplemented, causing
incorrect results for SVG filters and impl-side painting (see Chrome
bug https://code.google.com/p/chromium/issues/detail?id=375162 ).
BUG=skia:
R=reed@google.com
Review URL: https://codereview.chromium.org/306733003
git-svn-id: http://skia.googlecode.com/svn/trunk@15003 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 20:36:15 +00:00
reed@google.com
4927092186
check for null typeface from paint
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14998 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 17:15:23 +00:00
commit-bot@chromium.org
7ae034d651
Test font created from paint
...
This is meant to allow clients to migrate over to a SkFont api on canvas (e.g. drawText(text, font, paint)) while still permitting the current setters in paint (e.g. setTextSize, setFlags).
R=bungeman@google.com , eae@chromium.org , fmalita@google.com , fmalita@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/245953003
git-svn-id: http://skia.googlecode.com/svn/trunk@14997 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 16:46:10 +00:00
commit-bot@chromium.org
a3264e53ee
Revert "Revert of setConfig -> setInfo ( https://codereview.chromium.org/308683005/ )"
...
This reverts commit eecaea4148805834f223681f70b6488ceba12d09.
R=robertphillips@google.com , scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/301283003
git-svn-id: http://skia.googlecode.com/svn/trunk@14989 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 13:26:10 +00:00
skia.committer@gmail.com
9681eebb0e
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14984 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-30 03:06:10 +00:00
commit-bot@chromium.org
d0f824cfbd
Revert of setConfig -> setInfo ( https://codereview.chromium.org/308683005/ )
...
Reason for revert:
broke all Windows bots
Original issue's description:
> setConfig -> setInfo
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14978
R=robertphillips@google.com , reed@google.com
TBR=reed@google.com , robertphillips@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: epoger@google.com
Review URL: https://codereview.chromium.org/302053002
git-svn-id: http://skia.googlecode.com/svn/trunk@14979 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 21:10:32 +00:00
commit-bot@chromium.org
986d681f3e
setConfig -> setInfo
...
BUG=skia:
R=robertphillips@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/308683005
git-svn-id: http://skia.googlecode.com/svn/trunk@14978 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 20:47:53 +00:00
commit-bot@chromium.org
ad854bf9c0
Add testing for Rectanizer-derived classes
...
This in preparation for expanding the Rectanizer API for removing rects and adding a new derived class
R=jvanverth@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/304313002
git-svn-id: http://skia.googlecode.com/svn/trunk@14972 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 18:46:38 +00:00
commit-bot@chromium.org
a095041f51
Remove SkRecorder's kWriteOnly mode.
...
I'm soon going to have SkRecorder start calling getTotalMatrix(), which
would be broken in write-only mode. That change is big and nebulous,
but it's clear kWriteOnly needs to go, so we might as well kill it now.
My notes in bench_playback about kWriteOnly mode being important were
probably overly cautious. I now think this is a fair enough comparison
even re-recording into a read-write canvas.
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/290653004
git-svn-id: http://skia.googlecode.com/svn/trunk@14963 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 16:52:40 +00:00
commit-bot@chromium.org
00f8d6c75d
Revert "Revert of add colortable support to imagegenerator ( https://codereview.chromium.org/304443003/ )"
...
Fix is to add colortable param to installPixels()
This reverts commit 924205aaf2
.
BUG=skia:
R=scroggo@google.com , reed@chromium.org
Author: reed@google.com
Review URL: https://codereview.chromium.org/300263005
git-svn-id: http://skia.googlecode.com/svn/trunk@14958 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-29 15:57:20 +00:00
senorblanco@chromium.org
29ac34ee52
Fix filter bounds computation for SkOffsetImageFilter.
...
SkOffsetImageFilter::onFilterBounds() was not recursing into its input
filter when computing bounds.
BUG=374556
R=junov@chromium.org
Review URL: https://codereview.chromium.org/304743003
git-svn-id: http://skia.googlecode.com/svn/trunk@14928 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 19:29:25 +00:00
commit-bot@chromium.org
924205aaf2
Revert of add colortable support to imagegenerator ( https://codereview.chromium.org/304443003/ )
...
Reason for revert:
failing tests
Original issue's description:
> add colortable support to imagegenerator
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14916
R=halcanary@google.com , scroggo@google.com
TBR=halcanary@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@google.com
Review URL: https://codereview.chromium.org/300873007
git-svn-id: http://skia.googlecode.com/svn/trunk@14917 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 16:16:08 +00:00
commit-bot@chromium.org
b263985850
add colortable support to imagegenerator
...
BUG=skia:
R=halcanary@google.com , scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/304443003
git-svn-id: http://skia.googlecode.com/svn/trunk@14916 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 16:01:55 +00:00
skia.committer@gmail.com
8e7d37d8fe
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14912 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-28 03:06:06 +00:00
commit-bot@chromium.org
6d3eaeabdd
add replay entry point to SkPictureRecorder for Android
...
This CL adds an Android-only entry point to address the Java Picture(Picture) and serialize use cases. Note that (in its current form) it doesn't preserve the old API's handling of unbalanced saves/saveLayers (this CL always balances them).
R=reed@google.com , scroggo@google.com , djsollen@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/252873005
git-svn-id: http://skia.googlecode.com/svn/trunk@14911 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 23:41:45 +00:00
commit-bot@chromium.org
2d970b5128
hide discardable factory from public imagegenerator api
...
BUG=skia:
R=halcanary@google.com , scroggo@google.com , djsollen@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/295243006
git-svn-id: http://skia.googlecode.com/svn/trunk@14889 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-27 14:14:22 +00:00
commit-bot@chromium.org
e5a8e66668
move ashmem switching logic to SkDiscardableMemory::Create
...
R=scroggo@google.com , reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/293283002
git-svn-id: http://skia.googlecode.com/svn/trunk@14882 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-23 20:25:15 +00:00
commit-bot@chromium.org
968edcafa6
stop calling SkBitmap::flatten
...
BUG=skia:
R=scroggo@google.com , halcanary@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/295793002
git-svn-id: http://skia.googlecode.com/svn/trunk@14867 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-23 13:21:55 +00:00
commit-bot@chromium.org
9e34473d73
remove bit rot test gyp
...
BUG=skia:2597
R=epoger@google.com
TBR=epoger
NOTRY=true
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/296053016
git-svn-id: http://skia.googlecode.com/svn/trunk@14856 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 19:58:22 +00:00
robertphillips@google.com
8cf81e0f4f
Simple PKM image decoder.
...
https://codereview.chromium.org/292663011/
git-svn-id: http://skia.googlecode.com/svn/trunk@14852 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 18:40:29 +00:00
commit-bot@chromium.org
8be07bb12d
In convexity checker don't advance last vector when x-product isn't significant.
...
BUG=skia:2235
R=caryclark@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/298973004
git-svn-id: http://skia.googlecode.com/svn/trunk@14845 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 14:58:53 +00:00
commit-bot@chromium.org
83f23d87f1
Remove unused (by clients) SkUnitMapper
...
This reverts commit 874423a81b5bc2541c7397e6ab00d5e7c9fdaf98.
TBR=scroggo
Author: reed@google.com
Review URL: https://codereview.chromium.org/288313009
git-svn-id: http://skia.googlecode.com/svn/trunk@14842 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 12:27:41 +00:00
commit-bot@chromium.org
3339ac54a5
Revert of Remove unused (by clients) SkUnitMapper ( https://codereview.chromium.org/283273002/ ) ( https://codereview.chromium.org/288343009/ )
...
Reason for revert:
required blink change failed to land
Original issue's description:
> Remove unused (by clients) SkUnitMapper (https://codereview.chromium.org/283273002/ )
>
> This reverts commit dd50c83b5b34dab3a077741861b50ed1f2bc6b8f.
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14830
R=scroggo@google.com , reed@google.com
TBR=reed@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/296823008
git-svn-id: http://skia.googlecode.com/svn/trunk@14838 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-22 02:55:59 +00:00
commit-bot@chromium.org
4b8f802255
Remove unused (by clients) SkUnitMapper ( https://codereview.chromium.org/283273002/ )
...
This reverts commit dd50c83b5b34dab3a077741861b50ed1f2bc6b8f.
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/288343009
git-svn-id: http://skia.googlecode.com/svn/trunk@14830 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-21 19:56:46 +00:00
commit-bot@chromium.org
311a3cda94
Add function to get both min and max scale factors from matrix
...
R=reed@google.com , jvanverth@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/298473002
git-svn-id: http://skia.googlecode.com/svn/trunk@14804 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 17:02:03 +00:00
commit-bot@chromium.org
1878651990
Rename SkMatrix::get(Max|Min)Stretch to get(Min|Max)Scale
...
R=reed@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/295713002
git-svn-id: http://skia.googlecode.com/svn/trunk@14798 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-20 14:53:45 +00:00
commit-bot@chromium.org
99bd7d8174
Try out SkMatrix::Concat.
...
This should RVO to the same as doing it on the stack with setConcat.
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/293693002
git-svn-id: http://skia.googlecode.com/svn/trunk@14782 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 15:51:12 +00:00
commit-bot@chromium.org
0a98d87044
Don't clobber initial transform with SetMatrix.
...
BUG=skia:2378
R=reed@google.com , mtklein@google.com , robertphillips@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/290883004
git-svn-id: http://skia.googlecode.com/svn/trunk@14778 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 15:15:24 +00:00
commit-bot@chromium.org
821650655b
Ensure playing back a picture always balances saves and restores
...
This "fixes" the legacy interface's possible creation of pictures with unbalanced save/restores.
The Android dox will need to be updated once/if this lands.
R=reed@google.com , scroggo@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/286033005
git-svn-id: http://skia.googlecode.com/svn/trunk@14772 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-19 12:26:58 +00:00
commit-bot@chromium.org
e2b193ca5c
Revert of remove unused (by clients) SkUnitMapper ( https://codereview.chromium.org/283273002/ )
...
Reason for revert:
does not address all legacy callsites in chrome.
e.g.
[13:45:32.091872] ../../ui/native_theme/native_theme_base.cc:608:76: error: no matching function for call to ‘SkGradientShader::CreateLinear(SkPoint [3], SkColor [3], NULL, int, SkShader::TileMode, NULL)’
[13:45:32.091919] gradient_bounds, colors, NULL, 3, SkShader::kClamp_TileMode, NULL));
Original issue's description:
> remove unused (by clients) SkUnitMapper
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14761
R=robertphillips@google.com , scroggo@google.com , george@mozilla.com
TBR=george@mozilla.com , robertphillips@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: reed@google.com
Review URL: https://codereview.chromium.org/287063009
git-svn-id: http://skia.googlecode.com/svn/trunk@14763 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:49:08 +00:00
commit-bot@chromium.org
ee0cac336c
remove unused (by clients) SkUnitMapper
...
BUG=skia:
R=robertphillips@google.com , scroggo@google.com , george@mozilla.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/283273002
git-svn-id: http://skia.googlecode.com/svn/trunk@14761 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-16 13:35:01 +00:00
reed@google.com
47b679b37d
comment out info4 test until Rob can fix it
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14741 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-14 18:58:16 +00:00
commit-bot@chromium.org
d0490172e5
Reland bug fixes from "4x allocation in PipeController is probably overkill."
...
BUG=372671
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/283093002
git-svn-id: http://skia.googlecode.com/svn/trunk@14727 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-14 15:12:08 +00:00
commit-bot@chromium.org
f700fb2f13
Manually revert "4x allocation in PipeController is probably overkill."
...
This reverts commit 2d91efffdb
.
Conflicts:
src/pipe/SkGPipeWrite.cpp
BUG=372671
R=mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/277653004
git-svn-id: http://skia.googlecode.com/svn/trunk@14725 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-14 14:50:57 +00:00
halcanary@google.com
b7acbfe0ee
Flatten resources directory
...
On android trybots, the files in a subdirectory weren't being
loaded onto the device. Consequently, the ImageDecoderOptions
test was not testing anything. I had to relax that unit test
to reflect the existing behavior of our libjpeg decoder on
Android.
R=djsollen@google.com
Review URL: https://codereview.chromium.org/264583007
git-svn-id: http://skia.googlecode.com/svn/trunk@14682 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 18:08:24 +00:00
djsollen@google.com
f9dc07c80a
Revert "Flatten resources directory"
...
Review URL: https://codereview.chromium.org/278033002
git-svn-id: http://skia.googlecode.com/svn/trunk@14679 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 17:24:31 +00:00
commit-bot@chromium.org
e5e96021a0
Flatten resources directory
...
On android trybots, the files in a subdirectory weren't being
loaded onto the device. Consequently, the ImageDecoderOptions
test was not testing anything. I had to relax that unit test
to reflect the existing behavior of our libjpeg decoder on
Android.
R=djsollen@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/264583007
git-svn-id: http://skia.googlecode.com/svn/trunk@14678 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 16:24:06 +00:00
commit-bot@chromium.org
95c2003740
cleanup GrContext resource cache api
...
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/275563005
git-svn-id: http://skia.googlecode.com/svn/trunk@14669 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 14:29:32 +00:00
skia.committer@gmail.com
8a1e688552
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14661 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-09 03:05:30 +00:00
commit-bot@chromium.org
f97d65dc25
Fix rendering artifacts in pull-saveLayers-forward mode
...
This CL fixes 2 bugs in the pre-rendering of saveLayers:
1) The drawBitmapRect call wasn't occurring in device space so could sometimes be double transformed
2) The BBH op skipping in SkPicturePlayback could sometimes mess up the SkPictureStateTree's state
It also reduces the number of layers that are pre-rendered when a BBH is not in use.
Committed: http://code.google.com/p/skia/source/detail?r=14650
R=bsalomon@google.com , reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/267293007
git-svn-id: http://skia.googlecode.com/svn/trunk@14659 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 23:24:05 +00:00
commit-bot@chromium.org
888e4687d9
Split Star into Star (stores nothing) and List (stores matches).
...
Just noticed that the cull noop pattern (PushCull, Star<NoOp>, PopCull)
would trigger the Star that stores matches. We certainly don't need
those matches here, so instead of magically determining which Star you
need, we'll make you tell us which one you want.
No one but List's unit test needs List. I'll leave it for now, but we
might find it's not useful.
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com , bungeman@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/275623002
git-svn-id: http://skia.googlecode.com/svn/trunk@14655 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 18:58:32 +00:00
commit-bot@chromium.org
1e44730ade
Noop away PushCull/PopCull pairs with nothing between them.
...
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/277613002
git-svn-id: http://skia.googlecode.com/svn/trunk@14653 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 18:17:51 +00:00
skia.committer@gmail.com
b2c82c99f8
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14636 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-08 03:05:29 +00:00
commit-bot@chromium.org
37f6e62f11
Move paints to the front of draw structs.
...
The order of arguments in these structs is arbitrary, so we might as well arrange them to optimize something. Putting the paints at the front means the logic to find the paint is a lot more concise: it's usually just ptr+0, or *(ptr+0) when the SkPaint is optional.
This considerably reduces the size of the jump table in IsDraw::operator().
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/272673002
git-svn-id: http://skia.googlecode.com/svn/trunk@14634 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 22:59:38 +00:00
commit-bot@chromium.org
c71da1f6ed
Convert all SkRecordPattern matchers into SkRecord mutators.
...
- Allow any return type from SkRecord mutators and visitors;
- update existing calls to mutate and visit;
- convert match to operator() in SkRecordPattern;
- tidy up a few inelegant bits of old code in tests.
The net result is that the generated code is much clearer. All the mutate() calls
inline as you'd hope, and you can now actually follow along with the disassembly.
BUG=skia:2378
R=fmalita@chromium.org , bungeman@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/273643007
git-svn-id: http://skia.googlecode.com/svn/trunk@14631 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 21:16:09 +00:00
senorblanco@chromium.org
ba31f1d341
Some small cleanups for image filter code.
...
Use the 2-param flavour of mapVector instead of the 3-param, where possible.
Add an SkMatrixImageFilter test case to the tiling unit test.
R=junov@chromium.org
Review URL: https://codereview.chromium.org/277543002
git-svn-id: http://skia.googlecode.com/svn/trunk@14630 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 20:56:08 +00:00
senorblanco@chromium.org
d4db657bf5
Fix for SkDisplacementMap::onFilterBounds().
...
Two problems: we were not applying the CTM to the scale parameter when
modifying clip bounds, and the recursion for onFilterBounds() must be done
in the reverse order.
BUG=370914
R=junov@chromium.org
Review URL: https://codereview.chromium.org/272643003
git-svn-id: http://skia.googlecode.com/svn/trunk@14627 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 20:00:04 +00:00
commit-bot@chromium.org
467705adf0
save-draw*-restore -> noop-draw*-noop
...
save-drawA-drawB-drawC-restore always means drawA-drawB-drawC,
no matter what flags we use for save().
This one triggers all over the silk SKPs and in several of the bot SKPs, typically as save-drawBitmap-restore.
BUG=skia:2378
R=robertphillips@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/267793006
git-svn-id: http://skia.googlecode.com/svn/trunk@14618 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 17:17:48 +00:00
commit-bot@chromium.org
2db7fe7d3b
When solving the cubic line intersection directly fails, use binary search as a fallback.
...
The cubic line intersection math empirically works 99.99% of the time (fails 3100 out of 1B random tests) but when it fails, an intersection may be missed altogether.
The binary search is may not find a solution if the cubic line failed to find any solutions at all, but so far that case hasn't arisen.
BUG=skia:2504
TBR=reed@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/266063003
git-svn-id: http://skia.googlecode.com/svn/trunk@14614 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 15:31:40 +00:00
commit-bot@chromium.org
2d91efffdb
4x allocation in PipeController is probably overkill.
...
When verylargebitmap GM runs in cross-process pipe mode, we're
requestBlock()ing ~200M to carry the bitmaps. The current
implementation ends up allocating ~800M, which is a bit wasteful.
SkGPipeWrite already rounds up to 16K, so just rely on that.
This change exposed several bugs in pipe:
- we don't reserve enough space in drawVertices
- we don't reserve enough space for factory names in cross-process mode
- we don't quite have the right check in needOpBytes to see if we needed to send off the current block and allocate a new one
SETUP_NOTIFY and generally calling doNotify() more often than necessary made things hard to debug and understand. Now the pipe always waits to send off its current block until it needs more space than that block can provide, or it's the final block. We can put these back if we need the proactive flushing, but it seems not necessary?
Removed an assert in DeferredCanvasTest, which is somtimes 2 (Debug), sometimes 3 (Release). It seemed like the other asserts were more essential, and this one was more of a white-box assertion. Still sound if we remove it?
BUG=skia:2478
R=scroggo@google.com , mtklein@google.com , reed@google.com , junov@chromium.org
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/267863002
git-svn-id: http://skia.googlecode.com/svn/trunk@14613 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 15:27:10 +00:00
commit-bot@chromium.org
f5bf3cf025
Add SaveLayer-Draw-Restore optimization.
...
This is like SkPictureRecord's remove_save_layer1 but works with all draw calls.
Interesting patterns removed:
SaveLayer-DrawRect-Restore: Silk SKPs, desk_weather
SaveLayer-DrawPath-Restore: desk_carsvg, desk_wowwiki, tabl_androidpolice
SaveLayer-DrawPosTextH-Restore: tabl_android_police
There may be others, but I stopped looking.
BUG=skia:2378
R=robertphillips@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/269813010
git-svn-id: http://skia.googlecode.com/svn/trunk@14610 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 14:47:44 +00:00
commit-bot@chromium.org
8cca4cc560
Split CPU and GPU DeferredCanvas tests
...
Nothing important, just happened to notice this and figured it was good hygiene.
DEF_TESTs run in parallel, while DEF_GPUTESTs run all run serially.
BUG=skia:
Committed: http://code.google.com/p/skia/source/detail?r=14603
R=junov@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/271483002
git-svn-id: http://skia.googlecode.com/svn/trunk@14608 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 14:33:57 +00:00
commit-bot@chromium.org
dbf25181bd
Revert of Split CPU and GPU DeferredCanvas tests ( https://codereview.chromium.org/271483002/ )
...
Reason for revert:
breaking the run tests steps on ChromeOS. See http://108.170.220.120:10117/builders/Test-ChromeOS-Alex-GMA3150-x86-Debug/builds/1669
Original issue's description:
> Split CPU and GPU DeferredCanvas tests
>
> Nothing important, just happened to notice this and figured it was good hygiene.
> DEF_TESTs run in parallel, while DEF_GPUTESTs run all run serially.
>
> BUG=skia:
>
> Committed: http://code.google.com/p/skia/source/detail?r=14603
R=junov@chromium.org , mtklein@google.com , mtklein@chromium.org
TBR=junov@chromium.org , mtklein@chromium.org , mtklein@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:
Author: djsollen@google.com
Review URL: https://codereview.chromium.org/270283003
git-svn-id: http://skia.googlecode.com/svn/trunk@14607 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 12:33:02 +00:00
skia.committer@gmail.com
a5b068cc05
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14605 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-07 03:04:15 +00:00
senorblanco@chromium.org
68250c8e7c
Fix for empty saveLayer() with a filter which affects transparent black.
...
If an saveLayer()/restore() is recorded, tilegrid/rtree will cull them
out and not draw anything. This is correct for most cases, but if the
paint in the saveLayer() is one that affects transparent black (e.g.,
it contains a color filter or image filter which affects transparent
black), this is incorrect: the filter should be applied.
Fixed by adding a no-op between the saveLayer() and restore(), and
adding a bbox node pointing at that node with the saveLayer()'s bounds.
This exposed a bug in SkPictureRecord.cpp's match(), where it would
assert if the NOOP was the last op seen. Fixed with an early-out before
calling peek_op_and_size().
BUG=skia:2254
Review URL: https://codereview.chromium.org/262363007
git-svn-id: http://skia.googlecode.com/svn/trunk@14604 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-06 22:52:55 +00:00
commit-bot@chromium.org
0992404e38
Split CPU and GPU DeferredCanvas tests
...
Nothing important, just happened to notice this and figured it was good hygiene.
DEF_TESTs run in parallel, while DEF_GPUTESTs run all run serially.
BUG=skia:
R=junov@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/271483002
git-svn-id: http://skia.googlecode.com/svn/trunk@14603 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-06 21:43:37 +00:00
commit-bot@chromium.org
1b546462bb
SaveLayer is not a draw.
...
Will keep thinking about the best way to handle this:
- leave as-is
- tag the records
- some range check on T::kType
- just list all Draw* in IsDraw
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/269543023
git-svn-id: http://skia.googlecode.com/svn/trunk@14602 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-06 21:32:19 +00:00
commit-bot@chromium.org
0205aba7d5
Infrastructure changes to support pull-saveLayers-forward task
...
This is split out of (First pass at pre-rendering saveLayers for GPU - https://codereview.chromium.org/261663003/ ).
It mainly:
Moves NeedsDeepCopy to somewhere more accessible (so GrPictureUtils.cpp can use it)
Moves ComputeAccelDataKey somewhere more accessible (so GPUPicture test can use it)
Adds unit test for picture saveLayer analysis (done in EXPERIMENTAL_optimize)
Adds new fields to SaveLayerInfo that are needed to pull forward layers
Committed: http://code.google.com/p/skia/source/detail?r=14571
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/266203003
git-svn-id: http://skia.googlecode.com/svn/trunk@14586 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-06 12:02:22 +00:00
commit-bot@chromium.org
73fffeb83a
Add pattern matchers for SkRecord
...
This is a mid-level library for finding patterns of commands in an SkRecord. At the API level, it's a bit regex inspired. Some examples:
- Pattern1<Is<DrawRect>> matches a single DrawRect
- Pattern1<Star<Is<DrawRect>>> matches 0 or more DrawRects
- Pattern2<Is<ClipRect>, Is<DrawRect>> matches a single clip rect followed by a single draw rect
- Pattern3<Is<Save>, Star<IsDraw>, Is<Restore>> matches a single Save, followed by any number of Draws, followed by Restore
- Pattern1<Or<Is<DrawRect>, Is<ClipRect>>> matches a DrawRect or a ClipRect
- Pattern1<Not<Is<ClipRect>>> matches a command that's notClipRect.
Once you have a pattern, you can call .search() on it to step through ranges of matching commands. This means patterns can replace most of the custom iteration logic for optimization passes: the generic pattern searching steps through all the optimization candidates, which optimization-specific code further inspects and mutates.
SkRecordTraits is now unused. Bye bye!
Generated code and performance of SkRecordOpts is very similar to what it was before. (I had to use SK_ALWAYS_INLINE in a few places to make this so.)
BUG=skia:2378
R=fmalita@chromium.org , bungeman@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/263063002
git-svn-id: http://skia.googlecode.com/svn/trunk@14582 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 21:59:52 +00:00
robertphillips@google.com
300c6060c8
Revert r14571 (Infrastructure changes to support pull saveLayers forward task - https://codereview.chromium.org/266203003 ) due to breaking Android unit tests
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14578 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 19:24:23 +00:00
commit-bot@chromium.org
11c6b39cfa
Adds a mechanism for GrCacheable objects to notify the resource cache
...
when their size has changed. GrResourceCacheEntry now holds a
reference to the cache, and a cached value of the resource's most
recent size.
Also utilizes this new functionality for mipmaps, and adds a test for
changing resource sizes.
R=bsalomon@google.com , robertphillips@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/257093002
git-svn-id: http://skia.googlecode.com/svn/trunk@14576 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 19:09:13 +00:00
commit-bot@chromium.org
6b392b6111
Infrastructure changes to support pull-saveLayers-forward task
...
This is split out of (First pass at pre-rendering saveLayers for GPU - https://codereview.chromium.org/261663003/ ).
It mainly:
Moves NeedsDeepCopy to somewhere more accessible (so GrPictureUtils.cpp can use it)
Moves ComputeAccelDataKey somewhere more accessible (so GPUPicture test can use it)
Adds unit test for picture saveLayer analysis (done in EXPERIMENTAL_optimize)
Adds new fields to SaveLayerInfo that are needed to pull forward layers
R=bsalomon@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/266203003
git-svn-id: http://skia.googlecode.com/svn/trunk@14571 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 18:06:14 +00:00
commit-bot@chromium.org
7066bf3fbf
Update tests/RecordOptsTest.cpp
...
- use REPORTER_ASSERT;
- assert the type first, then the pointer != NULL. This helps explain why ptr == NULL;
- add a simpler NoopSaveRestore test case, which can help debugging failures of the larger test case.
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/264043012
git-svn-id: http://skia.googlecode.com/svn/trunk@14570 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 17:09:05 +00:00
reed@google.com
3253f83605
fix double->float warning
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14568 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 16:32:16 +00:00
commit-bot@chromium.org
4e332f82fc
add rounding-using-doubles methods on SkScalar and SkRect
...
Inspired by the excellent repro case for https://crbug.com/364224
patch from issue 265933010
BUG=skia:
R=bungeman@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/267003002
git-svn-id: http://skia.googlecode.com/svn/trunk@14566 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-05 16:04:42 +00:00
commit-bot@chromium.org
089a780c33
Split GrResource into GrCacheable/GrGpuObject
...
Before this change, an object needed to inherit from GrResource (and
thus be a GPU object) in order to live in the GrResourceCache. That
was a problem for caching items that weren't GPU objects themselves,
but owned GPU objects.
This change splits GrResource into two classes:
1. GrCacheable: The base class for objects that can live in the
GrResourceCache.
2. GrGpuObject, which inherits from GrCacheable: The base class for
objects that get tracked by GrGpu.
This change is purely a refactor; there is no change in functionality.
Change-Id: I3e8daeb1f123041f414aa306c1366e959ae9e39e
BUG=skia:
R=bsalomon@google.com
Author: cdalton@nvidia.com
Review URL: https://codereview.chromium.org/251013002
git-svn-id: http://skia.googlecode.com/svn/trunk@14553 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 21:38:22 +00:00
senorblanco@chromium.org
8c7372bbe8
Fix for SkMatrixConvolutionImageFilter with large borders.
...
Intersect the requested processing rect with the destination
bounds.
R=junov@chromium.org
Review URL: https://codereview.chromium.org/267863004
git-svn-id: http://skia.googlecode.com/svn/trunk@14543 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-02 19:13:11 +00:00
senorblanco@chromium.org
9195743aac
Add a fix for a spurious assert in SkMatrixConvolutionImageFilter.
...
When matrix convolution processes border pixels with zero width, it
asserts in getAddr32() with an invalid x coordinate. The assert is
harmless, since the returned pointer is never accessed (the next line
is a loop from left to right, which does nothing, since left == right).
However, the fix is simple: early out on an empty rect before entering
the outer loop.
R=sugoi@chromium.org
Review URL: https://codereview.chromium.org/265693005
git-svn-id: http://skia.googlecode.com/svn/trunk@14497 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-05-01 14:03:41 +00:00
commit-bot@chromium.org
1a98a0604b
one valgrind.supp to rule them all.
...
R=mtklein@google.com , robertphillips@google.com , borenet@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/268473004
git-svn-id: http://skia.googlecode.com/svn/trunk@14487 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 21:10:13 +00:00
commit-bot@chromium.org
901d10d87b
Add Valgrind suppressions for nvidia driver.
...
Did we recently switch the machine Valgrind runs on from an ati card to
an nvidia one?
BUG=skia:
R=bsalomon@google.com , borenet@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/266473010
git-svn-id: http://skia.googlecode.com/svn/trunk@14482 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 19:20:42 +00:00
commit-bot@chromium.org
86398e5d91
Avoid undefined behavior and enable asserts in ClampTest.
...
The old code here wasn't being careful to avoid int32_t overflow in slow_check. Fix that.
R_ASSERT hasn't been doing anything for a while. As a result, there are a couple bugs in SkClampRange, marked as such and commented out. The asserts also weren't quite passing, so I fixed them up (allowing 0xFFFF to be considered either as part of the ramp or part of V1.)
BUG=skia:2481
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/260523004
git-svn-id: http://skia.googlecode.com/svn/trunk@14479 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 16:51:51 +00:00
commit-bot@chromium.org
91fc81c972
fix cubic/line intersection; add skp tests
...
BUG=skia:2488
TBR=reed
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/252243003
git-svn-id: http://skia.googlecode.com/svn/trunk@14458 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 13:37:48 +00:00
commit-bot@chromium.org
8dac8b18ee
Backfill unit tests for SkRecord
...
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/251133008
git-svn-id: http://skia.googlecode.com/svn/trunk@14455 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-30 13:18:12 +00:00
commit-bot@chromium.org
1ac99c890b
Fixed issue found by clusterfuzz
...
An integer overflow was causing an issue when reading a string with a very large (or negative) size.
BUG=367764
R=senorblanco@google.com , senorblanco@chromium.org , reed@google.com , borenet@google.com
Author: sugoi@chromium.org
Review URL: https://codereview.chromium.org/255693003
git-svn-id: http://skia.googlecode.com/svn/trunk@14434 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-29 15:35:23 +00:00
commit-bot@chromium.org
705b1ff617
Don't bother doing the empty clip check in SkRecordDraw.
...
On Mike's suggestion, I tested out not doing any empty-clip check at all in
SkRecordDraw, given that mostly we'll do that again anyway inside SkCanvas.
Most SKPs are identical to the status quo, whether bot or silk, played back in tiles
or full. Average playback performance, both arithmetic and geometric mean, is also
unchanged.
A handful of SKPs do draw faster or slower reliably, particularly when tiled. E.g. a
cnn tile draws about 40% faster, a cuteoverload tile about 20% slower. Their profiles
look pretty much the same before and after, so I can't really explain the changes.
I'd say, given that performance is mostly identical and very identical in bulk,
we might as well remove this code. It's nice to keep SkRecordDraw as dumb as possible.
BUG=skia:2378
R=reed@google.com , fmalita@chromium.org , mtklein@google.com , borenet@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/258183002
git-svn-id: http://skia.googlecode.com/svn/trunk@14433 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-29 15:34:03 +00:00
senorblanco@chromium.org
0a5c233e3b
Implement bounds traversals for tile and matrix convolution filters.
...
Add a new GM that exercises tiled drawing all pixel-moving filters
(and some non-pixel-moving ones) and compares it against non-tiled
drawing of the same filters. Fixing this test revealed that tile and
matrix convolution filters had no onFilterBounds() traversals
(test-driven development FTW). Tile requires (conservatively) the
bounds to include the whole source rect, since it may end up in the
result. Matrix convolution requires the bounds to be offset by the
kernel size and target.
R=reed@google.com
BUG=skia:
Review URL: https://codereview.chromium.org/258243005
git-svn-id: http://skia.googlecode.com/svn/trunk@14432 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-29 15:20:39 +00:00
reed@google.com
daaafa6e81
add asAShadowBlur for android to drawlooper
...
BUG=skia:
R=djsollen@google.com , scroggo@google.com
Review URL: https://codereview.chromium.org/253633003
git-svn-id: http://skia.googlecode.com/svn/trunk@14431 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-29 15:20:16 +00:00
commit-bot@chromium.org
a31eacb22e
Refactor SkPictureStateTree::Iterator to avoid use of kClip_SaveFlag.
...
The current implementation relies on soon-to-be-deprecated
kClip_SaveFlag behavior. Updated to use default save flags
(kMatrixClip_SaveFlag) and stop assuming that the matrix survives
restore() calls.
R=junov@chromium.org , reed@google.com , robertphillips@chromium.org , robertphillips@google.com
Committed: http://code.google.com/p/skia/source/detail?r=14319
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/246893005
git-svn-id: http://skia.googlecode.com/svn/trunk@14421 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-28 20:17:48 +00:00
commit-bot@chromium.org
e396455d2d
move common blur types into central header
...
BUG=skia:
R=scroggo@google.com , djsollen@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/253833002
git-svn-id: http://skia.googlecode.com/svn/trunk@14411 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-28 16:25:35 +00:00
commit-bot@chromium.org
2e0c32af05
Start using type traits in src/record instead of macros.
...
Simplified skip logic by always running clip commands. No performance difference on bot or silk SKPs.
BUG=skia:2378
R=bungeman@google.com , fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/258693006
git-svn-id: http://skia.googlecode.com/svn/trunk@14410 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-28 16:19:45 +00:00
commit-bot@chromium.org
9c9005a347
Move SkShader::fLocalMatrix into SkShader constructor.
...
As a first step towards removing SkShader::setLocalMatrix, which will make
SkShader thread-safe, remove calls to setLocalMatrix that happen immediately
after the shader is being created. Instead, pass the matrix into the constructor
or factory method.
BUG=skia:1976
R=scroggo@google.com , reed@google.com , skyostil@google.com , mtklein@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/245963010
git-svn-id: http://skia.googlecode.com/svn/trunk@14401 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-28 14:55:39 +00:00
skia.committer@gmail.com
e02c5dabbb
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14387 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-26 03:04:35 +00:00
commit-bot@chromium.org
8cb1daaa1e
fix minor skp-found bugs
...
remove globals from pathops_unittest
BUG=skia:2460
TBR=mtklein
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/239563004
git-svn-id: http://skia.googlecode.com/svn/trunk@14378 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-25 12:59:11 +00:00
robertphillips@google.com
b950c6fd71
Fix r14368 (First pass at GPU veto) for non-GPU builds
...
https://codereview.chromium.org/255733002/
git-svn-id: http://skia.googlecode.com/svn/trunk@14369 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-25 00:02:12 +00:00
commit-bot@chromium.org
e2cb12a82a
First pass at GPU veto
...
As a short term solution this CL collects information during the recording process for use in suitableForGpuRasterization.
BUG=366495
R=bsalomon@google.com , reed@google.com , alokp@chromium.org
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/251533004
git-svn-id: http://skia.googlecode.com/svn/trunk@14368 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 21:53:13 +00:00
commit-bot@chromium.org
915b972a81
Reland "Properly set alpha type in webp decode."
...
Also use the newer setConfig function.
Add a test to confirm that we set the alpha type properly.
Add some images with alpha for testing. (These images are also
beneficial for the compare_unpremul test, which was previously
not meaningful on 100% opaque images.)
All of the added images are in the public domain. They were
taken from https://developers.google.com/speed/webp/gallery2 :
yellow_rose:
"Free Stock Photo in High Resolution - Yellow Rose 3 - Flowers"
Image Author: Jon Sullivan
This file is in the public domain.
http://www.public-domain-photos.com/free-stock-photos-4/flowers/yellow-rose-3.jpg
baby_tux:
"baby tux for my user page"
Image Author: Fizyplankton
This file is in the public domain.
http://www.minecraftwiki.net/images/8/85/Fizyplankton.png
NOTRY=true
TBR=halcanary@google.com
BUG=skia:2388
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/252423008
git-svn-id: http://skia.googlecode.com/svn/trunk@14360 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 18:55:13 +00:00
commit-bot@chromium.org
76a3b2abd0
Remove support for inheriting the paint color from SkColorShader
...
BUG=skia:2453
R=reed@google.com , mtklein@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/248033003
git-svn-id: http://skia.googlecode.com/svn/trunk@14355 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 16:54:46 +00:00
commit-bot@chromium.org
732bd66ac2
Rearrange SkRecord public API to fit better with cc/resources/picture
...
BUG=skia:2378
R=reed@google.com , danakj@chromium.org , enne@chromium.org , mtklein@google.com , robertphillips@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/248033002
git-svn-id: http://skia.googlecode.com/svn/trunk@14351 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-24 15:22:55 +00:00
commit-bot@chromium.org
8f831f262f
First step in pulling SkPicturePlayback & SkPictureRecord out of SkPicture
...
This CL begins the process of making SkPicturePlayback & SkPictureRecord independent of SkPicture. It just moves the PathHeap into SkPicture to get a feel for where all this is going to lead.
Some items of note:
SkTimedPicture (debugger/QT) should wind up being just an SkPicturePlayback-derived object.
All the flattening & unflattening should migrate out of SkPicturePlayback and into SkPicture.
SkPicture::initForPlayback should eventually become something just SkPictureRecorder::endRecording calls.
SkPicture is passed into SkPicturePlayback's & SkPictureRecord's constructors. SkPicturePlayback only
holds onto a "const SkPicture*". The SkPicturePlayback:: CreateFromStream & CreateFromBuffer methods pass a non-const
SkPicture* down the call stack.
BUG=skia:2315
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/249453002
git-svn-id: http://skia.googlecode.com/svn/trunk@14341 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 22:35:42 +00:00
commit-bot@chromium.org
ea26a0e14f
comment out SkDebugf (only needed for local testing)
...
TBR=mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/248713003
git-svn-id: http://skia.googlecode.com/svn/trunk@14322 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-23 05:35:24 +00:00
commit-bot@chromium.org
88c3e279ab
Refactor SkRecord opts, converting playback optimizations where possible.
...
This adds back two optimizations from SkPicture: drawPosText strength reduction to drawPosTextH, and pointless save-foo-restore blocks are noop'd away.
The small-T optimization in SkRecord gets in the way of implementing replace(), so I removed it.
Just to keep the API focused, I removed the methods on SkRecord that iterate over i for you; it's just as efficient to do it yourself, and all of the interesting code does its own custom iteration.
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/245853002
git-svn-id: http://skia.googlecode.com/svn/trunk@14300 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 16:57:20 +00:00
commit-bot@chromium.org
aec143824c
Add asADash entry point into SkPathEffect to allow extracting Dash info from PathEffects
...
BUG=skia:
R=bsalomon@google.com , reed@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/212103010
git-svn-id: http://skia.googlecode.com/svn/trunk@14297 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-22 15:21:18 +00:00
commit-bot@chromium.org
2c4e75cc3c
Remove offset to SkMallocPixelRef::NewWithData - use SkData::NewSubset instead.
...
R=scroggo@google.com , mtklein@google.com , reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/243483002
git-svn-id: http://skia.googlecode.com/svn/trunk@14289 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-21 21:08:14 +00:00
commit-bot@chromium.org
855e88edfa
Fixes for SkPictureShader.
...
Update comment in header to make it more clear that the picture
should be unaltered after creating the shader. We want our shaders
to be immutable, and this supports that.
Make the factory return NULL if the shader would have never drawn
anyway i.e. for a null picture or picture with no width/height.
Addresses comments I brought up in
https://codereview.chromium.org/221923007/#msg16 .
BUG=skia:1976
R=reed@google.com , fmalita@chromium.org , robertphillips@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/238253005
git-svn-id: http://skia.googlecode.com/svn/trunk@14288 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-21 19:33:12 +00:00
commit-bot@chromium.org
ad8ce572f6
anticipate more optimizations by renaming some files and methods
...
also, call the new SkRecordOptimize in bench_playback
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/243243003
git-svn-id: http://skia.googlecode.com/svn/trunk@14277 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-21 15:03:36 +00:00
reed@google.com
33a94e2ba7
remove unused fOverflowed from SkClampRange
...
TBR=scroggo@google.com
Review URL: https://codereview.chromium.org/243563002
git-svn-id: http://skia.googlecode.com/svn/trunk@14260 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 19:36:22 +00:00
robertphillips@google.com
770963f23f
Staging for cleanup of SkPicture-related headers
...
https://codereview.chromium.org/243173002
git-svn-id: http://skia.googlecode.com/svn/trunk@14258 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 18:04:41 +00:00
commit-bot@chromium.org
091a594dbc
Reduce internal explicit SaveFlags usage.
...
Most of these are either redundant/defaults or (hopefully)
unnecessarily specific.
R=reed@google.com , robertphillips@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/241453003
git-svn-id: http://skia.googlecode.com/svn/trunk@14253 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 14:19:31 +00:00
skia.committer@gmail.com
60bd7519a9
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14252 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-18 03:03:54 +00:00
commit-bot@chromium.org
5fb2ce38b3
Staged removal of SkPicture-derived classes
...
This CL removes the SkPicture-derived classes (with a flag to keeps clients working). In the process it also lightens the recording factory function so it is no longer ref counted).
The only interesting bits are in SkPicture* and Sk*Picture.*
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/238273012
git-svn-id: http://skia.googlecode.com/svn/trunk@14251 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 23:35:06 +00:00
reed@google.com
273a00d14f
fix expected size in 32bit builds
...
BUG=skia:
Review URL: https://codereview.chromium.org/240283012
git-svn-id: http://skia.googlecode.com/svn/trunk@14240 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 16:14:26 +00:00
commit-bot@chromium.org
cc277b729b
Orphan ProcXfermode, with an eye towards removing it
...
BUG=skia:
R=scroggo@google.com , mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/240533003
git-svn-id: http://skia.googlecode.com/svn/trunk@14238 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 15:19:32 +00:00
commit-bot@chromium.org
efaf53ba24
remove unused tests to fix new clang build
...
R=mtklein@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/241043002
git-svn-id: http://skia.googlecode.com/svn/trunk@14237 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 15:18:21 +00:00
skia.committer@gmail.com
667b98d947
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14234 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-17 03:05:10 +00:00
commit-bot@chromium.org
45d86e7072
always store bitfields along with dirty in FlatteningTraits
...
This allows us to simplify lots of setters in SkPaint, which in the non-android case, could now be just assignments (and therefore inlineable).
R=mtklein@google.com , robertphillips@google.com , tomhudson@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/240273004
git-svn-id: http://skia.googlecode.com/svn/trunk@14229 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-16 20:48:10 +00:00
commit-bot@chromium.org
39426e2bcc
read/write function_ptrs as just void*, and not as 'array of bytes'
...
BUG=skia:
R=mtklein@google.com , bungeman@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/240013005
git-svn-id: http://skia.googlecode.com/svn/trunk@14224 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-16 16:24:08 +00:00
commit-bot@chromium.org
d393b17cf3
Retract SkPicture::kOptimizeForClippedPlayback_RecordingFlag from public API
...
This CL sets the stage for retracting the SkPicture::kOptimizeForClippedPlayback_RecordingFlag flag
from the public API (more work needs to be done in Blink & Chrome). In the new world the only way
to set this flag (and thus instantiate an SkPicture-derived
class) is by passing a factory to the SkPictureRecorder class. This is to get all clients always using
factories so that we can then change the factory call used (i.e., so the factory just creates a BBH) and
do away with the SkPicture-derived classes.
BUG=skia:2315
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/239703006
git-svn-id: http://skia.googlecode.com/svn/trunk@14221 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-16 16:02:10 +00:00
commit-bot@chromium.org
85faf50875
remove legacy filter-flags, and store FilterLevel directly
...
BUG=skia:
R=robertphillips@google.com , humper@google.com , jvanverth@google.com , mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/239393002
git-svn-id: http://skia.googlecode.com/svn/trunk@14217 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-16 12:58:02 +00:00
commit-bot@chromium.org
12a0412a5d
initialize bounds in this test
...
BUG=skia:
R=bungeman@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/238353007
git-svn-id: http://skia.googlecode.com/svn/trunk@14204 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-15 18:00:57 +00:00
commit-bot@chromium.org
73cb15351f
Make sure SkDrawLooper objects can only be allocated on the heap.
...
Make constructors of SkLayerDrawLooper and SkBlurDrawLooper non-public.
Remove addLayer* methods from SkLayerDrawLooper. SkLayerDrawLooper::Builder is
used to create new objects.
Provide factory method for creating SkBlurDrawLooper.
BUG=2141
R=scroggo@google.com , reed@google.com , djsollen@google.com
Author: dominikg@chromium.org
Review URL: https://codereview.chromium.org/232913003
git-svn-id: http://skia.googlecode.com/svn/trunk@14200 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-15 15:48:36 +00:00
commit-bot@chromium.org
653d51867c
SkRecord bug fixes
...
Optional arguments to SkCanvas calls leaked refs (but not memory) because we
didn't destruct the optional objects (really, just SkPaint: other optional args
are all POD). This adds Optional and PODArray, where Optional makes sure to
call the destructor.
I overlooked that SkPictureRecord really does call paint.computeFastBounds().
Do the same in SkRecordDraw.
BUG=skia:2378
R=reed@google.com , mtklein@google.com , tomhudson@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/235983015
git-svn-id: http://skia.googlecode.com/svn/trunk@14197 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-15 14:27:14 +00:00
skia.committer@gmail.com
a1ed7aec95
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14196 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-15 03:04:18 +00:00
commit-bot@chromium.org
4431e7757c
Mike R: please sanity check SkPostConfig.h
...
Mike K: please sanity check Test.cpp and skia_test.cpp
Feel free to look at the rest, but I don't expect any in depth review of path ops innards.
Path Ops first iteration used QuickSort to order segments radiating from an intersection to compute the winding rule.
This revision uses a circular sort instead. Breaking out the circular sort into its own long-lived structure (SkOpAngle) allows doing less work and provides a home for caching additional sorting data.
The circle sort is more stable than the former sort, has a robust ordering and fewer exceptions. It finds unsortable ordering less often. It is less reliant on the initial curve tangent, using convex hulls instead whenever it can.
Additional debug validation makes sure that the computed structures are self-consistent. A new visualization tool helps verify that the angle ordering is correct.
The 70+M tests pass with this change on Windows, Mac, Linux 32 and Linux 64 in debug and release.
R=mtklein@google.com , reed@google.com
Author: caryclark@google.com
Review URL: https://codereview.chromium.org/131103009
git-svn-id: http://skia.googlecode.com/svn/trunk@14183 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-14 17:08:59 +00:00
robertphillips@google.com
84b18c7e3e
split SkPictureRecorder out of SkPicture
...
https://codereview.chromium.org/214953003/
git-svn-id: http://skia.googlecode.com/svn/trunk@14171 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-13 19:09:42 +00:00
commit-bot@chromium.org
f7efa502d6
Implement intra-frame cacheing in image filters.
...
When image filters are processed within Skia, they simply do
a blind recursion. This has the side-effect of turning the
DAG into a tree. I.e., nodes visited more than once during
the traversal will be processed more than once.
This change implements a very simple cacheing scheme: a
cache is created before traversing the DAG, and handed
into the processing traversal. Before recursing into a child
in SkImageFilter::filterImage(), the cache is checked for a
hit, and early-out is performed. Otherwise, the node is
processed, and its result bitmap and location (offset) are
cached, but only if it contains two or more children and
thus will be visited again during the traversal.
Currently, the child count is approximated with the
refcount. This is good enough in most cases (and exactly
correct for the Chrome use case). We could add an exact
child count to the image filter, but this will require
violating the immutability of image filters slightly in
order to bump the child count as nodes are connected. I
leave it up to the reviewer to decide which is better.
R=reed@google.com
Author: senorblanco@chromium.org
Review URL: https://codereview.chromium.org/230653005
git-svn-id: http://skia.googlecode.com/svn/trunk@14160 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 18:57:00 +00:00
commit-bot@chromium.org
cae54f1f21
remove picture-backed surfaces
...
BUG=skia:
R=robertphillips@google.com , mtklein@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/233943002
git-svn-id: http://skia.googlecode.com/svn/trunk@14159 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 18:34:35 +00:00
commit-bot@chromium.org
c4b21e6c03
Mark our territory with (C).
...
BUG=skia:
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/235253002
git-svn-id: http://skia.googlecode.com/svn/trunk@14158 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 18:33:31 +00:00
commit-bot@chromium.org
28fcae2ec7
Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. ( https://codereview.chromium.org/234243002/ )
...
Reason for revert:
Want to reland the original CL.
Original issue's description:
> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/ )
>
> Reason for revert:
> breaking the Chrome deps roll.
> http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
>
> Original issue's description:
> > Rename kPMColor_SkColorType to kN32_SkColorType.
> >
> > The new name better represents what this flag means.
> >
> > BUG=skia:2384
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14117
>
> TBR=reed@google.com ,scroggo@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14144
R=reed@google.com , bensong@google.com
TBR=bensong@google.com , reed@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/235523003
git-svn-id: http://skia.googlecode.com/svn/trunk@14156 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 17:15:40 +00:00
commit-bot@chromium.org
96edc24598
Revert of Rename kPMColor_SkColorType to kN32_SkColorType. ( https://codereview.chromium.org/227433009/ )
...
Reason for revert:
Chrome's side of define changes not easy to figure out quickly. Reverting this for DEPS roll for now.
Original issue's description:
> Rename kPMColor_SkColorType to kN32_SkColorType.
>
> The new name better represents what this flag means.
>
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14117
R=reed@google.com , scroggo@google.com
TBR=reed@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384
Author: bensong@google.com
Review URL: https://codereview.chromium.org/234833003
git-svn-id: http://skia.googlecode.com/svn/trunk@14149 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-11 13:47:30 +00:00
commit-bot@chromium.org
18fd2b923a
Add a focused public API for src/record.
...
BUG=skia:2378
R=reed@google.com , robertphillips@google.com , mtklein@google.com , fmalita@chromium.org
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/233053005
git-svn-id: http://skia.googlecode.com/svn/trunk@14146 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 23:30:59 +00:00
commit-bot@chromium.org
d923288e50
Revert of Revert of Rename kPMColor_SkColorType to kN32_SkColorType. ( https://codereview.chromium.org/234243002/ )
...
Reason for revert:
fixes on the chrome side are landing (brettw), keep fingers crossed.
Original issue's description:
> Revert of Rename kPMColor_SkColorType to kN32_SkColorType. (https://codereview.chromium.org/227433009/ )
>
> Reason for revert:
> breaking the Chrome deps roll.
> http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
>
> Original issue's description:
> > Rename kPMColor_SkColorType to kN32_SkColorType.
> >
> > The new name better represents what this flag means.
> >
> > BUG=skia:2384
> >
> > Committed: http://code.google.com/p/skia/source/detail?r=14117
>
> TBR=reed@google.com ,scroggo@google.com
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14144
R=reed@google.com , scroggo@google.com
TBR=reed@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384
Author: bensong@google.com
Review URL: https://codereview.chromium.org/233813004
git-svn-id: http://skia.googlecode.com/svn/trunk@14145 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 22:49:20 +00:00
commit-bot@chromium.org
757ebd20ef
Revert of Rename kPMColor_SkColorType to kN32_SkColorType. ( https://codereview.chromium.org/227433009/ )
...
Reason for revert:
breaking the Chrome deps roll.
http://build.chromium.org/p/chromium.linux/builders/Linux%20GN%20%28dbg%29/builds/839/steps/compile/logs/stdio
Original issue's description:
> Rename kPMColor_SkColorType to kN32_SkColorType.
>
> The new name better represents what this flag means.
>
> BUG=skia:2384
>
> Committed: http://code.google.com/p/skia/source/detail?r=14117
R=reed@google.com , scroggo@google.com
TBR=reed@google.com , scroggo@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:2384
Author: bensong@google.com
Review URL: https://codereview.chromium.org/234243002
git-svn-id: http://skia.googlecode.com/svn/trunk@14144 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 22:36:34 +00:00
commit-bot@chromium.org
55c9b4e9f6
Cast int to float.
...
Get rid of warning->error.
TBR=reed@google.com
NOTRY=true
NOTREECHECKS=true
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/233883002
git-svn-id: http://skia.googlecode.com/svn/trunk@14140 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 21:09:33 +00:00
commit-bot@chromium.org
6573ce70e6
Create SkLayerRasterizer w/o destroying Builder.
...
Add a new method to SkLayerRasterizer::Builder that creates a new
SkLayerRasterizer without destroying the Builder. Necessary to
continue to support Android's API.
Also fix a bug where creating a Builder and never calling
detachRasterizer results in not calling the destructor for any SkPaints
in the Builder.
Add tests.
BUG=b/13729784
R=reed@google.com , dominikg@chromium.org
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/233673002
git-svn-id: http://skia.googlecode.com/svn/trunk@14139 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 20:42:53 +00:00
commit-bot@chromium.org
ff2de7cb94
SkRecordDraw: don't bother clipping an empty clip down further
...
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com , fmalita@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/231933003
git-svn-id: http://skia.googlecode.com/svn/trunk@14126 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-10 02:26:33 +00:00
commit-bot@chromium.org
d9ce2be6b2
SkRecordDraw: skip draw ops when the clip is empty
...
- Adds tests for SkRecordDraw's two main features: cull- and clip- based skipping.
- Adds full SkCanvas semantic mode to SkRecorder, so it can be used as a target for SkRecordDraw.
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/231653002
git-svn-id: http://skia.googlecode.com/svn/trunk@14124 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-09 23:30:28 +00:00
commit-bot@chromium.org
149e9a107c
Rename kPMColor_SkColorType to kN32_SkColorType.
...
The new name better represents what this flag means.
BUG=skia:2384
R=reed@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/227433009
git-svn-id: http://skia.googlecode.com/svn/trunk@14117 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-09 20:45:29 +00:00
skia.committer@gmail.com
e1d9443758
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14102 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-09 03:04:11 +00:00
commit-bot@chromium.org
506db0b7d2
SkRecord: make culling work if SkRecordAnnotateCullingPairs is called.
...
- Allow stateful functors; allow visit()/mutate() at a given index; add count().
- Annotate cull push/pop pairs on the PushCull records. (tested)
- Use those annotations to skip ahead in SkRecordDraw. (not yet tested beyond dm --skr)
- Make SkRecordDraw a function, move its implementation to a .cpp.
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/229523002
git-svn-id: http://skia.googlecode.com/svn/trunk@14101 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-08 23:31:35 +00:00
commit-bot@chromium.org
9ffa52d98f
More SkRecord TODOs:
...
- add basic test for SkRecorder
- rejigger GYPs so that the include dir comes along with the dependency
BUG=skia:2378
Committed: http://code.google.com/p/skia/source/detail?r=14099
NOTRY=true
NOTREECHECKS=true
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/227673011
git-svn-id: http://skia.googlecode.com/svn/trunk@14100 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-08 21:01:17 +00:00
commit-bot@chromium.org
b73696262c
More SkRecord TODOs:
...
- add basic test for SkRecorder
- rejigger GYPs so that the include dir comes along with the dependency
BUG=skia:2378
R=fmalita@chromium.org , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/227673011
git-svn-id: http://skia.googlecode.com/svn/trunk@14099 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-08 20:17:26 +00:00
commit-bot@chromium.org
066a28d2c1
Start on some unwritten SkRecord TODOs:
...
- add SK_OVERRIDE for SkCanvas methods in SkRecorder
- start on unit tests, here just for SkRecord itself
BUG=skia:2378
R=fmalita@google.com , mtklein@google.com , fmalita@chromium.org
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/228723003
git-svn-id: http://skia.googlecode.com/svn/trunk@14097 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-08 17:31:08 +00:00
reed@google.com
43c27586e8
WIP -- SkFont
...
BUG=skia:
R=bungeman@google.com , fmalita@chromium.org
Review URL: https://codereview.chromium.org/185293018
git-svn-id: http://skia.googlecode.com/svn/trunk@14090 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-08 15:04:29 +00:00
commit-bot@chromium.org
2b4e370a2f
Convert SkPicture's generation ID to a unique ID
...
This CL addresses linger code review comments on r14037 (Add generation ID to SkPicture https://codereview.chromium.org/222683002/ )
R=reed@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/225283014
git-svn-id: http://skia.googlecode.com/svn/trunk@14079 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-07 18:26:22 +00:00
commit-bot@chromium.org
cf2f00872c
SkDiscardableMemoryPool to abstract class
...
Motivation - we want to keep our public headers small.
R=scroggo@google.com , reed@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/223403012
git-svn-id: http://skia.googlecode.com/svn/trunk@14063 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-04 16:43:38 +00:00
commit-bot@chromium.org
d591b7513f
Revert of Properly set alpha type in webp decode. ( https://codereview.chromium.org/223893002/ )
...
Reason for revert:
Breaks ImageDecoding tests on several platforms.
Original issue's description:
> Properly set alpha type in webp decode.
>
> Also use the newer setConfig function.
>
> Add a test to confirm that we set the alpha type properly.
>
> Add some images with alpha for testing. (These images are also beneficial for the compare_unpremul test, which was previously not meaningful on 100% opaque images.)
>
> All of the added images are in the public domain. They were taken from https://developers.google.com/speed/webp/gallery2 :
>
> yellow_rose:
> "Free Stock Photo in High Resolution - Yellow Rose 3 - Flowers"
> Image Author: Jon Sullivan
> This file is in the public domain.
> http://www.public-domain-photos.com/free-stock-photos-4/flowers/yellow-rose-3.jpg
>
> baby_tux:
> "baby tux for my user page"
> Image Author: Fizyplankton
> This file is in the public domain.
> http://www.minecraftwiki.net/images/8/85/Fizyplankton.png
>
> NOTRY=true
>
> Committed: http://code.google.com/p/skia/source/detail?r=14054
R=halcanary@google.com
TBR=halcanary@google.com
NOTREECHECKS=true
NOTRY=true
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/223903008
git-svn-id: http://skia.googlecode.com/svn/trunk@14055 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-03 21:47:15 +00:00
commit-bot@chromium.org
a455965d92
Properly set alpha type in webp decode.
...
Also use the newer setConfig function.
Add a test to confirm that we set the alpha type properly.
Add some images with alpha for testing. (These images are also beneficial for the compare_unpremul test, which was previously not meaningful on 100% opaque images.)
All of the added images are in the public domain. They were taken from https://developers.google.com/speed/webp/gallery2 :
yellow_rose:
"Free Stock Photo in High Resolution - Yellow Rose 3 - Flowers"
Image Author: Jon Sullivan
This file is in the public domain.
http://www.public-domain-photos.com/free-stock-photos-4/flowers/yellow-rose-3.jpg
baby_tux:
"baby tux for my user page"
Image Author: Fizyplankton
This file is in the public domain.
http://www.minecraftwiki.net/images/8/85/Fizyplankton.png
NOTRY=true
R=halcanary@google.com
Author: scroggo@google.com
Review URL: https://codereview.chromium.org/223893002
git-svn-id: http://skia.googlecode.com/svn/trunk@14054 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-03 20:55:39 +00:00
skia.committer@gmail.com
a9157727f7
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@14039 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-03 03:04:26 +00:00
robertphillips@google.com
d5500886a2
Add generation ID to SkPicture
...
https://codereview.chromium.org/222683002/
git-svn-id: http://skia.googlecode.com/svn/trunk@14037 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-02 23:51:13 +00:00
senorblanco@chromium.org
d5424a425b
Fix matrix adjustment passed to filter processing.
...
When adjusting the CTM for filter use, we were subtracting off the
destination coordinates of the drawDevice() or drawSprite(). This is
not quite correct: we should subtract off the coordinates relative to
the device origin instead. This occurs when one filtered saveLayer() is
drawn inside another saveLayer(), both with non-zero origin.
This fixes layout test svg/batik/text/smallFonts.svg in Blink, and is
exercised by the provided unit test.
BUG=skia:
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/222723002
git-svn-id: http://skia.googlecode.com/svn/trunk@14029 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-02 19:20:05 +00:00
commit-bot@chromium.org
55bd940446
SkTDynamicHash: pick up GetKey(), Hash() from T by default.
...
This also has a somewhat obscure technical benefit: it removes the
requirement that GetKey() and Hash() must be functions with external
linkage, which is required when passing a function pointer to a
template. A future CL that's run into this problem and the obvious
simplification are about 50/50 why I'm sending this CL.
BUG=skia:
DIFFBASE= https://codereview.chromium.org/222343002/
R=bsalomon@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/222473002
git-svn-id: http://skia.googlecode.com/svn/trunk@14028 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-02 19:17:00 +00:00
commit-bot@chromium.org
158f64626f
SkTDynamicHash: remove need for Equals(const T&, const Key&) param.
...
All implementations are relying on bool operator==(const Key&, const Key&)
anyway, which makes total sense, so just make that required.
BUG=skia:
R=bsalomon@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/222343002
git-svn-id: http://skia.googlecode.com/svn/trunk@14027 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-02 17:03:09 +00:00
senorblanco@chromium.org
ee845ae494
Fix SkXfermodeImageFilter when an input is cropped out.
...
If one of inputs to SkXfermodeImageFilter draws nothing, either due to
it being cropped out upstream, or within the filter itself, the filter
should still draw the other input, since otherwise the result will be incorrect.
For the GPU path, since we can't detect this case in
canFilterImageGPU() without recursing, we'll just drop to
the generic path if either input is empty, since we can't use the effect in that case anyway.
While we're at it, let's drop to the generic path if the
xfermode can't be expressed as an effect, since the code
here was doing a 2-pass render in that case anyway, which
is equivalent to what the (xfermode == NULL) case was doing
anyway.
R=bsalomon@google.com , sugoi@chromium.org
Review URL: https://codereview.chromium.org/220723007
git-svn-id: http://skia.googlecode.com/svn/trunk@14016 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-04-01 19:15:23 +00:00
commit-bot@chromium.org
35c03fbf10
Remove scaleToFit from DashPathEffect
...
BUG=skia:
R=reed@google.com , bsalomon@google.com , scroggo@google.com
Author: egdaniel@google.com
Review URL: https://codereview.chromium.org/216493005
git-svn-id: http://skia.googlecode.com/svn/trunk@13999 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-31 18:52:51 +00:00
commit-bot@chromium.org
0e9e6a3313
Roll back tests/TileGridTest.cpp back to where ASAN was happy.
...
Revert "Change tilegrid test to test it directly, rather than through SkPicture"
This reverts commit 7ae3bc7ffb
.
Revert "Fix result order reliance"
This reverts commit be4825c873
.
BUG=skia:2345
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/216793006
git-svn-id: http://skia.googlecode.com/svn/trunk@13981 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-28 17:57:14 +00:00
commit-bot@chromium.org
dad009be4a
Making SkDeferredCanvas::silentFlush trigger a skippedPendingDrawCommands callback
...
The bug was preventing Canvas2DLayerBridge from properly tracking changes
in memory consumption that were triggered by calls to silentFlush.
BUG=344666
TEST=DeferredCanvas unit test
R=senorblanco@google.com , senorblanco@chromium.org
Author: junov@chromium.org
Review URL: https://codereview.chromium.org/214803002
git-svn-id: http://skia.googlecode.com/svn/trunk@13965 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-27 15:48:52 +00:00
reed@google.com
7111d463ce
Revert "Revert of implement readPixels and writePixels natively, w/o using the (deprecated) ( https://codereview.chromium.org/199733016/ )"
...
This reverts commit 9a90bd16dc6756395c422adf0f24560d033ed9ea.
BUG=skia:
R=bsalomon@google.com
Review URL: https://codereview.chromium.org/211293002
git-svn-id: http://skia.googlecode.com/svn/trunk@13939 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-25 16:20:24 +00:00
commit-bot@chromium.org
231f6b81c2
Revert of implement readPixels and writePixels natively, w/o using the (deprecated) ( https://codereview.chromium.org/199733016/ )
...
Reason for revert:
Android bots segfaulting in tests.
Original issue's description:
> implement readPixels and writePixels natively, w/o using the (deprecated)
> SkCanvas::Config8888 enum.
>
> Revert "Revert "hide Config8888 entirely". Broke a bunch of builds."
>
> This reverts commit 763277ba157fef0f651004bb98a189e9f1ac730b.
>
> Needs chrome to remove the READPIXELS guard from skia's .gyp
>
> Committed: https://code.google.com/p/skia/source/detail?r=13931
R=reed@google.com
TBR=reed@google.com
NOTREECHECKS=true
NOTRY=true
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/209233004
git-svn-id: http://skia.googlecode.com/svn/trunk@13932 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-25 13:38:44 +00:00
reed@google.com
1121170477
implement readPixels and writePixels natively, w/o using the (deprecated)
...
SkCanvas::Config8888 enum.
Revert "Revert "hide Config8888 entirely". Broke a bunch of builds."
This reverts commit 763277ba157fef0f651004bb98a189e9f1ac730b.
Needs chrome to remove the READPIXELS guard from skia's .gyp
Review URL: https://codereview.chromium.org/199733016
git-svn-id: http://skia.googlecode.com/svn/trunk@13931 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-25 12:00:30 +00:00
commit-bot@chromium.org
e8807f49ed
SkPaint: eliminate some dead bytes in 64-bit build.
...
+ memcpy-based copy constructor was hiding this gap -> manual copy constructor.
+ Split tests for finer-grained failures.
BUG=skia:
Committed: http://code.google.com/p/skia/source/detail?r=13856
Committed: http://code.google.com/p/skia/source/detail?r=13887
R=reed@google.com , mtklein@google.com
Author: mtklein@chromium.org
Review URL: https://codereview.chromium.org/203203003
git-svn-id: http://skia.googlecode.com/svn/trunk@13927 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-24 23:03:11 +00:00