aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/utils
Commit message (Collapse)AuthorAge
* revert 6766, thereby re-landing 6762-6763 now that the bots are readyGravatar reed@google.com2012-12-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6770 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 6762-6763, since those require new skps to be generated, and we can'tGravatar reed@google.com2012-12-12
| | | | | | | | do that immediately right now... will re-submit when we can. git-svn-id: http://skia.googlecode.com/svn/trunk@6766 2bbb7eff-a529-9590-31e7-b0007b416f81
* make RRect and Oval first-class drawing primitives in SkCanvas.Gravatar reed@google.com2012-12-12
| | | | | | | add RRect as a first-class clip primitive. Review URL: https://codereview.appspot.com/6923058 git-svn-id: http://skia.googlecode.com/svn/trunk@6762 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkMatrix44 constructor that allows user to control the initializationGravatar vollick@chromium.org2012-12-10
| | | | | | | | | | method. Preliminary results using Chromium's cc_perftests show that we can avoid almost half of the default constructors from redundantly/unnecessarily initializing the matrix to identity. Review URL: https://codereview.appspot.com/6872056 git-svn-id: http://skia.googlecode.com/svn/trunk@6742 2bbb7eff-a529-9590-31e7-b0007b416f81
* add helpers for isTranslate and isScaleTranslateGravatar mike@reedtribe.org2012-12-10
| | | | | | | | special-case determinant for isScaleTranslate git-svn-id: http://skia.googlecode.com/svn/trunk@6725 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2012-12-06
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6687 2bbb7eff-a529-9590-31e7-b0007b416f81
* optimize translate and scaleGravatar reed@google.com2012-12-05
| | | | | | | add map2() to optimize for mapping an array of 2D points into homogeneous 4-vector Review URL: https://codereview.appspot.com/6874064 git-svn-id: http://skia.googlecode.com/svn/trunk@6685 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add missing SK_API definition at request of Chromium callersGravatar djsollen@google.com2012-12-05
| | | | | | Review URL: https://codereview.appspot.com/6878050 git-svn-id: http://skia.googlecode.com/svn/trunk@6671 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2012-12-04
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6660 2bbb7eff-a529-9590-31e7-b0007b416f81
* add getTypes() to SkMatrix44, to cache how complex the matrix is.Gravatar reed@google.com2012-12-03
| | | | | | | | | | | | add bench optimize operator== by performing 4 compares in a row before checking optimize setconcat by noting when we can write the answer directly into this At least on this macbook, I had to mark helpers like isIdentity() as inline to get them inlined. Review URL: https://codereview.appspot.com/6863053 git-svn-id: http://skia.googlecode.com/svn/trunk@6655 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixed remaining clang compiler warningsGravatar robertphillips@google.com2012-12-03
| | | | | | | | https://codereview.appspot.com/6865053/ git-svn-id: http://skia.googlecode.com/svn/trunk@6646 2bbb7eff-a529-9590-31e7-b0007b416f81
* Rename SkTDLinkedList to SkTInternalLinked list, add some methods useful for ↵Gravatar bsalomon@google.com2012-12-03
| | | | | | | | forthcoming SkTLList. Review URL: https://codereview.appspot.com/6858101 git-svn-id: http://skia.googlecode.com/svn/trunk@6643 2bbb7eff-a529-9590-31e7-b0007b416f81
* Keep track of identity SkMatrix44sGravatar jamesr@chromium.org2012-11-29
| | | | | | | | | This keeps a bool on SkMatrix44 indicating if we know for sure that the matrix is identity, similar to the TypeMask on SkMatrix. This is useful to early-out of potentially expensive matrix math at the cost of some memory. Review URL: https://codereview.appspot.com/6854113 git-svn-id: http://skia.googlecode.com/svn/trunk@6620 2bbb7eff-a529-9590-31e7-b0007b416f81
* add SkPictureUtils::GatherPixelRefs()Gravatar reed@google.com2012-11-29
| | | | | | Review URL: https://codereview.appspot.com/6845106 git-svn-id: http://skia.googlecode.com/svn/trunk@6615 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2012-11-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6577 2bbb7eff-a529-9590-31e7-b0007b416f81
* don't use bit-wise test for equality when using floats.Gravatar reed@google.com2012-11-27
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6557 2bbb7eff-a529-9590-31e7-b0007b416f81
* Deferred canvas can now be flushed if an image is beyond a certain size to ↵Gravatar sugoi@google.com2012-11-21
| | | | | | | | | | avoid a costly image copy. BUG=http://code.google.com/p/chromium/issues/detail?id=137924 TEST=TestDeferredCanvasBitmapSizeThreshold unit test Review URL: https://codereview.appspot.com/6852071 git-svn-id: http://skia.googlecode.com/svn/trunk@6527 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkMatrix44::setColMajord, etc.Gravatar vollick@chromium.org2012-11-19
| | | | | | | | | We have accessors for efficiently getting the matirx data, and it would be nice if we had similar methods for setting the matrix entries. Review URL: https://codereview.appspot.com/6851063 git-svn-id: http://skia.googlecode.com/svn/trunk@6494 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkMatrix44::setTransposeGravatar vollick@chromium.org2012-11-14
| | | | | | | | | It turned out that adding getDouble(...) and setDouble(...) made this change easier, so I've included that in this cl as well. Review URL: https://codereview.appspot.com/6845048 git-svn-id: http://skia.googlecode.com/svn/trunk@6424 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add support for SK_MSCALAR_IS_FLOATGravatar vollick@chromium.org2012-11-13
| | | | | | | | | | The default is SK_MSCALAR_IS_FLOAT. You'll have to explicitly define SK_MSCALAR_IS_DOUBLE if that's what you want. BUG=None Review URL: https://codereview.appspot.com/6843049 git-svn-id: http://skia.googlecode.com/svn/trunk@6403 2bbb7eff-a529-9590-31e7-b0007b416f81
* Changing the visibility of SkMatrix44::determinant().Gravatar vollick@chromium.org2012-11-13
| | | | | | Review URL: https://codereview.appspot.com/6819080 git-svn-id: http://skia.googlecode.com/svn/trunk@6395 2bbb7eff-a529-9590-31e7-b0007b416f81
* add const to src parameter for mapMScalars()Gravatar reed@google.com2012-11-12
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6386 2bbb7eff-a529-9590-31e7-b0007b416f81
* add explicit mapScalars and mapMScalars entry-points, instead of just map()Gravatar reed@google.com2012-11-09
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6373 2bbb7eff-a529-9590-31e7-b0007b416f81
* simplify macros, since we no longer support scalar == fixedGravatar reed@google.com2012-11-09
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6372 2bbb7eff-a529-9590-31e7-b0007b416f81
* Implement SkCondVar for windows.Gravatar scroggo@google.com2012-10-31
| | | | | | | | Only works on Vista or later, since it uses condition variables. Review URL: https://codereview.appspot.com/6812062 git-svn-id: http://skia.googlecode.com/svn/trunk@6225 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add SkThreadPool for managing threads.Gravatar scroggo@google.com2012-10-31
| | | | | | | | | | Skia-ized from https://codereview.appspot.com/6755043/ TODO: Use SkThread and platform independent features. Review URL: https://codereview.appspot.com/6777064 git-svn-id: http://skia.googlecode.com/svn/trunk@6217 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding virtual method to SkDeferredCanvas::NotificationClient for signaling ↵Gravatar junov@google.com2012-10-01
| | | | | | | | | | when commands are skipped due to the skip on clear optimization. TEST=DeferredCanvas unit test BUG=http://code.google.com/p/chromium/issues/detail?id=116840 Review URL: https://codereview.appspot.com/6590050 git-svn-id: http://skia.googlecode.com/svn/trunk@5747 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding hasPendingCommands API method to SkDeferredCanvasGravatar junov@chromium.org2012-09-20
| | | | | | | BUG=http://code.google.com/p/chromium/issues/detail?id=146178 Review URL: https://codereview.appspot.com/6550050 git-svn-id: http://skia.googlecode.com/svn/trunk@5632 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding a silent playback option to SkGPipeReadGravatar junov@chromium.org2012-09-20
| | | | | | | | | | | 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
* re-re-land 5578Gravatar reed@google.com2012-09-18
| | | | | | | | will follow w/ new .skp files to keep the waterfall green (I hope) git-svn-id: http://skia.googlecode.com/svn/trunk@5584 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 5580Gravatar reed@google.com2012-09-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5581 2bbb7eff-a529-9590-31e7-b0007b416f81
* re-land 5578 w/ pipe fixGravatar reed@google.com2012-09-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5580 2bbb7eff-a529-9590-31e7-b0007b416f81
* revert 5578 -- broke pipeGravatar reed@google.com2012-09-18
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5579 2bbb7eff-a529-9590-31e7-b0007b416f81
* Change drawBitmapRect to take a float-src-rect instead of integer-src-rect. ThisGravatar reed@google.com2012-09-18
| | | | | | | | | | | | | | | | | | allows the client more control over the scaling. Because of virtual overrides and wanting to keep the old call-sites up and running, this CL renames the virtual entry-point to drawBitmapRectToRect, and downgrades drawBitmapRect to a non-virtual helper function. The implementation is to use the float-rect for computing the matrix, but still cons-up an integer rect for the purposes of subsetting the original bitmap. We do this by calling float_src->roundOut(&int_src) so that we include all (partially) covered src pixels. No change needed on SkDevice, since that signature is explicitly passed the computed matrix. Review URL: https://codereview.appspot.com/6501140 git-svn-id: http://skia.googlecode.com/svn/trunk@5578 2bbb7eff-a529-9590-31e7-b0007b416f81
* Result of running tools/sanitize_source_files.py (which was added in ↵Gravatar rmistry@google.com2012-08-23
| | | | | | | | | https://codereview.appspot.com/6465078/) This CL is part I of IV (I broke down the 1280 files into 4 CLs). Review URL: https://codereview.appspot.com/6485054 git-svn-id: http://skia.googlecode.com/svn/trunk@5262 2bbb7eff-a529-9590-31e7-b0007b416f81
* Stop refcounting SkDeferredCanvas::NotificationClientGravatar junov@chromium.org2012-08-20
| | | | | | | | User code (i.e. WebKit) is now responsible for the lifetime scope of the notification client. With http://trac.webkit.org/changeset/125804 skia-side ref counting has become unnecessary and undesirable. Review URL: https://codereview.appspot.com/6443146 git-svn-id: http://skia.googlecode.com/svn/trunk@5169 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleaning up deprecated API in SkDeferredCanvasGravatar junov@chromium.org2012-08-17
| | | | | | Review URL: https://codereview.appspot.com/6461077 git-svn-id: http://skia.googlecode.com/svn/trunk@5152 2bbb7eff-a529-9590-31e7-b0007b416f81
* DirectWrite font host for skia.Gravatar bungeman@google.com2012-08-16
| | | | | | | https://codereview.appspot.com/5417063/ git-svn-id: http://skia.googlecode.com/svn/trunk@5128 2bbb7eff-a529-9590-31e7-b0007b416f81
* Extended Inst counting to find "unknown" leaked object (SkTMaskGamma)Gravatar robertphillips@google.com2012-08-16
| | | | | | | | http://codereview.appspot.com/6453127/ git-svn-id: http://skia.googlecode.com/svn/trunk@5123 2bbb7eff-a529-9590-31e7-b0007b416f81
* Augmenting SkDeferredCanvas notification interface to signal flushes and ↵Gravatar junov@chromium.org2012-08-14
| | | | | | | | | | | | 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
* Moving DeferredDevice and DeferredGPipeController classes out of the ↵Gravatar junov@chromium.org2012-08-07
| | | | | | | | 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
* Removing the SkPicture backend from SkDeferredCanvas codeGravatar junov@chromium.org2012-08-07
| | | | | | Review URL: https://codereview.appspot.com/6446095 git-svn-id: http://skia.googlecode.com/svn/trunk@4974 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding API to SkGPipe and SkDeferredCanvas for controlling memory usage ↵Gravatar junov@chromium.org2012-08-07
| | | | | | | | | 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
* Turning on deferred canvas SkGPipe backend by defaultGravatar junov@chromium.org2012-08-01
| | | | | | Review URL: https://codereview.appspot.com/6452080 git-svn-id: http://skia.googlecode.com/svn/trunk@4897 2bbb7eff-a529-9590-31e7-b0007b416f81
* Make SkDeferredCanvas query SkGPipeWriter for space allocated for bitmaps.Gravatar scroggo@google.com2012-07-26
| | | | | | | | | | | 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
* Refactoring how SkDeferredCanvas manages mutable bitmapsGravatar junov@chromium.org2012-07-25
| | | | | | | | | | | | | 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
* Remove SkSfntUtils, as it is not longer used.Gravatar bungeman@google.com2012-07-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4735 2bbb7eff-a529-9590-31e7-b0007b416f81
* SkSfntUtils should use public types.Gravatar bungeman@google.com2012-07-24
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4734 2bbb7eff-a529-9590-31e7-b0007b416f81
* Response to post-commit review comments on r4714Gravatar junov@chromium.org2012-07-23
| | | | | | | | | Correcting formatting and adding const in SkDeferredCanvas.h Unreviewed git-svn-id: http://skia.googlecode.com/svn/trunk@4718 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fix unbound memory consumption problem with run away deferred canvases.Gravatar junov@chromium.org2012-07-23
| | | | | | | | | | | | 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