aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
* Add layer counting to SkPictureRecordGravatar robertphillips2014-08-12
| | | | | | | | | | | | This will be used for a SkPicture::suitableForOptimization entry point. Committed: https://skia.googlesource.com/skia/+/4a2b2e8ed2e35171bf98bad68a69daaced11ec7c R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/464433002
* Revert of Add layer counting to SkPictureRecord ↵Gravatar mtklein2014-08-11
| | | | | | | | | | | | | | | | | | | | | | | | | (https://codereview.chromium.org/464433002/) Reason for revert: DM's all segfaulty http://108.170.220.120:10117/builders/Test-Mac10.7-MacMini4.1-GeForce320M-x86_64-Debug/builds/3866/steps/RunDM/logs/stdio Original issue's description: > Add layer counting to SkPictureRecord > > This will be used for a SkPicture::suitableForOptimization entry point. > > Committed: https://skia.googlesource.com/skia/+/4a2b2e8ed2e35171bf98bad68a69daaced11ec7c R=bsalomon@google.com, robertphillips@google.com TBR=bsalomon@google.com, robertphillips@google.com NOTREECHECKS=true NOTRY=true Author: mtklein@google.com Review URL: https://codereview.chromium.org/452673003
* Add layer counting to SkPictureRecordGravatar robertphillips2014-08-11
| | | | | | | | | | This will be used for a SkPicture::suitableForOptimization entry point. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/464433002
* More SkTileGrid refactoring.Gravatar mtklein2014-08-11
| | | | | | | | | | | I've rearranged the code a bit more and added more notes. BUG=skia: R=robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/463593003
* De-parameterize SkNextDatumFunction.Gravatar mtklein2014-08-11
| | | | | | | | | | | | Just a simple refactor to make it clear we're only using this one method and this one type. BUG=skia: R=robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/465523002
* Cleaning up SkPicture-related classesGravatar robertphillips2014-08-11
| | | | | | | | R=mtklein@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/459043002
* Plumbing for using a BBH in SkRecordDraw.Gravatar mtklein2014-08-11
| | | | | | | | | | | | | | | | For now this only creates a degenerate bounding box hierarchy where all ops just have maximal bounds. I will flesh out FillBounds in future CL(s). Not quite sure why QuadTree and TileGrid aren't drawing right---haven't even looked at the diffs yet---so I've disabled those test modes for now. RTree seems fine, so that'll at least get us coverage for all this new plumbing. BUG=skia: R=robertphillips@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/454123003
* Fix string assert and dead code which caused it.Gravatar bungeman2014-08-11
| | | | | | | | | | | | | | | Running tools with a '--' parameter caused SkString to assert here incorrectly. SkString::remove should allow the entire contents of a string to be removed. The code in the flags parser which caused this call is dead and should be removed. R=mtklein@google.com, reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/453333002
* Remove Matrix/Clip State collapse codeGravatar robertphillips2014-08-11
| | | | | | | | | | Given recent & upcoming changes (e.g., removal of save flags & SkRecord picture backend) this will have to be reimplemented. R=fmalita@google.com, fmalita@chromium.org Author: robertphillips@google.com Review URL: https://codereview.chromium.org/453133003
* add drawPicture variant that takes a matrix and paintGravatar reed2014-08-09
| | | | | | | | | | will need some staging strategy, since chrome and blink have overrides of onDrawPicture R=robertphillips@google.com, fmalita@google.com, bsalomon@google.com, mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/448793004
* short circuit high quality scales that are actually the identityGravatar humper2014-08-08
| | | | | | | | | | | transform BUG=skia: R=reed@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/456843002
* Make BBH::search() const.Gravatar mtklein2014-08-08
| | | | | | | | | | | | | I'd like to have SkRecordDraw() work with a const SkBBoxHierarchy*, but can't quite today. The only interesting change here is no longer flushing if needed in RTree; instead we assert we've been flushed already. BUG=skia: R=robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/452233002
* add a simple ascii-art debug thing for AA clipsGravatar humper2014-08-08
| | | | | | | | | BUG=skia: R=reed@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/450423002
* Moved SkPictureContentInfo into its own file. It now tracks the number of skiaGravatar hendrikw2014-08-08
| | | | | | | | | | | | | | | | | operations (maybe, I'm not 100% sure I'm doing this right yet) and the number of text draws. I also moved some of the gpu logic out of SkPictureRecord and into SkPictureContentInfo, http://code.google.com/p/chromium/issues/detail?id=396908 http://code.google.com/p/chromium/issues/detail?id=397198 http://code.google.com/p/chromium/issues/detail?id=399728 BUG=396908 R=nduca@chromium.org, mtklein@chromium.org, robertphillips@google.com, mtklein@google.com Author: hendrikw@chromium.org Review URL: https://codereview.chromium.org/435093003
* SkRecord: Strip out cull-skipping and y-only drawPosTextH skipping.Gravatar mtklein2014-08-08
| | | | | | | | | | | | These optimizations are outclassed by a general bounding-box hierarchy, and are just going to make plugging that into SkRecordDraw more complicated. BUG=skia: R=robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/452983002
* 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
* change drawPicture in SkRecord to just ref the pictureGravatar reed2014-08-07
| | | | | | | | | | | also fix some int/unsigned/size_t warnings BUG=skia: R=mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/449933002
* add isRect() check to AAClip, to detect if a soft-clip is really just an irectGravatar reed2014-08-07
| | | | | | | | | | | | | | | taken from (https://codereview.chromium.org/445233006/) fix: don't assume that the first yoffset is 0, since we may have performed a translate and not re-alloced our data. This reverts commit 0aeea6d344f12e35e29a79f4bbc48af88f913204. TBR= Author: reed@google.com Review URL: https://codereview.chromium.org/443353004
* Revert of add isRect() check to AAClip, to detect if a soft-clip is really ↵Gravatar reed2014-08-07
| | | | | | | | | | | | | | | | | | | | | | | | just an irect (https://codereview.chromium.org/445233006/) Reason for revert: new code asserts on some pictures Original issue's description: > add isRect() check to AAClip, to detect if a soft-clip is really just an irect > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/592cb8d552556b1e922887d506d00b64bc5d0547 R=bsalomon@google.com, humper@google.com TBR=bsalomon@google.com, humper@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: reed@google.com Review URL: https://codereview.chromium.org/452533002
* add isRect() check to AAClip, to detect if a soft-clip is really just an irectGravatar reed2014-08-07
| | | | | | | | | BUG=skia: R=bsalomon@google.com, humper@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/445233006
* Clamp SkPictureShader's tile size.Gravatar fmalita2014-08-07
| | | | | | | | | | | | | | Blink used to clamp the max size for its pattern bitmaps (several SVG pattern tests rely on/verify this behavior). This CL clamps the maximum tile area to a reasonable value (16M pixels), and scales beyond that. R=bsalomon@google.com, reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/446243002
* Stopped skipping tests in dm of SkPatch by implementing theGravatar dandov2014-08-07
| | | | | | | | | | | corresponding drawPath calls on classes that derive from SkCanvas. BUG=skia: R=egdaniel@google.com, bsalomon@google.com, mtklein@google.com, robertphillips@google.com Author: dandov@google.com Review URL: https://codereview.chromium.org/429343004
* Revert "Remove SkPaintOptionsAndroid"Gravatar Derek Sollenberger2014-08-06
| | | | | | This reverts commit 27fb94999b8eec448423884e1d071e563c4c95d9. Review URL: https://codereview.chromium.org/450513002
* Remove SkPaintOptionsAndroidGravatar Derek Sollenberger2014-08-06
| | | | Review URL: https://codereview.chromium.org/447873003
* Explicit tile bounds for SkPictureShaderGravatar fmalita2014-08-06
| | | | | | | | | | | | | | | The integer picture size is not granular enough to allow precise tiling in arbitrary coordinate systems. This CL adds an optional tile bounds float rect param to control the tile size and location. (this also allows tile spacing emulation for picture shaders). R=reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/437393003
* fix concat order for local matricesGravatar reed2014-08-06
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/446013004
* SkPicture: try to no-op away clone().Gravatar mtklein2014-08-06
| | | | | | | | | | | Will actually enable this by #defining SK_PICTURE_CLONE_NOOP in Chrome's SkUserConfig.h as a separate CL after this rolls in. BUG=skia: R=reed@google.com, robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/447753003
* Allow custom blitters to be passed to SkDraw::drawPathGravatar krajcevski2014-08-06
| | | | | | | | R=reed@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/444003004
* Remove ALL font fallback logic from Skia.Gravatar djsollen2014-08-06
| | | | | | | | R=reed@google.com, bungeman@google.com, caryclark@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/434623002
* Force linking as C++ library.Gravatar mtklein2014-08-04
| | | | | | | | | BUG=skia: R=bungeman@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/420183004
* SkCanvas interface for drawing a patch.Gravatar dandov2014-08-04
| | | | | | | | | | | | | | | | | Added function SkCanvas::drawPatch to the API. This function receives the patch to draw and the paint. Added function SkBaseDevice::drawPatch to the API. This function also receives the patch to draw and the paint. Currently SkGpuDevice and SkBitmapDevice generate the mesh taking into account the scale factor and call the corresponding device's drawVertices. BUG=skia: R=jvanverth@google.com, egdaniel@google.com, bsalomon@google.com Author: dandov@google.com Review URL: https://codereview.chromium.org/424663006
* fix missing return in error case for bitmap scalerGravatar humper2014-08-04
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/431613003
* Remove SK_IGNORE_QUAD_RR_CORNERS_OPT-related code.Gravatar Florin Malita2014-08-01
| | | | | | | | | Now that the flag is no longer used in Chromium (https://codereview.chromium.org/426593006/), we can remove it. R=bsalomon@google.com, reed@google.com, robertphillips@google.com Review URL: https://codereview.chromium.org/430473012
* Update NEON compiler defines to use SK_ prefixGravatar djsollen2014-08-01
| | | | | | | | | BUG=skia:2785 R=mtklein@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/433513004
* Fix end-of-pattern matching for Skia recording optimization.Gravatar dneto2014-07-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The recorder optimizer's pattern matcher was accepting command sequences when it shouldn't have. In the submitted case, and the pattern matcher was looking for: saveLayer, drawBitmap, restore and in the rendering for the submitted case, the sequence of commands were: saveLayer, drawBitmap, drawBitmap, restore This sequence was improperly accepted by the matcher, and the optimizer reduced the sequence to: drawBitmap, drawBitmap where the opacity from the saveLayer paint argument was applied to the first drawBitmap only. The user-visible effect in Chrome was a flashing effect on an image caused by incorrect (too-high) opacity. The patch adds a Skia test to check for pixel colour values in a similarly structured recording. All other Skia tests pass. Blink layout tests also pass with this change. BUG=chromium:344987 R=robertphillips@google.com, reed@google.com, mtklein@google.com Author: dneto@chromium.org Review URL: https://codereview.chromium.org/430503004
* 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
* Pass clip blitter rows preserved requestGravatar krajcevski2014-07-29
| | | | | | | | R=robertphillips@google.com, reed@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/413403005
* Fix thread unsafe mutex initialization.Gravatar bungeman2014-07-25
| | | | | | | | | BUG=skia:2779 R=robertphillips@google.com, mtklein@google.com, reed@android.com, bsalomon@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/419113002
* Added classes SkPatch and SkPatchMesh which help encapsulate and generalize ↵Gravatar dandov2014-07-25
| | | | | | | | | | | | | | | this new primitive. The functionality and responsability of each class is better explained in the comments of the files. Each patch defines a method genMesh that produces the geometry to draw. To do this they receive a SkPatchMesh object which they need to initialize in order to set up how the data is going to be formatted. Later they call function like setColor or pointAt to set the values at a specific index, the SkMeshPatch object handles the indices based on the format and makes it transparent to the client. Added a slide to sample app to show how to set up this classes and how they interact. BUG=skia: R=jvanverth@google.com, egdaniel@google.com, bsalomon@google.com Author: dandov@google.com Review URL: https://codereview.chromium.org/405163003
* Replace use of GrTHashTable in GrFontCache with SkTDynamicHash.Gravatar jvanverth2014-07-22
| | | | | | | | | | | Searching the font cache for existing text strikes was showing up as a hotspot on Android. This change reduces that cost. R=bsalomon@google.com, robertphillips@google.com, mtklein@google.com Author: jvanverth@google.com Review URL: https://codereview.chromium.org/390103002
* Add auto purging for SkPicture-related Ganesh resources (esp. layers)Gravatar robertphillips2014-07-22
| | | | | | | | | | This is intended to lower the bookkeeping burden for the Layer Caching feature. Cached layers are now automatically purged when a picture is deleted. R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/408923002
* Added count validation in SkImageFilter::Common::unflatten()Gravatar sugoi2014-07-22
| | | | | | | | | BUG=395641 R=reed@google.com, senorblanco@google.com, senorblanco@chromium.org Author: sugoi@chromium.org Review URL: https://codereview.chromium.org/405983006
* Move GrTMultiMap to src/core and rename itGravatar robertphillips2014-07-21
| | | | | | | | R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/401343002
* Skia side RGB to YUV gpu conversionGravatar sugoi2014-07-21
| | | | | | | | | | | This code is the one that's currently working in my local chromium build. A few things still need to be addressed and I'll highlight these directly in the code. BUG=skia: R=reed@google.com, bsalomon@google.com, senorblanco@google.com, senorblanco@chromium.org, robertphillips@google.com, scroggo@google.com, halcanary@google.com Author: sugoi@chromium.org Review URL: https://codereview.chromium.org/374743003
* Let blitters be notified when they're done being usedGravatar krajcevski2014-07-21
| | | | | | | | R=reed@google.com, robertphillips@google.com Author: krajcevski@google.com Review URL: https://codereview.chromium.org/399593007
* Allow GrGLEffects to produce variable length keys.Gravatar bsalomon2014-07-21
| | | | | | | | R=robertphillips@google.com, jvanverth@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/385713005
* Remove use of SK_SUPPORT_LEGACY_LAYERRASTERIZER_API.Gravatar dominikg2014-07-21
| | | | | | | | | | | | Mozilla have removed any uses of the legacy API from their Moz2D code. Since they were the last users we know of, we can remove the legacy API. BUG=skia:2187 R=scroggo@google.com, reed@google.com Author: dominikg@chromium.org Review URL: https://codereview.chromium.org/402613003
* Replace GrTHash with SkTDynamicHashGravatar robertphillips2014-07-20
| | | | | | | | | | | | | Mike: SkTDynamicHash changes Brian: Ganesh changes This removes three instances of GrTHash leaving the ones in GrTextStrike.h R=mtklein@google.com, bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/402693003
* factor out flattening/unflattening of common fields from SkImageFilterGravatar reed2014-07-17
| | | | | | | | | | This is a precursor to changing SkImageFilters (and all effects) to unflatten via a factory instead of a constructor. In that world, each subclass of ImageFilter will need to control/initiate the unflattening of the common fields, so they can be extract and passed to their Factory. R=senorblanco@google.com, robertphillips@google.com, mtklein@google.com, senorblanco@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/395273002
* Set maximum output size for scaled-image-cache imagesGravatar halcanary2014-07-17
| | | | | | | | | | | | | | Accessable via: SkScaledImageCache::{G,S}etMaximumOutputSizeForHighQualityFilter Also, a unit test. BUG=389439 R=humper@google.com, tomhudson@google.com, reveman@chromium.org, vangelis@chromium.org, reed@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/394003003