Commit Graph

602 Commits

Author SHA1 Message Date
bsalomon@google.com
100abf49e1 Shut up some Mac (xcode 3) warnings
Review URL: http://codereview.appspot.com/6503053/



git-svn-id: http://skia.googlecode.com/svn/trunk@5402 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-05 17:40:04 +00:00
rileya@google.com
1f45e934b6 Add R-Tree data structure.
Review URL: https://codereview.appspot.com/6489055

git-svn-id: http://skia.googlecode.com/svn/trunk@5401 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-09-05 16:10:59 +00:00
reed@google.com
d7e2782203 truncate our llist w/ null during rewind.
git-svn-id: http://skia.googlecode.com/svn/trunk@5375 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-31 20:17:56 +00:00
skia.committer@gmail.com
a27096b474 Sanitizing source files in Skia_Nightly_House_Keeping
git-svn-id: http://skia.googlecode.com/svn/trunk@5346 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-30 14:38:00 +00:00
reed@google.com
1cf58d03a8 add SkWriter32::rewindToOffset() -- used for peephole edits in picture recording
git-svn-id: http://skia.googlecode.com/svn/trunk@5345 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-30 14:03:21 +00:00
bsalomon@google.com
405d0f43d8 In which a series of things around attachToCanvas and writePixels are fixed
Review URL: https://codereview.appspot.com/6506051/



git-svn-id: http://skia.googlecode.com/svn/trunk@5341 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-29 21:26:13 +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
bsalomon@google.com
f660187980 Hide GrDrawTarget::Caps's member vars
Review URL: https://codereview.appspot.com/6499044



git-svn-id: http://skia.googlecode.com/svn/trunk@5328 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-28 21:11:35 +00:00
rileya@google.com
5ee3f67ce3 Added an overload of SkTQSort that sorts an array of values, rather than an array of pointers.
Also added some parentheses to all the QSort variants to get rid of a gcc warning.
Review URL: https://codereview.appspot.com/6492044

git-svn-id: http://skia.googlecode.com/svn/trunk@5311 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-28 14:40:49 +00:00
borenet@google.com
98a9e1f958 Change comment in PointTest to refer to GCC bug
git-svn-id: http://skia.googlecode.com/svn/trunk@5285 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-27 13:14:46 +00:00
bsalomon@google.com
a04e8e8424 Do premul and r/b swap conversions in a custom effect
Review URL: https://codereview.appspot.com/6473060/



git-svn-id: http://skia.googlecode.com/svn/trunk@5284 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-27 12:53:13 +00:00
bungeman@google.com
b7b5d93359 Fix PointTest.
https://codereview.appspot.com/6486062/


git-svn-id: http://skia.googlecode.com/svn/trunk@5283 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-24 19:53:58 +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
robertphillips@google.com
2ea0a231a8 Refactored GrDLinkedList into SkTDLinkedList
http://codereview.appspot.com/6484045/



git-svn-id: http://skia.googlecode.com/svn/trunk@5247 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-23 11:13:48 +00:00
scroggo@google.com
825bb95d6a Fix GPU-less build.
Review URL: https://codereview.appspot.com/6478046

git-svn-id: http://skia.googlecode.com/svn/trunk@5228 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-22 15:14:43 +00:00
scroggo@google.com
d5764e8ab7 When copying a bitmap, copy the generation ID.
Review URL: https://codereview.appspot.com/6462084

git-svn-id: http://skia.googlecode.com/svn/trunk@5227 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-22 15:00:05 +00:00
robertphillips@google.com
a9590fc00c Fixed compilation issue when instance counting is disabled
http://codereview.appspot.com/6462089/



git-svn-id: http://skia.googlecode.com/svn/trunk@5210 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-21 15:16:41 +00:00
bsalomon@google.com
0342a85091 Remove _UPM_ GrPixelConfigs
Review URL: http://codereview.appspot.com/6460113/



git-svn-id: http://skia.googlecode.com/svn/trunk@5196 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 19:22:38 +00:00
bsalomon@google.com
607d08b7db Set LF property on a bunch of files.
Review URL: http://codereview.appspot.com/6461094/




git-svn-id: http://skia.googlecode.com/svn/trunk@5168 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-20 13:55:09 +00:00
junov@chromium.org
d433c4eb67 Cleaning up deprecated API in SkDeferredCanvas
Review URL: https://codereview.appspot.com/6461077

git-svn-id: http://skia.googlecode.com/svn/trunk@5152 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-17 14:50:16 +00:00
bsalomon@google.com
72f3dca451 Modify Read/WritePixelTests to print one pixel failure for each test case rather than every pixel
Review URL: http://codereview.appspot.com/6450154/



git-svn-id: http://skia.googlecode.com/svn/trunk@5147 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-17 13:32:06 +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
robertphillips@google.com
a22e2117e4 Extended Inst counting to find "unknown" leaked object (SkTMaskGamma)
http://codereview.appspot.com/6453127/



git-svn-id: http://skia.googlecode.com/svn/trunk@5123 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-16 14:58:06 +00:00
keyar@chromium.org
5bdef29ae0 GrContextFactory can now expose the GLContext it is using.
Review URL: https://codereview.appspot.com/6461081

git-svn-id: http://skia.googlecode.com/svn/trunk@5105 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 22:02:48 +00:00
scroggo@google.com
d5d158b325 Ensure that Pipe does not crash when attempting to draw after endRecording.
Add a test for drawing a bitmap and a bitmapshader after endRecording.

BUG=https://code.google.com/p/skia/issues/detail?id=774&can=3
Test=PipeTest

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5099 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 20:38:28 +00:00
scroggo@google.com
40fbb1810a Fix broken test.
Review URL: https://codereview.appspot.com/6450133

git-svn-id: http://skia.googlecode.com/svn/trunk@5092 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 19:30:20 +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
junov@chromium.org
9ed02b9da2 Augmenting SkDeferredCanvas notification interface to signal flushes and memory allocations
Renamed SkDeferredCanvas::DeviceContext to SkDeferredCanvas::NotificationClient

BUG=http://code.google.com/p/chromium/issues/detail?id=136828
TEST=Added coverage for new API to DeferredCanvas unit test. Added DeferredCanvas bench test to track deferred canvas overhead cost.
Review URL: https://codereview.appspot.com/6442108

git-svn-id: http://skia.googlecode.com/svn/trunk@5078 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-14 13:36:26 +00:00
bsalomon@google.com
82aa7482cb Add a zoom filter to Skia. This will be used on ChromeOS to implement the screen magnifier.
Committed on behalf of zork@chromium.org

Review URL: http://codereview.appspot.com/6354065/


git-svn-id: http://skia.googlecode.com/svn/trunk@5056 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-13 14:22:17 +00:00
tomhudson@google.com
ed02c4d05e Fix handling of infinite bounds during "fast transforms".
http://codereview.appspot.com/6449125/



git-svn-id: http://skia.googlecode.com/svn/trunk@5042 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-10 14:10:45 +00:00
scroggo@google.com
10dccde54a Make SkGPipe use SkBitmapHeap.
In the single process (or hypothetical cross process/shared address
space) mode, SkGPipe now uses SkBitmapHeap instead of SharedHeap.

Still need to use the shared heap for shaders as well as for cross
process.

TEST=PipeTest

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

git-svn-id: http://skia.googlecode.com/svn/trunk@5008 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-08 20:43:22 +00:00
reed@google.com
4b163ed2c2 Privatization:
move SkFDot.h to private
move parts of SkMath.h into SkMathPriv.h
Review URL: https://codereview.appspot.com/6461045

git-svn-id: http://skia.googlecode.com/svn/trunk@4997 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 21:35:13 +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
bsalomon@google.com
a1bf0fffff uniquely name FS functions, add lighting effects to unit test
Review URL: http://codereview.appspot.com/6458080/


git-svn-id: http://skia.googlecode.com/svn/trunk@4992 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 17:36:29 +00:00
robertphillips@google.com
2972bb5fd2 Adding storage of SkPath::fIsOval
http://codereview.appspot.com/6453085/



git-svn-id: http://skia.googlecode.com/svn/trunk@4991 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 17:32:51 +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
djsollen@google.com
c73dd5c688 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/6448095

git-svn-id: http://skia.googlecode.com/svn/trunk@4980 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 15:54:32 +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
2e14ba8ceb Adding API to SkGPipe and SkDeferredCanvas for controlling memory usage externally
BUG=http://code.google.com/p/chromium/issues/detail?id=136828
Review URL: https://codereview.appspot.com/6454102

git-svn-id: http://skia.googlecode.com/svn/trunk@4971 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-07 14:26:57 +00:00
reed@google.com
e2faf17bcc Even when the pts are restricted to 32K values, we can still overflow computing
a fixed-point coefficient for quadratics. To avoid this, we bias these
coefficients, storing 1/2 of their actual value, and then apply the 2x unbias
in updateQuadratic().

Fixes http://code.google.com/p/chromium/issues/detail?id=140803
Review URL: https://codereview.appspot.com/6450099

git-svn-id: http://skia.googlecode.com/svn/trunk@4960 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-06 19:01:34 +00:00
reed@google.com
d9ee348720 If we lose precision computing sum of the dash intervals, then we can have the
same error when we subtract-in-a-loop with the phase. The result is that we can
read past the end of the array.

To fix this, we just pin the loop counter, and if we exhaust our intervals, we
just treat the phase as 0. Not precisely the exact answer, but we aren't going
to draw this dash correctly anyway, since it contains massive interval values
that will be imprecise given our current float implementation.

Fixes http://code.google.com/p/chromium/issues/detail?id=140642
Review URL: https://codereview.appspot.com/6458088

git-svn-id: http://skia.googlecode.com/svn/trunk@4959 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-06 14:58:35 +00:00
bsalomon@google.com
0a7672f85e Add morphology, convolution, single texture, texture domain effects to new unit test system
Review URL: http://codereview.appspot.com/6442085/




git-svn-id: http://skia.googlecode.com/svn/trunk@4951 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 18:12:20 +00:00
bsalomon@google.com
a68937c950 Move SK_SUPPORT_GPU checks below first #includes in case the macro is defined in SkUserConfig.h rather than by the build system.
git-svn-id: http://skia.googlecode.com/svn/trunk@4948 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 15:00:52 +00:00
bsalomon@google.com
2a48c3adb7 Fix includes files missing in release builds from GrCustomStageUnitTest.h.
Also fix SK_SUPPORT_GPU=0 build breaks in gmmain.cpp and GLProgramsTest.cpp




git-svn-id: http://skia.googlecode.com/svn/trunk@4947 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 14:54:45 +00:00
bsalomon@google.com
d472620458 Registry-based unit test for custom effects
Review URL: http://codereview.appspot.com/6447085/



git-svn-id: http://skia.googlecode.com/svn/trunk@4946 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-03 14:34:46 +00:00
scroggo@google.com
1554360a95 Store more behavior of SkFlatDictionary in SkFlatController.
Code refactoring for simplicity.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4929 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 18:49:49 +00:00
bsalomon@google.com
c3841b927b Move GL programs unit test code to tests project.
Review URL: http://codereview.appspot.com/6453079/



git-svn-id: http://skia.googlecode.com/svn/trunk@4927 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 18:11:43 +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
borenet@google.com
5a69ef7f10 Disable ReadWriteAlpha test on Android
Failing on Nexus 7

Bug: http://code.google.com/p/skia/issues/detail?id=753
Review URL: https://codereview.appspot.com/6455077

git-svn-id: http://skia.googlecode.com/svn/trunk@4921 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 16:13:23 +00:00
bsalomon@google.com
cf8fb1f6f0 Create GPU-less build of Skia.
git-svn-id: http://skia.googlecode.com/svn/trunk@4912 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 14:03:32 +00:00
robertphillips@google.com
08eacc1447 Added check for aa/bw rect merging
http://codereview.appspot.com/6449079/



git-svn-id: http://skia.googlecode.com/svn/trunk@4907 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-02 12:49:00 +00:00
reed@google.com
eef938c0a7 check that copied paths have the same segment-masks as their src
git-svn-id: http://skia.googlecode.com/svn/trunk@4898 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 20:01:49 +00:00
scroggo@google.com
0c3e5fe728 Pipe factory names independently from the flattenables using them.
Avoids an issue where a flattenable written twice might be written
differently (the first time the flat data may have a name, whereas
the second time it will have an index).

Also add a test which confirms that identical flattenables will have
the same SkFlatData representation.

BUG=https://code.google.com/p/skia/issues/detail?id=721
TEST=FlatDataTest.cpp

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4896 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-08-01 19:34:20 +00:00
bungeman@google.com
c0d3f2f627 Fix units per em test.
git-svn-id: http://skia.googlecode.com/svn/trunk@4873 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 21:39:05 +00:00
robertphillips@google.com
641f8b19a6 Replace GrClip with SkClipStack
http://codereview.appspot.com/6449070/



git-svn-id: http://skia.googlecode.com/svn/trunk@4865 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 19:15:58 +00:00
reed@google.com
4b2af9c91d add getUnitsPerEm() to SkTypeface
git-svn-id: http://skia.googlecode.com/svn/trunk@4863 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 17:24:44 +00:00
robertphillips@google.com
7b11289b4e Added dev- & canv- prefixes to Ganesh bounding boxes to indicate coordinate space
http://codereview.appspot.com/6457061/



git-svn-id: http://skia.googlecode.com/svn/trunk@4856 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 15:18:21 +00:00
robertphillips@google.com
f8d904a7ee GrClip no longer translates its clips (to better mimic SkClipStack's behavior)
http://codereview.appspot.com/6445052/



git-svn-id: http://skia.googlecode.com/svn/trunk@4848 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 12:18:16 +00:00
robertphillips@google.com
c23a63b9e2 Added test to ensure getConservativeBounds' result is clamped to render target
http://codereview.appspot.com/6447063/



git-svn-id: http://skia.googlecode.com/svn/trunk@4846 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-31 11:47:29 +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
rileya@google.com
589708bf7c Split SkGradientShader into separate files for each gradient subclass.
Review URL: https://codereview.appspot.com/6447049

git-svn-id: http://skia.googlecode.com/svn/trunk@4792 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 20:04:23 +00:00
scroggo@google.com
15011ee5e4 Make SkDeferredCanvas query SkGPipeWriter for space allocated for bitmaps.
SkGPipe now has a method to report how much memory is used for its shared heap.

BUG=http://code.google.com/p/skia/issues/detail?id=738
TEST=DeferredCanvasTest

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4791 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 20:03:32 +00:00
robertphillips@google.com
cc6493bbef Added ctor to SkClipStack and isEmpty method
http://codereview.appspot.com/6444048/



git-svn-id: http://skia.googlecode.com/svn/trunk@4787 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 18:39:13 +00:00
reed@google.com
0bb18bb264 explicitly track if a path is finite or not
we need this (it appears) so we can definitively reject non-finite paths
in canvas, before passing them down into the guts.
Review URL: https://codereview.appspot.com/6453047

git-svn-id: http://skia.googlecode.com/svn/trunk@4784 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-26 15:20:36 +00:00
junov@chromium.org
b10a6bd0a7 Refactoring how SkDeferredCanvas manages mutable bitmaps
This CL makes the SkGPipe flavor of SkDeferredCanvas properly
decide whether to flush or record mutable bitmaps.  The flushing
is now managed by conditionally switching the canvas to non-deferred
mode, which avoids an unnecessary transient copy of the bitmap.

BUG=http://code.google.com/p/chromium/issues/detail?id=137884
TEST=DeferredCanvas unit test, sub test TestDeferredCanvasMemoryLimit
Review URL: https://codereview.appspot.com/6421060

git-svn-id: http://skia.googlecode.com/svn/trunk@4756 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-25 17:27:13 +00:00
robertphillips@google.com
4c2a2f7c5e Added isIntersectionOfRects to SkClipStack
http://codereview.appspot.com/6434050/



git-svn-id: http://skia.googlecode.com/svn/trunk@4745 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 22:07:50 +00:00
scroggo@google.com
dd39488997 Avoid a loop in writeString and writePad by zeroing padding first.
Also add a benchmark to time the new improved writeString. Before
my change the bench took ~1.23ms and afterwards it takes ~.95ms.

Add some testing to ensure that writePad works properly.

TEST=Writer32Test, WriterBench

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4742 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 20:47:55 +00:00
robertphillips@google.com
607fe077c8 Added bound computation to SkClipStack
http://codereview.appspot.com/6419048/

This will require re-baselining of complexclip* and filltypespersp



git-svn-id: http://skia.googlecode.com/svn/trunk@4730 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-24 13:54:00 +00:00
reed@google.com
f79430350d add protected method for internal_dispose overrides to jam fRefCnt before
calling destructor.

move SkTRefArray to actually inherit from SkRefCnt
Review URL: https://codereview.appspot.com/6422057

git-svn-id: http://skia.googlecode.com/svn/trunk@4719 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-23 14:50:38 +00:00
scroggo@google.com
e9617eb352 In SkWriter32::writeString, initialize all memory reserved.
SkFlatData compares data which is sometimes created by writeString.
Initialize all the memory in writeString so it does not compare
uninitialized memory.

See http://code.google.com/p/skia/issues/detail?id=721&thanks=721

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4715 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-23 13:44:10 +00:00
junov@chromium.org
bfeddae9da Fix unbound memory consumption problem with run away deferred canvases.
With this CL, deferred canvases will trigger a flush when then the 
memory allocated for recording commands (including flattened objects)
exceeds 64MB.

TEST=DeferredCanvas skia unit test, test step TestDeferredCanvasMemoryLimit
BUG=http://code.google.com/p/chromium/issues/detail?id=137884
Review URL: https://codereview.appspot.com/6425053

git-svn-id: http://skia.googlecode.com/svn/trunk@4714 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-23 13:35:14 +00:00
reed@google.com
a276975a62 check for memory leaks in debug-build
git-svn-id: http://skia.googlecode.com/svn/trunk@4712 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-22 22:33:05 +00:00
reed@google.com
80ba7964cd add SkTRefArray, in hopes that it will enable more sharing between pictureplaybacks
in different threads.



git-svn-id: http://skia.googlecode.com/svn/trunk@4709 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-21 17:31:40 +00:00
robertphillips@google.com
80214e26c5 Made clarifying renamings to SkClipStack's iterators (and added to unit test)
http://codereview.appspot.com/6423051/



git-svn-id: http://skia.googlecode.com/svn/trunk@4692 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-20 15:33:18 +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
reed@google.com
d074c3709a Need to apply matrix to advance in generateAdvance (as we already were in generateMetrics)
Fixes b/6833339
Expand existing unittest to detect this (we needed to set both scale and skew on the paint)



git-svn-id: http://skia.googlecode.com/svn/trunk@4647 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-18 13:45:58 +00:00
robertphillips@google.com
2e41becaa9 fix for non-Windows-specific compiler error in r4624
git-svn-id: http://skia.googlecode.com/svn/trunk@4625 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16 17:19:21 +00:00
robertphillips@google.com
0a78b0f4a2 Refactor SkDeque's iterator and allocation method
http://codereview.appspot.com/6353098/



git-svn-id: http://skia.googlecode.com/svn/trunk@4624 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16 16:58:49 +00:00
scroggo@google.com
50ccb0a738 Add a skia method to perform an atomic add.
Complements sk_atomic_inc for when you want to increase by more than one.

This time, use the correct atomic add function on Windows.

Reviewed at https://codereview.appspot.com/6399050/

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4623 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16 16:51:28 +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
scroggo@google.com
96cbd2c4d2 Revert "Add a method to atomic add."
This reverts commit eb539cf92f487daf9567ffbbba6b6653406d43ae.

BUG=
TEST=

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4615 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16 13:22:56 +00:00
scroggo@google.com
e3f84f3911 Add a skia method to perform an atomic add.
Complements sk_atomic_inc for when you want to increase by more than one.

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4614 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-16 13:13:29 +00:00
vandebo@chromium.org
238be8c7e5 [PDF] Add link annotations.
Review URL: https://codereview.appspot.com/6346100

git-svn-id: http://skia.googlecode.com/svn/trunk@4609 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 20:06:02 +00:00
keyar@chromium.org
b630c6c8b7 Updated make_filepath test to reflect changes in picture_utils. TBR
Review URL: https://codereview.appspot.com/6350105

git-svn-id: http://skia.googlecode.com/svn/trunk@4606 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-13 18:43:39 +00:00
borenet@google.com
0cb1e2bcae Disable WritePixelsTest on Android
This fails on Xoom.  Re-enable when #634 is fixed.
Review URL: https://codereview.appspot.com/6354099

git-svn-id: http://skia.googlecode.com/svn/trunk@4584 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-12 19:48:42 +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
b0a34d80c5 idea: add annotation to SkPaint
Review URL: https://codereview.appspot.com/6355050

git-svn-id: http://skia.googlecode.com/svn/trunk@4555 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-11 19:57:55 +00:00
reed@google.com
79382af267 remove debugging printfs
git-svn-id: http://skia.googlecode.com/svn/trunk@4551 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-11 18:55:23 +00:00
reed@google.com
91bd45967c add SkDataSet class, so SkAnnotation can be more immutable-like
Review URL: https://codereview.appspot.com/6354091

git-svn-id: http://skia.googlecode.com/svn/trunk@4542 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-11 17:24:49 +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
bsalomon@google.com
4eefe6132c Handle convex paths with degeneracies in cheap direction computation
Review URL: http://codereview.appspot.com/6349085/



git-svn-id: http://skia.googlecode.com/svn/trunk@4515 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 18:28:12 +00:00
robertphillips@google.com
59f46b81f8 Fixed Windows compiler complaints
http://codereview.appspot.com/6392044



git-svn-id: http://skia.googlecode.com/svn/trunk@4511 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-10 17:30:58 +00:00
keyar@chromium.org
c3d5831e05 Allow specific files and multiple inputs for picture testing tools.
Changed the render_pictures, bench_pictures and test_pictures.py so that multiple inputs can be given. Furthermore, specific files can also be specified.

Unit tests have also been added for picture_utils.cpp.

Committed http://code.google.com/p/skia/source/detail?r=4486

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

git-svn-id: http://skia.googlecode.com/svn/trunk@4488 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 18:44:51 +00:00
mike@reedtribe.org
e60b9106ba add test for SkChecksum
git-svn-id: http://skia.googlecode.com/svn/trunk@4462 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-09 01:53:07 +00:00
reed@google.com
a63a851afb update test for new NewFromCString behavior
git-svn-id: http://skia.googlecode.com/svn/trunk@4431 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-07-02 20:29:00 +00:00
reed@google.com
dbc936dff3 add SkData::NewFromCString()
git-svn-id: http://skia.googlecode.com/svn/trunk@4383 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-28 15:40:09 +00:00
robertphillips@google.com
b74af872cc Separated Inst counting from the SK_DEBUG #define (now SK_ENABLE_INST_COUNT)
http://codereview.appspot.com/6353047/



git-svn-id: http://skia.googlecode.com/svn/trunk@4376 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-27 19:41:42 +00:00
djsollen@google.com
edae1416ba Fix metrics test to no longer include the cpp.
The inclusion of the cpp caused linker errors when building skia
components as shared libaries for inclusion in an Android app.
Review URL: https://codereview.appspot.com/6338063

git-svn-id: http://skia.googlecode.com/svn/trunk@4323 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-25 17:01:46 +00:00
bsalomon@google.com
4da34e36cb Add GrMemoryPool as a helper to override operators new/delete
Review URL: http://codereview.appspot.com/6306090/



git-svn-id: http://skia.googlecode.com/svn/trunk@4282 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-19 15:40:27 +00:00
reed@google.com
b59ed51564 add test for http://code.google.com/p/chromium/issues/detail?id=131181
git-svn-id: http://skia.googlecode.com/svn/trunk@4266 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-15 18:26:04 +00:00
schenney@chromium.org
fedd09ba7e Really fix the build.
git-svn-id: http://skia.googlecode.com/svn/trunk@4253 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-13 18:29:20 +00:00
schenney@chromium.org
aaf1688959 Speculative build fix. Tests do not fail locally.
git-svn-id: http://skia.googlecode.com/svn/trunk@4248 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-13 17:41:00 +00:00
schenney@chromium.org
7e963605d5 Fix the problem of rendering closePath not properly after a moveTo call in
canvas 2D interface. If there is a polyline, followed by a moveTo and a
closePath, both the moveTo and the closePath should be ignored for the purposes
of drawing, and the polyline should not be closed (unless force closed is true
(for filling, for instance).

Tested for path with both valid and degenerate content, when asked to
consume degenerates and not, force closed and not.

This patch also includes a uni test refactoring to reduce the amount of code
to test path iteration and zero length paths.

BUG=6297049

TEST=tests/PathTest.cpp, testIter method.
Review URL: https://codereview.appspot.com/6300086

git-svn-id: http://skia.googlecode.com/svn/trunk@4247 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-13 17:05:43 +00:00
reed@google.com
51c62a6cfa add readPtr and writePtr to SkReader32 and SkWriter32
add template helper SkSWriter32, which allocates initial storage buffer
Review URL: https://codereview.appspot.com/6299075

git-svn-id: http://skia.googlecode.com/svn/trunk@4237 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-12 20:47:53 +00:00
reed@google.com
7886ad3de1 remove SK_CAN_USE_FLOAT (deprecated)
git-svn-id: http://skia.googlecode.com/svn/trunk@4232 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-11 21:21:26 +00:00
djsollen@google.com
94e75ee46a Rename the existing flatten(void*) methods.
This change avoids naminc confusion with the SkFlattenable flatten methods and
also changes SkPath to use the void* model instead of taking a SkReader32.
Review URL: https://codereview.appspot.com/6299062

git-svn-id: http://skia.googlecode.com/svn/trunk@4215 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-08 18:30:46 +00:00
bsalomon@google.com
df9d656c35 Add SkPath::getVerbs/countVerbs
Review URL: http://codereview.appspot.com/6306053/


git-svn-id: http://skia.googlecode.com/svn/trunk@4209 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-07 21:43:15 +00:00
reed@google.com
83226976b5 extend asAGradient for Conical type (to be implemented by PDF and XPS)
Review URL: https://codereview.appspot.com/6308051

git-svn-id: http://skia.googlecode.com/svn/trunk@4207 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-07 20:26:47 +00:00
robertphillips@google.com
75b3c9633c Move clientID into texture desc
http://codereview.appspot.com/6305044/



git-svn-id: http://skia.googlecode.com/svn/trunk@4201 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-06-07 12:08:45 +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
robertphillips@google.com
d414406073 Windows compiler complaint cleanup
http://codereview.appspot.com/6262047/



git-svn-id: http://skia.googlecode.com/svn/trunk@4098 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 15:29:44 +00:00
bsalomon@google.com
5739d2c168 Merge GrGpuGLShaders into its parent class, GrGpuGL
Review URL: http://codereview.appspot.com/6245076/



git-svn-id: http://skia.googlecode.com/svn/trunk@4095 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 15:07:19 +00:00
epoger@google.com
f123ba9e21 Disable TLSTest for now, to work around http://code.google.com/p/skia/issues/detail?id=619
Review URL: https://codereview.appspot.com/6259056

git-svn-id: http://skia.googlecode.com/svn/trunk@4090 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-31 13:54:51 +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
robertphillips@google.com
00bf06a142 Added cast to get MathTest working on Windows
git-svn-id: http://skia.googlecode.com/svn/trunk@4072 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-30 15:19:17 +00:00
reed@google.com
c20bc25b6e use (float)(1 << 23) instead of 1.0p+23 since the latter isn't supported in VS
git-svn-id: http://skia.googlecode.com/svn/trunk@4068 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-30 13:48:14 +00:00
reed@google.com
c3b697298e win can't eat 1.0p+23 syntax for floats :(
git-svn-id: http://skia.googlecode.com/svn/trunk@4067 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-30 12:43:59 +00:00
reed@google.com
a7d7461cf0 remove debugf
git-svn-id: http://skia.googlecode.com/svn/trunk@4066 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-30 12:30:09 +00:00
reed@google.com
744fabad47 addPoly() entry-point, to quickly add MoveTo+N*LineTo (useful in dashing)
Review URL: https://codereview.appspot.com/6256063

git-svn-id: http://skia.googlecode.com/svn/trunk@4061 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-29 19:54:52 +00:00
reed@google.com
8b06f1a7ff Detect when the caller was hairline AND strokeandfill, and resolve that into FILL
This fixes the unittests on WIN in the trybot for DEPS roll 4048
Review URL: https://codereview.appspot.com/6242057

git-svn-id: http://skia.googlecode.com/svn/trunk@4057 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-29 12:03:46 +00:00
reed@google.com
b6a4b7363f add
git-svn-id: http://skia.googlecode.com/svn/trunk@4010 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-21 15:27:23 +00:00
bungeman@google.com
a550199c6f CreateTypefaceFromStream for GDI.
http://codereview.appspot.com/5616047/


git-svn-id: http://skia.googlecode.com/svn/trunk@4001 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-18 19:06:41 +00:00
reed@google.com
ebd24962df change SkChunkAlloc to grow its allocations geometrically (not linearly)
plus add a bench and unittest for it.



git-svn-id: http://skia.googlecode.com/svn/trunk@3989 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-17 14:28:11 +00:00
bungeman@google.com
a02bc1519c WeakRefCnt
http://codereview.appspot.com/5649046/


git-svn-id: http://skia.googlecode.com/svn/trunk@3978 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 18:21:56 +00:00
reed@google.com
7b463acd46 speedup SkRect::isFinite() (almost 2x)
add SkRect:set(p0, p1) for quick bounds of 2 points



git-svn-id: http://skia.googlecode.com/svn/trunk@3967 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-16 13:35:36 +00:00
robertphillips@google.com
6623fcd1ee Convert AAClipCache's GrRects to GrIRects
http://codereview.appspot.com/6210057/



git-svn-id: http://skia.googlecode.com/svn/trunk@3942 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-15 16:47:23 +00:00
reed@google.com
415e76a760 fix Fixed build
git-svn-id: http://skia.googlecode.com/svn/trunk@3937 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-15 14:32:42 +00:00
reed@google.com
30d90ebe7c Use x*0 instead of x!=x to detect non-finite values, since x*0 also detects infinities
and it is faster (at least faster in SkRect::set).

Add unittest for SkRect::set to see that it correctly detects NaN and infinities.




git-svn-id: http://skia.googlecode.com/svn/trunk@3936 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-15 14:17:36 +00:00
robertphillips@google.com
706f6212c6 Fixes for Windows Release compiler complaints (overflow in const arith)
http://codereview.appspot.com/6210056/



git-svn-id: http://skia.googlecode.com/svn/trunk@3926 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-14 17:51:23 +00:00
robertphillips@google.com
4debcac8c3 Debug Windows compiler complaint fixes
http://codereview.appspot.com/6208055/



git-svn-id: http://skia.googlecode.com/svn/trunk@3924 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-14 16:33:36 +00:00
bungeman@google.com
5548752100 Add bench and test for SkRefCnt.
http://codereview.appspot.com/6195071/

This also adds a cross platform SkThread for testing purposes.


git-svn-id: http://skia.googlecode.com/svn/trunk@3921 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-14 14:09:24 +00:00
robertphillips@google.com
f105b10926 Made clip mask cache use Scratch Texture system
http://codereview.appspot.com/6210044/



git-svn-id: http://skia.googlecode.com/svn/trunk@3920 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-14 12:18:26 +00:00
reed@google.com
18c464b460 update the nearly_integral calculation to be (a) faster, and (b) to correctly
identify that the AA granularity is 1/4 of a pixel, not 1/16 (along an axis).



git-svn-id: http://skia.googlecode.com/svn/trunk@3919 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-11 20:57:25 +00:00
robertphillips@google.com
f21c704119 fix for r3903 compilation issue
git-svn-id: http://skia.googlecode.com/svn/trunk@3904 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-11 13:01:16 +00:00
robertphillips@google.com
8fff356c85 Made clip mask cache reuse depend on mask size/bounds (instead of render target size)
http://codereview.appspot.com/6190067/



git-svn-id: http://skia.googlecode.com/svn/trunk@3903 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-11 12:53:50 +00:00
robertphillips@google.com
d82f3fae92 Fix for Android ClipCache unit test crash
http://codereview.appspot.com/6199063/



git-svn-id: http://skia.googlecode.com/svn/trunk@3902 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-10 21:26:48 +00:00
robertphillips@google.com
50b8eadb9f Reverting r3898 due to Android failures
git-svn-id: http://skia.googlecode.com/svn/trunk@3900 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-10 16:17:58 +00:00
robertphillips@google.com
c3e050f322 Re-enabling ClipCache unit test which now runs on Xoom w/ new tool chain
git-svn-id: http://skia.googlecode.com/svn/trunk@3898 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-10 15:56:17 +00:00
reed@google.com
7e6c4d1601 add SkPath::isLine(), similar to isRect()
git-svn-id: http://skia.googlecode.com/svn/trunk@3892 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-10 14:05:43 +00:00
robertphillips@google.com
96a162eb71 Disabled new ClipCache unit test pending investigation of Android failures
git-svn-id: http://skia.googlecode.com/svn/trunk@3886 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-09 21:47:03 +00:00
robertphillips@google.com
beeb97c94d Added stack to AA clip mask cache
http://codereview.appspot.com/6201058/



git-svn-id: http://skia.googlecode.com/svn/trunk@3885 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-09 21:15:28 +00:00
robertphillips@google.com
c6ce750c73 Fixed some fixed point build Windows compiler complaints
http://codereview.appspot.com/6197063/



git-svn-id: http://skia.googlecode.com/svn/trunk@3867 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-08 13:15:37 +00:00
reed@google.com
c7a67cb57e Just use std qsort
Review URL: https://codereview.appspot.com/6195052

git-svn-id: http://skia.googlecode.com/svn/trunk@3846 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-07 14:52:12 +00:00
reed@google.com
0da0627646 fix fixed-point build
git-svn-id: http://skia.googlecode.com/svn/trunk@3837 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-03 20:26:06 +00:00
reed@google.com
99c114e0ac We were numerically overflowing our 16bit coordinates that we communicate
between these two procs. The fixes was in two parts:

1. Just don't draw bitmaps larger than 64K-1 in width or height, since we
   can't represent those coordinates in our transport format (yet).
2. Perform an unsigned shift during the calculation, so we don't get
   sign-extension bleed when packing the two values (X,Y) into our 32bit
   slot.
Review URL: https://codereview.appspot.com/6173046

git-svn-id: http://skia.googlecode.com/svn/trunk@3836 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-03 20:14:26 +00:00
reed@google.com
684119d126 add more tests for rgn::intersects(rect)
git-svn-id: http://skia.googlecode.com/svn/trunk@3820 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-02 16:52:12 +00:00
reed@google.com
7ab71baf65 add more tests around contains for rects and regions
git-svn-id: http://skia.googlecode.com/svn/trunk@3818 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-02 16:09:21 +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
9d5f76a250 fix bug (and add test) for drawing an inverse-path whose bounds do intersect
the clip, but whose edges do not (e.g. a curve). We used to overdraw a section
(and assert).



git-svn-id: http://skia.googlecode.com/svn/trunk@3809 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-05-01 14:49:28 +00:00
reed@google.com
8a0d8ff854 add tests for how empty regions should behave in intersects() and contains()
Review URL: https://codereview.appspot.com/6134053

git-svn-id: http://skia.googlecode.com/svn/trunk@3795 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-30 16:28:04 +00:00
mike@reedtribe.org
67c3184a67 add test for contains and intersects, in advance of optimization work
git-svn-id: http://skia.googlecode.com/svn/trunk@3787 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-28 20:09:19 +00:00
reed@google.com
ded4414985 Apply fix from #3739 to quads and cubics as well
Fixes http://code.google.com/p/chromium/issues/detail?id=125249
Review URL: https://codereview.appspot.com/6137046

git-svn-id: http://skia.googlecode.com/svn/trunk@3786 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-27 20:22:07 +00:00
epoger@google.com
c4ae974db6 Add SkString.contains()
Review URL: https://codereview.appspot.com/6130046

git-svn-id: http://skia.googlecode.com/svn/trunk@3781 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-27 17:11:31 +00:00
bsalomon@google.com
69afee1c8f add isSimilarityTransform() and some tests
Committed on behalf of Guanqun.Lu@gmail.com

Review URL: http://codereview.appspot.com/5999050/


git-svn-id: http://skia.googlecode.com/svn/trunk@3762 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-25 15:07:40 +00:00
reed@google.com
1df888bc3a check for numerical imprecision on phase
fixes http://code.google.com/p/chromium/issues/detail?id=124652



git-svn-id: http://skia.googlecode.com/svn/trunk@3761 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-24 22:47:21 +00:00
reed@google.com
e49aca968c add optional storage parameter to SkWriter32
git-svn-id: http://skia.googlecode.com/svn/trunk@3759 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-24 21:12:39 +00:00
reed@google.com
fab1ddd3a8 only add pathmeasure segment if the accumulated length was actually changed,
and not based on if the local length was > 0. This is necessary since 

    assert(delta > 0);  // true
    prevDistance = distance;
    distance += delta;
    assert(distance > prevDistance);    // not always true

Fixes https://bugs.webkit.org/show_bug.cgi?id=78979



git-svn-id: http://skia.googlecode.com/svn/trunk@3739 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-20 15:10:32 +00:00
reed@google.com
5bfa55b1cd fix unused-return-result-warning for invert/getPosTan
git-svn-id: http://skia.googlecode.com/svn/trunk@3733 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-19 18:59:25 +00:00
reed@google.com
8b0a335b6b retarget fonttable tests to use SkTypeface api, rather than (should-be-private) SkFontHost api
git-svn-id: http://skia.googlecode.com/svn/trunk@3732 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-19 18:52:39 +00:00
bsalomon@google.com
6aa2965ca8 Track oval in SkPath
Committed on behalf of Guanqun.Lu@gmail.com

Review URL:http://codereview.appspot.com/6012047/



git-svn-id: http://skia.googlecode.com/svn/trunk@3716 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-18 13:29:52 +00:00
bsalomon@google.com
f3488ebaac Revert r3705 for fixed pt failures.
git-svn-id: http://skia.googlecode.com/svn/trunk@3706 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-17 15:38:20 +00:00
bsalomon@google.com
c047d414a4 track oval in SkPath
Committed on behalf of Guanqun.Lu@gmail.com

Review URL: http://codereview.appspot.com/6012047/



git-svn-id: http://skia.googlecode.com/svn/trunk@3705 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-17 15:22:06 +00:00
reed@google.com
a90aa53498 fix clamping when we chop a cubic
Review URL: https://codereview.appspot.com/6039048

git-svn-id: http://skia.googlecode.com/svn/trunk@3691 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 16:27:09 +00:00
robertphillips@google.com
6853e808a4 Addressed more Windows compiler complaint issues
http://codereview.appspot.com/6007056/



git-svn-id: http://skia.googlecode.com/svn/trunk@3689 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 15:50:18 +00:00
bsalomon@google.com
d0b95896d6 Revert r3681 due to fixed point failures in tests.
git-svn-id: http://skia.googlecode.com/svn/trunk@3684 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 14:41:02 +00:00
bsalomon@google.com
8d75bf6ab3 add isSimilarityTransform() and some tests
Committed on behalf of Guanqun.Lu@gmail.com

Review URL: http://codereview.appspot.com/5999050/




git-svn-id: http://skia.googlecode.com/svn/trunk@3681 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-16 14:06:50 +00:00
mike@reedtribe.org
6093e65829 dd DrawPathTest to gyp
add regression tests for bug 533



git-svn-id: http://skia.googlecode.com/svn/trunk@3678 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-14 12:55:17 +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
djsollen@google.com
2b2ede3e71 Decouple the SkFlattenable from SkReader32/SkWriter32.
The current impl for SkFlattenable read/write buffers is 
that they extend from SkReader32 and SkWriter32, but that
dependency must be abstract if we are to add any other
serialization format.
Review URL: https://codereview.appspot.com/5999045

git-svn-id: http://skia.googlecode.com/svn/trunk@3654 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-12 13:24:04 +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
tomhudson@google.com
75589257c6 Fix miscellaneous compiler warnings from Visual Studio 2010.
Changes serialization path for MorphologyImageFilter, handling of Windows
HRESULTS; otherwise just tweaks tests.



git-svn-id: http://skia.googlecode.com/svn/trunk@3642 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-10 17:42:21 +00:00
bsalomon@google.com
0e5104c157 misc fixes
Submitted on behalf of Guanqun.Lu@gmail.com

Review URL: http://codereview.appspot.com/5988070/



git-svn-id: http://skia.googlecode.com/svn/trunk@3640 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-10 16:20:41 +00:00
robertphillips@google.com
09042b80d2 Fixing Windows compiler complaints
http://codereview.appspot.com/5991056/



git-svn-id: http://skia.googlecode.com/svn/trunk@3626 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-06 20:01:46 +00:00
robertphillips@google.com
38c3a30a97 Fixed issue with Fixed Point scalars in ReadWriteAlphaTest.cpp
git-svn-id: http://skia.googlecode.com/svn/trunk@3623 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-06 18:25:24 +00:00
robertphillips@google.com
6995068c5a Initial version of R8 support
http://codereview.appspot.com/5967067/



git-svn-id: http://skia.googlecode.com/svn/trunk@3622 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-04-06 18:06:10 +00:00
reed@google.com
6de0bfc51a regression unittest for the fix in rev. 3558 (handling nan in antihairpaths)
git-svn-id: http://skia.googlecode.com/svn/trunk@3562 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-30 17:43:33 +00:00
robertphillips@google.com
d3b9fbbc48 Code changes for ANGLE GL interface. .gyp file changes will be delivered later.
http://codereview.appspot.com/5940046/



git-svn-id: http://skia.googlecode.com/svn/trunk@3519 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-28 16:19:11 +00:00
djsollen@google.com
ba28d03e94 Create macro for registering classes for deserialization
Review URL: https://codereview.appspot.com/5909063

git-svn-id: http://skia.googlecode.com/svn/trunk@3494 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 17:57:35 +00:00
bsalomon@google.com
39d4f3a02c restore line accidentally deleted in MatrixTest.cpp in r3491
git-svn-id: http://skia.googlecode.com/svn/trunk@3492 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 17:25:45 +00:00
bsalomon@google.com
9ed2ecd3ac Another fix for fixed point (nan == nan in fixed pt)
git-svn-id: http://skia.googlecode.com/svn/trunk@3491 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 15:57:37 +00:00
djsollen@google.com
cefc865090 Fix test to use the flattenable writer class instead of
flattening the object directly.
Review URL: https://codereview.appspot.com/5901059

git-svn-id: http://skia.googlecode.com/svn/trunk@3490 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 15:52:10 +00:00
bsalomon@google.com
8fe84b53a6 Add SkMatrix::cheapEqualTo, use in Gr code
Review URL: http://codereview.appspot.com/5865057/



git-svn-id: http://skia.googlecode.com/svn/trunk@3488 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-26 15:24:27 +00:00
bungeman@google.com
34f10260ad Glyph advances from generateAdvance do not always match generateMetrics results.
http://codereview.appspot.com/5841071/


git-svn-id: http://skia.googlecode.com/svn/trunk@3480 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-23 18:11:47 +00:00
bsalomon@google.com
6f86c3e0a6 fix clang compilation warning
Submitted on behalf of Guanqun.Lu@gmail.com

Review URL: http://codereview.appspot.com/5833045/


git-svn-id: http://skia.googlecode.com/svn/trunk@3472 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-22 21:29:10 +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
bungeman@google.com
f8aa18c08d Compile with c++0x.
http://codereview.appspot.com/5841074/


git-svn-id: http://skia.googlecode.com/svn/trunk@3434 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-19 21:04:52 +00:00
tomhudson@google.com
0435f161fc Close a couple of minor memory leaks, add a valgrind suppression file to
mute complaints about apparent driver bugs.

http://codereview.appspot.com/5837046/



git-svn-id: http://skia.googlecode.com/svn/trunk@3406 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-15 18:16:39 +00:00
reed@google.com
dc5f76d806 unittest for kUTF32_TextEncoding
git-svn-id: http://skia.googlecode.com/svn/trunk@3390 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-14 20:05:35 +00:00
reed@google.com
470f07f9a9 promote floats to scalars for the fixed-point build
git-svn-id: http://skia.googlecode.com/svn/trunk@3370 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-12 21:31:00 +00:00
reed@google.com
0a0726542e add unittest for rev. 3366 -- clipping antihairlines
git-svn-id: http://skia.googlecode.com/svn/trunk@3367 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-12 21:11:18 +00:00
tomhudson@google.com
4c4337291d If we try to clip against a path and the path only contains a rect, treat it as a clip against a rect.
(Works around a performance issue: JavaScript Canvas2D API only provides canvas.clipPath(), and we don't
optimize path clips nearly as much as we can rects; this shows up more in Ganesh than in the software
rasterizer.)

http://codereview.appspot.com/5795044/



git-svn-id: http://skia.googlecode.com/svn/trunk@3355 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-09 16:48:20 +00:00
vandebo@chromium.org
cc46a0ab52 Fix copy paste error in test ref counting.
TBR=reed@google.com

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

git-svn-id: http://skia.googlecode.com/svn/trunk@3320 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-05 19:14:37 +00:00
vandebo@chromium.org
c0376febfc [PDF] Fix name objects containing characters > 0x80 and add a test.
This fixes chrome bug http://crbug.com/115258

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

git-svn-id: http://skia.googlecode.com/svn/trunk@3319 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-03-05 18:44:33 +00:00
reed@google.com
c256cd11e9 remove fragile assert
git-svn-id: http://skia.googlecode.com/svn/trunk@3286 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-29 21:57:36 +00:00
reed@google.com
087d5aafb1 fix edgecase in chopcubic where we computed duplicate tvalues
git-svn-id: http://skia.googlecode.com/svn/trunk@3285 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-29 20:59:24 +00:00
reed@google.com
9b0da23f0a fix bug and add test for aaclip when blitV is called
git-svn-id: http://skia.googlecode.com/svn/trunk@3281 2bbb7eff-a529-9590-31e7-b0007b416f81
2012-02-29 13:59:15 +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