aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
* Add SSSE3 implementation for SkPMFloat, with faster get() and set().Gravatar mtklein2015-03-04
| | | | | | | | | | | | | | | | With SSSE3, we can use the Swiss Army Knife byte shuffler pshufb, a.k.a. _mm_shuffle_epi8(), to jump directly between 32 and 128 bits. In microbench isolation, this looks like an additional 10-15% speedup: SkPMFloat_get: 2.35ns -> 1.98ns SkPMFloat_clamp: 2.35ns -> 2.18ns Before this CL, get() and clamp() were identical code. The _get benchmark improves because both set() and get() become faster; the _clamp benchmark shows the improvement from set() getting faster with clamp() staying the same. BUG=skia: Review URL: https://codereview.chromium.org/976493002
* Revert of Adding linear interpolation to rgb->yuv conversion (patchset #1 ↵Gravatar joshualitt2015-03-04
| | | | | | | | | | | | | | | | | | | | | | | | id:1 of https://codereview.chromium.org/973563002/) Reason for revert: Speculative revert to see if this unblocks the deps roll Original issue's description: > Adding linear interpolation to rgb->yuv conversion > > When the UV planes are smaller than the Y plane, doing the upscaling in nearest mode was creating artefacts, so I changed it to use linear interpolation to fix the issue. > > BUG=460380 > > Committed: https://skia.googlesource.com/skia/+/cd9d42c5167a50f1bf20e969343556d61354171b TBR=bsalomon@google.com,scroggo@google.com,reed@google.com,sugoi@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=460380 Review URL: https://codereview.chromium.org/977133002
* disable chatting debugfGravatar reed2015-03-04
| | | | | | | BUG=skia: TBR=bsalomon@google.com Review URL: https://codereview.chromium.org/974883005
* Fix uninitialized variable in GrGpuGravatar hendrikw2015-03-04
| | | | | | Stumbled on this while running a trace. Review URL: https://codereview.chromium.org/975993002
* Text blob run paints should be filtered.Gravatar fmalita2015-03-03
| | | | | | | | | | | | | We're constructing blob run paints after the canvas draw filter has been applied. Instead, we need do defer text blob draw filters until we have access to the full run paints. BUG=skia:3494 R=reed@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/973973003
* Adding linear interpolation to rgb->yuv conversionGravatar sugoi2015-03-03
| | | | | | | | When the UV planes are smaller than the Y plane, doing the upscaling in nearest mode was creating artefacts, so I changed it to use linear interpolation to fix the issue. BUG=460380 Review URL: https://codereview.chromium.org/973563002
* Split GrTargetCommands into its own filesGravatar robertphillips2015-03-03
| | | | Review URL: https://codereview.chromium.org/979493002
* Run gyp on Win with --no-parallel -G config=$(BUILDTYPE), fix pylintGravatar Eric Boren2015-03-03
| | | | | | | | | The previous change didn't affect Windows... BUG=skia:3287 R=mtklein@google.com Review URL: https://codereview.chromium.org/975803002
* Return to building libpng_static off of Android.Gravatar scroggo2015-03-03
| | | | | | | | | | | | Fixes the fix in https://codereview.chromium.org/971243003/, to build places that are not Android. TBR=mtklein@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/973863002
* Build the Android version of PNG on Android.Gravatar scroggo2015-03-03
| | | | | | | | | | | | | | | Fixes Android build failures. Android builds a custom version of libpng (instead of the one determined by skia_libpng_static) which supplies extra needed functions. TBR=mtklein@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/971243003
* Split command holding object (GrTargetCommands) out of GrInOrderDrawBufferGravatar robertphillips2015-03-03
| | | | | | | | This is still a bit odd in that the IoDB and TargetCommands are annoyingly interwoven. This should improve a bit when batching is everywhere. Joshua - I think you're lead on this. Review URL: https://codereview.chromium.org/973853002
* XPS, DM: add SkDocument::CreateXPSGravatar halcanary2015-03-03
| | | | | | | | | | | | | | | | | | | | | | | - SkDocument::CreateXPS() function added, returns NULL on non-Windows OS. - DM: (Windows only) an XPSSink is added, fails on non-Windows OS - DM: Common code for PDFSink::draw and XPSSink::draw are factored into draw_skdocument static function. - SkDocument_XPS (Windows only) implementation of SkDocument via SkXPSDevice. - SkDocument_XPS_None (non-Windows) returns NULL for SkDocument::CreateXPS(). - gyp/xps.gyp refactored. - SkXPSDevice::drawTextOnPath removed (see http://crrev.com/925343003 ) - SkXPSDevice::drawPath supports conics via SkAutoConicToQuads. Review URL: https://codereview.chromium.org/963953002
* Add SkCodec, including PNG implementation.Gravatar scroggo2015-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DM: Add a flag to use SkCodec instead of SkImageDecoder. SkCodec: Base class for codecs, allowing creation from an SkStream or an SkData. An SkCodec, on creation, knows properties of the data like its width and height. Further calls can be used to generate the image. TODO: Add scanline iterator SkPngCodec: New decoder for png. Wraps libpng. The code has been repurposed from SkImageDecoder_libpng. TODO: Handle other destination colortypes TODO: Substitute the transpose color TODO: Allow silencing warnings TODO: Use RGB instead of filler? TODO: sRGB SkSwizzler: Simplified version of SkScaledSampler. Unlike the sampler, this object does no sampling. TODO: Implement other swizzles. Requires a gclient sync to pull down libpng. BUG=skia:3257 Committed: https://skia.googlesource.com/skia/+/ca358852b4fed656d11107b2aaf28318a4518b49 (and then reverted) Review URL: https://codereview.chromium.org/930283002
* Test and fix SkPMFloat rounding.Gravatar mtklein2015-03-03
| | | | | | | | | | | SSE rounds for free (that was a happy accident: they also have a truncating version). NEON does not, nor obviously the portable code, so they add 0.5 before truncating. NOPRESUBMIT=true BUG=skia: Review URL: https://codereview.chromium.org/974643002
* Revert of XPS, DM: add SkDocument::CreateXPS (patchset #8 id:310001 of ↵Gravatar halcanary2015-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/963953002/) Reason for revert: breaking iOS build. Original issue's description: > XPS, DM: add SkDocument::CreateXPS > > - SkDocument::CreateXPS() function added, returns NULL on non-Windows OS. > > - DM: (Windows only) an XPSSink is added, fails on non-Windows OS > > - DM: Common code for PDFSink::draw and XPSSink::draw are factored into > draw_skdocument static function. > > - SkDocument_XPS (Windows only) implementation of SkDocument via > SkXPSDevice. > > - SkDocument_XPS_None (non-Windows) returns NULL for > SkDocument::CreateXPS(). > > - gyp/xps.gyp refactored. > > - SkXPSDevice::drawTextOnPath removed (see http://crrev.com/925343003 ) > > - SkXPSDevice::drawPath supports conics via SkAutoConicToQuads. > > NOPRESUBMIT=true > > Committed: https://skia.googlesource.com/skia/+/00d39bcbfc8394a9b48b86b04ab06ec19091fa43 TBR=reed@google.com,bungeman@google.com,mtklein@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/978443002
* XPS, DM: add SkDocument::CreateXPSGravatar halcanary2015-03-03
| | | | | | | | | | | | | | | | | | | | | | | | | - SkDocument::CreateXPS() function added, returns NULL on non-Windows OS. - DM: (Windows only) an XPSSink is added, fails on non-Windows OS - DM: Common code for PDFSink::draw and XPSSink::draw are factored into draw_skdocument static function. - SkDocument_XPS (Windows only) implementation of SkDocument via SkXPSDevice. - SkDocument_XPS_None (non-Windows) returns NULL for SkDocument::CreateXPS(). - gyp/xps.gyp refactored. - SkXPSDevice::drawTextOnPath removed (see http://crrev.com/925343003 ) - SkXPSDevice::drawPath supports conics via SkAutoConicToQuads. NOPRESUBMIT=true Review URL: https://codereview.chromium.org/963953002
* Trim the fat off SkPMFloat bench.Gravatar mtklein2015-03-03
| | | | | | | | | | | | This bench was ~75% overhead, ~25% good bench. It is now just about the opposite: about 30% of the runtime is loop and random number overhead, and about 70% of the time is spent doing SkPMColor <-> SkPMFloat work. BUG=skia: NOPRESUBMIT=true Review URL: https://codereview.chromium.org/968133005
* Make SkPMFloats store floats in [0,255] instead of [0,1].Gravatar mtklein2015-03-03
| | | | | | | | | | | | | This pushes the cost of the *255 and *1/255 conversions onto only those code paths that need it. We're not doing it any more efficiently than can be done with Sk4f. In microbenchmark isolation, this is about a 15% speedup. BUG=skia: NOPRESUBMIT=true Review URL: https://codereview.chromium.org/973603002
* change colorfilter to return an array of frag processorsGravatar reed2015-03-03
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/973593002
* Run gyp with --no-parallel -G config=$(BUILDTYPE)Gravatar borenet2015-03-03
| | | | | | BUG=skia:3287 Review URL: https://codereview.chromium.org/972943003
* Don't guarantee any particular color order for SkPMFloat. Hide fColor.Gravatar mtklein2015-03-02
| | | | | | | | Also add a little note that get() may incidentally clamp. BUG=skia: Review URL: https://codereview.chromium.org/973553004
* add virtuals to optimize composing colorfiltersGravatar reed2015-03-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/968993004
* Draw glyphs on Mac without font transform.Gravatar bungeman2015-03-02
| | | | | | | | The transform on the font is increasingly going untested on Mac. As a result, only use the transform on the context when possible. This fixes color emoji on OSX10.2. Review URL: https://codereview.chromium.org/975493002
* add double precision convex testGravatar caryclark2015-03-02
| | | | | | BUG=389050 Review URL: https://codereview.chromium.org/975523002
* Revert of Add SkCodec, including PNG implementation. (patchset #24 id:460001 ↵Gravatar scroggo2015-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/930283002/) Reason for revert: Breaking windows bots all over the place :( Original issue's description: > Add SkCodec, including PNG implementation. > > DM: > Add a flag to use SkCodec instead of SkImageDecoder. > > SkCodec: > Base class for codecs, allowing creation from an SkStream or an SkData. > An SkCodec, on creation, knows properties of the data like its width and height. Further calls can be used to generate the image. > TODO: Add scanline iterator > > SkPngCodec: > New decoder for png. Wraps libpng. The code has been repurposed from SkImageDecoder_libpng. > TODO: Handle other destination colortypes > TODO: Substitute the transpose color > TODO: Allow silencing warnings > TODO: Use RGB instead of filler? > TODO: sRGB > > SkSwizzler: > Simplified version of SkScaledSampler. Unlike the sampler, this object does no sampling. > TODO: Implement other swizzles. > > BUG=skia:3257 > > Committed: https://skia.googlesource.com/skia/+/ca358852b4fed656d11107b2aaf28318a4518b49 TBR=reed@google.com,djsollen@google.com,msarett@google.com,mtklein@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:3257 Review URL: https://codereview.chromium.org/972743003
* Add SkCodec, including PNG implementation.Gravatar scroggo2015-03-02
| | | | | | | | | | | | | | | | | | | | | | | | | | DM: Add a flag to use SkCodec instead of SkImageDecoder. SkCodec: Base class for codecs, allowing creation from an SkStream or an SkData. An SkCodec, on creation, knows properties of the data like its width and height. Further calls can be used to generate the image. TODO: Add scanline iterator SkPngCodec: New decoder for png. Wraps libpng. The code has been repurposed from SkImageDecoder_libpng. TODO: Handle other destination colortypes TODO: Substitute the transpose color TODO: Allow silencing warnings TODO: Use RGB instead of filler? TODO: sRGB SkSwizzler: Simplified version of SkScaledSampler. Unlike the sampler, this object does no sampling. TODO: Implement other swizzles. BUG=skia:3257 Review URL: https://codereview.chromium.org/930283002
* valgrind fixGravatar joshualitt2015-03-02
| | | | | | | TBR= BUG=skia: Review URL: https://codereview.chromium.org/968873006
* Add testing section of docs. Consolidated trybot/buildbot sectionGravatar hcm2015-03-02
| | | | | | | | BUG=skia: Preview link: http://skiadocs.com:8000/dev/testing/?cl=954523004 Review URL: https://codereview.chromium.org/954523004
* small bug fix for batch assertsGravatar joshualitt2015-03-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/969043002
* Minor cleanup of GrInOrderDrawBufferGravatar robertphillips2015-03-02
| | | | Review URL: https://codereview.chromium.org/969813003
* treat backwards quads as not convexGravatar caryclark2015-03-02
| | | | | | | | | | If a quad, cubic, or conic goes back on itself, assume it's not convex. In a future CL, we could check to see if the curve is linear so that linear curves are treated the same as lines. BUG=skia:3469 Review URL: https://codereview.chromium.org/971773002
* Revert of DM: run pdf config on the bots. (patchset #1 id:1 of ↵Gravatar mtklein2015-03-02
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/968953002/) Reason for revert: Will try this again after investigating OOMs on Xoom, N5 (i.e. the bots that actually run non-GPU work like PDF). Original issue's description: > DM: run pdf config on the bots. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/b12f88152c87e006d04fade4f106669cd9e44677 TBR=stephana@google.com,halcanary@google.com,mtklein@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/959123003
* Fix for out-of-bounds intersection (found by fuzzer).Gravatar senorblanco2015-03-02
| | | | | | | | | | | | | | | Sometimes, the intersection returned by check_intersection() is out-of-bounds for both edges (above both tops or below both bottoms) due to floating-point inaccuracy. This causes split_edge() to create a tiny negative-length edge on one side (which would then assert). Although we could safely remove this assert and allow the negative length edge to be removed, it's faster/safer to simply avoid its creation in the first place by adjusting one edge to the other edge's endpoint. Added a new unit test to exercise this case. Review URL: https://codereview.chromium.org/968993002
* Set the ttcIndex on Mac onOpenStream.Gravatar bungeman2015-03-02
| | | | | | | Since on Mac onOpenStream always creates a new stream of a non-collection font, be sure the out ttcIndex is always set to 0. Review URL: https://codereview.chromium.org/975473002
* DM: run pdf config on the bots.Gravatar mtklein2015-03-02
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/968953002
* [Skia] Add SK_API to SkParse.Gravatar huangs2015-03-02
| | | | | | | | | | For https://codereview.chromium.org/924063003/ , we would like to use the SkParse::FindColor(). Adding SK_API to SkParse is necessary for component build to work. BUG=skia: Review URL: https://codereview.chromium.org/971623003
* Increase GrInOrderDrawBuffer's encapsulation of trace markersGravatar robertphillips2015-03-02
| | | | | | | Greg - I think this is mainly you Joshua - I did make a small batching change in onDrawBatch Review URL: https://codereview.chromium.org/963183002
* On windows, build zlib as a static library.Gravatar scroggo2015-03-02
| | | | | | | | | | | | Partially in preparation for building libpng on Windows. Also, this makes us consistent across platforms for PDF. Uses the version of zlib checked into the Chromium tree. Remove miniz, which is replaced by zlib. Review URL: https://codereview.chromium.org/966963002
* add compose-colorfilterGravatar reed2015-03-01
| | | | | | | | | | | now with serialization registration This reverts commit 5bd055c0386499f2dc8c66173a7534b75af602bf. BUG=skia: TBR= Review URL: https://codereview.chromium.org/970753002
* Revert of add compose-colorfilter (patchset #2 id:20001 of ↵Gravatar reed2015-03-01
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/969673002/) Reason for revert: need to register subclass for serialization Original issue's description: > add compose-colorfilter > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/b675a73c1f3f4a433c4893199a0bd11126dfe130 TBR=fmalita@chromium.org,bsalomon@google.com,reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/971653002
* add compose-colorfilterGravatar reed2015-03-01
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/969673002
* Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #10 id:180001 ↵Gravatar robertphillips2015-03-01
| | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/949263002/) Reason for revert: Experimentally reverting to see if this is the cause of the mac_chromium_rel_ng roll-blocking failures. Original issue's description: > Improve tracking of bound FBOs in GrGLGpu. > > Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 > > Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 > > Committed: https://skia.googlesource.com/skia/+/0b70b86a7e9fda52ee7ebc1b9897eeaa09b9abef TBR=egdaniel@google.com,bsalomon@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/970613003
* PDF: Switch some unit tests to higher level API.Gravatar halcanary2015-03-01
| | | | | | Also, clean up some headers. Review URL: https://codereview.chromium.org/968683002
* Update SKP versionGravatar skia.buildbots2015-03-01
| | | | | | | | Automatic commit by the RecreateSKPs bot. TBR= Review URL: https://codereview.chromium.org/968003002
* Add msaa runs to nanobenchGravatar bsalomon2015-02-28
| | | | | | TBR=mtklein@google.com Review URL: https://codereview.chromium.org/964053002
* Doc: update dev/design/pdftheory with new function callGravatar halcanary2015-02-28
| | | | | | | NOTRY=true TBR= Review URL: https://codereview.chromium.org/967873002
* Improve tracking of bound FBOs in GrGLGpu.Gravatar bsalomon2015-02-27
| | | | | | | | Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 Review URL: https://codereview.chromium.org/949263002
* Revert of Improve tracking of bound FBOs in GrGLGpu. (patchset #8 id:140001 ↵Gravatar bsalomon2015-02-27
| | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/949263002/) Reason for revert: breaking things Original issue's description: > Improve tracking of bound FBOs in GrGLGpu. > > Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 > > Committed: https://skia.googlesource.com/skia/+/b2af2d8b83ca4774c3b3bb1e49bc72605faa9589 TBR=egdaniel@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/963973002
* Improve tracking of bound FBOs in GrGLGpu.Gravatar bsalomon2015-02-27
| | | | | | Committed: https://skia.googlesource.com/skia/+/d2ad8eb5801e2c8c0fa544a6a776bb46eedde2a0 Review URL: https://codereview.chromium.org/949263002
* Flate: skia_alloc_func works on both miniz and zlibGravatar halcanary2015-02-27
| | | | | | | | | | | | | | Also, Revert "Revert of Flate: fix valgrind miniz Conditional-jump-or-move-depends... error" This reverts commit 6dc4ef01a656a9f7c3087eec2ff5142c707ceb7f. The alloc functions really do have different types depending on zlib implementation. CQ_INCLUDE_TRYBOTS=client.skia:Linux Builder-Trybot Review URL: https://codereview.chromium.org/963853002