aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
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
* Implement NV_path_rendering on OpenGL ESGravatar kkinnunen2014-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement support for NV_path_rendering on OpenGL ES. Use glProgramPathFragmentInputGenNV function call instead of glPathTexGenNV to communicate transforms to fragment shader. The intention is that the NVPR paths will be drawn with the same shader program as non-NVPR geometry. For NVPR calls, the GPU will skip the vertex shader and just run the fragment shader. After program is linked, query the locations of the fragment shader inputs with glGetResourceLocation. The location will be used to set the transforms with glProgramPathFragmentInputGenNV. The functions and their workings are documented in: glProgramPathFragmentInputGenNV https://www.opengl.org/registry/specs/NV/path_rendering.txt (note: addition as of API version 1.3) glGetResourceLocation https://www.opengl.org/registry/specs/ARB/program_interface_query.txt http://www.opengl.org/registry/doc/glspec44.core.pdf (function is in core Open GL 4.4) Note: glProgramPathFragmentInputGenNV could be used also for OpenGL. However, using seems to trigger a bug in the driver. Disable this feature on OpenGL at least until the driver is fixed and released. The bug manifests in shadertext test, where the lower-left text pair is missing. Valgrind catches a bad read for the test and causes the context to OOM reproducibly. R=bsalomon@google.com, cdalton@nvidia.com, joshualitt@google.com, joshualitt@chromium.org Author: kkinnunen@nvidia.com Review URL: https://codereview.chromium.org/367643004
* 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
* Fix recursive computation of filter bounds for drop shadow,Gravatar senorblanco2014-08-25
| | | | | | | | | | | | | | | | | | | | | | morphology, blur. [Reland with fixed tests.] Because we're computing "backwards" from a clip rect of destination pixels to be filled to the required source pixels, we should use tail recursion rather than head recursion in onFilterBounds(). This actually only makes a difference for drop-shadow, where the computation is non-commutative. Blur and morphology commute, but I moved them to tail recursion anyway for clarity (so all onFilterBounds use tail recursion). BUG=skia: R=bsalomon@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/481273005
* Add a working SkFontMgr_fontconfig.Gravatar bungeman2014-08-25
| | | | | | | | R=tomhudson@google.com, reed@google.com, mtklein@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/396143004
* Require length in sk_wchar_to_string.Gravatar bungeman2014-08-25
| | | | | | | | | | | | | This information is already available at all call sites and allows the call to WideCharToMultiByte to not overwrite the '\0' in the writable_str() which isn't really writable. BUG=skia:1989 R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/500113002
* Revert of Fix recursive computation of filter bounds for drop shadow, ↵Gravatar djsollen2014-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 of https://codereview.chromium.org/481273005/) Reason for revert: This CL is currently breaking the Win7 and Win8 bots on some of the new tests (in DM). Original issue's description: > Fix recursive computation of filter bounds for drop shadow, > morphology, blur. > > Because we're computing "backwards" from a clip rect of destination > pixels to be filled to the required source pixels, we should use tail > recursion rather than head recursion in onFilterBounds(). > > This actually only makes a difference for drop-shadow, where > the computation is non-commutative. Blur and morphology commute, but I > moved them to tail recursion anyway for clarity (so all onFilterBounds > use tail recursion). > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/28648fe4a69b0cee8df42b5966e4e645c3aabefb R=bsalomon@google.com, senorblanco@chromium.org TBR=bsalomon@google.com, senorblanco@chromium.org NOTREECHECKS=true NOTRY=true BUG=skia: Author: djsollen@google.com Review URL: https://codereview.chromium.org/504773003
* Fix recursive computation of filter bounds for drop shadow,Gravatar senorblanco2014-08-25
| | | | | | | | | | | | | | | | | | | | morphology, blur. Because we're computing "backwards" from a clip rect of destination pixels to be filled to the required source pixels, we should use tail recursion rather than head recursion in onFilterBounds(). This actually only makes a difference for drop-shadow, where the computation is non-commutative. Blur and morphology commute, but I moved them to tail recursion anyway for clarity (so all onFilterBounds use tail recursion). BUG=skia: R=bsalomon@google.com Author: senorblanco@chromium.org Review URL: https://codereview.chromium.org/481273005
* XPS to use PathOps for inverse winding paths.Gravatar bungeman2014-08-25
| | | | | | | | R=caryclark@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/484343003
* Reverse swap order in DirectWrite typeface.Gravatar bungeman2014-08-25
| | | | | | | | | | | C++ forbids temporaries to bind to non-const references. VC++ allows you to do so anyway, but it makes clang on Windows sad. R=reed@google.com Author: bungeman@google.com Review URL: https://codereview.chromium.org/487533004
* add const to arrays of member functionsGravatar caryclark2014-08-25
| | | | | | | | | | | | | running 'size ./out/Release/libskia_core.a' revealed a couple of places where path ops chose poorly and declared arrays of member functions to be unnecessarily writable. R=reed@android.com TBR=reed Author: caryclark@google.com Review URL: https://codereview.chromium.org/461363003
* remove SkPurgeGlobalDiscardableMemoryPoolGravatar halcanary2014-08-25
| | | | | | | | | BUG=skia:2721 R=reed@google.com Author: halcanary@google.com Review URL: https://codereview.chromium.org/495453004
* 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
* Don't leak the shader by reffing twice in SkRectShaderImageFilter.Gravatar mtklein2014-08-22
| | | | | | | | | BUG=skia: R=bsalomon@google.com, mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/501563002
* Disable Neon optimization of bad S32A/D565 blend.Gravatar mtklein2014-08-22
| | | | | | | | | | | | BUG=skia:2797 Committed: https://skia.googlesource.com/skia/+/84cab93186fbe3e87d931fea73cb31b70ff5017b R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/497823002
* Add testing flag for XPS for deterministic ids.Gravatar Ben Wagner2014-08-22
| | | | | | | BUG=skia:455 R=mtklein@google.com Review URL: https://codereview.chromium.org/494423002
* Fix leak of GrResourceCacheEntryGravatar bsalomon2014-08-22
| | | | | | | | | R=robertphillips@google.com TBR=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/502543002
* Disable Neon optimization of bad S32A/D565 blend.Gravatar mtklein2014-08-22
| | | | | | | | | BUG=skia:2797 R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/497823002
* 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
* disable neon proc that is triggering assertsGravatar reed2014-08-22
| | | | | | | | | BUG=skia:2845 R=mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/498733002
* 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
* Store vertex size in DrawState when setVertexAttribs is calledGravatar egdaniel2014-08-22
| | | | | | | | | | | | This will avoid recalculating vertex size throughout code, and will allow for a set original vertex size once optimizations start removing VA's BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/498483002
* fix leak in new createprocGravatar reed2014-08-22
| | | | | | | | | BUG=skia: R=caryclark@google.com, mike@reedtribe.org, mtklein@google.com Author: reed@chromium.org Review URL: https://codereview.chromium.org/461253007
* 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
* Split up monolithic EXPERIMENTAL_drawPicture methodGravatar robertphillips2014-08-21
| | | | | | | | | | | | This is prep for the new multi-picture API. This is split out of (Add new API to allow layer hoisting/atlasing across picture piles - https://codereview.chromium.org/474623002/) R=bsalomon@google.com Author: robertphillips@google.com Review URL: https://codereview.chromium.org/489103002
* 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
* Add GrResourceCache2.Gravatar bsalomon2014-08-21
| | | | | | | | | | | | Currently it just replaces GrGpu as the owner of the linked list of resources. Committed: https://skia.googlesource.com/skia/+/94ce9ac8624dbb45656b8f5c992fad9c9ff3ee5f R=mtklein@google.com, robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/481443002
* remember to init fOrigPos in legacy constructorGravatar reed2014-08-21
| | | | | | | | | NOTREECHECKS=True R=caryclark@google.com, mtklein@google.com Author: reed@google.com Review URL: https://codereview.chromium.org/496833002
* Does this fix things?Gravatar mtklein2014-08-21
| | | | | | | | | | | NOTREECHECKS=true CQ_EXTRA_TRYBOTS=tryserver.skia:Test-Win7-ShuttleA-HD2000-x86-Debug-Trybot BUG=skia: R=mtklein@google.com Author: mtklein@chromium.org Review URL: https://codereview.chromium.org/492343002
* rename gradients private BitmapCache to GradientBitmapCacheGravatar reed2014-08-21
| | | | | | | | | R=caryclark@google.com NOTREECHECKS=True Author: reed@google.com Review URL: https://codereview.chromium.org/474983005
* 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 unecessary check from android framework buildGravatar djsollen2014-08-21
| | | | | | | | R=bungeman@google.com, raph@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/495063002
* Use medium filtering when downscaling bitmap glyphs in FreeType hostGravatar djsollen2014-08-21
| | | | | | | | | | This enable Android to save space on emoji glyphs R=bungeman@google.com, raph@google.com Author: djsollen@google.com Review URL: https://codereview.chromium.org/492253002
* Fix == operator in GrTextureDomain so we don't compair uninitilized valuesGravatar egdaniel2014-08-21
| | | | | | | | | | | | We were getting random behavior when comparing two GrTexureDomains since fDomain was not initialized when the mode was set to ignore. BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/469393007
* Remove State struct from GrDrawStateGravatar egdaniel2014-08-21
| | | | | | | | | BUG=skia: R=bsalomon@google.com Author: egdaniel@google.com Review URL: https://codereview.chromium.org/464363002
* 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