aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
Commit message (Collapse)AuthorAge
* rename ScaledImageCache to ResourceCacheGravatar reed2014-08-28
| | | | | | | | | BUG=skia: R=bsalomon@google.com, mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/511283002
* Revert of Revert of add gamma/sRGB to SkImageInfo (patchset #1 of ↵Gravatar reed2014-08-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/512243002/) Reason for revert: this revert was premature -- the chrome canary I looked at is old, and newer ones were green. So trying again... Original issue's description: > Revert of add gamma/sRGB to SkImageInfo (patchset #4 of https://codereview.chromium.org/514753002/) > > Reason for revert: > breaks linker on chrome -- may need SK_API, but not sure. > > Original issue's description: > > add gamma/sRGB to SkImageInfo > > > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/615c369777258231054840a88cdb74c68c382485 > > TBR=bungeman@google.com,bsalomon@google.com > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/dc53701216c0e9f98eacf6c0cda769ebbd200b59 R=bungeman@google.com, bsalomon@google.com TBR=bsalomon@google.com, bungeman@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: reed@google.com Review URL: https://codereview.chromium.org/511363002
* manual revert of bitmap scale change while I investigate failuresGravatar humper2014-08-28
| | | | | | | | | | | on chromeos TBR=reed NOTREECHECKS=True Author: humper@google.com Review URL: https://codereview.chromium.org/516923003
* Revert of add gamma/sRGB to SkImageInfo (patchset #4 of ↵Gravatar reed2014-08-28
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/514753002/) Reason for revert: breaks linker on chrome -- may need SK_API, but not sure. Original issue's description: > add gamma/sRGB to SkImageInfo > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/615c369777258231054840a88cdb74c68c382485 R=bungeman@google.com, bsalomon@google.com TBR=bsalomon@google.com, bungeman@google.com NOTREECHECKS=true NOTRY=true BUG=skia: Author: reed@google.com Review URL: https://codereview.chromium.org/512243002
* add gamma/sRGB to SkImageInfoGravatar reed2014-08-28
| | | | | | | | | BUG=skia: R=bungeman@google.com, bsalomon@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/514753002
* DirectWrite to use aliased if ClearType is empty.Gravatar Ben Wagner2014-08-27
| | | | | | | | | | | | | | | | | Some CJK fonts with some versions of DirectWrite return valid data for bitmaps, but not for cleartype data. For reference, two screenshots. M37 Stable and then with this patch: http://imgur.com/9pf3rB9,EiTb6Li See https://code.google.com/p/chromium/issues/detail?id=396624#c10 for content of test html file. R=eae@chromium.org, reed@google.com, shrikant@chromium.org, bungeman@chromium.org, cpu@chromium.org BUG=chromium:407945 Review URL: https://codereview.chromium.org/504343007
* Can't hurt to make this SkNoncopyable.Gravatar mtklein2014-08-27
| | | | | | | | | BUG=skia: R=bungeman@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/510953002
* Convert BBH APIs to use SkRect.Gravatar mtklein2014-08-27
| | | | | | | | | | | | | Still TODO: convert internals of SkTileGrid.cpp and SkRTree.cpp to work in floats too. NOTREECHECKS=true BUG=skia:1021 R=robertphillips@google.com, reed@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/511613002
* always scale to an integer; compensate for fractional image sizes by leaving ↵Gravatar humper2014-08-27
| | | | | | | | | | | the fractional scale in the matrix BUG=skia: R=reed@google.com Author: humper@google.com Review URL: https://codereview.chromium.org/470233002
* Improve performance of highQualityFilterGravatar qiankun.miao2014-08-26
| | | | | | | | | | | | Move loop invariant caculation out of loop. This gives about 15% speedup for bitmap_BGRA_8888_A_scale_rotate_bicubic on my desktop i7-3770. BUG=skia: R=humper@google.com, mtklein@google.com, reed@google.com Author: qiankun.miao@intel.com Review URL: https://codereview.chromium.org/502953004
* Remove SkQuadTree.Gravatar mtklein2014-08-26
| | | | | | | | | | | | | | We're not testing it to the same degree we do RTree and TileGrid. Any changes we'll make to BBH APIs become 33% easier without it. If find we want it again, we can always resurrect it. BUG=skia:1021,skia:2834 R=robertphillips@google.com, mtklein@google.com TBR=reed Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/500373005
* Reimplement deserialization of SkImageFilter's uniqueID.Gravatar senorblanco2014-08-26
| | | | | | | | | | | | | | | | | | | | | | | 9fa60d ("Simplify flattening to just write enough ... ") simplified just a tad too much. In particular, it disabled deserialization of SkImageFilter's uniqueID, which in turn caused the failure of SkImageFilter's cache, which caused a large regression in Chrome's SVG filter performance. The medium-term fix is to switch to the new SkRecordDraw SkPicture backend, which will make the unique IDs unnecessary. This change is an "in case of emergecy" CL, in the event that there are problems switching on the new backend in Chrome. For that reason, it's minimalist: only the filters used by Chrome are modified, and whitespace changes are kept to a minimum. In this way, it should be easy to revert once the new backend goes in. R=reed@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/503833002
* Fallback to moveTo when unable to find the first tangent in cubicToGravatar piotaixr2014-08-26
| | | | | | | | | | | | | | | | | | | | When calling cubicTo(a, b, c) and if the distance between fPrevPt and a is too small, b is used instead of a to calculate the first tangent, even if the distance between fPrevPt and b is too small. In debug mode, this is causing an assertion to fail in SkPathStroker::preJoinTo() and, in Release, the use of an unitialized value. The first patch set is adding a failing test. The second one add the fix to SkPathStroker::cubicTo() BUG=skia:2820 R=bsalomon@chromium.org, junov@chromium.org, reed@google.com, caryclark@google.com, bsalomon@google.com Author: piotaixr@chromium.org Review URL: https://codereview.chromium.org/460813002
* Always use cpu-features library on android.Gravatar djsollen2014-08-26
| | | | | | | | | | | | This CL also removes the debug capability of runtime switching in/out of NEON mode as it uses deprecated APIs. BUG=skia:1061 R=tomhudson@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/506033003
* remove (unused) scale parameter from measureTextGravatar reed2014-08-26
| | | | | | | | | BUG=skia: R=bungeman@google.com, djsollen@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/510433002
* remove commented-out codeGravatar reed2014-08-26
| | | | | | | | | TBR=senorblanco@google.com NOTRY=True Author: reed@google.com Review URL: https://codereview.chromium.org/505253002
* retool image cache to be generic cache, allowing the client to subclass ↵Gravatar reed2014-08-26
| | | | | | | | | | | | | | | "Rec", so they can provide a custom Key and arbitrary Value. Follow-on CLs - rename ScaledimageCache to something like GeneralCache - explore if we can use call-backs or some mechanism to completely hide "lock/unlock", by forcing all clients to support "copying" their value out of the cache as the result of a Find. R=mtklein@google.com, senorblanco@google.com, bsalomon@google.com, qiankun.miao@intel.com, senorblanco@chromium.org Author: reed@google.com Review URL: https://codereview.chromium.org/507483002
* 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