aboutsummaryrefslogtreecommitdiffhomepage
path: root/gm
Commit message (Collapse)AuthorAge
* expand gm to exercise miplevels and various scalersGravatar reed2016-01-14
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1574233003 TBR= Review URL: https://codereview.chromium.org/1574233003
* Fix SkXfermodeImageFilter GPU fast path for differing sizes.Gravatar senorblanco2016-01-13
| | | | | | | | | | | | | | | | | | | The GPU fast path was not doing the correct thing for input bitmaps of differing sizes. This change brings the fast path in line with the slow path: use the union of foreground and background bounds as bounds, offset the draw context by the bounds translation, and translate the foreground and background independently by their respective offsets. Finally, we add a texture domain for the background fragment processor, since we may access texels outside its domain. Note: this adds two new test cases to the xfermodeimagefilter GM, so those will need to be rebaselined. BUG=568196 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1588633002 Review URL: https://codereview.chromium.org/1588633002
* micro fix for rrects bug using GrDrawContextGravatar joshualitt2016-01-13
| | | | | | | | TBR=bsalomon@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1582933002 Review URL: https://codereview.chromium.org/1582933002
* Remove two varieties of drawNonAARect from GrDrawTargetGravatar joshualitt2016-01-13
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1584703003 Review URL: https://codereview.chromium.org/1584703003
* Hide drawBatch on GrDrawTarget from test MethodsGravatar joshualitt2016-01-13
| | | | | | | | TBR=bsalomon@google.com BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1574383002 Review URL: https://codereview.chromium.org/1574383002
* Fix SkTileImageFilter when srcRect is a superset of bitmap bounds.Gravatar senorblanco2016-01-11
| | | | | | | | | | | | | | | | | | | | If the input bitmap passed to SkTileImageFilter does not fill the srcRect, we were tiling this incorrectly (see the first sample from tileimage filter -- it draws from a srcRect of 12,12 50x50 to a dstRect of 0,0 50x50. There should be no tiling at all in this case!) In order to fix this, we need to pad the bitmap out to srcRect, and tile with that. In order to tile correctly in the GPU case, we need to request a tileable texture. NOTE: this will change the results of the tileimagefilter GM (correctness, and added src / dest rects). BUG=skia:4774 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1570133003 Review URL: https://codereview.chromium.org/1570133003
* move declaration of CreateLightingFilter into SkColorMatrixFilterGravatar reed2016-01-11
| | | | | | | BUG=skia:4791 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1574023002 Review URL: https://codereview.chromium.org/1574023002
* remove SkImage::applyFilter() -- unused, can always re-add laterGravatar reed2016-01-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1573653002 Review URL: https://codereview.chromium.org/1573653002
* Implement an SkPaint-based image filterGravatar ajuma2016-01-08
| | | | | | | | | | | This implements SkPaintImageFilter, and is intended to replace SkRectShaderImageFilter. By allowing a paint and not just a shader as input, this allows consumers to control dithering. BUG=skia:4780 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1556553002 Review URL: https://codereview.chromium.org/1556553002
* Remove work from constructors to facilitate debugging.Gravatar herb2016-01-08
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1562093002 Review URL: https://codereview.chromium.org/1562093002
* don't leak test filters and shadersGravatar reed2016-01-07
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1568173002 TBR= Review URL: https://codereview.chromium.org/1568173002
* add SkShader::newWithColorFilterGravatar reed2016-01-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1556693003 Review URL: https://codereview.chromium.org/1562193002
* Revert[2] of "add backdrop option to SaveLayerRec"Gravatar reed2016-01-07
| | | | | | | | | | | Reverted because of picture/serialization failure BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567063002 TBR=mtklein Review URL: https://codereview.chromium.org/1567063002
* Revert of add backdrop option to SaveLayerRec (patchset #14 id:260001 of ↵Gravatar reed2016-01-07
| | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1523053003/ ) Reason for revert: serialized != direct, will investigate Original issue's description: > add backdrop option to SaveLayerRec > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1523053003 > > Committed: https://skia.googlesource.com/skia/+/247415969a9a5ed6c83cc09395472416c4b7de7f TBR=robertphillips@google.com,bsalomon@google.com,mtklein@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1565203002
* add backdrop option to SaveLayerRecGravatar reed2016-01-07
| | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1523053003 Review URL: https://codereview.chromium.org/1523053003
* Fix crash when ETC1 codec is not supported.Gravatar djsollen2016-01-07
| | | | | | | BUG=skia:4216 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1567893002 Review URL: https://codereview.chromium.org/1567893002
* handle halfway case in scan converterGravatar caryclark2016-01-04
| | | | | | | | | | | | | | | | | Scan edges that start at exactly -0.5 aren't trimmed by clipping or by rounding, triggering a debug assert. One way to fix this is to round the top and left down instead of up. Also, move the path initialization of gm/composeshader.cpp to make debugging other path problems easier. R=reed@google.com BUG=skia:2715 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1544873002 Review URL: https://codereview.chromium.org/1544873002
* change factory to method, to parallel pattern in imagefilters. no ↵Gravatar reed2015-12-30
| | | | | | | | | | | functionality change. BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1553743002 TBR= Review URL: https://codereview.chromium.org/1553743002
* initialize offscreen in StrokeZeroGMGravatar mtklein2015-12-28
| | | | | | | | | | | Valgrind's complaining that we're drawing uninitialized source pixels from that offscreen via drawBitmap(): https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-Valgrind/builds/736/steps/dm/logs/stdio BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1546363002 Review URL: https://codereview.chromium.org/1546363002
* remove unused SkAutoROCanvasPixelsGravatar reed2015-12-25
| | | | | | | | | BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1550583002 TBR= Review URL: https://codereview.chromium.org/1550583002
* revised strokerect gmGravatar caryclark2015-12-22
| | | | | | | | | | | | In service of the bug below, revise the gm to show what zero widths draw, and what they should draw (by including rects with fractionally tiny widths). TBR=halcanary@google.com,reed@google.com BUG=1294 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1548643002 Review URL: https://codereview.chromium.org/1548643002
* fix hair fuzzGravatar caryclark2015-12-22
| | | | | | | | | | | | | | | | | If the end and control points of a quad, conic, or cubic are the same, adjust all of them when stretching the curve to account for a square or round end cap. If all of the points are the same, move all but the last. Enlarge the clip check to account for the cap. The clip bug was detected by ASAN. R=reed@google.com, msarett@google.com BUG=571214 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1547483003 Review URL: https://codereview.chromium.org/1547483003
* remove unused SkCullPointsGravatar reed2015-12-21
| | | | | | | | | | | | need to remove file references from chrome before landing this https://codereview.chromium.org/1547603002# BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1541933004 TBR=scroggo Review URL: https://codereview.chromium.org/1541933004
* Reland of change all factories to return their base-class (patchset #1 id:1 ↵Gravatar reed2015-12-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1540203002/ ) Reason for revert: chrome changes have landed Original issue's description: > Revert of change all factories to return their base-class (patchset #1 id:1 of https://codereview.chromium.org/1535353002/ ) > > Reason for revert: > need to update some chrome/blink call-sites > > Original issue's description: > > change all factories to return their base-class > > > > will watch DEPS roll to see if there are chrome sites needing updates > > > > BUG=skia: > > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535353002 > > > > TBR= > > > > Committed: https://skia.googlesource.com/skia/+/d63f60a36327e9580861205ebb35cade8c49bd34 > > TBR= > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/2d6ba6690f8951e152d8e793191b14afd52f5506 TBR= NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1533373002
* fix stroked text underline / strikethroughGravatar caryclark2015-12-21
| | | | | | | | | | | Pass 1 to DrawRect for underline and strikethrough since it will scale by the text size later. R=reed@google.com BUG=skia:971 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535793004 Review URL: https://codereview.chromium.org/1535793004
* Revert of change all factories to return their base-class (patchset #1 id:1 ↵Gravatar reed2015-12-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | of https://codereview.chromium.org/1535353002/ ) Reason for revert: need to update some chrome/blink call-sites Original issue's description: > change all factories to return their base-class > > will watch DEPS roll to see if there are chrome sites needing updates > > BUG=skia: > GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535353002 > > TBR= > > Committed: https://skia.googlesource.com/skia/+/d63f60a36327e9580861205ebb35cade8c49bd34 TBR= NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1540203002
* change all factories to return their base-classGravatar reed2015-12-20
| | | | | | | | | | | will watch DEPS roll to see if there are chrome sites needing updates BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1535353002 TBR= Review URL: https://codereview.chromium.org/1535353002
* fix large dashed pathsGravatar caryclark2015-12-18
| | | | | | | | | | | | Paths with lots of points exceed the 32767 point index. Make the index larger, add a test, and allow the t value to use the extra bits. R=reed@google.com,fmalita@chromium.org BUG=skia:3501 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1534223002 Review URL: https://codereview.chromium.org/1534223002
* Add default ctor to SkMaskGravatar robertphillips2015-12-17
| | | | | | | | | The minimal fix here seems to be handling BoxBlur's return value in SkBlurMaskFilter.cpp::GrRRectBlurEffect::Create. We seem to do enough special handling of the fImage field though that always initialializing it may not be a bad idea. BUG=570232 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1539553002 Review URL: https://codereview.chromium.org/1539553002
* Added concave paths to aaxfermodes GMGravatar ethannicholas2015-12-17
| | | | | | GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1534823004 Review URL: https://codereview.chromium.org/1534823004
* Fix gaussian blur for small sigma.Gravatar senorblanco2015-12-17
| | | | | | | | | | | | | | | | | | | | I broke this in https://skia.googlesource.com/skia/+/c57e0ded7d535523cfc6bf07c78e5f3479bb8c42. That change added support for cropping during blur, but did not do the correct thing for the small-sigma 2D matrix convolution optimization when blurring from small-to-large textures. The fix is pass the correct dstRect and srcOffset to convolve_gaussian_2d. I also changed convolve_gaussian_1d() and convolve_gaussian_2d() to take the original (non-negated) srcOffset, and to negate them when constructing the local matrix. Test: added a new (blur 0.3 0.3) column to imagefilterscropexpand, so that GM will have to be rebaselined. BUG=skia:4719,569883 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1529313003 Review URL: https://codereview.chromium.org/1529313003
* This brings hairlines into agreement with thick strokes.Gravatar caryclark2015-12-16
| | | | | | | | | | Add more testing and a pixel magnification to GM. R=reed@google.com, fmalita@chromium.org BUG=skia:4599 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1527083002 Review URL: https://codereview.chromium.org/1527083002
* Reland of move drawSprite from canvas (patchset #1 id:1 of ↵Gravatar reed2015-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1529803004/ ) Reason for revert: guard has landed in chrome Original issue's description: > Revert of remove drawSprite from canvas (patchset #4 id:60001 of https://codereview.chromium.org/1534443003/ ) > > Reason for revert: > need to remove an override in chrome > > Original issue's description: > > remove drawSprite from canvas > > > > BUG=skia: > > > > Committed: https://skia.googlesource.com/skia/+/4657ce2324ea197507c4ba728d81138f56da13b1 > > TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/32704674f64cb6a14356dfebe060cd3484c06cc7 TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1530203002
* Revert of remove drawSprite from canvas (patchset #4 id:60001 of ↵Gravatar reed2015-12-16
| | | | | | | | | | | | | | | | | | | | | | https://codereview.chromium.org/1534443003/ ) Reason for revert: need to remove an override in chrome Original issue's description: > remove drawSprite from canvas > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/4657ce2324ea197507c4ba728d81138f56da13b1 TBR=fmalita@chromium.org,robertphillips@google.com,senorblanco@chromium.org,mtklein@google.com NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1529803004
* remove drawSprite from canvasGravatar reed2015-12-16
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1534443003
* SkBitmapProcState rounding biasGravatar fmalita2015-12-15
| | | | | | | | | | | | | Epsilon bias to keep bitmap sample rounding consistent with geometry rounding. Also update the GM to draw an outer border + drop uninteresting scales in favor of negative scale variants. BUG=skia:4680,skia:4649 R=reed@google.com,caryclark@google.com,mtklein@google.com Review URL: https://codereview.chromium.org/1527633002
* New GM: image_scale_alignedGravatar fmalita2015-12-11
| | | | | | | | | To verify alignment for various image scaling modes. BUG=skia:4649 R=reed@google.com Review URL: https://codereview.chromium.org/1514923002
* try adding flag to allow lcd text even in a layerGravatar reed2015-12-10
| | | | | | BUG=skia: Review URL: https://codereview.chromium.org/1513513002
* Use DEF_GM everywhereGravatar scroggo2015-12-10
| | | | | | BUG=skia:1902 Review URL: https://codereview.chromium.org/1518893002
* Address precision issue in circle blur effectGravatar robertphillips2015-12-10
| | | | | | BUG=560651 Review URL: https://codereview.chromium.org/1504333003
* SkBlurImageFilter returns input when sigma = 0Gravatar xidachen2015-12-10
| | | | | | | | | | In the current implementation, a blur filter is always created even in the case when sigma.fX == 0 && sigma.fY == 0. This CL makes the blur filter return input in this case. BUG=568393 Review URL: https://codereview.chromium.org/1518643002
* Switch SkAutoMalloc to SkAutoTMalloc to avoid castGravatar scroggo2015-12-10
| | | | | | | | | | | | Make SkAutoTMalloc's interface look more like SkAutoMalloc: - add free(), which does what you expect - make reset() return a pointer fPtr No public API changes (SkAutoTMalloc is in include/private) BUG=skia:2148 Review URL: https://codereview.chromium.org/1516833003
* SkBitmap::installPixels(const SkPixmap&);Gravatar halcanary2015-12-09
| | | | Review URL: https://codereview.chromium.org/1505333002
* Split big rrect aa effect up into separate imagesGravatar bsalomon2015-12-09
| | | | | | | | Needed to enlarge radii to surface bugs without exceeding max texture size on low end devices. BUG=chromium:477684 Review URL: https://codereview.chromium.org/1508003008
* Zero length lines may have caps, but do not need joins.Gravatar caryclark2015-12-08
| | | | | | | | | | Check to see if the point is preceeded or followed by a line with a computable tangent before adding the join. R=reed@google.com BUG=566075 Review URL: https://codereview.chromium.org/1504043002
* Add SkTileImageFilter sample to filterfastbounds GM.Gravatar senorblanco2015-12-07
| | | | | | | | NOTE: will affect pixel results for filterfastbounds GM. BUG=skia:3194 Review URL: https://codereview.chromium.org/1500373004
* add gm to exercise large sigmasGravatar reed2015-12-07
| | | | | | | BUG=skia:4437 TBR= Review URL: https://codereview.chromium.org/1503143002
* Matrix convolution bounds fix; affectsTransparentBlack fixes.Gravatar senorblanco2015-12-07
| | | | | | | | | | | | | | | | | | | | | Because the convolution kernel is (currently) applied in device space, there's no way to know which object-space pixels will be touched. So return false from canComputeFastBounds(). The results from the matrixconvolution GM were actually wrong, since they were showing edge differences on the clip boundaries, where they should really only show on crop boundaries. I added a crop to the GM to keep the results the same (which are useful to test the different convolution tile modes). While I was at it, SkImageFilter::affectsTransparentBlack() was inapplicable on most things except color filters, and its use on leaf nodes was confusing. So I removed it, and made SkImageFilter::canComputeFastBounds() virtual instead. BUG=skia:4630 Review URL: https://codereview.chromium.org/1500923004
* Revert of Matrix convolution bounds fix; affectsTransparentBlack fixes. ↵Gravatar senorblanco2015-12-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #4 id:60001 of https://codereview.chromium.org/1500923004/ ) Reason for revert: Introduced memory leak; pixel changes in Chrome. Original issue's description: > Matrix convolution bounds fix; affectsTransparentBlack fixes. > > Because the convolution kernel is (currently) applied in device space, > there's no way to know which object-space pixels will be touched. So > return false from canComputeFastBounds(). > > The results from the matrixconvolution GM were actually wrong, since > they were showing edge differences on the clip boundaries, where they > should really only show on crop boundaries. I added a crop to the GM > to keep the results the same (which are useful to test the different > convolution tile modes). > > While I was at it, SkImageFilter::affectsTransparentBlack() was > inapplicable on most things except color filters, and its use on > leaf nodes was confusing. So I removed it, and made > SkImageFilter::canComputeFastBounds() virtual instead. > > BUG=skia: > > Committed: https://skia.googlesource.com/skia/+/8705ec80518ef551994b82ca5ccaeb0241d6adec TBR=reed@google.com,reed@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Review URL: https://codereview.chromium.org/1497083005
* Matrix convolution bounds fix; affectsTransparentBlack fixes.Gravatar senorblanco2015-12-04
| | | | | | | | | | | | | | | | | | | | | Because the convolution kernel is (currently) applied in device space, there's no way to know which object-space pixels will be touched. So return false from canComputeFastBounds(). The results from the matrixconvolution GM were actually wrong, since they were showing edge differences on the clip boundaries, where they should really only show on crop boundaries. I added a crop to the GM to keep the results the same (which are useful to test the different convolution tile modes). While I was at it, SkImageFilter::affectsTransparentBlack() was inapplicable on most things except color filters, and its use on leaf nodes was confusing. So I removed it, and made SkImageFilter::canComputeFastBounds() virtual instead. BUG=skia: Review URL: https://codereview.chromium.org/1500923004