aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
Commit message (Collapse)AuthorAge
* Reland of ix zero-length tangent (patchset #1 id:1 of ↵Gravatar caryclark2015-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1312243002/ ) Reason for revert: Layout suppression has landed, and verified that Skia gm test changes are correct. Original issue's description: > Revert of fix zero-length tangent (patchset #2 id:20001 of https://codereview.chromium.org/1311273002/ ) > > Reason for revert: > causes layout test to draw differently -- new drawing is more correct. Reverting until layout test ignore is landed. > > Original issue's description: > > fix zero-length tangent > > > > If the end point and the control point are the same, computing > > the tangent will result in (0, 0). In this case, use the prior > > control point instead. > > > > R=reed@google.com > > > > BUG=skia:4191 > > > > Committed: https://skia.googlesource.com/skia/+/7544124fb8ee744f68f549a353f8a9163cd7432d > > TBR=reed@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia:4191 > > Committed: https://skia.googlesource.com/skia/+/91298b47c547b2ab4697038c04685af957bd1416 TBR=reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4191 Review URL: https://codereview.chromium.org/1320473002
* Fix for MSAN unintialized valueGravatar joshualitt2015-08-25
| | | | | | BUG=524094 Review URL: https://codereview.chromium.org/1320433002
* Remove SK_OFFSETOF from SkTypes, clean up offsetof usage.Gravatar bungeman2015-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation for this was to remove SK_OFFSETOF from SkTypes, but this CL is mostly about cleaning up our use of offsetof generally. SK_OFFSETOF is removed to SkTypes and added to the two places it is actually used (for the non standard behavior of finding the offset of fields in types which are not standard layout). Older versions of gcc required POD for offsetof to be used without warning. Newer versions require the more relaxed standard layout. Now that we no longer build on older versions of gcc, remove the old warning suppressions. PODMatrix is renamed to AggregateMatrix. SkMatrix is already POD (trivial and standard layout). The PODMatrix name implies that the POD-ness is needed for the offsetof, but it is actually the aggregate attribute which is needed for compile time constant initialization. This makes it more obvious that this can be revisited after we can rely on constexpr constructors. This also adds skstd::declval since this allows removal of existing awkward code which casts a constant to a pointer to find the size of a field. TBR=reed@google.com No API change, only removes unused macro. Review URL: https://codereview.chromium.org/1309523003
* Fix for distance field draw large glyph as pathsGravatar joshualitt2015-08-25
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1315933002
* Revert of fix zero-length tangent (patchset #2 id:20001 of ↵Gravatar caryclark2015-08-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1311273002/ ) Reason for revert: causes layout test to draw differently -- new drawing is more correct. Reverting until layout test ignore is landed. Original issue's description: > fix zero-length tangent > > If the end point and the control point are the same, computing > the tangent will result in (0, 0). In this case, use the prior > control point instead. > > R=reed@google.com > > BUG=skia:4191 > > Committed: https://skia.googlesource.com/skia/+/7544124fb8ee744f68f549a353f8a9163cd7432d TBR=reed@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia:4191 Review URL: https://codereview.chromium.org/1312243002
* Speculative valgrind fixGravatar robertphillips2015-08-25
| | | | | | I wasn't able to repro locally but it seems like it has to be this. Review URL: https://codereview.chromium.org/1309653003
* fix zero-length tangentGravatar caryclark2015-08-25
| | | | | | | | | | | | If the end point and the control point are the same, computing the tangent will result in (0, 0). In this case, use the prior control point instead. R=reed@google.com BUG=skia:4191 Review URL: https://codereview.chromium.org/1311273002
* Update giflib to 5.1.1 (AOSP hash)Gravatar msarett2015-08-24
| | | | | | | | | | This also disables warnings in giflib and fixes compile warnings in icu, in order to fix a skia bug. BUG=skia:4220 Review URL: https://codereview.chromium.org/1314633002
* Revert of Modify GrBWFillRectBatch to use GrQuad (patchset #3 id:40001 of ↵Gravatar joshualitt2015-08-24
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1311793002/ ) Reason for revert: on some bots this patch creates bad diffs Original issue's description: > Modify GrBWFillRectBatch to use GrQuad > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/c611b5afbef6df6c02e949fdf092aab2bb7e0e2e TBR=bsalomon@google.com,robertphillips@google.com,joshualitt@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1313683002
* Modify GrBWFillRectBatch to use GrQuadGravatar joshualitt2015-08-24
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1311793002
* Update debugger print out of drawImageRect informationGravatar robertphillips2015-08-24
| | | | Review URL: https://codereview.chromium.org/1311523003
* Remove unused calcPOIs with color/coverage input.Gravatar egdaniel2015-08-24
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1311763003
* Revert of experiment with zero-length round capped line segments (patchset ↵Gravatar caryclark2015-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | #4 id:60001 of https://codereview.chromium.org/1309753002/ ) Reason for revert: More GMs changed than I expected. Will probably affect layout tests as well; reverting until I can verify that the changes are correct. Original issue's description: > experiment with zero-length round capped line segments > > If the endcap is not butt, draw the endcaps even when the line > has zero length. > > If the dash length is zero, generate a zero length line segment. > > Treat a move followed by a close as a move followed by a zero-length > line. > > R=reed@google.com,schenney@google.com > BUG=422974 > > Committed: https://skia.googlesource.com/skia/+/dd3c165828fffb369d0f4b13b48381169a0249a9 TBR=reed@google.com,schenney@google.com,schenney@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=422974 Review URL: https://codereview.chromium.org/1304163008
* experiment with zero-length round capped line segmentsGravatar caryclark2015-08-21
| | | | | | | | | | | | | | | If the endcap is not butt, draw the endcaps even when the line has zero length. If the dash length is zero, generate a zero length line segment. Treat a move followed by a close as a move followed by a zero-length line. R=reed@google.com,schenney@google.com BUG=422974 Review URL: https://codereview.chromium.org/1309753002
* Fix for copy surface not handling dirty contextGravatar joshualitt2015-08-21
| | | | | | BUG=521943 Review URL: https://codereview.chromium.org/1304263003
* wire up reduced atlas and zero textblob cache to testGravatar joshualitt2015-08-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1300813007
* Standardize BW to NonAAGravatar joshualitt2015-08-21
| | | | | | | TBR=bsalomon@google.com, robertphillips@google.com BUG=skia: Review URL: https://codereview.chromium.org/1310533004
* fill rect batch refactor into separate batchesGravatar joshualitt2015-08-21
| | | | | | | | BUG=skia: Committed: https://skia.googlesource.com/skia/+/ae41b3834301444cf27b8aa729b8ad36666bdc08 Review URL: https://codereview.chromium.org/1295773003
* Create separate entry points for the various flavors of drawRectGravatar joshualitt2015-08-21
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1308503002
* Return failure if getInputResultsGPU fails in SkXfermodeImageFilterGravatar robertphillips2015-08-21
| | | | | | SkXfermodeImageFilter::filterImageGPU is the only call site that does anything fancy when getInputResultsGPU fails. It seems like we can just return like everyone else (for uniformity). Review URL: https://codereview.chromium.org/1302033004
* Clean up ifdefs in SkGifCodecGravatar msarett2015-08-21
| | | | | | | | | Since codec uses the same version of giflib everywhere, I believe these are unnecessary. BUG=skia: Review URL: https://codereview.chromium.org/1309763002
* This code should've been part of the CL that added registerChildProcessor(); ↵Gravatar wangyix2015-08-21
| | | | | | | | without updating fUsesLocalCoords in the parent when a child proc is registered, batching will not work properly. BUG=skia:4182 Review URL: https://codereview.chromium.org/1308513004
* Use stencil ops that don't issue writes whenever possibleGravatar vbuzinov2015-08-21
| | | | | | | | | Minimize the number of stencil writes by using GL_KEEP whenever possible. This can positively affect the HW performance of the stencil test. BUG=skia:3952 Review URL: https://codereview.chromium.org/1288923005
* add gm for image->newShaderGravatar reed2015-08-20
| | | | | | | BUG=skia: TBR= Review URL: https://codereview.chromium.org/1302943004
* SkCanvas::onDrawPicture() quick-rejectGravatar fmalita2015-08-20
| | | | | | R=reed@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/1264133003
* Reland of Implement canComputeFastBounds() for image filters. (patchset #1 ↵Gravatar senorblanco2015-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:1 of https://codereview.chromium.org/1300403003/ ) Reason for revert: The Mac compile issue was fixed here: https://chromium.googlesource.com/chromium/src/+/fdd331a42ae0b9a6909a121020735161ab61c6e5 Original issue's description: > Revert of Implement canComputeFastBounds() for image filters. (patchset #8 id:130001 of https://codereview.chromium.org/1296943002/ ) > > Reason for revert: > This causes a syntax error. > > http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/87819/steps/compile%20%28with%20patch%29/logs/stdio > > Original issue's description: > > Implement canComputeFastBounds() for image filters. > > > > 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 > > > > Committed: https://skia.googlesource.com/skia/+/915881fe743f9a789037695f543bc6ea189cd0cb > > TBR=reed@google.com,senorblanco@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=4212 > > Committed: https://skia.googlesource.com/skia/+/12d8472d31ea5edb636d7d5214db253570115c40 TBR=reed@google.com,herb@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=4212 Review URL: https://codereview.chromium.org/1301823005
* fix cubic clip in yGravatar caryclark2015-08-20
| | | | | | | | | | | | | | | | | | | Follow on to https://codereview.chromium.org/1299243002/ Clip using a geometric solution if the algebraic solution fails in Y as well as in X. If the root finder discovers real roots that are sufficiently far apart, the root in the range of 0..1 can contain so much error that it is computed to be slightly smaller than 0 or larger than 1. In this case, binary search the mono curve for the actual answer. R=reed@google.com Review URL: https://codereview.chromium.org/1303873003
* Add ANGLE workaround to prefer flushes over VRAM usageGravatar robertphillips2015-08-20
| | | | | | | | | | | On the whole, https://codereview.chromium.org/1286203002/ (Defer flushes if kPreferNoIO is specified) improved performance but it did cause a performance regression on ANGLE. This CL disables the deferral of flushes on ANGLE until we can add a separate incremental flushing mechanism. TBR=bsalomon@google.com BUG=skia:4201 BUG=521529 Review URL: https://codereview.chromium.org/1287193008
* Revert of Implement canComputeFastBounds() for image filters. (patchset #8 ↵Gravatar herb2015-08-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | id:130001 of https://codereview.chromium.org/1296943002/ ) Reason for revert: This causes a syntax error. http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_compile_dbg_ng/builds/87819/steps/compile%20%28with%20patch%29/logs/stdio Original issue's description: > Implement canComputeFastBounds() for image filters. > > 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 > > Committed: https://skia.googlesource.com/skia/+/915881fe743f9a789037695f543bc6ea189cd0cb TBR=reed@google.com,senorblanco@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=4212 Review URL: https://codereview.chromium.org/1300403003
* SkImage method for detecting lazy decodingGravatar fmalita2015-08-20
| | | | | | | BUG=skia:4224 R=reed@google.com Review URL: https://codereview.chromium.org/1305453007
* subdivide path when side-clipping failsGravatar caryclark2015-08-20
| | | | | | | | | | | | | Please review concept; I'm OK not to check this in. If the root finder fails, subdivide the curve and try again. This is complicated by the reversed nature of the curves; maybe it can be simpler, but how to do that escapes me. R=reed@google.com BUG=514246 Review URL: https://codereview.chromium.org/1299243002
* SkPDF: Memory improvements for PDF StreamsGravatar halcanary2015-08-20
| | | | | | | | | ΔMEM = -15% ΔCPU = -7% BUG=skia:3030 Review URL: https://codereview.chromium.org/1227913008
* Use static_assert instead of SK_COMPILE_ASSERT.Gravatar bungeman2015-08-20
| | | | | | | Now that static_assert is allowed, there is no need to use a non- standard compile time assertion Review URL: https://codereview.chromium.org/1306443004
* 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