aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
...
* Implement canComputeFastBounds() for image filters.Gravatar senorblanco2015-08-20
| | | | | | | | | | | | | | | | | | | | | | Image filters have never implemented this check, which means that filters which affect transparent black falsely claim they can compute their bounds. Implemented an affectsTransparentBlack() virtual for image filters, and a similar helper function for color filters. This will affect the following GMs: imagefiltersscaled (lighting, perlin noise now filter to clip), colorfilterimagefilter (new test case), imagefiltersclipped (perlin noise now filters to clip). Note: I de-inlined SkPaint::canComputeFastBounds() to avoid adding a dependency from SkPaint.h to SkImageFilter.h.h. Skia benches show no impact from this change, but will watch the perf bots carefully. BUG=4212 Review URL: https://codereview.chromium.org/1296943002
* For a frag proc, its key will be a concatenation of all its descendant ↵Gravatar wangyix2015-08-20
| | | | | | | | procs' keys in postorder traversal. BUG=skia:4182 Review URL: https://codereview.chromium.org/1297503007
* Revert "fill rect batch refactor into separate batches"Gravatar joshualitt2015-08-20
| | | | | | | | | This reverts commit ae41b3834301444cf27b8aa729b8ad36666bdc08. TBR=bsalomon@google.com BUG=skia: Review URL: https://codereview.chromium.org/1301203002
* Update SkLightingShader to support rotationGravatar robertphillips2015-08-20
| | | | | | | | | | | | | This also: makes the SkLightingShader handle normal maps where the rects aren't aligned between the diffuse and normal maps. adds a light aggregating class (Lights) to SkLightingShader (along with a Builder nested class). Split out of https://codereview.chromium.org/1261433009/ (Add SkCanvas::drawLitAtlas call) Committed: https://skia.googlesource.com/skia/+/45b59ed6e4e231814dbdb9f707b3d2a7ee50de84 Review URL: https://codereview.chromium.org/1291783003
* SkColorCubeFilter: require alpha == 0xFF.Gravatar mtklein2015-08-19
| | | | | | | | This is about a 12% improvement on my desktop, from 134 to 118ms on our bench. BUG=skia: Review URL: https://codereview.chromium.org/1295873004
* Bug fix: we're using SkPMFloat methods on SkColor.Gravatar mtklein2015-08-19
| | | | | | | | | Annoyingly our test bot that forces SkPMFloat_none is a Linux bot using BGRA SkPMColors, so we'd never notice the bug there. BUG=skia: Review URL: https://codereview.chromium.org/1296383006
* Thou shalt use override consistently.Gravatar mtklein2015-08-19
| | | | | | | TBR=herb@google.com BUG=skia: Review URL: https://codereview.chromium.org/1285973006
* Add asserts for shared mutex.Gravatar herb2015-08-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1285973003
* Put drawPath in GrBatch.Gravatar bsalomon2015-08-19
| | | | | | TODO: Implement path range version of this (and preserve combining consecutive ranges). Review URL: https://codereview.chromium.org/1301823002
* Revert "Update SkLightingShader to support rotation"Gravatar robertphillips2015-08-19
| | | | | | | | This reverts commit 45b59ed6e4e231814dbdb9f707b3d2a7ee50de84. TBR=herb@google.com Review URL: https://codereview.chromium.org/1304673002
* SkPDF: Simplify PDFStream / emitObject() constGravatar halcanary2015-08-19
| | | | | | | | | | Compress SkPDFStream's data on setData(), not emitObject(); no longer stateful. SkPDFObject::emitObject is now const. This makes it easier to reason about state. Minimal performance gains. Review URL: https://codereview.chromium.org/1304493002
* private iterator to visit all resource cache entriesGravatar reed2015-08-19
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1271033002
* Fix transformed stroke width in GrAALinearizingConvexPathRenderer.Gravatar ethannicholas2015-08-19
| | | | | | BUG=520476 Review URL: https://codereview.chromium.org/1302503003
* Move SkTemplates.h to private.Gravatar bungeman2015-08-19
| | | | | | | | SkTemplates.h contains a number of Skia specific utilities which are not designed for external use. In addition to reducing the external support burden, this will allow Skia to freely refactor this file. Review URL: https://codereview.chromium.org/1272293004
* stop dropping AA when rect stays rectGravatar joshualitt2015-08-19
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/1bef9f59c566cc54c2259cc4d0171c115157cd1c Review URL: https://codereview.chromium.org/1295523002
* change asABitmap to isABitmap on shaderGravatar reed2015-08-19
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1287263005
* Patches on top of Radu's latest.Gravatar mtklein2015-08-19
| | | | | | | | | | patch from issue 1273033005 at patchset 120001 (http://crrev.com/1273033005#ps120001) BUG=skia: Committed: https://skia.googlesource.com/skia/+/2d141ba2df8f7506848aa9369f502944e837cd09 Review URL: https://codereview.chromium.org/1288323004
* Update SkLightingShader to support rotationGravatar robertphillips2015-08-19
| | | | | | | | | | | This also: makes the SkLightingShader handle normal maps where the rects aren't aligned between the diffuse and normal maps. adds a light aggregating class (Lights) to SkLightingShader (along with a Builder nested class). Split out of https://codereview.chromium.org/1261433009/ (Add SkCanvas::drawLitAtlas call) Review URL: https://codereview.chromium.org/1291783003
* unsigned -> int for counts and indices in picture-related codeGravatar mtklein2015-08-19
| | | | | | | | also, (C) BUG=skia: Review URL: https://codereview.chromium.org/1300163002
* Add rendertarget flag to prevent a debug assert in SampleApp.Gravatar senorblanco2015-08-19
| | | | | | BUG=skia:4223 Review URL: https://codereview.chromium.org/1301583006
* Create GrQuadGravatar joshualitt2015-08-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1294713009
* Use calloc to allocate data that will be uploaded to vertex/index buffers in ↵Gravatar bsalomon2015-08-19
| | | | | | | | | Chrome BUG=chromium:454267 BUG=chromium:522315 Review URL: https://codereview.chromium.org/1300123002
* This change is in preparation for updating how processor keys and meta keys ↵Gravatar wangyix2015-08-19
| | | | | | | | are generated for frag procs. BUG=skia:4182 Review URL: https://codereview.chromium.org/1298233002
* remove SkDeferredCanvasGravatar reed2015-08-19
| | | | | | | | Waiting a day or so to see if the blink-removal of SkDeferredCanvas sticks BUG=skia: Review URL: https://codereview.chromium.org/1269093002
* Allow setting of GrBatchFontCache atlas sizesGravatar joshualitt2015-08-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1255943006
* Revert of SkCanvas::onDrawPicture() quick-reject (patchset #3 id:40001 of ↵Gravatar herb2015-08-19
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1264133003/ ) Reason for revert: Seems to be breaking some blink tests. https://storage.googleapis.com/chromium-layout-test-archives/linux_blink_rel/75812/layout-test-results/results.html Original issue's description: > SkCanvas::onDrawPicture() quick-reject > > R=reed@google.com,mtklein@google.com > > Committed: https://skia.googlesource.com/skia/+/48ed62b29d45e42b971aac8858da06781c93e6d7 > > Committed: https://skia.googlesource.com/skia/+/d3d07245e29504dbffa0083e84ace5bab85853d4 TBR=mtklein@google.com,reed@google.com,mtklein@chromium.org,fmalita@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1301973002
* add missing overrideGravatar mtklein2015-08-19
| | | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1292073003
* fill rect batch refactor into separate batchesGravatar joshualitt2015-08-19
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1295773003
* Init class ID in GrStencilPathBatchGravatar Brian Salomon2015-08-19
| | | | | | TBR=joshualitt@google.com Review URL: https://codereview.chromium.org/1300093007
* SkCanvas::onDrawPicture() quick-rejectGravatar fmalita2015-08-19
| | | | | | | | R=reed@google.com,mtklein@google.com Committed: https://skia.googlesource.com/skia/+/48ed62b29d45e42b971aac8858da06781c93e6d7 Review URL: https://codereview.chromium.org/1264133003
* SkPDF/Deflate: clean up old SkFlate codeGravatar halcanary2015-08-18
| | | | | | | | Factor out some of https://crrev.com/1227913008 BUG=skia:3030 Review URL: https://codereview.chromium.org/1298243002
* Path stenciling in GrBatchGravatar bsalomon2015-08-18
| | | | Review URL: https://codereview.chromium.org/1293973003
* handle no shader from image in drawAtlasGravatar reed2015-08-18
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1298233003
* Remove Cmd in GrTargetCommands that is no longer needed with GrCopySurfaceBatchGravatar bsalomon2015-08-18
| | | | | | TBR=joshualitt@google.com Review URL: https://codereview.chromium.org/1292623004
* Try again to put SkXfermode_opts in SK_OPTS_NSGravatar mtklein2015-08-18
| | | | | | | | Remember failed attempt https://codereview.chromium.org/1286093004/ ? I think this one is simpler and safer and even technically legal C++. BUG=skia:4117 Review URL: https://codereview.chromium.org/1296183004
* GrCopySurfaceBatchGravatar bsalomon2015-08-18
| | | | Review URL: https://codereview.chromium.org/1289673004
* added emitChild() to GrGLFragmentProcessor; removed ↵Gravatar wangyix2015-08-18
| | | | | | | | AutoFragmentChildProcAdvance class BUG=skia:4182 Review URL: https://codereview.chromium.org/1301523003
* Add support for non-mappable vert buffers to tessellating path renderer.Gravatar senorblanco2015-08-18
| | | | | | | | Use malloc-ed memory and the updateData() call instead. BUG=skia:4215 Review URL: https://codereview.chromium.org/1288683004
* When getGLInstance is called on a frag proc, the resulting ↵Gravatar wangyix2015-08-18
| | | | | | | | GrGLFragmentProcessor will be the root of a tree of GrGLFragmentProcessors that mirrors the GrFragmentProcessor's tree. This allows setData() to be called recursively (removing the responsibility from compose shader) and allows gl instances direct access to their children gl instances so they can emit their code. BUG=skia:4182 Review URL: https://codereview.chromium.org/1287023009
* Add subsets to SkImageGenerator and SkImageCacheratorGravatar reed2015-08-18
| | | | | | | | ... to support subsets in SkImage! BUG=skia: Review URL: https://codereview.chromium.org/1301633002
* ClearStencilClip in GrBatchGravatar bsalomon2015-08-18
| | | | Review URL: https://codereview.chromium.org/1288963004
* Move GrTBatchTesselator to its own fileGravatar joshualitt2015-08-18
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1298983002
* Update SkOpts namespaces.Gravatar mtklein2015-08-18
| | | | | | | | portable -> default, and everyone gets an sk_ prefix. BUG=skia:4117 Review URL: https://codereview.chromium.org/1299013003
* Add missing overrides to clear and discard batch dumpInfo()Gravatar Brian Salomon2015-08-18
| | | | | | TBR=joshualitt@google.com Review URL: https://codereview.chromium.org/1303533003
* Patches on top of Radu's latest.Gravatar mtklein2015-08-18
| | | | | | | | patch from issue 1273033005 at patchset 120001 (http://crrev.com/1273033005#ps120001) BUG=skia: Review URL: https://codereview.chromium.org/1288323004
* Use portable code for family names with DirectWrite.Gravatar bungeman2015-08-18
| | | | | | | | | | | | IDWriteFamily::GetFamilyNames appears to be 'helpful' and removes parts of family names that look like style names. Since the iterator is supposed to return the actual names and not just the name the platform thinks the name is (as getFamilyName does), try returning the raw names when possible. BUG=skia:4217 Review URL: https://codereview.chromium.org/1302573002
* Put clear and discard into GrBatch.Gravatar bsalomon2015-08-18
| | | | Review URL: https://codereview.chromium.org/1293563003
* Deduplicate typefaces across sub-picturesGravatar mtklein2015-08-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | Old flow to serialize a picture: 1) serialize picture ops 2) serialize all sub pictures recursively 3) flatten the rest of this picture into a buffer, deduping flattenable factories and typefaces as we go 4) serialize the factories and typefaces 5) serialize the bytes from 3) This allows the data in step 5) to refer to the deduplicated factories and typefaces from step 4). But, each sub picture in step 2) is completely siloed, so they can't dedup with the parent picture or each other. New flow: 1) serialize picture ops 2) flatten the rest of this picture into a buffer, deduping flattenable factories and typefaces as we go 3) dummy-serialize sub pictures into /dev/null, with the effect of adding any new typefaces to our dedup set 4) serialize the factories and typefaces 5) serialize the bytes from 2) 6) serialize all sub pictures recursively, with perfect deduplication because of step 3). Now all typefaces in the top-level picture and all sub pictures recursively should end up deduplicated in the top-level typeface set. Decoding changes are similar: we just thread through the top-level typefaces to the sub pictures. What's convenient / surprising is that this new code correctly reads old pictures if we just have each picture prefer its local typeface set over the top-level one: old pictures always just use their own typefaces, and new pictures always use the top-level ones. BUG=skia:4092 Review URL: https://codereview.chromium.org/1233953004
* Prefer native scaling to samplingGravatar msarett2015-08-18
| | | | | | | | | | | | | | | | | | | | | In the cases we have come across so far, native scaling has better performance and correctness than sampling. If native scaling is supported we want to use it. Jpegs native scale rounds up. Ex: An 11x11 image with sampleSize=8 scales to 2x2. SkScaledCodec rounds down. Ex: An 11x11 image with sampleSize=8 scales to 1x1. Before the CL, we would choose to use SkScaledCodec because it scales closer to the "ideal" scale. I think we want to go with the native option as long as its within 1 of the ideal value. BUG=skia: Review URL: https://codereview.chromium.org/1284243004
* Regenerate LCD text blobs if GrPaint's color changes, not SkPaint.Gravatar jvanverth2015-08-18
| | | | | | | | | The GrPaint's color takes into account shaders and color filters, so is a more accurate picture of the color state. BUG=chromium:511787 Review URL: https://codereview.chromium.org/1297053004