commit-bot@chromium.org
92362383a4
Remove SkCanvas matrix ops return value.
...
The internal SkMatrix ops can no longer fail -> we can remove the bool
return value.
R=bsalomon@google.com , reed@google.com , robertphillips@google.com , scroggo@google.com , fmalita@google.com
Author: fmalita@chromium.org
Review URL: https://codereview.chromium.org/200223008
git-svn-id: http://skia.googlecode.com/svn/trunk@13849 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-18 12:51:48 +00:00
commit-bot@chromium.org
5c70cdca5e
hide getTotalClip, so we can eventually remove it
...
hide getClipType, so we can eventually remove it
patch from issue 189443007
TBR=robertphilips@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/189883010
git-svn-id: http://skia.googlecode.com/svn/trunk@13715 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-08 03:57:19 +00:00
commit-bot@chromium.org
8c2ee59635
Once Chromium starts holding on to paths and we can actually reuse cached path data (e.g., masks & geometry) we will need a way to preserve that reuse in the skps. This CL begins adding that capability. More analysis & profiling needs to be done before it is always enabled.
...
When enabled it does make the disabled path de-duping test in the Canvas unit test pass.
BUG=skia:507
R=bsalomon@google.com , mtklein@google.com
Author: robertphillips@google.com
Review URL: https://codereview.chromium.org/190923002
git-svn-id: http://skia.googlecode.com/svn/trunk@13709 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-03-07 18:42:15 +00:00
skia.committer@gmail.com
0e530754d3
Sanitizing source files in Housekeeper-Nightly
...
git-svn-id: http://skia.googlecode.com/svn/trunk@13619 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-28 03:02:05 +00:00
commit-bot@chromium.org
3107b6a85e
add SkCanvas::NewRaster factory -- a very common use-case in chrome
...
BUG=skia:
R=scroggo@google.com
Author: reed@google.com
Review URL: https://codereview.chromium.org/183533004
git-svn-id: http://skia.googlecode.com/svn/trunk@13617 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-27 20:32:51 +00:00
commit-bot@chromium.org
e5b2af955b
Store SkRRects in SkClipStack
...
BUG=skia:2181
R=robertphillips@google.com
Author: bsalomon@google.com
Review URL: https://codereview.chromium.org/163683002
git-svn-id: http://skia.googlecode.com/svn/trunk@13465 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-16 13:25:24 +00:00
commit-bot@chromium.org
fa9e5fa42a
replace setConfig+allocPixels with alloc-or-install-pixels
...
BUG=skia:
R=scroggo@google.com , halcanary@google.com , reed@google.com
Author: reed@chromium.org
Review URL: https://codereview.chromium.org/164203003
git-svn-id: http://skia.googlecode.com/svn/trunk@13442 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-13 22:00:04 +00:00
reed@google.com
28183b4043
remove (unused by chrome) SkDeferredCanvas(device) factory signature
...
BUG=skia:
R=junov@chromium.org
Review URL: https://codereview.chromium.org/136753016
git-svn-id: http://skia.googlecode.com/svn/trunk@13302 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-02-04 15:34:10 +00:00
commit-bot@chromium.org
fed2ab6483
No deduping dictionaries for matrices and regions.
...
There's little benefit to deduping matrices and regions: they're infrequently
used, and doubly infrequently reused. Their use-weighted byte cost is tiny.
There is some downside to deduping matrices and regions. Even when they're not
used, we prepare dictionaries for deduping them for every picture. Each of
these dictionaries costs 160 bytes, so two unused dictionaries make a big chunk
of the ~1100 bytes it takes to allocate an SkPictureRecord. (~330 come from
parent class SkCanvas, 768 from SkPictureRecord itself, here reduced to 448).
One side benefit of not deduping these guys is that the change weighs -140 lines of code.
It may go without saying, but this breaks the picture format.
Testing: out/Debug/tests && out/Debug/dm (which runs all picture modes by default)
BUG=skia:1850
R=reed@google.com , bensong@google.com , robertphillips@google.com
Author: mtklein@google.com
Review URL: https://codereview.chromium.org/143883006
git-svn-id: http://skia.googlecode.com/svn/trunk@13149 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-23 15:16:05 +00:00
commit-bot@chromium.org
e2eac8b2fd
Move macros from TestClassDef.h to Test.h
...
Motivation: those macros don't make any sense without the definitions
in Test.h.
BUG=
R=mtklein@google.com
Author: halcanary@google.com
Review URL: https://codereview.chromium.org/138563004
git-svn-id: http://skia.googlecode.com/svn/trunk@13074 2bbb7eff-a529-9590-31e7-b0007b416f81
2014-01-14 21:04:37 +00:00
tfarina@chromium.org
e4fafb146e
Use DEFINE_TESTCLASS_SHORT macro in tests.
...
The three version of DEFINE_TESTCLASS macro is deprecated and thus just
use the simple, short one.
BUG=None
TEST=out/Debug/tests
R=mtklein@google.com , bsalomon@google.com , robertphillips@google.com
Review URL: https://codereview.chromium.org/100113004
git-svn-id: http://skia.googlecode.com/svn/trunk@12653 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-12-12 21:11:12 +00:00
commit-bot@chromium.org
4b7d673089
More clang warning fixes.
...
Mostly unused functions and variables removed.
BUG=None
TEST=ninja -C out/Debug most
ninja -C out/Release most
R=bsalomon@google.com , caryclark@google.com , robertphillips@google.com
Author: tfarina@chromium.org
Review URL: https://codereview.chromium.org/27933002
git-svn-id: http://skia.googlecode.com/svn/trunk@11884 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-10-21 16:41:00 +00:00
robertphillips@google.com
1f2f338e23
Split SkDevice into SkBaseDevice and SkBitmapDevice
...
https://codereview.chromium.org/22978012/
git-svn-id: http://skia.googlecode.com/svn/trunk@10995 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-29 11:54:56 +00:00
robertphillips@google.com
9b051a375b
Revert r10830 (Split SkDevice out of SkRasterDevice) until we can get Chromium ready.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@10835 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 20:06:40 +00:00
robertphillips@google.com
3055b70018
Split SkDevice out of SkBitmapDevice
...
https://codereview.chromium.org/22978012/
git-svn-id: http://skia.googlecode.com/svn/trunk@10830 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-20 17:49:04 +00:00
commit-bot@chromium.org
cb62224996
Removing deprecated constructors and setDevice from SkDeferredCanvas
...
R=senorblanco@google.com , senorblanco@chromium.org
BUR=crbug.com/270143
Author: junov@chromium.org
Review URL: https://chromiumcodereview.appspot.com/22385011
git-svn-id: http://skia.googlecode.com/svn/trunk@10657 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-08-09 14:24:59 +00:00
robertphillips@google.com
0a4805e33f
First pass at Comment API
...
https://codereview.chromium.org/13957009/
git-svn-id: http://skia.googlecode.com/svn/trunk@9310 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-29 13:24:23 +00:00
junov@chromium.org
66070a527c
Changing SkDeferredCanvas to use factories for creation
...
The objective of this change is to remove all calls to
SkCanvas::setDevice. The factory API is hidden behind
a build flag in order to ease the roll into chromium.
A side-effect of the factory pattern is that it will
no longer be possible to allocate a SkDeferredCanvas on
the stack. This changes nothing for chrome, but it
impacts skia test programs.
Review URL: https://codereview.chromium.org/16040002
git-svn-id: http://skia.googlecode.com/svn/trunk@9298 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-05-28 17:39:08 +00:00
sugoi@google.com
54f0d1b711
Tests : Unused parameters cleanup
...
I removed unused parameters in the tests wherever it was trivial to do so. I'm trying to get the easy ones out of the way before we get into more involved discussions around this.
Review URL: https://codereview.appspot.com/7394055
git-svn-id: http://skia.googlecode.com/svn/trunk@7891 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-02-27 19:17:41 +00:00
edisonn@google.com
7790912e6e
Update CanvasTest to do elementary tests for PDF too.
...
Review URL: https://codereview.appspot.com/6709053
git-svn-id: http://skia.googlecode.com/svn/trunk@5998 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-18 15:58:23 +00:00
bsalomon@google.com
0e354aacd8
Remove external matrix feature.
...
We haven't been testing this for nearly two years.
R=reed@google.com
Review URL: https://codereview.appspot.com/6640044
git-svn-id: http://skia.googlecode.com/svn/trunk@5857 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-10-08 20:44:25 +00:00
skia.committer@gmail.com
4c5ea44803
Sanitizing source files in Skia_Periodic_House_Keeping
...
git-svn-id: http://skia.googlecode.com/svn/trunk@5635 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-21 02:01:01 +00:00
junov@chromium.org
fb10389403
Adding a silent playback option to SkGPipeRead
...
Testing state consistency after silent playback in CanvasTest indirectly
through SkDeferredCanvas.
BUG=http://code.google.com/p/chromium/issues/detail?id=146178
TEST=CanvasTest unit test, and bench with --mode deferredSilent
Review URL: https://codereview.appspot.com/6542047
git-svn-id: http://skia.googlecode.com/svn/trunk@5619 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-20 19:35:43 +00:00
djsollen@google.com
c9ab987efc
Implement multi-threaded picture playback via cloning.
...
The CL adds SkPicture.clone() which produces a thread-safe copy by
creating a shallow copy of the thread-safe data within the picture and
a deep copy of the data that is not (e.g. SkPaint). This implementation
re-flattens the paints when cloning instead of retaining the flattened
paints from the recording process.
Changes were also needed to various classes to ensure thread safety
Review URL: https://codereview.appspot.com/6459105
git-svn-id: http://skia.googlecode.com/svn/trunk@5335 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-29 18:52:07 +00:00
rmistry@google.com
d6176b0dca
Result of running tools/sanitize_source_files.py (which was added in https://codereview.appspot.com/6465078/ )
...
This CL is part II of IV (I broke down the 1280 files into 4 CLs).
Review URL: https://codereview.appspot.com/6474054
git-svn-id: http://skia.googlecode.com/svn/trunk@5263 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 18:14:13 +00:00
reed@google.com
3b3e895df6
remove EdgeType enum. Unimportant distinction, and removing speeds up quickReject
...
Review URL: https://codereview.appspot.com/6448161
git-svn-id: http://skia.googlecode.com/svn/trunk@5140 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 20:53:31 +00:00
tomhudson@google.com
8afae61a57
Clean up most clang warnings outside animator/
...
http://codereview.appspot.com/6464058/
git-svn-id: http://skia.googlecode.com/svn/trunk@5079 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 15:03:35 +00:00
djsollen@google.com
21830d9009
Refactor Bitmap Storage for SkPicture using SkPipe's design.
...
Refactor Picture and Pipe bitmap storage into common data structure
Update SkFlattenable buffers to be more modular.
This CL is an effort to stage the conversion to named
parameters for all SkFlattenable commands. This particular
stage only does the following two things...
1. Move flattenable buffers from SkFlattenable.h into
their own header.
2. Update and Add new read write methods for better clarity
and convenience.
BUG=
Review URL: https://codereview.appspot.com/6445079
git-svn-id: http://skia.googlecode.com/svn/trunk@4994 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 19:49:41 +00:00
junov@chromium.org
88e29146c1
Moving DeferredDevice and DeferredGPipeController classes out of the deferred canvas API header
...
Review URL: https://codereview.appspot.com/6449104
git-svn-id: http://skia.googlecode.com/svn/trunk@4989 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 16:48:22 +00:00
junov@chromium.org
3de7acc180
Removing the SkPicture backend from SkDeferredCanvas code
...
Review URL: https://codereview.appspot.com/6446095
git-svn-id: http://skia.googlecode.com/svn/trunk@4974 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 14:53:59 +00:00
junov@chromium.org
cd62ecf39a
Fixing leak of SkPixelRef object in CanvasTest
...
Review URL: https://codereview.appspot.com/6441095
git-svn-id: http://skia.googlecode.com/svn/trunk@4925 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 17:43:25 +00:00
djsollen@google.com
7dade42e6f
Always store pixels of mutable bitmaps when recording a SkPicture.
...
Prior to this CL mutable bitmaps only saved a copy of their pixels
if a flag was set at recording time. That flag has been removed
and the default behavior when recording a mutable bitmap is to
make a copy of it's pixels. This is the only way to ensure that
the pixels are not manipulated before we playback their contents.
However, enabling this behavior breaks the recording of extracted
bitmaps in SkPicture. This is because we currently cache bitmaps
within a picture based only on their pixelRef. This results in
false positive cache hit when drawing an extracted bitmap as it
shares a pixelRef with its orginating bitmap. Therefore we must
update the index of the bitmap cache to be both the pixelRef AND
the size and offset of the bitmap using those pixels.
BUG=
TEST=extractbitmap.cpp
Review URL: https://codereview.appspot.com/6439043
git-svn-id: http://skia.googlecode.com/svn/trunk@4809 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-27 15:58:23 +00:00
junov@chromium.org
426aebc850
Adding new steps to Canvas unit test to validate that the deferred
...
canvas state coherence test case passes with sequences of draw commands
that trigger flushes and purges of deferred draw commands.
This CL confirms that using SkGPipe fixes the deferred canvas issues that are
the root problem of crbug.com/133432
BUG=https://code.google.com/p/chromium/issues/detail?id=133432
Review URL: https://codereview.appspot.com/6416049
git-svn-id: http://skia.googlecode.com/svn/trunk@4687 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-20 13:21:58 +00:00
junov@chromium.org
cff01c5b60
Improving CanvasTest to verify that the destination canvas of an SkDeferredCanvas has the same state as a plain SkCanvas that received the same draw commands.
...
This new test code shows that the SkGPipe port of SkDeferredCanvas solves problems we were having with SkPicture.
Review URL: https://codereview.appspot.com/6425048
git-svn-id: http://skia.googlecode.com/svn/trunk@4665 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-18 21:50:26 +00:00
junov@chromium.org
4e6dfa5152
Adding bracketing save/restore calls to SkPicture at record time and
...
preparing tests for enforcing save/restore balancing constraints on SkPicture
Review URL: http://codereview.appspot.com/6354105/
git-svn-id: http://skia.googlecode.com/svn/trunk@4618 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16 14:04:59 +00:00
junov@chromium.org
a6c9e0e02b
Cleanup restore offsets at end of SkPicture recording
...
Review URL: http://codereview.appspot.com/6355099/
TEST=skia unit test CanvasTest, test step TwoClipOps
BUG=https://code.google.com/p/chromium/issues/detail?id=133432
git-svn-id: http://skia.googlecode.com/svn/trunk@4577 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-12 17:47:34 +00:00
reed@google.com
e2589aeebf
Change SkFlatData to have a sentinel value, allowing the Compare function to
...
not need a loop-end-test.
Review URL: https://codereview.appspot.com/6355086
git-svn-id: http://skia.googlecode.com/svn/trunk@4517 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 19:38:01 +00:00
caryclark@google.com
42639cddc3
fix warnings on Mac in tests
...
Fix these class of warnings:
- unused functions
- unused locals
- sign mismatch
- missing function prototypes
- missing newline at end of file
- 64 to 32 bit truncation
The changes prefer to link in dead code in the debug build
with 'if (false)' than to comment it out, but trivial cases
are commented out or sometimes deleted if it appears to be
a copy/paste error.
Review URL: https://codereview.appspot.com/6301045
git-svn-id: http://skia.googlecode.com/svn/trunk@4175 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-06 12:03:39 +00:00
robertphillips@google.com
977b9c8af3
Instance counting for SkRefCnt-derived objects (w/ CanvasTest fix)
...
http://codereview.appspot.com/6242070/
git-svn-id: http://skia.googlecode.com/svn/trunk@4170 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-05 19:35:09 +00:00
junov@chromium.org
4866cc0afb
Adding option to serialize mutable bitmaps in SkPicture
...
BUG=http://code.google.com/p/chromium/issues/detail?id=115654
REVIEW=http://codereview.appspot.com/6221066/
git-svn-id: http://skia.googlecode.com/svn/trunk@4130 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-01 21:23:07 +00:00
djsollen@google.com
d2700eec7e
Refactor dictionaries for use by entities other than just SkPicture
...
Review URL: https://codereview.appspot.com/6101043
git-svn-id: http://skia.googlecode.com/svn/trunk@4077 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-30 16:54:13 +00:00
djsollen@google.com
f0a062bc45
Add device to top level N-way canvas.
...
Review URL: https://codereview.appspot.com/6131062
git-svn-id: http://skia.googlecode.com/svn/trunk@3811 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-01 16:50:25 +00:00
reed@google.com
90c07ea1d0
replace getTotalClipStack() with replayClips()+ClipVisitor
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3670 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-13 13:50:27 +00:00
epoger@google.com
94fa43c625
Fix SkPathStroker::lineTo() for line with length SK_ScalarNearlyZero
...
Review URL: https://codereview.appspot.com/5992077
git-svn-id: http://skia.googlecode.com/svn/trunk@3650 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-11 17:51:01 +00:00
djsollen@google.com
e63793a2c8
Upstream changes from Android repository.
...
Review URL: https://codereview.appspot.com/5752055
git-svn-id: http://skia.googlecode.com/svn/trunk@3449 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-21 15:39:03 +00:00
junov@chromium.org
a907ac3e3e
Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track matrix and clipping state
...
Removed 'virtual' from a few canvas methods that no longer need it thanks to this change.
BUG=http://code.google.com/p/skia/issues/detail?id=506
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5697052/
git-svn-id: http://skia.googlecode.com/svn/trunk@3261 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 21:54:07 +00:00
junov@chromium.org
0b5b0ce39c
reverting r3257 because of gm failure.
...
git-svn-id: http://skia.googlecode.com/svn/trunk@3258 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 20:44:56 +00:00
junov@chromium.org
421bcc375a
Modify SkDeferredCanvas so that it uses its inherited SkCanvas to track matrix and clipping state
...
Removed 'virtual' from a few canvas methods that no longer need it thanks to this change.
BUG=http://code.google.com/p/skia/issues/detail?id=506
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5697052/
git-svn-id: http://skia.googlecode.com/svn/trunk@3256 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-24 20:07:08 +00:00
junov@chromium.org
87f982c808
Fix for crash in SkDeferredCanvas when optional SkPaint argument is NULL
...
BUG=http://code.google.com/p/skia/issues/detail?id=505
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5699054/
git-svn-id: http://skia.googlecode.com/svn/trunk@3246 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 21:34:34 +00:00
junov@chromium.org
dadcfdc929
Fixing Canvas unit test to correctly verify object flattening in SkPicture
...
BUG=http://code.google.com/p/skia/issues/detail?id=507
TEST=Canvas unit test
REVIEW=http://codereview.appspot.com/5685082/
git-svn-id: http://skia.googlecode.com/svn/trunk@3235 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-23 14:59:22 +00:00