aboutsummaryrefslogtreecommitdiffhomepage
path: root/dm/DMSrcSink.h
Commit message (Collapse)AuthorAge
...
* hide via-svg until I can fix g3Gravatar Mike Reed2017-02-18
| | | | | | | | | BUG=skia: Change-Id: I226194a4db5c9618dd312337bf196d8f21825a12 Reviewed-on: https://skia-review.googlesource.com/8720 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* add ViaSVG to dmGravatar Mike Reed2017-02-17
| | | | | | | | | | BUG=skia: Change-Id: I52892a0dd466bee6e3abcaa89a373b93493d201f Reviewed-on: https://skia-review.googlesource.com/8682 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Florin Malita <fmalita@chromium.org>
* Fix DM race in SVGSrcGravatar fmalita2016-11-08
| | | | | | | | | | | | | | The SVG source currently attempts to build the DOM lazily, in response to draw() or size() calls. But apprently DM may call these concurrently. Build the DOM in the constructor instead, to avoid races (and the need for synchronization). R=robertphillips@google.com,mtklein@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2482123003 Review-Url: https://codereview.chromium.org/2482123003
* Remove SkAutoTDelete.Gravatar Ben Wagner2016-11-03
| | | | | | | | | Replace with std::unique_ptr. Change-Id: I5806cfbb30515fcb20e5e66ce13fb5f3b8728176 Reviewed-on: https://skia-review.googlesource.com/4381 Commit-Queue: Ben Wagner <bungeman@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Delete qcmsGravatar Matt Sarett2016-11-01
| | | | | | | | | | | | | | | | | | | | This was always intended to be a temporary dependency to use for testing. It has served its purpose. Also, this has already been dropped (accidentally, I think) by the new GN build. TBR=reed@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4220 Change-Id: Ic72ee08bbfaf86ed86a4122fd38be2921eb1327e Reviewed-on: https://skia-review.googlesource.com/4220 Reviewed-by: Matt Sarett <msarett@google.com> Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Matt Sarett <msarett@google.com>
* DM: JSON Debug SinkGravatar Hal Canary2016-10-25
| | | | | | | | | | | | | | | | | | Currently, the following GMs crash the debug canvas: ~dont_clip_to_layer ~imageblur ~imagefilterscropped ~pictureimagefilter ~savelayer_lcdtext ~textfilter_image // TODO(halcanary): fix this. GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=3742 Change-Id: Ieed3502119cd639fe345f3a41d436d5e39f3bdf1 Reviewed-on: https://skia-review.googlesource.com/3742 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Hal Canary <halcanary@google.com>
* Add support for multiple frames in SkCodecGravatar scroggo2016-10-24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add an interface to decode frames beyond the first in SkCodec, and add an implementation for SkGifCodec. Add getFrameData to SkCodec. This method reads ahead in the stream to return a vector containing meta data about each frame in the image. This is not required in order to decode frames beyond the first, but it allows a client to learn extra information: - how long the frame should be displayed - whether a frame should be blended with a prior frame, allowing the client to provide the prior frame to speed up decoding Add a new fields to SkCodec::Options: - fFrameIndex - fHasPriorFrame The API is designed so that SkCodec never caches frames. If a client wants a frame beyond the first, they specify the frame in Options.fFrameIndex. If the client does not have the frame's required frame (the frame that this frame must be blended on top of) cached, they pass false for Options.fHasPriorFrame. Unless the frame is independent, the codec will then recursively decode all frames necessary to decode fFrameIndex. If the client has the required frame cached, they can put it in the dst they pass to the codec, and the codec will only draw fFrameIndex onto it. Replace SkGifCodec's scanline decoding support with progressive decoding, and update the tests accordingly. Implement new APIs in SkGifCodec. Instead of using gif_lib, use GIFImageReader, imported from Chromium (along with its copyright headers) with the following changes: - SkGifCodec is now the client - Replace blink types - Combine GIFColorMap::buildTable and ::getTable into a method that creates and returns an SkColorTable - Input comes from an SkStream, instead of a SegmentReader. Add SkStreamBuffer, which buffers the (potentially partial) stream in order to decode progressively. (FIXME: This requires copying data that previously was read directly from the SegmentReader. Does this hurt performance? If so, can we fix it?) - Remove UMA code - Instead of reporting screen width and height to the client, allow the client to query for it - Fail earlier if the first frame AND screen have size of zero - Compute required previous frame when adding a new one - Move GIFParseQuery from GIFImageDecoder to GIFImageReader - Allow parsing up to a specific frame (to skip parsing the rest of the stream if a client only wants the first frame) - Compute whether the first frame has alpha and supports index 8, to create the SkImageInfo. This happens before reporting that the size has been decoded. Add GIFImageDecoder::haveDecodedRow to SkGifCodec, imported from Chromium (along with its copyright header), with the following changes: - Add support for sampling - Use the swizzler - Keep track of the rows decoded - Do *not* keep track of whether we've seen alpha Remove SkCodec::kOutOfOrder_SkScanlineOrder, which was only used by GIF scanline decoding. Call onRewind even if there is no stream (SkGifCodec needs to clear its decoded state so it will decode from the beginning). Add a method to SkSwizzler to access the offset into the dst, taking subsetting into account. Add a GM that animates a GIF. Add tests for the new APIs. *** Behavior changes: * Previously, we reported that an image with a subset frame and no transparent index was opaque and used the background index (if present) to fill the background. This is necessary in order to support index 8, but it does not match viewers/browsers I have seen. Examples: - Chromium and Gimp render the background transparent - Firefox, Safari, Linux Image Viewer, Safari Preview clip to the frame (for a single frame image) This CL matches Chromium's behavior and renders the background transparent. This allows us to have consistent behavior across products and simplifies the code (relative to what we would have to do to continue the old behavior on Android). It also means that we will no longer support index 8 for some GIFs. * Stop checking for GIFSTAMP - all GIFs should be either 89a or 87a. This matches Chromium. I suspect that bugs would have been reported if valid GIFs started with "GIFVER" instead of "GIF89a" or "GIF87a" (but did not decode in Chromium). *** Future work not included in this CL: * Move some checks out of haveDecodedRow, since they are the same for the entire frame e.g. - intersecting the frameRect with the full image size - whether there is a color table * Change when we write transparent pixels - In some cases, Chromium deemed this unnecessary, but I suspect it is slower than the fallback case. There will continue to be cases where we should *not* write them, but for e.g. the first pass where we have already cleared to transparent (which we may also be able to skip) writing the transparent pixels will not make anything incorrect. * Report color type and alpha type per frame - Depending on alpha values, disposal methods, frame rects, etc, subsequent frames may have different properties than the first. * Skip copies of the encoded data - We copy the encoded data in case the stream is one that cannot be rewound, so we can parse and then decode (possibly not immediately). For some input streams, this is unnecessary. - I was concerned this cause a performance regression, but on average the new code is faster than the old for the images I tested [1]. - It may cause a performance regression for Chromium, though, where we can always move back in the stream, so this should be addressed. Design doc: https://docs.google.com/a/google.com/document/d/12Qhf9T92MWfdWujQwCIjhCO3sw6pTJB5pJBwDM1T7Kc/ [1] https://docs.google.com/a/google.com/spreadsheets/d/19V-t9BfbFw5eiwBTKA1qOBkZbchjlTC5EIz6HFy-6RI/ GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=2045293002 Review-Url: https://codereview.chromium.org/2045293002
* [SVGDom] Improved DM sizingGravatar fmalita2016-09-17
| | | | | | | | | | | | Rather than always using a 1000x1000 canvas, observe the SVG intrinsic size when available. If the intrinsic size is < 128x128, scale uniformly. R=robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2342313003 Review-Url: https://codereview.chromium.org/2342313003
* add pipecanvasGravatar reed2016-09-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2201323003 Review-Url: https://codereview.chromium.org/2201323003
* Only test SVG DM sources against direct raster/gpu sinks.Gravatar fmalita2016-08-16
| | | | | | | | | There isn't much value in testing against indirect or vector sinks. R=mtklein@google.com,robertphillips@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2252443002 Review-Url: https://codereview.chromium.org/2252443002
* SkLite*Gravatar mtklein2016-08-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | SkLiteRecorder, a new SkCanvas, fills out SkLiteDL, a new SkDrawable. This SkDrawable is a display list similar to SkRecord and SkBigPicture / SkRecordedDrawable, but with a few new design points inspired by Android and slimming paint: 1) SkLiteDL is structured as one big contiguous array rather than the two layer structure of SkRecord. This trades away flexibility and large-op-count performance for better data locality for small to medium size pictures. 2) We keep a global freelist of SkLiteDLs, both reusing the SkLiteDL struct itself and its contiguous byte array. This keeps the expected number of mallocs per display list allocation <1 (really, ~0) for cyclical use cases. These two together mean recording is faster. Measuring against the code we use at head, SkLiteRecorder trends about ~3x faster across various size pictures, matching speed at 0 draws and beating the special-case 1-draw pictures we have today. (I.e. we won't need those special case implementations anymore, because they're slower than this new generic code.) This new strategy records 10 drawRects() in about the same time the old strategy took for 2. This strategy stays the winner until at least 500 drawRect()s on my laptop, where I stopped checking. A simpler alternative to freelisting is also possible (but not implemented here), where we allow the client to manually reset() an SkLiteDL for reuse when its refcnt is 1. That's essentially what we're doing with the freelist, except tracking what's available for reuse globally instead of making the client do it. This code is not fully capable yet, but most of the key design points are there. The internal structure of SkLiteDL is the area I expect to be most volatile (anything involving Op), but its interface and the whole of SkLiteRecorder ought to be just about done. You can run nanobench --match picture_overhead as a demo. Everything it exercises is fully fleshed out, so what it tests is an apples-to-apples comparison as far as recording costs go. I have not yet compared playback performance. It should be simple to wrap this into an SkPicture subclass if we want. I won't start proposing we replace anything old with anything new quite yet until I have more ducks in a row, but this does look pretty promising (similar to the SkRecord over old SkPicture change a couple years ago) and I'd like to land, experiment, iterate, especially with an eye toward Android. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2213333002 Review-Url: https://codereview.chromium.org/2213333002
* Add an SVG DM sourceGravatar fmalita2016-08-03
| | | | | | | R=mtklein@google.com,robertphillips@google.com,stephana@google.com GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2209593004 Review-Url: https://codereview.chromium.org/2209593004
* Add capability for SkColorXform to output half floatsGravatar msarett2016-07-15
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2147763002 CQ_INCLUDE_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot;master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2147763002
* deferred canvasGravatar reed2016-07-08
| | | | | | | | | tries to eliminate unneeded clipRects and concats (and their associated save/restores). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2120333002 Review-Url: https://codereview.chromium.org/2120333002
* Support sRGB dsts in opt codeGravatar msarett2016-06-20
| | | | | | | | | | | | | | | 201295.jpg on HP z620 (300x280) QCMS Xform 0.418 ms Skia NEW Xform 0.378 ms Vs QCMS 1.11x BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2078623002 CQ_EXTRA_TRYBOTS=client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot Review-Url: https://codereview.chromium.org/2078623002
* Lots of progress on switching to SkColorSpace rather than SkColorProfileTypeGravatar brianosman2016-06-16
| | | | | | | | | | Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069173002 Committed: https://skia.googlesource.com/skia/+/6a61a875467646f8dbc37cfecf49e12d1f475170 Review-Url: https://codereview.chromium.org/2069173002
* Revert of Lots of progress switching to SkColorSpace rather than ↵Gravatar brianosman2016-06-16
| | | | | | | | | | | | | | | | | | | | | | | | | | SkColorProfileType (patchset #10 id:180001 of https://codereview.chromium.org/2069173002/ ) Reason for revert: Mac crashes in GrUploadPixmapToTexture Original issue's description: > Lots of progress on switching to SkColorSpace rather than SkColorProfileType > > Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld). > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069173002 > > Committed: https://skia.googlesource.com/skia/+/6a61a875467646f8dbc37cfecf49e12d1f475170 TBR=reed@google.com,herb@google.com,msarett@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2072813002
* Lots of progress on switching to SkColorSpace rather than SkColorProfileTypeGravatar brianosman2016-06-16
| | | | | | | | | Fixed a bunch of code in Ganesh, as well as usage of SkColorProfileType in most of our tools (DM, SampleApp, Viewer, nanobench, skiaserve, HelloWorld). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2069173002 Review-Url: https://codereview.chromium.org/2069173002
* Use SK_TEST_QCMS to mark qcms test codeGravatar msarett2016-06-06
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2031053005 Review-Url: https://codereview.chromium.org/2031053005
* SkMultiPictureDocument & SkMultiPictureDocumentReaderGravatar halcanary2016-06-02
| | | | | | | | | | | | also, a new DM::Src. motivation: To be used to test the printing pipeline in Chromium. BUG=skia:5370 GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2023593002 Review-Url: https://codereview.chromium.org/2023593002
* Create SkColorSpaceXform to handle color conversionsGravatar msarett2016-06-01
| | | | | | | | | | | | Also adds testing of qcms color correction, so we can compare SkColorSpaceXform outputs to qcms outputs. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1952063002 Committed: https://skia.googlesource.com/skia/+/740cc88ee3d63c75e52d31238f2a32600cc57a8c Review-Url: https://codereview.chromium.org/1952063002
* Revert of Create SkColorSpaceXform to handle color conversions (patchset #10 ↵Gravatar msarett2016-06-01
| | | | | | | | | | | | | | | | | | | | | | | | | | | id:260001 of https://codereview.chromium.org/1952063002/ ) Reason for revert: Google3 can't find qcms Original issue's description: > Create SkColorSpaceXform to handle color conversions > > Also adds testing of qcms color correction, so we can compare > SkColorSpaceXform outputs to qcms outputs. > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1952063002 > > Committed: https://skia.googlesource.com/skia/+/740cc88ee3d63c75e52d31238f2a32600cc57a8c TBR=reed@google.com,scroggo@google.com,mtklein@google.com,herb@google.com,brianosman@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review-Url: https://codereview.chromium.org/2023093004
* Create SkColorSpaceXform to handle color conversionsGravatar msarett2016-06-01
| | | | | | | | | | Also adds testing of qcms color correction, so we can compare SkColorSpaceXform outputs to qcms outputs. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1952063002 Review-Url: https://codereview.chromium.org/1952063002
* Test color correction in DMGravatar msarett2016-05-23
| | | | | | | | | | | | | | | | | | | | | This will allow me to test and visualize some assumptions on parsing and applying color profiles. Also, it should help me find and fix bugs. This is certainly not an optimized implementation, and, as far as I know, it doesn't take any shortcuts to improve performance. We'll probably want to do both of these once we know where it fits in the pipeline. Right now this test is only run on an arbitrary set of ~100 images from the top 10k skps. I'll continue to add more "interesting" images and probably tweak the code as necessary. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1995233003 Review-Url: https://codereview.chromium.org/1995233003
* Delete SkBitmapRegionCanvasGravatar msarett2016-05-18
| | | | | | | | | | | | | | | | This was an approach we considered for implementing Android's BitmapRegionDecoder. It was useful for testing and comparison, but now is no longer worth maintaining and testing. The approach to subset/scaled decodes (clipped decode, then scale) may be worth reconsidering at some point. BUG=skia:5307 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1990543002 Review-Url: https://codereview.chromium.org/1990543002
* Drop AndroidCodecSrc::kDivisor_ModeGravatar scroggo2016-05-16
| | | | | | | | | This is redundant with BRD tests. BUG=skia:5307 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1976303002 Review-Url: https://codereview.chromium.org/1976303002
* Add ColorCodecSrc for testing/comparison on color corrected decodesGravatar msarett2016-04-29
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1933753002 Review-Url: https://codereview.chromium.org/1933753002
* SkDocument/PDF: new APIGravatar halcanary2016-04-27
| | | | | | | | | | has a pdf/a switch. sets metadata in factory. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1916093002 Review URL: https://codereview.chromium.org/1916093002
* Support the non-native (RGBA/BGRA) swizzleGravatar msarett2016-04-22
| | | | | | | BUG=skia:4456 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1907593004 Review URL: https://codereview.chromium.org/1907593004
* Rename enums in GrContextFactory to remove "GL"Gravatar bsalomon2016-04-05
| | | | | | | | | | Also, remove kNative as a separate context type and instead make it an alias for kGL or kGLES based on OS. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1845923004 Committed: https://skia.googlesource.com/skia/+/2d9c6f81353597aebf5934547e5cba7a872196fb Review URL: https://codereview.chromium.org/1845923004
* DM/PDF: stop adding unused rasterizer keywordsGravatar halcanary2016-04-04
| | | | | | | | | We can always add it back if we need it in the future. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852713002 Review URL: https://codereview.chromium.org/1852713002
* Revert of Rename enums in GrContextFactory to remove "GL" (patchset #4 ↵Gravatar bsalomon2016-04-04
| | | | | | | | | | | | | | | | | | | | | | id:60001 of https://codereview.chromium.org/1845923004/ ) Reason for revert: Many GM images unexpectedly changed with this CL. Original issue's description: > Rename enums in GrContextFactory to remove "GL" > > Also, remove kNative as a separate context type and instead make it an alias for kGL or kGLES based on OS. > > > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1845923004 > > Committed: https://skia.googlesource.com/skia/+/2d9c6f81353597aebf5934547e5cba7a872196fb TBR=egdaniel@google.com,jvanverth@google.com # Not skipping CQ checks because original CL landed more than 1 days ago. Review URL: https://codereview.chromium.org/1856703002
* Rename enums in GrContextFactory to remove "GL"Gravatar bsalomon2016-04-01
| | | | | | | | Also, remove kNative as a separate context type and instead make it an alias for kGL or kGLES based on OS. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1845923004 Review URL: https://codereview.chromium.org/1845923004
* Move SkGLContext and some GrGLInterface implementations to skgputest moduleGravatar bsalomon2016-03-30
| | | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1815823002 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Committed: https://skia.googlesource.com/skia/+/fe3456cb006110d045b26ff3f8681b893a757b58 Review URL: https://codereview.chromium.org/1815823002
* Revert of Move SkGLContext and some GrGLInterface implementations to ↵Gravatar robertphillips2016-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | skgputest module (patchset #13 id:240001 of https://codereview.chromium.org/1815823002/ ) Reason for revert: red bots Original issue's description: > Move SkGLContext and some GrGLInterface implementations to skgputest module > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1815823002 > CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot > > Committed: https://skia.googlesource.com/skia/+/fe3456cb006110d045b26ff3f8681b893a757b58 TBR=jvanverth@google.com,bsalomon@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1845473004
* Move SkGLContext and some GrGLInterface implementations to skgputest moduleGravatar bsalomon2016-03-30
| | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1815823002 CQ_EXTRA_TRYBOTS=client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot Review URL: https://codereview.chromium.org/1815823002
* Added (color=8888|f16|srgb) option to gpu configurations, along with gpuf16 ↵Gravatar brianosman2016-03-10
| | | | | | | | | | | and gpusrgb predefined configs. Runs the gpu backend in gamma-correct mode (with either FP16 linear or sRGB 8888 frambuffers). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1750383002 Committed: https://skia.googlesource.com/skia/+/a6f58194733c1c50e4fe5f98585e42344f29b6f0 Review URL: https://codereview.chromium.org/1750383002
* Add an SkImageGeneratorCGGravatar msarett2016-03-09
| | | | | | | | | This will serve as a replacement for SkImageDecoder_CG. BUG=skia:4914 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1718273004 Review URL: https://codereview.chromium.org/1718273004
* Archive SkRemote-related code. I want to start fresh.Gravatar mtklein2016-03-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1774013002 Review URL: https://codereview.chromium.org/1774013002
* Revert of Progress on gamma-correctness in the GPU backend. Fixed conversion ↵Gravatar brianosman2016-03-01
| | | | | | | | | | | | | | | | | | | | | | | | | | of color and profile type to pix… (patchset #1 id:1 of https://codereview.chromium.org/1750383002/ ) Reason for revert: GM breakage. Changes to SkGr.cpp appear to be altering behavior on a variety of tests. Debugging... Original issue's description: > Progress on gamma-correctness in the GPU backend. Fixed conversion of color and profile type to pixel config, which makes many things "just work". > > Added (color=8888|f16|srgb) option to gpu configurations, along with gpuf16, gpusrgb, and anglesrgb predefined configs. Runs the gpu backend in gamma-correct mode (with either FP16 linear or sRGB 8888 frambuffers). > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1750383002 > > Committed: https://skia.googlesource.com/skia/+/a6f58194733c1c50e4fe5f98585e42344f29b6f0 TBR=mtklein@google.com,bsalomon@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1755553003
* Progress on gamma-correctness in the GPU backend. Fixed conversion of color ↵Gravatar brianosman2016-03-01
| | | | | | | | | | | and profile type to pixel config, which makes many things "just work". Added (color=8888|f16|srgb) option to gpu configurations, along with gpuf16, gpusrgb, and anglesrgb predefined configs. Runs the gpu backend in gamma-correct mode (with either FP16 linear or sRGB 8888 frambuffers). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1750383002 Review URL: https://codereview.chromium.org/1750383002
* Revert of Progress on gamma-correctness in the GPU backend. Fixed conversion ↵Gravatar brianosman2016-02-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | of color and profile type to pix… (patchset #3 id:40001 of https://codereview.chromium.org/1746253002/ ) Reason for revert: Fixing the build. Original issue's description: > Progress on gamma-correctness in the GPU backend. Fixed conversion of color and profile type to pixel config, which makes many things "just work". > > Added (color=8888|f16|srgb) option to gpu configurations, along with gpuf16, gpusrgb, and anglesrgb predefined configs. Runs the gpu backend in gamma-correct mode (with either FP16 linear or sRGB 8888 frambuffers). > > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1746253002 > > Committed: https://skia.googlesource.com/skia/+/eef980270d3385fee340eb1633962fe3ba8b7132 TBR=mtklein@google.com,egdaniel@google.com,bsalomon@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1748823002
* Progress on gamma-correctness in the GPU backend. Fixed conversion of color ↵Gravatar brianosman2016-02-29
| | | | | | | | | | | and profile type to pixel config, which makes many things "just work". Added (color=8888|f16|srgb) option to gpu configurations, along with gpuf16, gpusrgb, and anglesrgb predefined configs. Runs the gpu backend in gamma-correct mode (with either FP16 linear or sRGB 8888 frambuffers). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1746253002 Review URL: https://codereview.chromium.org/1746253002
* DM: support --config {f16,srgb}Gravatar mtklein2016-02-26
| | | | | | | | | | | | Will need to follow up with enabling f16 and srgb configs. They're still assert-y. The GMs 'gamma' and 'gradients' look reassuringly good on f16 and srgb backends. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1711143002 Review URL: https://codereview.chromium.org/1711143002
* Use new jpeg_crop_scanlines() API to optimize jpeg subset decodesGravatar msarett2016-02-22
| | | | | | | | | | | | | | | | | This was adapted from: https://codereview.chromium.org/1530933003 Subset Decode Runtime (Original / Optimized) on Nexus 6P TopLeft 0.51x TopRight 0.56x Middle 0.71x BottomLeft 0.79x BottomRight 0.79x BUG=skia:4256 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1719073002 Review URL: https://codereview.chromium.org/1719073002
* Optionally run RAW images seriallyGravatar scroggo2016-02-08
| | | | | | | | | | | | | | | | | RAW images use a lot of memory. Add a new FLAG to run one at a time so we have less risk of running out of memory. Isolate RAW images to their own thread on particular devices where our images cause OOM errors. Locally, this drops the max memory use from 3945 MB to 1664 MB (running only --image --images <RAW images we test>) BUG=skia:4912 BUG=skia:4878 BUG=b/27035849 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1681553003 Review URL: https://codereview.chromium.org/1681553003
* dm: simplify parallel/serial decisionsGravatar mtklein2016-02-08
| | | | | | | | | | | | | - instead of complicated enclaves, just allow parallel or main thread serial - either the Src or the Sink can force the task to go serial ALSO, - simpler file extension parsing BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1675423002 Review URL: https://codereview.chromium.org/1675423002
* SkMojo: test linking Skia against the Mojo SDKGravatar halcanary2016-02-03
| | | | | | | | | | | | | TODO: build on systems other than Linux. Add mojo_skd to the DEPS. Add a DM::Via called `mojo-`. everything is hidden behind the gyp variable `skia_mojo`. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1644043003 Review URL: https://codereview.chromium.org/1644043003
* Support decoding opaque to *premulGravatar scroggo2016-02-03
| | | | | | | | | | | | | | | | | | | | | | If a client requests unpremul or premul from an opaque SkCodec, support it. The opaque image can be treated as any of them, though it will be less efficient to draw than if the client had used opaque. Change the filling code (i.e. for incomplete images) to base its color on the source alpha type. Prior to adding the support to decode opaque to any, it was fine to use either source or dest (which would have yielded the same result). If the client requests non-opaque, we do not want this to switch the fill value from black to transparent. This also allows simplifying the signatures for getFillValue and onGetFillValue. In CodexTest, expect the same result when decoding opaque to *premul, and compare to the opaque version. BUG=skia:4616 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1641273003 Review URL: https://codereview.chromium.org/1641273003
* Stop testing SkImageDecoder in DM/nanobenchGravatar scroggo2016-01-27
| | | | | | | | | We have already used it for comparison, and are switching forward to using SkCodec. This also allows us to simplify the code for checking the extensions we support for images. GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1641663002 Review URL: https://codereview.chromium.org/1641663002