aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/image/SkSurface.cpp
Commit message (Collapse)AuthorAge
* Add a 'unique' method to SkRefCnt, document the usage, and add support.Gravatar bungeman@google.com2013-07-19
| | | | | | | | | | | | | | | | | | std::shared_ptr has a method called 'unique' which captures the concept that a reference count of 1 is special, and can be used to optimize copy on write. It also has some undocumented need for memory barriers in certain situations and those needs are documented here. The motivation for looking into this is crbug.com/258499 . The use of the reference count in this manner is a benign race with both ref() and unref(). By introducing sk_atomic_unprotected_read, it is possible for Chromium to annotate this read to tell ThreadSanitizer that this is known. R=bsalomon@google.com Review URL: https://codereview.chromium.org/18770007 git-svn-id: http://skia.googlecode.com/svn/trunk@10221 2bbb7eff-a529-9590-31e7-b0007b416f81
* Adding optimization to avoid image copy in SkSurface copy on write when ↵Gravatar commit-bot@chromium.org2013-04-22
| | | | | | | | | | | | | | | content is discardable This patch also adds code to SkDeferredCanvas to trigger the optimization. TEST=DeferredSurfaceCopy bench, Surface unit test R=reed@google.com Author: junov@chromium.org Review URL: https://chromiumcodereview.appspot.com/14063015 git-svn-id: http://skia.googlecode.com/svn/trunk@8797 2bbb7eff-a529-9590-31e7-b0007b416f81
* Build fix: moving more inline functions into headerGravatar junov@chromium.org2013-04-16
| | | | | | TBR=reed git-svn-id: http://skia.googlecode.com/svn/trunk@8710 2bbb7eff-a529-9590-31e7-b0007b416f81
* Build fix: moving some inline function definitions into header.Gravatar junov@chromium.org2013-04-16
| | | | | | TBR=reed git-svn-id: http://skia.googlecode.com/svn/trunk@8709 2bbb7eff-a529-9590-31e7-b0007b416f81
* Cleanup: Removing unnecessary args/complexity in SkSurface_Base and friendsGravatar junov@chromium.org2013-04-16
| | | | | | Review URL: https://codereview.chromium.org/14263017 git-svn-id: http://skia.googlecode.com/svn/trunk@8708 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fixing viral copy/paste typo Shapshot -> SnapshotGravatar junov@chromium.org2013-04-12
| | | | | | Unreviewed git-svn-id: http://skia.googlecode.com/svn/trunk@8667 2bbb7eff-a529-9590-31e7-b0007b416f81
* Sanitizing source files in Skia_Periodic_House_KeepingGravatar skia.committer@gmail.com2013-01-26
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@7406 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove unused (and undefined) SkColorSpace parameter.Gravatar mike@reedtribe.org2012-11-15
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@6427 2bbb7eff-a529-9590-31e7-b0007b416f81
* Fleshed out GPU portion of image/surface featureGravatar robertphillips@google.com2012-10-31
| | | | | | | | https://codereview.appspot.com/6813055/ git-svn-id: http://skia.googlecode.com/svn/trunk@6214 2bbb7eff-a529-9590-31e7-b0007b416f81
* re-enable inst countingGravatar reed@google.com2012-08-28
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@5308 2bbb7eff-a529-9590-31e7-b0007b416f81
* Add caching of the snapshot image form a surfaceGravatar reed@google.com2012-08-28
| | | | | | | | | Notify the surface when the canvas draws into it, so it can invalidate the cached image, and (if needed) perform a copy-on-write on the surface if it was being shared with the image. Review URL: https://codereview.appspot.com/6441115 git-svn-id: http://skia.googlecode.com/svn/trunk@5306 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
* change SkSurface::newCanvas() to getCanvas(), and redefine its life-cycle to beGravatar reed@google.com2012-07-30
| | | | | | | | | | | a single canvas for the lifetime of the surface. Get a playback copy from the src picture, so we can continue to record into the original picture. git-svn-id: http://skia.googlecode.com/svn/trunk@4842 2bbb7eff-a529-9590-31e7-b0007b416f81
* expand private subclasses into separate filesGravatar reed@google.com2012-07-30
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4835 2bbb7eff-a529-9590-31e7-b0007b416f81
* check-point for image/surface workGravatar mike@reedtribe.org2012-07-29
| | | | git-svn-id: http://skia.googlecode.com/svn/trunk@4823 2bbb7eff-a529-9590-31e7-b0007b416f81
* check-point for surface experimentGravatar reed@google.com2012-07-27
git-svn-id: http://skia.googlecode.com/svn/trunk@4819 2bbb7eff-a529-9590-31e7-b0007b416f81