aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkBitmapDevice.cpp
Commit message (Collapse)AuthorAge
* Begin kLegacyFontHost_InitType cleanupGravatar robertphillips2015-06-22
| | | | | | | | | | | | | | | | | | This CL starts the process of pushing kLegacyFontHost_InitType-type SkSurfaceProps up the call stack and out of Skia. It: Gets rid of the default SkBaseDevice ctor. This means everyone has to always hand an explicit SkSurfaceProps to it. It makes public the SkBitmapDevice creation methods that require SkSurfaceProps. Removes (in Skia's code base) all SkBitmapDevice ctor calls w/o SkSurfaceProps. Makes the "recording" canvases (e.g., pdf, svg, xps) explicitly not use kLegacyFontHost_InitType. Replicates the creating canvas/device's flags on saveLayer devices BUG=skia:3934 Review URL: https://codereview.chromium.org/1204433002
* Rename all things "leaky" in SkDeviceGravatar robertphillips2015-06-19
| | | | Review URL: https://codereview.chromium.org/1198603002
* remove SkDevicePropertiesGravatar robertphillips2015-06-19
| | | | | | There is a lot more clean up to do here but this is probably a big enough bite. Review URL: https://codereview.chromium.org/1196683003
* Add useDFT field to SkDevicePropertiesGravatar robertphillips2015-06-18
| | | | Review URL: https://codereview.chromium.org/1191943002
* clarify that accessPixels is for write-access, and peekPixels is ROGravatar reed2015-06-05
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1162203005
* don't use accessBitmapGravatar reed2015-05-26
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1154293002
* change internals over to SkPixmap and stop using accessBitmapGravatar reed2015-05-26
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1155443004
* remove unneeded device:lockpixelsGravatar reed2015-05-25
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1156073003
* SkCanvas::resetForNextPicture()Gravatar mtklein2015-04-08
| | | | | | | | | | | | | | | No diffs against head for DM --config 8888 gpu 2ndpic-8888 2ndpic-gpu. picture_overhead_draw 1.62us -> 1.6us 0.99x picture_overhead_nodraw 792ns -> 342ns 0.43x tiles and serialization modes will also test this a bit. BUG=chromium:470553 Committed: https://skia.googlesource.com/skia/+/f920e468ac66a36c9653d1b11181480295044c7d Review URL: https://codereview.chromium.org/1067893002
* Revert of SkCanvas::resetForNextPicture() (patchset #4 id:60001 of ↵Gravatar mtklein2015-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1067893002/) Reason for revert: https://uberchromegw.corp.google.com/i/client.skia/builders/Linux%20Tests/builds/1816 Original issue's description: > SkCanvas::resetForNextPicture() > > No diffs against head for DM --config 8888 gpu 2ndpic-8888 2ndpic-gpu. > > picture_overhead_draw 1.62us -> 1.6us 0.99x > picture_overhead_nodraw 792ns -> 342ns 0.43x > > tiles and serialization modes will also test this a bit. > > BUG=chromium:470553 > > Committed: https://skia.googlesource.com/skia/+/f920e468ac66a36c9653d1b11181480295044c7d TBR=mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:470553 Review URL: https://codereview.chromium.org/1062353002
* SkCanvas::resetForNextPicture()Gravatar mtklein2015-04-07
| | | | | | | | | | | | | No diffs against head for DM --config 8888 gpu 2ndpic-8888 2ndpic-gpu. picture_overhead_draw 1.62us -> 1.6us 0.99x picture_overhead_nodraw 792ns -> 342ns 0.43x tiles and serialization modes will also test this a bit. BUG=chromium:470553 Review URL: https://codereview.chromium.org/1067893002
* Revert[6] of Change device creation to see the (optional) layer-paintGravatar reed2015-03-14
| | | | | | | | | This reverts commit 173e5fe5f4be28272246e5676f5d2e5c4b1f9167. BUG=skia: TBR= Review URL: https://codereview.chromium.org/1010503002
* Revert of Revert of Revert of Revert of Revert of Change device creation to ↵Gravatar reed2015-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1005173004/) Reason for revert: arrrg. this is a staging nightmare. override required on the chrome side. must revert (again) Original issue's description: > Revert of Revert of Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1001423002/) > > Reason for revert: > chrome now has the new virtual, so trying again > > Original issue's description: > > Revert of Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1006923002/) > > > > Reason for revert: > > platform_canvas tests failures > > > > skia_unittests (with patch) skia_unittests (with patch) PlatformCanvas.TranslateLayer failed 2 > > Flakiness dashboard > > > > failures: > > PlatformCanvas.TranslateLayer > > PlatformCanvas.FillLayer > > > > Original issue's description: > > > Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1008863002/) > > > > > > Reason for revert: > > > guard in chrome has landed > > > > > > Original issue's description: > > > > Revert of Change device creation to see the (optional) layer-paint (patchset #9 id:160001 of https://codereview.chromium.org/988413003/) > > > > > > > > Reason for revert: > > > > need to have chrome opt-in for the older API before this can land (in chrome) > > > > > > > > Original issue's description: > > > > > Change device creation to see the (optional) layer-paint > > > > > > > > > > Motivation: > > > > > > > > > > PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice. > > > > > > > > > > This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands. > > > > > > > > > > Committed: https://skia.googlesource.com/skia/+/1182d9a96b80bd12183ee7c81325a979a51ee0c0 > > > > > > > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com > > > > NOPRESUBMIT=true > > > > NOTREECHECKS=true > > > > NOTRY=true > > > > > > > > Committed: https://skia.googlesource.com/skia/+/0e040f7da2fdfeb49aa60d24117306e3b1e6ea90 > > > > > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com > > > NOPRESUBMIT=true > > > NOTREECHECKS=true > > > NOTRY=true > > > > > > Committed: https://skia.googlesource.com/skia/+/f7076a13e2d4269903b34ef2780e1c84723e4477 > > > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > > > Committed: https://skia.googlesource.com/skia/+/8e14d660b2a434bc708a70180c84210883611683 > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com,reed@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://skia.googlesource.com/skia/+/307d1ed129ff75eb64137dea75df858f9e250b69 TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1005183003
* Revert of Revert of Revert of Revert of Change device creation to see the ↵Gravatar reed2015-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1001423002/) Reason for revert: chrome now has the new virtual, so trying again Original issue's description: > Revert of Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1006923002/) > > Reason for revert: > platform_canvas tests failures > > skia_unittests (with patch) skia_unittests (with patch) PlatformCanvas.TranslateLayer failed 2 > Flakiness dashboard > > failures: > PlatformCanvas.TranslateLayer > PlatformCanvas.FillLayer > > Original issue's description: > > Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1008863002/) > > > > Reason for revert: > > guard in chrome has landed > > > > Original issue's description: > > > Revert of Change device creation to see the (optional) layer-paint (patchset #9 id:160001 of https://codereview.chromium.org/988413003/) > > > > > > Reason for revert: > > > need to have chrome opt-in for the older API before this can land (in chrome) > > > > > > Original issue's description: > > > > Change device creation to see the (optional) layer-paint > > > > > > > > Motivation: > > > > > > > > PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice. > > > > > > > > This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands. > > > > > > > > Committed: https://skia.googlesource.com/skia/+/1182d9a96b80bd12183ee7c81325a979a51ee0c0 > > > > > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com > > > NOPRESUBMIT=true > > > NOTREECHECKS=true > > > NOTRY=true > > > > > > Committed: https://skia.googlesource.com/skia/+/0e040f7da2fdfeb49aa60d24117306e3b1e6ea90 > > > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > > > Committed: https://skia.googlesource.com/skia/+/f7076a13e2d4269903b34ef2780e1c84723e4477 > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://skia.googlesource.com/skia/+/8e14d660b2a434bc708a70180c84210883611683 TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1005173004
* Revert of Revert of Revert of Change device creation to see the (optional) ↵Gravatar reed2015-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1006923002/) Reason for revert: platform_canvas tests failures skia_unittests (with patch) skia_unittests (with patch) PlatformCanvas.TranslateLayer failed 2 Flakiness dashboard failures: PlatformCanvas.TranslateLayer PlatformCanvas.FillLayer Original issue's description: > Revert of Revert of Change device creation to see the (optional) layer-paint (patchset #1 id:1 of https://codereview.chromium.org/1008863002/) > > Reason for revert: > guard in chrome has landed > > Original issue's description: > > Revert of Change device creation to see the (optional) layer-paint (patchset #9 id:160001 of https://codereview.chromium.org/988413003/) > > > > Reason for revert: > > need to have chrome opt-in for the older API before this can land (in chrome) > > > > Original issue's description: > > > Change device creation to see the (optional) layer-paint > > > > > > Motivation: > > > > > > PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice. > > > > > > This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands. > > > > > > Committed: https://skia.googlesource.com/skia/+/1182d9a96b80bd12183ee7c81325a979a51ee0c0 > > > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com > > NOPRESUBMIT=true > > NOTREECHECKS=true > > NOTRY=true > > > > Committed: https://skia.googlesource.com/skia/+/0e040f7da2fdfeb49aa60d24117306e3b1e6ea90 > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://skia.googlesource.com/skia/+/f7076a13e2d4269903b34ef2780e1c84723e4477 TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1001423002
* Revert of Revert of Change device creation to see the (optional) layer-paint ↵Gravatar reed2015-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1008863002/) Reason for revert: guard in chrome has landed Original issue's description: > Revert of Change device creation to see the (optional) layer-paint (patchset #9 id:160001 of https://codereview.chromium.org/988413003/) > > Reason for revert: > need to have chrome opt-in for the older API before this can land (in chrome) > > Original issue's description: > > Change device creation to see the (optional) layer-paint > > > > Motivation: > > > > PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice. > > > > This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands. > > > > Committed: https://skia.googlesource.com/skia/+/1182d9a96b80bd12183ee7c81325a979a51ee0c0 > > TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://skia.googlesource.com/skia/+/0e040f7da2fdfeb49aa60d24117306e3b1e6ea90 TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1006923002
* Revert of Change device creation to see the (optional) layer-paint (patchset ↵Gravatar reed2015-03-13
| | | | | | | | | | | | | | | | | | | | | | | | | #9 id:160001 of https://codereview.chromium.org/988413003/) Reason for revert: need to have chrome opt-in for the older API before this can land (in chrome) Original issue's description: > Change device creation to see the (optional) layer-paint > > Motivation: > > PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice. > > This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands. > > Committed: https://skia.googlesource.com/skia/+/1182d9a96b80bd12183ee7c81325a979a51ee0c0 TBR=halcanary@google.com,senorblanco@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1008863002
* Change device creation to see the (optional) layer-paintGravatar reed2015-03-13
| | | | | | | | | | Motivation: PDFDevice currently relies on 1) being told that the layer's paint has an imagefilter, and in the case, it creates a rasterdevice. It then relies on (2) canvas itself sniffing the layer's paint and offering to apply-the-imagefilter to call drawSprite instead of drawDevice. This subtle interchange is fragile, and also does not support other unsupported PDF features like colorfilters. This CL is a step toward making this use-raster-instead-of-native approach to layers more completely in the subclass' hands. Review URL: https://codereview.chromium.org/988413003
* Revert of Revert of replace kIgnore_SkAlphaType with kUnknown_SkAlphaType ↵Gravatar reed2015-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/966753002/) Reason for revert: Android has been updated, so we can re-land this. Original issue's description: > Revert of replace kIgnore_SkAlphaType with kUnknown_SkAlphaType (patchset #3 id:40001 of https://codereview.chromium.org/964613002/) > > Reason for revert: > This breaks Android framework build. See > > https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantisg-userdebug/1759130/7f0fcdbf3c0d47530d770a15c912298dac20dd7d90a01de63ecb9ba16c96b25c/logs/build_error.log?Expires=1425047630&GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Signature=BHPS1lffyH7WykwyEw5RXVVXWqQK5rab%2B6Pl1VaUrTlmWT%2FXb6fq%2FBe22AUDZYFPG24MBR%2F2IzIDzTqH3mihQS9wIkcKJ4kJpA2G%2BI3l8jCX20brZSr3bsDSx%2F4wsLwU1bBpIxI%2FbrauoPRqddbXP8sNI1l51u6ZCxpvRQms9Mc%3D > > We need to stop them from using kIgnore before we can reland this. > > Original issue's description: > > replace kIgnore_SkAlphaType with kUnknown_SkAlphaType > > > > BUG=skia: > > TBR= > > > > Committed: https://skia.googlesource.com/skia/+/1c8aeeaebce9675197be31bd769e8ffa2531bf86 > > TBR=reed@google.com,reed@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/574290f61a47bd1ce1f9e2d941533bda9c8f03fe TBR=reed@chromium.org,scroggo@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/966853002
* Revert of replace kIgnore_SkAlphaType with kUnknown_SkAlphaType (patchset #3 ↵Gravatar scroggo2015-02-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | id:40001 of https://codereview.chromium.org/964613002/) Reason for revert: This breaks Android framework build. See https://android-build.storage.googleapis.com/builds/git_master-skia-linux-volantisg-userdebug/1759130/7f0fcdbf3c0d47530d770a15c912298dac20dd7d90a01de63ecb9ba16c96b25c/logs/build_error.log?Expires=1425047630&GoogleAccessId=701025073339-mqn0q2nvir9iurm6q5d00tdv7blbgvjr%40developer.gserviceaccount.com&Signature=BHPS1lffyH7WykwyEw5RXVVXWqQK5rab%2B6Pl1VaUrTlmWT%2FXb6fq%2FBe22AUDZYFPG24MBR%2F2IzIDzTqH3mihQS9wIkcKJ4kJpA2G%2BI3l8jCX20brZSr3bsDSx%2F4wsLwU1bBpIxI%2FbrauoPRqddbXP8sNI1l51u6ZCxpvRQms9Mc%3D We need to stop them from using kIgnore before we can reland this. Original issue's description: > replace kIgnore_SkAlphaType with kUnknown_SkAlphaType > > BUG=skia: > TBR= > > Committed: https://skia.googlesource.com/skia/+/1c8aeeaebce9675197be31bd769e8ffa2531bf86 TBR=reed@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/966753002
* replace kIgnore_SkAlphaType with kUnknown_SkAlphaTypeGravatar reed2015-02-27
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/964613002
* use common impl for drawTextOnPathGravatar reed2015-02-17
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/925343003
* pass dst-rect through from drawBitmapRect for better precisionGravatar reed2014-12-15
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/797963002
* Change clear() to respect the clipGravatar reed2014-12-04
| | | | | | | | | This reverts commit af641a1c10f176cb9617026d3cc93c117a85d13d. BUG=skia: TBR= Review URL: https://codereview.chromium.org/783493002
* Revert "Change clear() to respect the clip"Gravatar reed2014-12-02
| | | | | | | | | This reverts commit 3729469d6a12266037b697c2192768545e097ab0. BUG=skia: TBR= Review URL: https://codereview.chromium.org/778563002
* Change clear() to respect the clipGravatar reed2014-12-02
| | | | | | | | patch from issue 769703002 at patchset 1 (http://crrev.com/769703002#ps1) BUG=skia: Review URL: https://codereview.chromium.org/772533004
* add roundOut that returns its resultGravatar reed2014-11-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/742663002
* rename filterTextFlags to disableLCDGravatar reed2014-11-13
| | | | | | | | | | | | | Under the hood, add SkPixelGeometry to the CreateInfo for new devices, allowing them to see their geometry (SkDeviceProperties) up front, rather than having it changed later. The only exception is for devices that are used on the root-layer, where we don't see the device until after the fact (at least as long as we allow clients to attach a device to a canvas externally). We also filter the geometry when we're creating a layer, so we can disable LCD text automatically if the layer is not marked as opaque. NOTRY=True -- gammatext flake? Review URL: https://codereview.chromium.org/719253002
* Rename onCreateDevice -> onCreateCompatibleDeviceGravatar fmalita2014-11-13
| | | | | | | | | | | | | | | | This is a port of https://codereview.chromium.org/723743002/ with the following changes: * drop the legacy onCreateDevice variant completely * also convert SkXPSDevice & SkGatherPixelRefsAndRects to the new API This is expected to break canaries and will require a manual/cowboy roll. TBR=reed@google.com NOTREECHECKS=true Review URL: https://codereview.chromium.org/720213002
* Revert of move to modify onCreateDevice virtual (patchset #2 id:20001 of ↵Gravatar reed2014-11-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/723743002/) Reason for revert: mac_chromium_rel_ng unittest failures. speculating caused by this cl. http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_ng/builds/5262 Original issue's description: > start to replace onCreateDevice with onCreateCompatibleDevice > > the new virtual takes a struct which we can amend in the future w/o having to > update our subclasses in chrome. > > BUG=skia: > NOTRY=True > > Committed: https://skia.googlesource.com/skia/+/b122ee50fb56cf6669fe1668b82c8815896e9943 TBR=fmalita@google.com,fmalita@chromium.org,reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/728433002
* start to replace onCreateDevice with onCreateCompatibleDeviceGravatar reed2014-11-12
| | | | | | | | | | the new virtual takes a struct which we can amend in the future w/o having to update our subclasses in chrome. BUG=skia: NOTRY=True Review URL: https://codereview.chromium.org/723743002
* Revert of Revert of Fix SkTextBlob offset semantics. (patchset #1 id:1 of ↵Gravatar fmalita2014-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/609223003/) Reason for revert: Re-landing: Chromium-side fix to be landed with the roll (https://codereview.chromium.org/607853003/) Original issue's description: > Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of https://codereview.chromium.org/605533002/) > > Reason for revert: > Breaking the Chrome builds with the error: > > [14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions > [14:54:14.318022] virtual void drawPosText(const SkDraw& draw, > [14:54:14.318082] ^ > > Original issue's description: > > Fix SkTextBlob offset semantics. > > > > Implement proper x/y drawTextBlob() handling by plumbing a > > drawPosText() offset parameter (to act as an additional glyph pos > > translation) throughout the device layer. > > > > The new offset superceeds the existing constY, with a minor semantic > > tweak: whereas previous implementations were ignoring constY in 2D > > positioning mode (scalarsPerGlyph == 2), now the offset is always > > observed, in all positioning modes. We can do this because existing > > drawPosText() clients always pass constY == 0 for full positioning mode. > > > > R=reed@google.com, jvanverth@google.com, robertphillips@google.com > > > > Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2 > > TBR=jvanverth@google.com,reed@google.com,bsalomon@google.com,fmalita@chromium.org > NOTREECHECKS=true > NOTRY=true > > Committed: https://skia.googlesource.com/skia/+/d46b8d2bab7cfba8458432248e1568ac377429e9 R=jvanverth@google.com, reed@google.com, bsalomon@google.com, robertphillips@google.com TBR=bsalomon@google.com, jvanverth@google.com, reed@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/607413003
* Revert of Fix SkTextBlob offset semantics. (patchset #2 id:20001 of ↵Gravatar robertphillips2014-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/605533002/) Reason for revert: Breaking the Chrome builds with the error: [14:54:14.317833] ../../skia/ext/pixel_ref_utils.cc:221:16: error: 'drawPosText' marked 'override' but does not override any member functions [14:54:14.318022] virtual void drawPosText(const SkDraw& draw, [14:54:14.318082] ^ Original issue's description: > Fix SkTextBlob offset semantics. > > Implement proper x/y drawTextBlob() handling by plumbing a > drawPosText() offset parameter (to act as an additional glyph pos > translation) throughout the device layer. > > The new offset superceeds the existing constY, with a minor semantic > tweak: whereas previous implementations were ignoring constY in 2D > positioning mode (scalarsPerGlyph == 2), now the offset is always > observed, in all positioning modes. We can do this because existing > drawPosText() clients always pass constY == 0 for full positioning mode. > > R=reed@google.com, jvanverth@google.com, robertphillips@google.com > > Committed: https://skia.googlesource.com/skia/+/c13bc571d3e61a43b87eb97f0719abd304cafaf2 R=jvanverth@google.com, reed@google.com, bsalomon@google.com, fmalita@chromium.org TBR=bsalomon@google.com, fmalita@chromium.org, jvanverth@google.com, reed@google.com NOTREECHECKS=true NOTRY=true Author: robertphillips@google.com Review URL: https://codereview.chromium.org/609223003
* Fix SkTextBlob offset semantics.Gravatar Florin Malita2014-09-26
| | | | | | | | | | | | | | | | Implement proper x/y drawTextBlob() handling by plumbing a drawPosText() offset parameter (to act as an additional glyph pos translation) throughout the device layer. The new offset superceeds the existing constY, with a minor semantic tweak: whereas previous implementations were ignoring constY in 2D positioning mode (scalarsPerGlyph == 2), now the offset is always observed, in all positioning modes. We can do this because existing drawPosText() clients always pass constY == 0 for full positioning mode. R=reed@google.com, jvanverth@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/605533002
* Introduce Props to surface (patchset #27 id:520001 of ↵Gravatar reed2014-09-22
| | | | | | | | | | | | https://codereview.chromium.org/551463004/)" This reverts commit 29c857d0f3a1cb837f73406eeb6ba9771879b5e7. TBR= Author: reed@google.com Review URL: https://codereview.chromium.org/588143004
* Revert of introduce Props to surface (patchset #27 id:520001 of ↵Gravatar reed2014-09-21
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/551463004/) Reason for revert: Broke call site in WebKit Original issue's description: > introduce Props to surface (work in progress) > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/3716fd067a5621bb94a6cb08d72afec8bf3aceda R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@google.com TBR=bsalomon@google.com, bungeman@google.com, fmalita@google.com, jvanverth@google.com, reed@google.com, robertphillips@google.com, vangelis@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Author: reed@chromium.org Review URL: https://codereview.chromium.org/583773004
* introduce Props to surface (work in progress)Gravatar reed2014-09-21
| | | | | | | | | BUG=skia: R=robertphillips@google.com, bsalomon@google.com, jvanverth@google.com, bungeman@google.com, fmalita@google.com, vangelis@chromium.org, reed@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/551463004
* Use SkBitmapCache to optimize readPixels on a texture-backed bitmapGravatar piotaixr2014-09-17
| | | | | | | | | BUG=skia:2786 R=junov@chromium.org, reed@google.com, bsalomon@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/533323002
* hide deviceproperties, prepare the way for surfacepropsGravatar reed2014-09-17
| | | | | | | | | | BUG=skia: NOTRY=True R=bungeman@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/577023002
* when we disable lcd for impl reasons, add kGenA8 to document the original intentGravatar reed2014-09-16
| | | | | | | | | BUG=skia: R=bungeman@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/572933004
* Hide fields in SkImageInfoGravatar reed2014-09-03
| | | | | | | | | R=rmistry@google.com TBR=bsalomon Author: reed@google.com Review URL: https://codereview.chromium.org/536003002
* make allocPixels throw on failureGravatar reed2014-09-02
| | | | | | | | | BUG=skia: R=mtklein@google.com, fmalita@google.com, fmalita@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/510423005
* Remove external SkImageFilter cache, and rename UniqueIDCache -> Cache.Gravatar senorblanco2014-08-08
| | | | | | | | | | | | There Can Only Be One.... Cache for SkImageFilter. R=bsalomon@google.com BUG=skia: Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/452923002
* Implement a persistent uniqueID-based cache for SkImageFilter.Gravatar senorblanco2014-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a unique ID to SkImageFilter, and use it as part of a persistent cache of image-filtered results. This is used for caching frame-to-frame coherent filters. We also keep track of which filter subtrees do not reference the src input, and use a GenID of zero for the src input in that case. That way, subtrees which are not dependent on the filter input can be cached independently of it. This gives approximately a 4X speedup on letmespellitoutforyou.com/samples/svg/filter_terrain.svg on Z620 and Nexus10. The cache key consists of the uniqueID of the filter, the clip bounds, the CTM and the genID of the input bitmap. Since this does not yet handle the case where the input primitives (and part of the resulting filter tree) are unchanged, we have to keep around the external cache for that painting case. When the work to cache unchanging input primitives is done, the old cache can be removed, and the new UniqueIDCache will be renamed to Cache. R=bsalomon@google.com, mtklein@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/414483003
* Add SkBitmap::readPixels() and reimplement copyTo and SkCanvas::readPixelsGravatar reed2014-07-13
| | | | | | | | | | This reverts commit 651eaeadeb0b1407f5fe192aeda90db1680fa2b8. TBR= Author: reed@chromium.org Review URL: https://codereview.chromium.org/390693002
* Revert of Add SkBitmap::readPixels() and reimplement copyTo and ↵Gravatar reed2014-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | SkCanvas::readPixels (https://codereview.chromium.org/388803007/) Reason for revert: still failing (randomly?) bench sometimes. need stack dump to diagnose. Original issue's description: > Add SkBitmap::readPixels() and reimplement copyTo and SkCanvas::readPixels > usning it. > > Revert "Revert of add readPixels() to SkBitmap (https://codereview.chromium.org/377303002/)" > > This reverts commit d08cb905a7cc80d8fb868bbd14fffe1cd68adcce. > > TBR=scroggo@google.com > > Committed: https://skia.googlesource.com/skia/+/debba5c3d091159149f8a88ab5dcd44dd72e0dc7 R=reed@google.com TBR=reed@google.com NOTREECHECKS=true NOTRY=true Author: reed@chromium.org Review URL: https://codereview.chromium.org/382543005
* Add SkBitmap::readPixels() and reimplement copyTo and SkCanvas::readPixelsGravatar reed2014-07-12
| | | | | | | | | | | | | | | usning it. Revert "Revert of add readPixels() to SkBitmap (https://codereview.chromium.org/377303002/)" This reverts commit d08cb905a7cc80d8fb868bbd14fffe1cd68adcce. R=reed@chromium.org TBR=scroggo@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/388803007
* Revert of add readPixels() to SkBitmap ↵Gravatar jcgregorio2014-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/377303002/) Reason for revert: Maybe causing crashes in bench. http://108.170.220.120:10117/builders/Test-ChromeOS-Daisy-MaliT604-Arm7-Debug/builds/2608/steps/RunBench/logs/stdio Original issue's description: > add readPixels() to SkBitmap > > BUG=chromium:390782 > > Committed: https://skia.googlesource.com/skia/+/c4f216151b6ade70c35fade09a353052f40236b1 R=scroggo@google.com, bsalomon@google.com, reed@google.com TBR=bsalomon@google.com, reed@google.com, scroggo@google.com NOTREECHECKS=true NOTRY=true BUG=chromium:390782 Author: jcgregorio@google.com Review URL: https://codereview.chromium.org/382243003
* add readPixels() to SkBitmapGravatar reed2014-07-10
| | | | | | | | | BUG=chromium:390782 R=scroggo@google.com, bsalomon@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/377303002
* change gpudevice and pdfdevice to inherit from basedeviceGravatar reed2014-06-27
| | | | | | | | | BUG=skia: R=robertphillips@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/354133002