aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/image/SkImage_Raster.cpp
Commit message (Collapse)AuthorAge
* lock pixels in image when bitmap is immutable and not-lazyGravatar reed2015-07-30
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1266143003
* fix empty image constructorGravatar reed2015-07-30
| | | | | | | | | fBitmap was not fully constructed yet BUG=skia: TBR= Review URL: https://codereview.chromium.org/1264773004
* unify pixelref and image ID space, so we can share IDs when we share pixelsGravatar reed2015-07-30
| | | | | | | | I view this as a performance opportunity, not a feature or bug fix per-se. BUG=skia: Review URL: https://codereview.chromium.org/1266883002
* SkImage_Raster's pixels are always immutable.Gravatar reed2015-07-29
| | | | | | | | | | | | | | | | | | To make this work, we tag their pixelrefs as temporarily immutable, allowing ourselves to restore the pixels to mutability only when the image drops away. This should allow us to wobble back and forth between writing to the Surface and reading from the Image without a COW, with the Surface seeing mutable pixels and the Image seeing immutable pixels. The big idea is, Image doesn't need forever-immutable pixels, it just needs pixels that are immutable as long as it's alive. BUG=skia: patch from issue 804523002 at patchset 40001 (http://crrev.com/804523002#ps40001) Review URL: https://codereview.chromium.org/1254383006
* Make peekPixels() usable with raster surface snapshotsGravatar fmalita2015-07-27
| | | | | | | | | | | | | | | SkSurface_Raster snapshots do not lock their backing bitmaps when the pixel ref is shared - they only lock on deep-copy. But since for raster surfaces the pixels are always in memory, I think it would be OK to also lock in the former case. This allows for optimized (zero-copy) reads of raster surface snapshot data. R=reed@google.com Review URL: https://codereview.chromium.org/1256993002
* Fix SkImage::asLegacyBitmap() rowBytes assertGravatar fmalita2015-07-09
| | | | | | | | When reusing the pixel ref, we need to observe its rowBytes. R=reed@google.com Review URL: https://codereview.chromium.org/1227413002
* Add image->bitmapGravatar reed2015-07-08
| | | | | | | | BUG=skia: patch from issue 1212163012 at patchset 1 (http://crrev.com/1212163012#ps1) Review URL: https://codereview.chromium.org/1208993017
* add SkImage::NewFromBitmapGravatar reed2015-07-07
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1217053003
* add colortable param to newrastercopyGravatar reed2015-07-03
| | | | | | | | BUG=skia: TBR= NOTREECHECKS=True Review URL: https://codereview.chromium.org/1222683004
* change old picture serialization to really handle imagesGravatar reed2015-06-22
| | | | | | BUG=skia:3965 Review URL: https://codereview.chromium.org/1199473002
* add callbacks to Images that wrap client-provided contentGravatar reed2015-06-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1169553003
* Make drawImage a virtual on SkDeviceGravatar reed2015-05-06
| | | | | | | | This reverts commit 06dad4b92f1fcb593bc686f9537d3e0d866b2241. BUG=485243 Review URL: https://codereview.chromium.org/1129843003
* Revert of Revert of Revert of Make drawImage a virtual on SkDevice (patchset ↵Gravatar reed2015-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #1 id:1 of https://codereview.chromium.org/1126273002/) Reason for revert: still breaking webglconformance Original issue's description: > Revert of Revert of Make drawImage a virtual on SkDevice (patchset #1 id:1 of https://codereview.chromium.org/1124003002/) > > Reason for revert: > retry now that some fixes (onDrawImage overrides) have landed in chrome/blink > > Original issue's description: > > Revert of Make drawImage a virtual on SkDevice (patchset #4 id:60001 of https://codereview.chromium.org/1122643005/) > > > > Reason for revert: > > speculative to see if it unblocks DEPS roll > > > > Original issue's description: > > > Make drawImage a virtual on SkDevice > > > > > > Now with patch for SkDeferredCanvas > > > > > > This reverts commit 119468b71f8f4f45657ab30ead331be665de5a57. > > > > > > BUG=skia: > > > > > > Committed: https://skia.googlesource.com/skia/+/14fe8fd3e53b5e988aac189a8bc3ed28904d85c8 > > > > TBR=robertphillips@google.com,mtklein@google.com,reed@google.com > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/3538e3bfe2e00bc1b5b48d977fa7adff64d8c96b > > TBR=robertphillips@google.com,mtklein@google.com,reed@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/620ba3afe09d4173c87537040fe50c1c1895fb1a TBR=robertphillips@google.com,mtklein@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1127993004
* Revert of Revert of Make drawImage a virtual on SkDevice (patchset #1 id:1 ↵Gravatar reed2015-05-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1124003002/) Reason for revert: retry now that some fixes (onDrawImage overrides) have landed in chrome/blink Original issue's description: > Revert of Make drawImage a virtual on SkDevice (patchset #4 id:60001 of https://codereview.chromium.org/1122643005/) > > Reason for revert: > speculative to see if it unblocks DEPS roll > > Original issue's description: > > Make drawImage a virtual on SkDevice > > > > Now with patch for SkDeferredCanvas > > > > This reverts commit 119468b71f8f4f45657ab30ead331be665de5a57. > > > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/14fe8fd3e53b5e988aac189a8bc3ed28904d85c8 > > TBR=robertphillips@google.com,mtklein@google.com,reed@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/3538e3bfe2e00bc1b5b48d977fa7adff64d8c96b TBR=robertphillips@google.com,mtklein@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1126273002
* Revert of Make drawImage a virtual on SkDevice (patchset #4 id:60001 of ↵Gravatar reed2015-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1122643005/) Reason for revert: speculative to see if it unblocks DEPS roll Original issue's description: > Make drawImage a virtual on SkDevice > > Now with patch for SkDeferredCanvas > > This reverts commit 119468b71f8f4f45657ab30ead331be665de5a57. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/14fe8fd3e53b5e988aac189a8bc3ed28904d85c8 TBR=robertphillips@google.com,mtklein@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1124003002
* Make drawImage a virtual on SkDeviceGravatar reed2015-05-05
| | | | | | | | | | Now with patch for SkDeferredCanvas This reverts commit 119468b71f8f4f45657ab30ead331be665de5a57. BUG=skia: Review URL: https://codereview.chromium.org/1122643005
* Revert of Make drawImage a virtual on SkDevice (patchset #3 id:40001 of ↵Gravatar reed2015-05-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/11188… (patchset #2 id:20001 of https://codereview.chromium.org/1122813002/) Reason for revert: did not update DeferredCanvas Original issue's description: > Make drawImage a virtual on SkDevice (patchset #3 id:40001 of https://codereview.chromium.org/1118823004/)" > > Fixed serialization from prev CL > > This reverts commit 973d1f1f60f2710a268a3165aa4f3460502d4be5. > > BUG=skia:3803 > TBR= > > Committed: https://skia.googlesource.com/skia/+/5392785080001fe737fac9e5801fc2127a78d4fb TBR= NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3803 Review URL: https://codereview.chromium.org/1123743006
* Make drawImage a virtual on SkDevice (patchset #3 id:40001 of ↵Gravatar reed2015-05-04
| | | | | | | | | | | | | https://codereview.chromium.org/1118823004/)" Fixed serialization from prev CL This reverts commit 973d1f1f60f2710a268a3165aa4f3460502d4be5. BUG=skia:3803 TBR= Review URL: https://codereview.chromium.org/1122813002
* Revert of make drawImage a virtual on SkDevice (patchset #3 id:40001 of ↵Gravatar reed2015-05-04
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1118823004/) Reason for revert: need to make serialization work for pictures, now that images are "real" Original issue's description: > make drawImage a virtual on SkDevice > > default impl will turn the Image into a (raster) bitmap and call drawBitmap. > > BUG=skia:3803 > > Committed: https://skia.googlesource.com/skia/+/f603fb3d0e5fa57c3f228d66945bef198b001135 TBR=bsalomon@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3803 Review URL: https://codereview.chromium.org/1122803002
* make drawImage a virtual on SkDeviceGravatar reed2015-05-04
| | | | | | | | default impl will turn the Image into a (raster) bitmap and call drawBitmap. BUG=skia:3803 Review URL: https://codereview.chromium.org/1118823004
* Update more directories under src/ to follow C++11 style rule for ↵Gravatar tfarina2015-04-27
| | | | | | | | | | | | | | | | | | | | | {virtual,override}. The Google style guide states that only one of {virtual,override,final} should be used for each declaration, since override implies virtual and final implies both virtual and override. The entries were found using the following command line: $ find src/ -iname "*.h" -o -iname "*.cpp" | xargs pcregrep -M "[^\n/]+virtual\ [^;{]+\ [a-zA-Z0-9_]+\([^;{]+\ override[ \n]*[;{]" The regex was a courtesy of nick@chromium.org BUG=None R=mtklein@google.com NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1086143003
* C++11 override should now be supported by all of {bots,Chrome,Android,Mozilla}Gravatar mtklein2015-03-25
| | | | | | | | | NOPRESUBMIT=true BUG=skia: DOCS_PREVIEW= https://skia.org/?cl=1037793002 Review URL: https://codereview.chromium.org/1037793002
* Make SkNewImageFromBitmap take pixel ref origin into accountGravatar kkinnunen2015-02-23
| | | | | | | | Make SkNewImageFromBitmap take pixel ref origin into account. BUG=skia:3388 Review URL: https://codereview.chromium.org/951483002
* remove unneeded prerollGravatar reed2015-02-15
| | | | | | | BUG=skia: TBR=robertphilips Review URL: https://codereview.chromium.org/927443006
* initial preroll apiGravatar reed2015-01-25
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/855473002
* more reinforcement that images never have zero width or heightGravatar reed2015-01-23
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/869743002
* Fix up all the easy virtual ... SK_OVERRIDE cases.Gravatar mtklein2015-01-09
| | | | | | | | | | | | This fixes every case where virtual and SK_OVERRIDE were on the same line, which should be the bulk of cases. We'll have to manually clean up the rest over time unless I level up in regexes. for f in (find . -type f); perl -p -i -e 's/virtual (.*)SK_OVERRIDE/\1SK_OVERRIDE/g' $f; end BUG=skia: Review URL: https://codereview.chromium.org/806653007
* add ImageGenerator::NewFromData to porting layerGravatar reed2015-01-07
| | | | | | BUG=skia:3275 Review URL: https://codereview.chromium.org/834633006
* change API contract: disallow zero-sized images or surfacesGravatar reed2014-12-31
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/830033003
* fix images in multi-thread by doing shallow-copiesGravatar reed2014-12-25
| | | | | | | BUG=skia: TBR=mtklein@google.com Review URL: https://codereview.chromium.org/791473006
* dd readPixels to SkImageGravatar reed2014-12-10
| | | | | | | | patch from issue 789673007 at patchset 1 (http://crrev.com/789673007#ps1) BUG=skia: Review URL: https://codereview.chromium.org/793723002
* add SkImage::newSurfaceGravatar reed2014-11-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/741763002
* Override SkCanvas::drawImage() in SkRecorder.Gravatar piotaixr2014-10-16
| | | | | | BUG=skia:2947 Review URL: https://codereview.chromium.org/610003002
* Rename SkImage::draw(_, SkRect, SkRect) in SkImage::drawRect()Gravatar piotaixr2014-09-26
| | | | | | | | | BUG=skia:2947 R=reed@google.com, junov@chromium.org Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/605843002
* Cleaning includes in SkImage-related filesGravatar piotaixr2014-09-22
| | | | | | | | | BUG=skia:2948 R=junov@chromium.org, tfarina@chromium.org, reed@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/586853003
* Hide fields in SkImageInfoGravatar reed2014-09-03
| | | | | | | | | R=rmistry@google.com TBR=bsalomon Author: reed@google.com Review URL: https://codereview.chromium.org/536003002
* Add the method isOpaque() to SkImageGravatar piotaixr2014-08-19
| | | | | | | | | BUG=skia:2766 R=junov@chromium.org, halcanary@google.com, scroggo@google.com, reed@google.com, bsalomon@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/406673003
* SkImage::NewFromGenerator(SkImageGenerator*), and a unit test.Gravatar halcanary2014-08-18
| | | | | | | | R=reed@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/465823003
* Revert of SkImage::NewFromGenerator(SkImageGenerator*), and a unit test. ↵Gravatar halcanary2014-08-12
| | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/465823003/) Reason for revert: Mac bots are failing Original issue's description: > SkImage::NewFromGenerator(SkImageGenerator*), and a unit test. > > Committed: https://skia.googlesource.com/skia/+/186f7b04956a1742f185a4ca69b44b52bc50e7fc R=reed@google.com TBR=reed@google.com NOTREECHECKS=true NOTRY=true Author: halcanary@google.com Review URL: https://codereview.chromium.org/453723003
* SkImage::NewFromGenerator(SkImageGenerator*), and a unit test.Gravatar halcanary2014-08-12
| | | | | | | | R=reed@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/465823003
* Revert of SkImage_Codec is Lazy (https://codereview.chromium.org/460823002/)Gravatar halcanary2014-08-12
| | | | | | | | | | | | | | | | | | | Reason for revert: breaks chromium - no SkDecodingImageGenerator::Create Original issue's description: > SkImage_Codec is Lazy > > Committed: https://skia.googlesource.com/skia/+/e36f499110da8c2e2aa05227bee6deb967309ead R=reed@google.com TBR=reed@google.com NOTREECHECKS=true NOTRY=true Author: halcanary@google.com Review URL: https://codereview.chromium.org/461043002
* SkImage_Codec is LazyGravatar halcanary2014-08-12
| | | | | | | | R=reed@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/460823002
* mark all SkImage methods const, so we can make it thread-safeGravatar reed2014-08-11
| | | | | | | | | BUG=skia: R=mtklein@google.com, halcanary@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/453613003
* Now able to set the localMatrix when creating a SkShader from a SkImageGravatar piotaixr2014-07-22
| | | | | | | | | BUG=skia:2771 R=junov@chromium.org, reed@chromium.org, bsalomon@chromium.org, bsalomon@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/409653003
* Deleted SkImage::newShaderClamp: not used, not implemented.Gravatar piotaixr2014-07-14
| | | | | | | | | | | Implemented SkImage::newShader. BUG=skia:2701, 344804 R=junov@chromium.org, reed@chromium.org, bsalomon@chromium.org, reed@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/345463009
* Revert "Revert of setConfig -> setInfo ↵Gravatar commit-bot@chromium.org2014-05-30
| | | | | | | | | | | | | | (https://codereview.chromium.org/308683005/)" This reverts commit eecaea4148805834f223681f70b6488ceba12d09. R=robertphillips@google.com, scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/301283003 git-svn-id: http://skia.googlecode.com/svn/trunk@14989 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert of setConfig -> setInfo (https://codereview.chromium.org/308683005/)Gravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | | | | | | | | | | | | | | Reason for revert: broke all Windows bots Original issue's description: > setConfig -> setInfo > > BUG=skia: > > Committed: http://code.google.com/p/skia/source/detail?r=14978 R=robertphillips@google.com, reed@google.com TBR=reed@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: epoger@google.com Review URL: https://codereview.chromium.org/302053002 git-svn-id: http://skia.googlecode.com/svn/trunk@14979 2bbb7eff-a529-9590-31e7-b0007b416f81
* setConfig -> setInfoGravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | BUG=skia: R=robertphillips@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/308683005 git-svn-id: http://skia.googlecode.com/svn/trunk@14978 2bbb7eff-a529-9590-31e7-b0007b416f81
* Revert "Revert of add colortable support to imagegenerator ↵Gravatar commit-bot@chromium.org2014-05-29
| | | | | | | | | | | | | | | | | (https://codereview.chromium.org/304443003/)" Fix is to add colortable param to installPixels() This reverts commit 924205aaf2e0c3c65dda13e0eaccde3e7b2a5c40. BUG=skia: R=scroggo@google.com, reed@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/300263005 git-svn-id: http://skia.googlecode.com/svn/trunk@14958 2bbb7eff-a529-9590-31e7-b0007b416f81
* remove SkBitmap::asImageInfoGravatar commit-bot@chromium.org2014-05-27
| | | | | | | | | | | BUG=skia: R=scroggo@google.com, halcanary@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/305483005 git-svn-id: http://skia.googlecode.com/svn/trunk@14909 2bbb7eff-a529-9590-31e7-b0007b416f81