aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
* SkBitmap::setPixelRef(): less reference churnGravatar Hal Canary2016-12-12
| | | | | | | | | BUG=skia: Change-Id: I9657e4af5fcc808f9175ff336155374ccc77999d Reviewed-on: https://skia-review.googlesource.com/5461 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* gen_tasks.go: Assert that all compile tasks are in the JOBS listGravatar Eric Boren2016-12-12
| | | | | | | | | | | | Rather than auto-adding the Job, assert that it's listed. This enforces that the JOBS list is accurate. Add all missing compile Jobs to the list. BUG=skia: Change-Id: Ic7a90165ccac36baa52a4674798977021d6812d7 Reviewed-on: https://skia-review.googlesource.com/5848 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Eric Boren <borenet@google.com>
* fix fuzzGravatar Cary Clark2016-12-12
| | | | | | | | | | | | | Don't walk off the end if the loop doesn't contain the expected value. R=kjlubick@google.com BUG=skia:6047 Change-Id: I96815180dc7c92b45691037ae6c4b40beedc009a Reviewed-on: https://skia-review.googlesource.com/5845 Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* Just make Android.bp bpfmt compliant to begin with.Gravatar Mike Klein2016-12-12
| | | | | | Change-Id: I0fe833b4af4b68f97fe3feefc76503cb6473eb7b Reviewed-on: https://skia-review.googlesource.com/5847 Reviewed-by: Leon Scroggins <scroggo@google.com>
* Fix SkGifCodec bugs around truncated dataGravatar Leon Scroggins III2016-12-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to this CL, if a GIF file was truncated before reading the local color map of a frame, incremental decode would do the wrong thing. In onStartIncrementalDecode, we would either create a color table based on the global color map, or we would create a dummy one with only one color (transparent). The dummy color table is correct if there is neither a global nor a local color map, and allows us to fill the frame with transparent. But if more data is provided, and it includes an actual color map and image data, one of the following can happen: - If the created color table is smaller than the actual one, the decoded data may include indices outside of the range of the created color table, resulting in a crash. - If we get lucky, and the created color table is large enough, it may still be the wrong colors (and most likely is). To solve this, make onStartIncrementalDecode fail if there is a local color map that has not been read yet. A future call may read more data and read the correct color map. This is done by returning kIncompleteInput in SkGifCodec::prepareToDecode if there is a local color map that has not yet been read. (It is possible that there is no color map at all, in which case we still need to support decoding that frame. Skip attempting to decode in that case.) In onGetPixels, if prepareToDecode returned kIncompleteInput, return kInvalidInput. Although the input is technically incomplete, no future call will provide more data (unlike in incremental decoding), and there is nothing interesting for the client to draw. This also prevents SkCodec from attempting to fill the data with an SkSwizzler, which has not been created. (An alternative solution would be create the dummy color table and an SkSwizzler, which would keep the current behavior. But I think the new behavior of returning kInvalidInput makes more sense.) Add tests to verify the intended behavior: - getPixels fails. - startIncrementalDecode fails, but after providing more data it will succeed and incremental decoding matches the image decoded from the full stream. - Both succeed if there is no color table at all. Change-Id: Ifb52fe7f723673406a28e80c8805a552f0ac33b6 Reviewed-on: https://skia-review.googlesource.com/5758 Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Revert "added sk_FragCoord support to skslc"Gravatar Greg Daniel2016-12-12
| | | | | | | | | | | This reverts commit ce33f10677630e34187b661a02161378d8304d68. Reason for revert: Breaking many gpu bots Change-Id: I94c813ed6a9311458c872f74bb1b0792f46ff414 Reviewed-on: https://skia-review.googlesource.com/5737 Commit-Queue: Greg Daniel <egdaniel@google.com> Reviewed-by: Greg Daniel <egdaniel@google.com>
* Updated the get_images_from_skps tool to check for ICC profile supportGravatar raftias2016-12-12
| | | | | | | | | | | | | | | | | | | Tool will now check for and output all unsuccessfully parsed ICC profiles in input sksp images if --testColorCorrectionSupported is set as a flag. All ICC-aware codecs had to be slightly modified in order to expose this information, as the logic for accessing the ICC profiles is all within the codecs. If --writeFailedImages is set, it will also output all images whoses ICC profiles were not supported. TBR=reed@google.com BUG=skia: Change-Id: Ic310d82bdebf92f8d3bc0ad3dcc688136b6de377 Reviewed-on: https://skia-review.googlesource.com/5355 Reviewed-by: Leon Scroggins <scroggo@google.com> Reviewed-by: Matt Sarett <msarett@google.com> Commit-Queue: Robert Aftias <raftias@google.com>
* Disable flaky GSStoreTestGravatar Eric Boren2016-12-12
| | | | | | | | | BUG=skia:6048 Change-Id: I86abfc0059c6523db08e552df16e88ae71379ed7 Reviewed-on: https://skia-review.googlesource.com/5733 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Eric Boren <borenet@google.com>
* added sk_FragCoord support to skslcGravatar Ethan Nicholas2016-12-12
| | | | | | | | | BUG=skia: Change-Id: If78a4d08121699f87659f0d2e35f3edbf1867401 Reviewed-on: https://skia-review.googlesource.com/5408 Reviewed-by: Greg Daniel <egdaniel@google.com> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
* Remove dependency on NDK cpufeatures.Gravatar Mike Klein2016-12-12
| | | | | | | | | | | | | | | | | | | | | | | Instead of relying on cpu-features.c, just do what it does. Good reading: http://man7.org/linux/man-pages/man3/getauxval.3.html While it's nice to use the headers when possible, should either of these headers not be available, we can fall back to doing it all manually: extern "C" uint32_t getauxval(uint32_t) static const int AT_HWCAP = 16; static const int HWCAP_CRC32 = (1<<7); To keep things simple I've slimmed cpu feature detection down to just the features we actually make use of. This removes all runtime feature detection for ARMv7... we expect NEON to be globally available, and so far we haven't used the other FMA/FP16 bits on ARMv7. ARMv8 feature dection remains the same, CRC32 before, CRC32 after. x86 (cpuid-based detection) and MIPS (nothing) are untouched. We need to keep //third_party/cpu-features for //third_party/libwebp. Change-Id: I6c96df9a09ae68c8c0e54c1152aa177ba9bafc83 Reviewed-on: https://skia-review.googlesource.com/5800 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* funnel f16 through standard load/store/gatherGravatar Mike Klein2016-12-12
| | | | | | | | | | | | | This is a precursor to using mask load, mask store, and gather instructions for f16. This is a slight performance win too, through slightly simpler code generation. Having done this, it now makes sense to give a name to f16->f32 conversion, from_f16(). Finally, while we're at this, also send store_f32 through store(), so that now all formats use load, gather, and store uniformly. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I403f16f712936e2bcf3294e72c863cb6c6fbcf0c Reviewed-on: https://skia-review.googlesource.com/5731 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* change SkClipOp to a class enumGravatar Mike Reed2016-12-12
| | | | | | | | | BUG=skia: Change-Id: I25dbe6d6b8666a2a0a7be7bdd2ae0b067868d14e Reviewed-on: https://skia-review.googlesource.com/5718 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Reed <reed@google.com>
* proposed gn_to_bp fixesGravatar Mike Klein2016-12-12
| | | | | | | | | in response to 5784 Change-Id: I3ad34a30743e7ffbd04767668c288a4f884eb19c Reviewed-on: https://skia-review.googlesource.com/5732 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make subset param to texture generation API non-optionalGravatar Brian Osman2016-12-12
| | | | | | | | | | | We were always already supplying this, makes it simpler BUG=skia: Change-Id: I36ac35205df5ab2a0fb7ec26e83ddb1547154816 Reviewed-on: https://skia-review.googlesource.com/5778 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Convert image width and height (used by tiling) to float once.Gravatar Mike Klein2016-12-12
| | | | | | | | | | | The storage cost is the same, so might as well do this when building the pipeline instead of when running it. This also avoids the awkward cvtsi2ss instruction that screws with register renaming. CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: I1c7d5bad558870256a31e3da969eee5d80fb93a8 Reviewed-on: https://skia-review.googlesource.com/5782 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Update SKP versionGravatar UpdateSKPs2016-12-12
| | | | | | | | | | | | Automatic commit by the RecreateSKPs bot. TBR=update-skps@skia.org NO_MERGE_BUILDS Change-Id: Ia66acb6f21804c51661a3d51812c6cd91b1abb61 Reviewed-on: https://skia-review.googlesource.com/5788 Reviewed-by: update-skps <update-skps@skia.org> Commit-Queue: Ravi Mistry <rmistry@google.com>
* Add documentation for being a Android RoboCop.Gravatar Derek Sollenberger2016-12-12
| | | | | | | | | | NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=5759 Change-Id: I6172c9edfcac63855b3f7c2b120bac44760a24a5 Reviewed-on: https://skia-review.googlesource.com/5759 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Add documentation for ViewerGravatar Jim Van Verth2016-12-11
| | | | | | | | | | | | BUG=skia:5488 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=5682 Change-Id: I635468f6a17576e990e159f7f02ba2f1946317ab Reviewed-on: https://skia-review.googlesource.com/5682 Reviewed-by: Heather Miller <hcm@google.com> Commit-Queue: Jim Van Verth <jvanverth@google.com>
* Make *OpList::recordOp functions take sk_sp<GrOp> not GrOp*Gravatar Brian Salomon2016-12-10
| | | | | | | Change-Id: Ie3c41aa0910599c9413b4943fbe63000226e526f Reviewed-on: https://skia-review.googlesource.com/5776 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* Rename testingOnly_drawBatch to testingOnly_addDrawOp and sk_spGravatar Brian Salomon2016-12-09
| | | | | | | Change-Id: I35efd4ad2b7132145c1e477f0b1f283276e9fad5 Reviewed-on: https://skia-review.googlesource.com/5704 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* bicubic, attempt gazillionGravatar Mike Klein2016-12-09
| | | | | | | | | | | | | - explicitly separate bilinear_ stages in x and y too BUG=skia: CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD Change-Id: Ib7b4f9d26ea6abe9171068e92424479d811ee606 Reviewed-on: https://skia-review.googlesource.com/5636 Reviewed-by: Brian Osman <brianosman@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Make GrRenderTargetOpList::addDrawOp use sk_spGravatar Brian Salomon2016-12-09
| | | | | | | Change-Id: I1b3aee2c16075bc481d96052a82f3b3da82061fe Reviewed-on: https://skia-review.googlesource.com/5699 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Osman <brianosman@google.com>
* Fix comment formatting for GrRenderTargetContext::drawArcGravatar Brian Salomon2016-12-09
| | | | | | | | Change-Id: I23c946ff42964613a925b98c4ce5cf674b3b61a8 Reviewed-on: https://skia-review.googlesource.com/5705 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* tools and docs: clean up gyp-specific thingsGravatar Hal Canary2016-12-09
| | | | | | | | | | | BUG=skia: DOCS_PREVIEW= https://skia.org/?cl=5770 Change-Id: Iadc436a68cbf7ec0d1dd3c019072eb28bf589bb6 Reviewed-on: https://skia-review.googlesource.com/5770 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Mike Klein <mtklein@chromium.org>
* Relandx2 "Remove antialiasing control from GrPaint."Gravatar Brian Salomon2016-12-09
| | | | | | | | | | | Fixes a bad merge. This reverts commit 073285c0595d46205d1482cc19af2d7d891bfeae. Change-Id: I5e92339d9b33d3a6dc58b9fcd2a1b3a5684e8f8a Reviewed-on: https://skia-review.googlesource.com/5774 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Salomon <bsalomon@google.com>
* remove Building with Skia TutorialGravatar Mike Klein2016-12-09
| | | | | | | | | | | | | | It's mostly "How to Effectively Fight with GYP", which is no longer interesting. BUG=skia:6043 NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=5761 Change-Id: I760e8d9c6577846b34d8f1f0d2e37b5a3c553ccf Reviewed-on: https://skia-review.googlesource.com/5761 Reviewed-by: Heather Miller <hcm@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Plumb dst color space in many places, rather than "mode"Gravatar Brian Osman2016-12-09
| | | | | | | | | | | | | | | | | This is less to type in most cases, and gives us more information (for things like picture-backed images, where we need to know all about the destination surface). Additionally, strip out the plumbing entirely for bitmap sources, where we don't need to know anything. BUG=skia: Change-Id: I4deff6c7c345fcf62eb08b2aff0560adae4313da Reviewed-on: https://skia-review.googlesource.com/5748 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Revert "Reland "Remove antialiasing control from GrPaint.""Gravatar Brian Salomon2016-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 3944484020d98ff8f386378296106c321279482b. Reason for revert: Merges badly with a recent change. Will rebase and reland. Original change's description: > Reland "Remove antialiasing control from GrPaint." > > This contains fixes for GLPrograms test and mixed samples rendering. > > This reverts commit 419d81eed4a010e6080db199795117cbedf9e6e4. > > BUG=skia: > > Change-Id: If8f002fbfaaaab6d1607403f2b15ccc7f1e17e87 > Reviewed-on: https://skia-review.googlesource.com/5763 > Commit-Queue: Brian Salomon <bsalomon@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org BUG=skia: NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: Iff9657041e28604a845bc5a9acec7c9b248c53bd Reviewed-on: https://skia-review.googlesource.com/5772 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Reland "Remove antialiasing control from GrPaint."Gravatar Brian Salomon2016-12-09
| | | | | | | | | | | | | This contains fixes for GLPrograms test and mixed samples rendering. This reverts commit 419d81eed4a010e6080db199795117cbedf9e6e4. BUG=skia: Change-Id: If8f002fbfaaaab6d1607403f2b15ccc7f1e17e87 Reviewed-on: https://skia-review.googlesource.com/5763 Commit-Queue: Brian Salomon <bsalomon@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Remove SkImage::makeTextureImageGravatar Brian Osman2016-12-09
| | | | | | | | | | | | | | No one (other than test code) was using this API, and it lacks the context to do the right thing. Specifically, if this forces a decode of an encoded image, we don't know the intended use (re: color spaces) to determine how we should decode. BUG=skia: Change-Id: I6ff700b3a5adce8257f35c5e3dd5ba557b2a3219 Reviewed-on: https://skia-review.googlesource.com/5614 Reviewed-by: Brian Salomon <bsalomon@google.com> Commit-Queue: Brian Osman <brianosman@google.com>
* Different approach to fixing gpu blurs on platforms that "useDrawInsteadOfClear"Gravatar Robert Phillips2016-12-09
| | | | | | | | | | | This CL reverts https://skia-review.googlesource.com/c/5148/ (Fix gpu blurring on platforms that "useDrawInsteadOfClear") (all the worstCaseWidth/Height stuff) and adds a new GrRenderTargetContext entry point (absClear) to specify clears that can't be discarded or altered. BUG=skia: Change-Id: I18b1373ecf4a153ca8c0f290ab8b1d00770426da Reviewed-on: https://skia-review.googlesource.com/5484 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Move 6p arm64 CPU tests to Pixel CGravatar Kevin Lubick2016-12-09
| | | | | | | | | | | | We have much more capacity on the Pixel Cs. BUG=skia: Change-Id: I65e136d5e2f44ec4bef9c168a86e706537878532 Reviewed-on: https://skia-review.googlesource.com/5755 Reviewed-by: Mike Klein <mtklein@chromium.org> Reviewed-by: Eric Boren <borenet@google.com> Commit-Queue: Kevin Lubick <kjlubick@google.com>
* Make command buffer sRGB mip-mapping more predictableGravatar Brian Osman2016-12-09
| | | | | | | | | BUG=chrome:655247 Change-Id: I1c987939ac224075cdd385c879dd091fb0efd82a Reviewed-on: https://skia-review.googlesource.com/5753 Commit-Queue: Brian Osman <brianosman@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
* Revert "SkImageEncoder::* going away"Gravatar Herb Derby2016-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Breaks 5 compiles on google3. This reverts commit 3489b2b727bfb725d45208049e82309280b79ad8. Reason for revert: <INSERT REASONING HERE> Original change's description: > SkImageEncoder::* going away > > Approval from https://review.skia.org/5006 > TBR=reed@google.com > > Change-Id: Ib5fb1b624594598e2316f9247069ecd207d7a974 > Reviewed-on: https://skia-review.googlesource.com/5751 > Reviewed-by: Hal Canary <halcanary@google.com> > Commit-Queue: Hal Canary <halcanary@google.com> > TBR=halcanary@google.com,reed@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I0c0b863056c90435374769e85fb08c1b2f5113a2 Reviewed-on: https://skia-review.googlesource.com/5760 Commit-Queue: Herb Derby <herb@google.com> Reviewed-by: Herb Derby <herb@google.com>
* Run bin/fetch-gn as a gclient hook.Gravatar Mike Klein2016-12-09
| | | | | | | | | | | | Seems like the bots don't run hooks. That's okay, even ideal. They'll keep getting GN via recipes. DOCS_PREVIEW= https://skia.org/?cl=5725 Change-Id: I000bad3390dddaeb4548972f29c96b8b3288ea6c Reviewed-on: https://skia-review.googlesource.com/5725 Commit-Queue: Mike Klein <mtklein@chromium.org> Reviewed-by: Eric Boren <borenet@google.com>
* clean up old MakefilesGravatar Hal Canary2016-12-09
| | | | | | | | | BUG=skia: Change-Id: I523357617135678d0be43a1b41150be58e89f780 Reviewed-on: https://skia-review.googlesource.com/5754 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Hal Canary <halcanary@google.com>
* docs: Use the new floating ment on skpaint.mdGravatar Joe Gregorio2016-12-09
| | | | | | | | | | | | | | | | Screenshot: https://screenshot.googleplex.com/C3E0hpuNwdu.png https://screenshot.googleplex.com/vdfQMRc24Nv.png BUG=skia: NOTRY=true DOCS_PREVIEW= https://skia.org/?cl=5757 Change-Id: I00b1bb01cab05592d19f020f3190576bf7907aa2 Reviewed-on: https://skia-review.googlesource.com/5757 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Joe Gregorio <jcgregorio@google.com>
* SkImageEncoder::* going awayGravatar Hal Canary2016-12-09
| | | | | | | | | | Approval from https://review.skia.org/5006 TBR=reed@google.com Change-Id: Ib5fb1b624594598e2316f9247069ecd207d7a974 Reviewed-on: https://skia-review.googlesource.com/5751 Reviewed-by: Hal Canary <halcanary@google.com> Commit-Queue: Hal Canary <halcanary@google.com>
* [SVGDom] Clipped clipPath supportGravatar Florin Malita2016-12-09
| | | | | | | | | | | | | | | | | ClipPaths can be clipped too, e.g.: <clipPath id="clip1" clip-path="url(#clip2)">...</clipPath> Since we're not really drawing clips but resolving their geometry, asPath() needs to take composed clipping into account (and intersect as needed). R=reed@google.com,robertphillips@google.com,stephana@google.com Change-Id: I25959e22fe50f72042147cfe6b416b6b9ac20cd4 Reviewed-on: https://skia-review.googlesource.com/5720 Reviewed-by: Robert Phillips <robertphillips@google.com> Commit-Queue: Florin Malita <fmalita@chromium.org>
* update Win/Android toolchain setup after rolling GNGravatar Mike Klein2016-12-09
| | | | | | | | | | | The new GN doesn't like "ar = ar + ...", etc. CQ_INCLUDE_TRYBOTS=skia.primary:Build-Win-Clang-arm64-Release-Android Change-Id: Ib131ee367c4af144f8ffb8562fc26b67675e4f45 Reviewed-on: https://skia-review.googlesource.com/5726 Reviewed-by: Herb Derby <herb@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Don't compile the Skia tools for PDK builds.Gravatar Derek Sollenberger2016-12-09
| | | | | | | Change-Id: I9d64a065bf05d76e131b2d0ab73d136ebbae263f Reviewed-on: https://skia-review.googlesource.com/5746 Reviewed-by: Leon Scroggins <scroggo@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
* Commit Queue: Add NoGPU build bot.Gravatar Hal Canary2016-12-09
| | | | | | | | | BUG=skia:6040 Change-Id: Iaf0684b844234c6331f6ca8d97769abf566c18d7 Reviewed-on: https://skia-review.googlesource.com/5749 Commit-Queue: Hal Canary <halcanary@google.com> Reviewed-by: Ravi Mistry <rmistry@google.com>
* Do not create SkGifCodec if true size is not knownGravatar Leon Scroggins III2016-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If there is enough data in the stream to read the reported canvas size, but not enough to read the first image's header, we do not know the true canvas size, since we may expand it to fit the first frame. In that case, return nullptr from NewFromStream. Add a test. SkGifCodec.cpp: Correct a comment - parse returns false if there is a fatal error. parse() returning true does not guarantee that the size was found. Instead of checking the width and height, check to see whether the first frame exists and has its header defined. If not, we do not yet know the true canvas size. Assert that the canvas size is non-zero, which is a fatal error from parse. SkGifImageReader.cpp: Move the code to set the header defined before the SkGIFSizeQuery exit condition. This allows SkGifCodec to check the first frame's header to determine whether the size is known. GifTest.cpp: Add a test which truncates the file just before the image header (and after the global header). Prior to the other changes, this would create an SkCodec. For an image that needs its canvas size expanded, the SkCodec would have an incorrect size. CodecPartialTest.cpp: randPixels.gif now needs more than half of its data to create an SkCodec, so set a minimum for test_partial. Change-Id: I40482f524128b2f1fe59b8f27dd64c7cbe793079 Reviewed-on: https://skia-review.googlesource.com/5701 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Leon Scroggins <scroggo@google.com>
* Revert "Revert "Add antialiasing to SkDropShadowImageFilter's shadow draw""Gravatar Robert Phillips2016-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 45aac57ac6195880930441656a0988453f16c3db. Reason for revert: Pixel test suppression has landed in Chrome: https://codereview.chromium.org/2559213002 (Add suppression for GPU Pixel test in preparation for Skia CL) Original change's description: > Revert "Add antialiasing to SkDropShadowImageFilter's shadow draw" > > This reverts commit 78e8165ec3a408a88c394095bfbc43df2051449d. > > Reason for revert: Chrome pixel test > > Original change's description: > > Add antialiasing to SkDropShadowImageFilter's shadow draw > > > > A BW draw in the SkDropShadowImageFilter can lead to unexpected popping of the shadow when the dest rect lies on half pixel boundaries. > > > > Change-Id: Ibc59dacc79bca8955981ec2889e79facd7d2de83 > > Reviewed-on: https://skia-review.googlesource.com/5669 > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > Commit-Queue: Robert Phillips <robertphillips@google.com> > > > > TBR=bsalomon@google.com,robertphillips@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Change-Id: I0b0073cd8d9f1502daaa452c2153af029c11e52a > Reviewed-on: https://skia-review.googlesource.com/5652 > Commit-Queue: Robert Phillips <robertphillips@google.com> > Reviewed-by: Robert Phillips <robertphillips@google.com> > TBR=bsalomon@google.com,robertphillips@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: I7d844c486fd6db57d3df60a32c12699f2d85ad16 Reviewed-on: https://skia-review.googlesource.com/5747 Commit-Queue: Robert Phillips <robertphillips@google.com> Reviewed-by: Robert Phillips <robertphillips@google.com>
* Revert[2] "remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS"Gravatar Mike Reed2016-12-09
| | | | | | | | | | | This reverts commit a129dfef2aaab0b5995cdf1ab7b2cdd41c29cf72. BUG=skia: Change-Id: I717de6e5fcd4516aa684b014b1414b0f82ac2b91 Reviewed-on: https://skia-review.googlesource.com/5722 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Derek Sollenberger <djsollen@google.com>
* Roll GNGravatar Mike Klein2016-12-09
| | | | | | | | | | | | Mostly to get 5d7f4ce [GN] Fix generate Xcode project for macOS to work with Xcode 8. After this lands, gclient sync && python bin/fetch-gn to get the new GN. Change-Id: I3e1a186996b1db69ef767922a5b9efff173b950c Reviewed-on: https://skia-review.googlesource.com/5723 Reviewed-by: Mike Reed <reed@google.com> Commit-Queue: Mike Klein <mtklein@chromium.org>
* Revert "remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS"Gravatar Mike Reed2016-12-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 8e7432b7f98dd592e529a0c8bb038d73ebfb0478. Reason for revert: <INSERT REASONING HERE> external/skia/bench/../tools/android/SkAndroidSDKCanvas.h:103:36: error: C++ requires a type specifier for all declarations void onClipRect(const SkRect&, ClipOp, ClipEdgeStyle) override; Original change's description: > remove SK_SUPPORT_LEGACY_CLIP_REGIONOPS > > > switch over to SkClipOps now that SK_SUPPORT_LEGACY_CLIP_REGIONOPS is gone > > BUG=skia: > > Change-Id: Ifdc8b3746d508348a40cc009a4e529a1cb3c405d > Reviewed-on: https://skia-review.googlesource.com/5714 > Commit-Queue: Mike Reed <reed@google.com> > Reviewed-by: Mike Reed <reed@google.com> > TBR=reed@google.com,reviews@skia.org BUG=skia: NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Change-Id: If26ea91d7464615e43c1d3d2f726e337ff56b55c Reviewed-on: https://skia-review.googlesource.com/5721 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>
* Add the ability to use different mallocs.Gravatar Herb Derby2016-12-09
| | | | | | | | | | | | | gn gen --args='malloc="tcmalloc"' gn gen --args='malloc="jemalloc"' or if the library is in a non-standard directory gn gen --args='malloc="tcmalloc" extra_ldflags="-L<path-to-library>"' Change-Id: Icacd837d11392a1971f298ccddd69a5a6781f6cf Reviewed-on: https://skia-review.googlesource.com/5629 Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
* fix fuzzersGravatar Cary Clark2016-12-08
| | | | | | | | | | | | | | Two crashes and a hang. Abort and return false in these cases. TBR=kjlubick@google.com BUG=skia:5983 Change-Id: I41ac3e56d47ee423b634b2f4886085b9caada76b Reviewed-on: https://skia-review.googlesource.com/5716 Reviewed-by: Cary Clark <caryclark@google.com> Reviewed-by: Kevin Lubick <kjlubick@google.com> Commit-Queue: Cary Clark <caryclark@google.com>
* remove SK_SUPPORT_LEGACY_CLIP_REGIONOPSGravatar Mike Reed2016-12-08
| | | | | | | | | | | switch over to SkClipOps now that SK_SUPPORT_LEGACY_CLIP_REGIONOPS is gone BUG=skia: Change-Id: Ifdc8b3746d508348a40cc009a4e529a1cb3c405d Reviewed-on: https://skia-review.googlesource.com/5714 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Mike Reed <reed@google.com>