aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/utils
Commit message (Collapse)AuthorAge
* Revert of Revert "De-virtualize SkCanvas save/restore." ↵Gravatar commit-bot@chromium.org2014-03-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/194923008/) Reason for revert: Re-landing after roll fix. Original issue's description: > Revert "De-virtualize SkCanvas save/restore." > > (To allow a roll fix into the tree). > > This reverts commit edf702204be42c945254191f9f9cd6585b3d189b. > > R=halcanary@google.com > > Committed: https://code.google.com/p/skia/source/detail?r=13748 R=halcanary@google.com, fmalita@chromium.org TBR=fmalita@chromium.org, halcanary@google.com NOTREECHECKS=true NOTRY=true Author: fmalita@google.com Review URL: https://codereview.chromium.org/196323003 git-svn-id: http://skia.googlecode.com/svn/trunk@13754 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "De-virtualize SkCanvas save/restore."Gravatar fmalita@google.com2014-03-11
| | | | | | | | | | | | (To allow a roll fix into the tree). This reverts commit edf702204be42c945254191f9f9cd6585b3d189b. R=halcanary@google.com Review URL: https://codereview.chromium.org/194923008 git-svn-id: http://skia.googlecode.com/svn/trunk@13748 2bbb7eff-a529-9590-31e7-b0007b416f81
* De-virtualize SkCanvas save/restore.Gravatar fmalita@google.com2014-03-11
| | | | | | | | | | | This moves the state management logic into non-virtual SkCanvas methods, and turns the virtuals into protected notifiers. R=robertphillips@google.com, reed@google.com Review URL: https://codereview.chromium.org/194713008 git-svn-id: http://skia.googlecode.com/svn/trunk@13747 2bbb7eff-a529-9590-31e7-b0007b416f81
* Drop executable flag from headers so that they can be packagedGravatar robertphillips@google.com2014-03-11
| | | | | | | | https://codereview.chromium.org/194883004/ git-svn-id: http://skia.googlecode.com/svn/trunk@13746 2bbb7eff-a529-9590-31e7-b0007b416f81
* hide getTotalClip, so we can eventually remove it Gravatar commit-bot@chromium.org2014-03-08
| | | | | | | | | | | | | | 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
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-08
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13714 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkCanvas::writePixels that takes info+pixels directlyGravatar commit-bot@chromium.org2014-03-07
| | | | | | | | | | | | | add corresponding methods to device (w/ diff name to avoid colliding with exising virtuals) BUG=skia: R=bsalomon@google.com, robertphillips@google.com, junov@google.com, junov@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/180113010 git-svn-id: http://skia.googlecode.com/svn/trunk@13697 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add size_t bytesWritten() const to SkWStream.Gravatar commit-bot@chromium.org2014-03-06
| | | | | | | | | | | BUG=skia: R=reed@google.com, mtklein@google.com, robertphillips@google.com, bungeman@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/187653003 git-svn-id: http://skia.googlecode.com/svn/trunk@13684 2bbb7eff-a529-9590-31e7-b0007b416f81
* This CL is motivated by the desire to make the skpinfo tool work a bit ↵Gravatar commit-bot@chromium.org2014-03-05
| | | | | | | | | | | | better. The main concern is that the assumptions made w.r.t. written bytes may not be valid for all SkWStream sub-classes. R=bungeman@gmail.com, bungeman@google.com, reed@google.com, mtklein@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/182733008 git-svn-id: http://skia.googlecode.com/svn/trunk@13673 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-04
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13651 2bbb7eff-a529-9590-31e7-b0007b416f81
* This adds cull rect visualization to the debugger's "mega" visualization mode.Gravatar commit-bot@chromium.org2014-03-03
| | | | | | | | | | R=fmalita@google.com, fmalita@chromium.org Author: robertphillips@google.com Review URL: https://codereview.chromium.org/177423013 git-svn-id: http://skia.googlecode.com/svn/trunk@13649 2bbb7eff-a529-9590-31e7-b0007b416f81
* The new "mega" viz mode both adds visualization and forces all drawing to ↵Gravatar commit-bot@chromium.org2014-03-03
| | | | | | | | | | | | the visible canvas (by replacing the active saveLayers with saves). R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/185293007 git-svn-id: http://skia.googlecode.com/svn/trunk@13640 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-03-01
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13634 2bbb7eff-a529-9590-31e7-b0007b416f81
* DM: make GPU tasks multithreaded again. Big refactor.Gravatar commit-bot@chromium.org2014-02-28
| | | | | | | | | | | | | | | | | | | | | | The main meat of things is in SkThreadPool. We can now give SkThreadPool a type for each thread to create and destroy on its local stack. It's TLS without going through SkTLS. I've split the DM tasks into CpuTasks that run on threads with no TLS, and GpuTasks that run on threads with a thread local GrContextFactory. The old CpuTask and GpuTask have been renamed to CpuGMTask and GpuGMTask. Upshot: default run of out/Debug/dm goes from ~45 seconds to ~20 seconds. BUG=skia: R=bsalomon@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/179233005 git-svn-id: http://skia.googlecode.com/svn/trunk@13632 2bbb7eff-a529-9590-31e7-b0007b416f81
* add new onClip* methods to SkCanvasGravatar robertphillips@google.com2014-02-28
| | | | | | | | https://codereview.chromium.org/183453002/ git-svn-id: http://skia.googlecode.com/svn/trunk@13627 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of r13620 (add new onClip* methods to SkCanvas - ↵Gravatar robertphillips@google.com2014-02-28
| | | | | | https://codereview.chromium.org/183453002/) due to broken Chrome Canary and failing tests. git-svn-id: http://skia.googlecode.com/svn/trunk@13622 2bbb7eff-a529-9590-31e7-b0007b416f81
* add new onClip* methods to SkCanvasGravatar robertphillips@google.com2014-02-28
| | | | | | | | https://codereview.chromium.org/183453002/ git-svn-id: http://skia.googlecode.com/svn/trunk@13620 2bbb7eff-a529-9590-31e7-b0007b416f81
* Culling APIGravatar commit-bot@chromium.org2014-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** SKP format breaking change *** Adding a couple of culling primitives: pushCull(SkRect) & popCull(). These are currently only plumbed for SKP playback quickreject. At record time, we perform a couple of optimizations to trim down the number of redundant culls: * collapse empty pushCull/popCull pairs * skip pushCull/popCull pairs nested within an identical cull rect Things still missing/to consider: * use an inlineable, simplified quickreject (Mike's old prototype) * debugger visualization for cull boxes * BBH integration: the initial prototype had some minimal BBH support, but since the optimizations required expensive rewinds and culling is expected to be a BBH alternative, it got dropped. R=bsalomon@google.com, reed@google.com, robertphillips@google.com, caryclark@google.com, tomhudson@google.com, iancottrell@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/138013009 git-svn-id: http://skia.googlecode.com/svn/trunk@13611 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add point count to lua SkPath.Gravatar commit-bot@chromium.org2014-02-26
| | | | | | | | | | | | Add some scripts for classifying rrects and counting complex clip combinations. R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/181843004 git-svn-id: http://skia.googlecode.com/svn/trunk@13601 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Revert of Add getReducedClipStack to lua canvas ↵Gravatar bsalomon@google.com2014-02-26
| | | | | | | | | | | | (https://codereview.chromium.org/180283004/)" This reverts commit efded03a38d6147caaf2d951638d27fdd47eed64. Fixes builds Review URL: https://codereview.chromium.org/181903002 git-svn-id: http://skia.googlecode.com/svn/trunk@13599 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of Add getReducedClipStack to lua canvas ↵Gravatar commit-bot@chromium.org2014-02-26
| | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/180283004/) Reason for revert: breaking a bunch of builds Original issue's description: > Add getReducedClipStack to lua canvas > > Committed: http://code.google.com/p/skia/source/detail?r=13594 R=reed@google.com TBR=reed@google.com NOTREECHECKS=true NOTRY=true Author: bsalomon@google.com Review URL: https://codereview.chromium.org/181653004 git-svn-id: http://skia.googlecode.com/svn/trunk@13597 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add getReducedClipStack to lua canvasGravatar commit-bot@chromium.org2014-02-26
| | | | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/180283004 git-svn-id: http://skia.googlecode.com/svn/trunk@13594 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-02-25
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13576 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add some SkPath lua functionsGravatar commit-bot@chromium.org2014-02-24
| | | | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/178243002 git-svn-id: http://skia.googlecode.com/svn/trunk@13572 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add getClipStack method to lua SkCanvasGravatar commit-bot@chromium.org2014-02-24
| | | | | | | | | | R=reed@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/177933003 git-svn-id: http://skia.googlecode.com/svn/trunk@13567 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add DRRect to debuggerGravatar commit-bot@chromium.org2014-02-24
| | | | | | | | | | R=reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/177683003 git-svn-id: http://skia.googlecode.com/svn/trunk@13565 2bbb7eff-a529-9590-31e7-b0007b416f81
* add new copyTo version to SkBitmap, which takes SkColorTypeGravatar commit-bot@chromium.org2014-02-23
| | | | | | | | | | | BUG=skia: R=scroggo@google.com, halcanary@google.com, bsalomon@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/171723007 git-svn-id: http://skia.googlecode.com/svn/trunk@13553 2bbb7eff-a529-9590-31e7-b0007b416f81
* override new virtual onDrawDRRect in util canvas subclassesGravatar commit-bot@chromium.org2014-02-21
| | | | | | | | | | | BUG=skia: R=robertphillips@google.com, reed@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/174593003 git-svn-id: http://skia.googlecode.com/svn/trunk@13529 2bbb7eff-a529-9590-31e7-b0007b416f81
* use colortype instead of configGravatar reed@google.com2014-02-20
| | | | | | | | | | | patch from issue 172063004 BUG=skia: R=scroggo@google.com Review URL: https://codereview.chromium.org/173893002 git-svn-id: http://skia.googlecode.com/svn/trunk@13520 2bbb7eff-a529-9590-31e7-b0007b416f81
* Factory methods for heap-allocated SkPathEffect and SkXfermode objects.Gravatar commit-bot@chromium.org2014-02-20
| | | | | | | | | | | | | | | | | | | | | | | This is part of an effort to ensure that all SkPaint effects can only be allocated on the heap. This patch makes the constructors of SkPathEffect, SkXfermode and their subclasses non-public and instead provides factory methods for creating these objects on the heap. We temporarily keep the constructors of the following classes public to not break Chrome/Blink: SkXfermode SkCornerPathEffect SkDashPathEffect BUG=skia:2187 R=scroggo@google.com, reed@google.com, mtklein@google.com, bungeman@google.com Author: dominikg@chromium.org Review URL: https://codereview.chromium.org/166583002 git-svn-id: http://skia.googlecode.com/svn/trunk@13519 2bbb7eff-a529-9590-31e7-b0007b416f81
* use SkColorType instead of SkBitmap::Config in views/effectsGravatar commit-bot@chromium.org2014-02-16
| | | | | | | | | | | R=scroggo@google.com, reed@google.com TBR=scroggo Author: reed@chromium.org Review URL: https://codereview.chromium.org/168843002 git-svn-id: http://skia.googlecode.com/svn/trunk@13469 2bbb7eff-a529-9590-31e7-b0007b416f81
* Store SkRRects in SkClipStackGravatar commit-bot@chromium.org2014-02-16
| | | | | | | | | | | 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
* Change device factories to take SkImageInfo instead of SkBitmap::ConfigGravatar commit-bot@chromium.org2014-02-16
| | | | | | | | | | | | | patch from issue 167033002 BUG=skia: R=reed@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/168653002 git-svn-id: http://skia.googlecode.com/svn/trunk@13463 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Revert of have DeferredDevice inherit from SkBaseDevice ↵Gravatar reed@google.com2014-02-14
| | | | | | | | | | | | | | (https://codereview.chromium.org/165393006/)" removed assert from lockPixels(), since that is called during setDevice() This reverts commit 20bfc5337fa17cff52fb96b13af674c181e2c5a9. BUG=skia: Review URL: https://codereview.chromium.org/167003002 git-svn-id: http://skia.googlecode.com/svn/trunk@13454 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of have DeferredDevice inherit from SkBaseDevice ↵Gravatar commit-bot@chromium.org2014-02-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/165393006/) Reason for revert: broke tests Original issue's description: > have DeferredDevice inherit from SkBaseDevice > > mirror of 165813003 > > BUG=skia: > > Committed: https://code.google.com/p/skia/source/detail?r=13452 TBR= NOTREECHECKS=true NOTRY=true BUG=skia: Author: reed@google.com Review URL: https://codereview.chromium.org/163183011 git-svn-id: http://skia.googlecode.com/svn/trunk@13453 2bbb7eff-a529-9590-31e7-b0007b416f81
* have DeferredDevice inherit from SkBaseDeviceGravatar reed@google.com2014-02-14
| | | | | | | | | | mirror of 165813003 BUG=skia: Review URL: https://codereview.chromium.org/165393006 git-svn-id: http://skia.googlecode.com/svn/trunk@13452 2bbb7eff-a529-9590-31e7-b0007b416f81
* Allow buffered stream to work with an offset.Gravatar commit-bot@chromium.org2014-02-10
| | | | | | | | | | | | | | If the stream being buffered is buffered from somewhere other than the start, the SkFrontBufferedStream needs to take that into account when reporting its length. R=djsollen@google.com, bungeman@google.com, reed@google.com Author: scroggo@google.com Review URL: https://codereview.chromium.org/157103002 git-svn-id: http://skia.googlecode.com/svn/trunk@13388 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make SkImageFilter methods const.Gravatar commit-bot@chromium.org2014-02-05
| | | | | | | | | | | | | | SkImageFilter had some non-const methods that could all be made const. This is a first step towards making SkImageFilter immutable. BUG=skia:2097 R=mtklein@google.com, reed@google.com, robertphillips@google.com Author: dominikg@chromium.org Review URL: https://codereview.chromium.org/148883011 git-svn-id: http://skia.googlecode.com/svn/trunk@13330 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkCanvas::createCompatibleDevice, and add SkCanvas::newSurfaceGravatar reed@google.com2014-02-05
| | | | | | | | | BUG=skia: R=bsalomon@google.com Review URL: https://codereview.chromium.org/154163002 git-svn-id: http://skia.googlecode.com/svn/trunk@13319 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove (unused by chrome) SkDeferredCanvas(device) factory signatureGravatar reed@google.com2014-02-04
| | | | | | | | | 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
* rename tracing parameter to be more consistent with other methodsGravatar commit-bot@chromium.org2014-02-03
| | | | | | | | | | | BUG=skia: R=bsalomon@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/136753013 git-svn-id: http://skia.googlecode.com/svn/trunk@13287 2bbb7eff-a529-9590-31e7-b0007b416f81
* don't initialize the default Skia tracer if one has already been providedGravatar commit-bot@chromium.org2014-02-03
| | | | | | | | | | | BUG=skia: R=bsalomon@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/152903005 git-svn-id: http://skia.googlecode.com/svn/trunk@13284 2bbb7eff-a529-9590-31e7-b0007b416f81
* clean up a couple of parameters in the tracing interfaceGravatar commit-bot@chromium.org2014-02-03
| | | | | | | | | | | BUG=skia: R=bsalomon@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/145973011 git-svn-id: http://skia.googlecode.com/svn/trunk@13283 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkCanvas constructor that explicitly creates no_config with dimensionsGravatar commit-bot@chromium.org2014-01-31
| | | | | | | | | | | BUG=skia: R=scroggo@google.com, halcanary@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/137833016 git-svn-id: http://skia.googlecode.com/svn/trunk@13272 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix leaks in SkConfGravatar commit-bot@chromium.org2014-01-31
| | | | | | | | | | | | | | | | | These leaks were small and would only happen with non-default runtime configuration things set, but they were still leaks and they should be squished. Valgrind reported leaks pre-patch, and all the rtconf leaks are gone after patch. BUG=skia:1722 R=reed@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/136963004 git-svn-id: http://skia.googlecode.com/svn/trunk@13269 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Housekeeper-NightlyGravatar skia.committer@gmail.com2014-01-31
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@13258 2bbb7eff-a529-9590-31e7-b0007b416f81
* initial import of Chrome's trace_event into skia frameworkGravatar commit-bot@chromium.org2014-01-31
| | | | | | | | | | | | | | | | | | | | | | | This patch includes a modified version of Chrome's trace_event.h, which provides tracing macros that can easily integrate into the about://tracing framework. Currently the macros link to a default implementation of the (narrow) tracing class SkDefaultEventTracer which does nothing; next step will be to have Chrome subclass the SkEventTracer with a shim that bolts Skia's trace events to its own, allowing Skia's trace events to show up in about://tracing. I've verified that this file builds properly, and when I added a simple scoped TRACE_EVENT0 to SkCanvas::drawRect, along with some debug prints in the NOP implementation of tracing, I saw what I expected printed to the screen. BUG=skia: R=nduca@chromium.org, reed@google.com, mtklein@google.com, bsalomon@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/149563004 git-svn-id: http://skia.googlecode.com/svn/trunk@13256 2bbb7eff-a529-9590-31e7-b0007b416f81
* Port SkBase64 test to our test driver.Gravatar tfarina@chromium.org2014-01-30
| | | | | | | | | | BUG=None TESTS=tests --match SkBase64Test R=mtklein@google.com, reed@google.com Review URL: https://codereview.chromium.org/132233060 git-svn-id: http://skia.googlecode.com/svn/trunk@13254 2bbb7eff-a529-9590-31e7-b0007b416f81
* Refactor read and write buffers.Gravatar commit-bot@chromium.org2014-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Eliminates SkFlattenable{Read,Write}Buffer, promoting SkOrdered{Read,Write}Buffer a step each in the hierarchy. What used to be this: SkFlattenableWriteBuffer -> SkOrderedWriteBuffer SkFlattenableReadBuffer -> SkOrderedReadBuffer SkFlattenableReadBuffer -> SkValidatingReadBuffer is now SkWriteBuffer SkReadBuffer -> SkValidatingReadBuffer Benefits: - code is simpler, names are less wordy - the generic SkFlattenableFooBuffer code in SkPaint was incorrect; removed - write buffers are completely devirtualized, important for record speed This refactoring was mostly mechanical. You aren't going to find anything interesting in files with less than 10 lines changed. BUG=skia: R=reed@google.com, scroggo@google.com, djsollen@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/134163010 git-svn-id: http://skia.googlecode.com/svn/trunk@13245 2bbb7eff-a529-9590-31e7-b0007b416f81
* fix more 64bit warningsGravatar reed@google.com2014-01-27
| | | | | | | | BUG=skia: Review URL: https://codereview.chromium.org/147683003 git-svn-id: http://skia.googlecode.com/svn/trunk@13190 2bbb7eff-a529-9590-31e7-b0007b416f81