aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
* SkTextBlob plumbingGravatar fmalita2014-08-26
| | | | | | | | | | | Add SkTextBlob serialization + drawTextBlob() overrides. R=mtklein@google.com, reed@google.com, robertphillips@google.com BUG=269080 Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/499413002
* Remove unused header file in SkScaledImageCache.cppGravatar qiankun.miao2014-08-26
| | | | | | | | | BUG=skia: R=reed@google.com Author: qiankun.miao@intel.com Review URL: https://codereview.chromium.org/506783003
* Bound everything except drawText().Gravatar mtklein2014-08-25
| | | | | | | | | BUG=skia: R=robertphillips@google.com, fmalita@chromium.org, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/470063008
* Unfurl catch-all bounds(). This makes it a little easier to track progress.Gravatar mtklein2014-08-25
| | | | | | | | | | | | I think we've worked out the SaveLayer bounds as of crrev.com/496963003, so remove that TODO. BUG=skia: R=robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/501153002
* Clean up useless comments in SkScaledImageCache.hGravatar qiankun.miao2014-08-25
| | | | | | | | | BUG=skia: R=reed@google.com Author: qiankun.miao@intel.com Review URL: https://codereview.chromium.org/499203002
* Support comment groups in SkRecord.Gravatar mtklein2014-08-22
| | | | | | | | | | | This should fix the failing paint-command-log-nodes.html layout test. BUG=406425 R=tomhudson@chromium.org Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/501533003
* Fix saveLayer() with a pixel-moving filter vs SkBBoxHierarchyRecord / ↵Gravatar mtklein2014-08-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | SkRecordDraw In SkBBoxHierarchyRecord: Since the bounds we pass to saveLayer are in the pre-filtering coordinate space, they aren't correct for determining the actual device pixels touched by the saveLayer in this case. The easiest fix for now is to pass the clip bounds, since the final draw done in restore() will never draw outside the clip. In SkRecordDraw: We do adjust the bounds passed to saveLayer, so we just need to make sure that when we're using a paint that may affect transparent black, we ignore the calculated bounds of draw ops and use the clip intersected with those adjusted bounds. See originally crrev.com/497773002 BUG=skia: R=reed@google.com, senorblanco@chromium.org, junov@chromium.org, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/496963003
* [SkTextBlob] Merge run font data at draw time.Gravatar fmalita2014-08-22
| | | | | | | | R=bungeman@google.com, reed@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/496773002
* extend SkShader to report a luminance-color to be used for gamma correctionGravatar reed2014-08-22
| | | | | | | | | BUG=skia:590 R=bungeman@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/492963002
* fix numerical overflows in 565 blendsGravatar reed2014-08-22
| | | | | | | | | BUG=skia:2797 R=mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/474983007
* Initial refactor of shaderbuilder to prepare for geometry shadersGravatar joshualitt2014-08-21
| | | | | | | | | | | gitignore for eclipse BUG=skia: R=bsalomon@google.com, bsalomon@chromium.org Author: joshualitt@chromium.org Review URL: https://codereview.chromium.org/491673002
* Revert of Revert back to SkPictureData pictures. Huge perf regression. ↵Gravatar mtklein2014-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 of https://codereview.chromium.org/496603002/) Reason for revert: Try again now that we have --bbh on nanobench and it's looking decent. Original issue's description: > Revert back to SkPictureData pictures. Huge perf regression. > > http://skiaperf.com/#108 > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/4082d290eea2f70caa82120ff3bc4fbdccbf206c R=reed@google.com, mtklein@chromium.org TBR=mtklein@chromium.org, reed@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: mtklein@google.com Review URL: https://codereview.chromium.org/496173002
* 1.5x -> 2x text size for y pad.Gravatar mtklein2014-08-21
| | | | | | | | | | | | | | This will expand the cheat to just big enough to pass an assertion coming from our GDI bot. Currently failing: -6.000000 -1.500000 6.000000 1.500000 vs. -1.000000 -2.000000 3.000000 1.000000 Will become (-8 -2 8 2) vs. (-1 -2 3 1). BUG=skia: R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/496153002
* Ignore small text sizes in the text bounding assert.Gravatar mtklein2014-08-21
| | | | | | | | | | | Seems we sometimes give back unduely large metrics for 0 text size. BUG=skia:2862 R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/498503003
* SkMultiPictureDraw APIGravatar robertphillips2014-08-21
| | | | | | | | | | | | This CL adds a new API to optimize across multiple SkPicture draw calls. Note that multiple pictures rendered at once (i.e., picture piles) should be flattened into a single new picture that includes the required clipping on the different layers. R=bsalomon@google.com, reed@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/491313003
* Install a hook to swap between SkPicture backends with a single define.Gravatar mtklein2014-08-21
| | | | | | | | | BUG=skia: R=robertphillips@google.com, reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/492023002
* expose generalized imagecache keyGravatar reed2014-08-21
| | | | | | | | | BUG=skia: R=mtklein@google.com, halcanary@google.com, qiankun.miao@intel.com Author: reed@google.com Review URL: https://codereview.chromium.org/483493003
* Our SkPicture::Analysis visitors should recurse into nested pictures.Gravatar mtklein2014-08-21
| | | | | | | | | BUG=skia: R=tomhudson@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/495793002
* SkTextBlobGravatar fmalita2014-08-21
| | | | | | | | | | Initial implementation. R=bungeman@google.com, jbroman@chromium.org, mtklein@google.com, reed@google.com, robertphillips@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/473633002
* Simplify flattening to just write enough to call the ↵Gravatar reed2014-08-21
| | | | | | | | | | | | | | | | | | factory/public-constructor for the class. We want to *not* rely on private constructors, and not rely on calling through the inheritance hierarchy for either flattening or unflattening(CreateProc). Refactoring pattern: 1. guard the existing constructor(readbuffer) with the legacy build-flag 2. If you are a instancable subclass, implement CreateProc(readbuffer) to create a new instances from the buffer params (or return NULL). If you're a shader subclass 1. You must read/write the local matrix if your class accepts that in its factory/constructor, else ignore it. R=robertphillips@google.com, mtklein@google.com, senorblanco@google.com, senorblanco@chromium.org, sugoi@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/395603002
* remove code for (dead) SK_SUPPORT_LEGACY_GETCLIPTYPEGravatar reed2014-08-21
| | | | | | | | | BUG=skia: R=djsollen@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/489103003
* Revert back to SkPictureData pictures. Huge perf regression.Gravatar mtklein2014-08-20
| | | | | | | | | | | http://skiaperf.com/#108 BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/496603002
* Always read .skp files and other serialized pictures into SkRecord.Gravatar mtklein2014-08-20
| | | | | | | | | | | | | | | | This should switch all our internal tools that aren't clever about it over to SkRecord pictures. (The clever tools know what they're doing.) Also, deletes the old SkPicture::clone() path. return this or die. BUG=skia: Committed: https://skia.googlesource.com/skia/+/7b705bb17e09508e3761b54f59833b1ceb4ce9a6 R=robertphillips@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/481743003
* Always read .skp files and other serialized pictures into SkRecord.Gravatar mtklein2014-08-20
| | | | | | | | | | | | | This should switch all our internal tools that aren't clever about it over to SkRecord pictures. (The clever tools know what they're doing.) Also, deletes the old SkPicture::clone() path. return this or die. BUG=skia: R=robertphillips@google.com, mtklein@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/481743003
* make imagecache's Key more general purposeGravatar reed2014-08-20
| | | | | | | | | | | This should allow other clients with different sized keys to still use the cache. BUG=skia: R=fmalita@google.com, mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/472343002
* Dump out more information if this assert fails.Gravatar mtklein2014-08-20
| | | | | | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/ec924b9696277df4c684e73315194482e1d43e50 R=caryclark@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/491903002
* Dump out more information if this assert fails.Gravatar mtklein2014-08-20
| | | | | | | | | BUG=skia: R=caryclark@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/491903002
* Implement SkPicture::hasText() for SkRecord backend.Gravatar mtklein2014-08-20
| | | | | | | | | | | | Plus, some small tweaks to the existing code surrounding it. Just proposals, will undo whatever you don't like. BUG=skia: R=mtklein@google.com, tomhudson@google.com, reed@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/494683003
* Remove SK_FONT_HOST_DOES_NOT_USE_FONTMGR and guarded code.Gravatar bungeman2014-08-20
| | | | | | | | | | This define is no longer needed or set, so remove it from the code. R=tomhudson@google.com, djsollen@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/488083004
* Move the code over using the same template type approach previously used for ↵Gravatar tomhudson2014-08-20
| | | | | | | | | | | | | | | willPlayBackBitmaps in http://skbug.com/2702. Also unifies that flag and this one into a struct so they and others can be computed together. The struct is stored const to enforce lifetime expectations. Adds a few new cases to the unit test. BUG=skia:2700 R=mtklein@google.com, reed@google.com, robertphillips@google.com, tomhudson@google.com Committed: https://skia.googlesource.com/skia/+/60c2a79cfa8ceebcbafc243407564dc71f5e3b4f Author: tomhudson@chromium.org Review URL: https://codereview.chromium.org/364823009
* fix #if to #ifdef for SK_DEBUGGravatar caryclark2014-08-20
| | | | | | | | | | | | | | fix the chrome build R=mtklein@google.com TBR=mtklein NOTREECHECKS=true NOTRY=true BUG=skia: Author: caryclark@google.com Review URL: https://codereview.chromium.org/495453003
* Cheat to go fast, but be careful in debug mode.Gravatar mtklein2014-08-19
| | | | | | | | | | | | Turns out recording actual text metrics is currently really slow. If we want to compete with the (cheating) status quo, gotta cheat too. BUG=skia: R=reed@google.com, robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/494483002
* remove unused SkIntToFloatCast_NoOverflowCheckGravatar caryclark2014-08-19
| | | | | | | | | R=reed@google.com, reed BUG=skia:2849 Author: caryclark@google.com Review URL: https://codereview.chromium.org/483273003
* Record concat as setMatrix.Gravatar mtklein2014-08-19
| | | | | | | | | | | | | Mainly this cuts out a type to have to think about in SkRecord world. It also means all the CTMs are recorded directly in the SkRecord, so we can track the current CTM by pointer rather than by copying. BUG=skia: R=reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/484673003
* Quickfix for incorrect PICTURE_MATRIX_PAINT & PATCH optimization.Gravatar fmalita2014-08-19
| | | | | | | | | | DRAW_PICTURE_MATRIX_PAINT & DRAW_PATCH are drawing ops. R=reed@google.com, robertphillips@google.com, mtklein@google.com Author: fmalita@chromium.org Review URL: https://codereview.chromium.org/480463004
* Move SkReadBuffer.h and SkReader32.h out of include.Gravatar halcanary2014-08-19
| | | | | | | | | | Committed: https://skia.googlesource.com/skia/+/2a51d7c74cec217195f861677de8998b382b39e4 R=mtklein@google.com, reed@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/481053002
* Revert "Move the code over using the same template type approach previously ↵Gravatar Mike Klein2014-08-18
| | | | | | | | | | used for willPlayBackBitmaps in http://skbug.com/2702." This reverts commit 60c2a79cfa8ceebcbafc243407564dc71f5e3b4f. BUG=skia: Review URL: https://codereview.chromium.org/481173003
* Move the code over using the same template type approach previously used for ↵Gravatar tomhudson2014-08-18
| | | | | | | | | | | | | willPlayBackBitmaps in http://skbug.com/2702. Also unifies that flag and this one into a struct so they and others can be computed together. The struct is stored const to enforce lifetime expectations. Adds a few new cases to the unit test. BUG=skia:2700 R=mtklein@google.com, reed@google.com, robertphillips@google.com, tomhudson@google.com Author: tomhudson@chromium.org Review URL: https://codereview.chromium.org/364823009
* Revert "Move SkReadBuffer.h and SkReader32.h out of include."Gravatar halcanary2014-08-18
| | | | | | | | | | | | | | This reverts commit 2a51d7c74cec217195f861677de8998b382b39e4. Breaking Blink NOTRY=true R=bungeman@google.com TBR=bungeman@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/472303006
* Counterproposal for skirting the BBH when the query fully contains the picture.Gravatar mtklein2014-08-18
| | | | | | | | | BUG=skia: R=reed@google.com, robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/485703002
* Move SkReadBuffer.h and SkReader32.h out of include.Gravatar halcanary2014-08-18
| | | | | | | | R=mtklein@google.com, reed@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/481053002
* Expose API for whether an SkPicture contains textGravatar ajuma2014-08-18
| | | | | | | | | BUG=chromium:399728 R=reed@google.com, nduca@chromium.org Author: ajuma@chromium.org Review URL: https://codereview.chromium.org/478673002
* Start actually bounding some draw ops.Gravatar mtklein2014-08-18
| | | | | | | | | | | This covers most of the common draws. BUG=skia: R=robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/469213007
* Fix copyright on SkTLS.h.Gravatar bungeman2014-08-18
| | | | | | | | R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/481783002
* Small tweaks and a bug fix.Gravatar mtklein2014-08-18
| | | | | | | | | | | | | | | | | Bug fixed: I was calling paint->canComputeFastBounds() where I should have been calling fSaveStack[i].paint->canComputeFastBounds(). This suggested I factor out the paint adjusting code, now called AdjustForPaint(). This removes the getImageFilter() check for SaveLayers, which seems like an optimization we can add back later if it proves important. We're going to want to intersect the bounds with the current clip bounds eventually, so might as well land that here too. Plus, more const. BUG=skia: R=robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/481543002
* Stop sorting the results of SkBBH::search().Gravatar mtklein2014-08-18
| | | | | | | | | | | | | We only seem to need to sort with SkQuadTree, which is not actively used by client code. So it's really just wasted work. SkQuadTree is interesting, but I'd rather disable it than slow down the production code path. BUG=skia:2834 R=robertphillips@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/471063004
* eliminate code related to SkBitmap::ConfigGravatar reed2014-08-18
| | | | | | | | | BUG=skia: R=reed@google.com, mike@reedtribe.org Author: reed@chromium.org Review URL: https://codereview.chromium.org/483593002
* simplify SkCanvas::init()Gravatar reed2014-08-18
| | | | | | | | | BUG=skia: R=robertphillips@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/472123002
* Remove fOrigFontID from SkScalerContextRec.Gravatar bungeman2014-08-18
| | | | | | | | | | With the recent Android changes and removal of chaining, this is no longer used. R=djsollen@google.com, reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/476713003
* Remove unused SkGlyphCache::VisitAllCaches.Gravatar bungeman2014-08-18
| | | | | | | | R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/472153002