robertphillips
727b7d27af
Add gpu backend for SkPixelXorXfermode
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1631873002
Review URL: https://codereview.chromium.org/1631873002
2016-01-26 12:07:13 -08:00
senorblanco
eae84c2e0e
Image filters: fix srcOffset handling in asFragmentProcessor() path.
...
Filters such as SkMatrixConvolutionImageFilter which use the
asFragmentProcessor() path were not correctly handling srcOffset.
It is correctly applied to the bounds, but the srcRect and dstRect
were computed from the pre-offset bounds.
The fix is to move them to just above where they're used in drawing.
Note: this change adds a new test case to the imagefiltersgraph GM,
so it will have to be rebaselined post-landing.
BUG=skia:4855
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1637443003
Review URL: https://codereview.chromium.org/1637443003
2016-01-26 08:41:03 -08:00
robertphillips
64b0f5f957
Remove SkLerpXfermode
...
This relies on the Chromium CL https://codereview.chromium.org/1610573004/ (Replace use of SkLerpXfermode with SkArithmeticMode)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1611633002
Review URL: https://codereview.chromium.org/1611633002
2016-01-25 14:19:56 -08:00
robertphillips
914bd435a8
Fix memory leak in pixelxorxfermode GM
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1633773002
TBR=jvanverth@google.com
Review URL: https://codereview.chromium.org/1633773002
2016-01-25 11:34:16 -08:00
robertphillips
37771c349e
Add GM for SkPixelXorXfermode
...
This is in preparation for adding a gpu implementation
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1601743009
Review URL: https://codereview.chromium.org/1601743009
2016-01-25 08:39:08 -08:00
caryclark
fc75253c82
fix arcto exception handling
...
To match SVG behavior,
draw a line when either radius is zero,
or when the end point equals the start point.
Update the GM to include these tests, and
take the scale used to test it on a highres display.
R=fmalita@chromium.org
BUG=skia:4849
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1627423002
Review URL: https://codereview.chromium.org/1627423002
2016-01-25 05:39:04 -08:00
caryclark
55d49053d1
Add svg path arcto
...
The arcto() used by SVG in Chrome and Android is ported here, using conics
instead of cubics. The logic is a direct transposition of the WebKit code.
The attached GM includes SVG that draws the same as Skia.
R=reed@google.com
BUG=skia:3959
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1613303002
Review URL: https://codereview.chromium.org/1613303002
2016-01-23 05:07:04 -08:00
reed
d4eaa25caf
add GM to exercise duplicate color-stops
...
BUG=skia:4841
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1620423002
TBR=
Review URL: https://codereview.chromium.org/1620423002
2016-01-22 10:35:26 -08:00
benjaminwagner
1c2729c8bb
Add SK_SUPPORT_LEGACY_DRAWFILTER guard around calls to SkCanvas::(get|set)DrawFilter.
...
Fixes Google3 dm build. (Can't enable SK_INTERNAL for Google3 dm without enabling it for all dependents.)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1626543002
Review URL: https://codereview.chromium.org/1626543002
2016-01-22 09:45:14 -08:00
djsollen
aa97a84404
Revert of Consolidate SK_CRASH and sk_throw into SK_ABORT (patchset #5 id:80001 of https://codereview.chromium.org/1610823002/ )
...
Reason for revert:
Chrome is calling SK_CRASH
Original issue's description:
> Consolidate SK_CRASH and sk_throw into SK_ABORT
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610823002
>
> Committed: https://skia.googlesource.com/skia/+/4c5cd7d527ed29aabfa72aa47b23a4496eeda357
TBR=reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/1620333002
2016-01-22 06:50:25 -08:00
djsollen
4c5cd7d527
Consolidate SK_CRASH and sk_throw into SK_ABORT
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1610823002
Review URL: https://codereview.chromium.org/1610823002
2016-01-22 06:04:55 -08:00
bungeman
f6c7107d03
Expose API for gx font variation axes.
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1590223003
Review URL: https://codereview.chromium.org/1590223003
2016-01-21 14:17:47 -08:00
senorblanco
00502373c8
Fix bounds computations for SkDisplacementMapEffect with negative scale.
...
BUG=skia:4835
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1616663003
Review URL: https://codereview.chromium.org/1616663003
2016-01-21 09:55:47 -08:00
caryclark
1a7eb26664
resolution dependent path measure
...
When a dash is drawn through a canvas with a scaled up
matrix, path measure needs the pixel resolution through
the matrix to construct the dash with sufficient
resolution.
Pass the resolution through to path measure.
Replicate chrome bug in skia GM.
R=reed@google.com
BUG=530095
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1608353002
Review URL: https://codereview.chromium.org/1608353002
2016-01-21 07:07:02 -08:00
bsalomon
dfe3e50522
Make colorimagefilter GM not crash when resource path not specified
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1619723002
BUG=skia:
Review URL: https://codereview.chromium.org/1619723002
2016-01-21 06:44:09 -08:00
caryclark
2b39ffc9d2
add arc circle gap gm
...
The circle and arc don't line up because
the circle uses conics and arc uses
quadratics.
TBR=reed@google.com
BUG=578885
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1606263002
Review URL: https://codereview.chromium.org/1606263002
2016-01-20 07:46:05 -08:00
bsalomon
e179a9167f
Texturing support for RECTANGLE textures.
...
Uses textureSize() to unnormalize texture coords when reading from a RECTANGLE texture. Because of this we also require a later GLSL version to use rectangle textures (1.40).
Note that this causes a issue with the bicubic effect. The texture coords seem to have poor precision and the result is ugly. textureSize() is intended as a workaround until effects can be updated to handle unnormalized coords themselves.
Updates places where we were looking for OpenGL version 3.2 for rectangle support. It was actually added in 3.1.
BUG=skia:3868
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1594483003
Review URL: https://codereview.chromium.org/1594483003
2016-01-20 06:18:10 -08:00
senorblanco
1ea67a31c5
Fix SkAlphaThresholdFilter bounds handling.
...
SkAlphaThresholdFilter was always allocating a mask texture
of the same size as the source texture. In addition to
potentially wasting VRAM, this could cause the mask to be
offset from the source texture, if the resulting bounds
were a different size than the source texture.
The fix is to allocate a mask texture only as large as the
bounds, and to offset it to the bounds origin on draw.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1609573002
Review URL: https://codereview.chromium.org/1609573002
2016-01-19 08:50:18 -08:00
caryclark
b6474dd1a5
fix circular dashing
...
Path measure cannot use the same code approach for quadratics
and cubics. Subdividing cubics repeatedly does not result in
subdivided t values, e.g. a quarter circle cubic divided in
half twice does not have a t value equivalent to 1/4.
Instead, always compute the cubic segment from a pair of
t values.
When finding the length of the cubic through recursive measures,
it is enough to carry the point at a given t to the next
subdivision.
(Chrome suppression has landed already.)
R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1602153002
Review URL: https://codereview.chromium.org/1602153002
2016-01-19 08:07:50 -08:00
reed
67b09bf6b7
use pixmaps in mipmap api
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1598803002
Review URL: https://codereview.chromium.org/1598803002
2016-01-16 18:50:35 -08:00
reed
32e0b4a34a
use triangle filter for odd dimensions in mip-levels
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1592473002
Review URL: https://codereview.chromium.org/1592473002
2016-01-15 13:17:08 -08:00
reed
01dc44ae66
add GM to show miplevels for all colortypes
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1594613002
TBR=
Review URL: https://codereview.chromium.org/1594613002
2016-01-15 10:51:08 -08:00
reed
a40be09c44
expand gm to exercise miplevels and various scalers
...
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
2016-01-14 09:11:51 -08:00
senorblanco
06d54ad09a
Fix SkXfermodeImageFilter GPU fast path for differing sizes.
...
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
2016-01-13 13:48:54 -08:00
joshualitt
c2eff2ac77
micro fix for rrects bug using GrDrawContext
...
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
2016-01-13 11:23:27 -08:00
joshualitt
04194f32f4
Remove two varieties of drawNonAARect from GrDrawTarget
...
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
2016-01-13 10:08:27 -08:00
joshualitt
f5883a6d75
Hide drawBatch on GrDrawTarget from test Methods
...
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
2016-01-13 07:47:38 -08:00
senorblanco
a9fbd1676c
Fix SkTileImageFilter when srcRect is a superset of bitmap bounds.
...
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
2016-01-11 14:09:09 -08:00
reed
0daf5dd7fc
move declaration of CreateLightingFilter into SkColorMatrixFilter
...
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
2016-01-11 12:34:04 -08:00
reed
22471ed134
remove SkImage::applyFilter() -- unused, can always re-add later
...
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
2016-01-08 17:21:47 -08:00
ajuma
77b6ba3b6e
Implement an SkPaint-based image filter
...
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
2016-01-08 14:58:35 -08:00
herb
b10fe4941b
Remove work from constructors to facilitate debugging.
...
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
2016-01-08 13:48:43 -08:00
reed
57fa241d6f
don't leak test filters and shaders
...
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
2016-01-07 17:56:33 -08:00
reed
3061af4a5f
add SkShader::newWithColorFilter
...
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
2016-01-07 15:47:29 -08:00
reed
bfd5f171e6
Revert[2] of "add backdrop option to SaveLayerRec"
...
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
2016-01-07 11:28:08 -08:00
reed
0575cb2def
Revert of add backdrop option to SaveLayerRec (patchset #14 id:260001 of 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
2016-01-07 08:15:10 -08:00
reed
247415969a
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
Review URL: https://codereview.chromium.org/1523053003
2016-01-07 07:44:35 -08:00
djsollen
19aa2b0867
Fix crash when ETC1 codec is not supported.
...
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
2016-01-07 07:22:47 -08:00
caryclark
6df611574a
handle halfway case in scan converter
...
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
2016-01-04 14:17:47 -08:00
reed
f880e45e92
change factory to method, to parallel pattern in imagefilters. no 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
2015-12-30 13:39:41 -08:00
mtklein
636270245f
initialize offscreen in StrokeZeroGM
...
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
2015-12-28 11:15:46 -08:00
reed
48eb08a790
remove unused SkAutoROCanvasPixels
...
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
2015-12-25 12:56:03 -08:00
caryclark
c53b82ec0e
revised strokerect gm
...
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
2015-12-22 07:50:16 -08:00
caryclark
40b7d3b48b
fix hair fuzz
...
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
2015-12-22 06:13:33 -08:00
reed
b39f39f5cc
remove unused SkCullPoints
...
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
2015-12-21 18:37:16 -08:00
reed
5e1ddb1086
Reland of change all factories to return their base-class (patchset #1 id:1 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
2015-12-21 08:52:45 -08:00
caryclark
fb56218292
fix stroked text underline / strikethrough
...
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
2015-12-21 08:35:51 -08:00
reed
2d6ba6690f
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:
Review URL: https://codereview.chromium.org/1540203002
2015-12-20 20:08:43 -08:00
reed
d63f60a363
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=
Review URL: https://codereview.chromium.org/1535353002
2015-12-20 19:38:20 -08:00
caryclark
f97aa74fea
fix large dashed paths
...
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
2015-12-18 07:03:13 -08:00