reed
0ccc62d4f7
move colorshader into its own .cpp, add color4f variant
...
Implemented as a different subclass for SkColorShader (which is also private) partly to make the CL clearer/simpler, and partly for flatten/unflatten compatibility. Later I'm sure we could combine these if that proves useful.
Lots of TODOs at the moment, but still valuable to get reviewed.
Note: this ignores the question (for the moment) about how to interpret SkColor in the larger world. That needs to happen, but this CL is more focused on what *else* to do besides handle the old-style input (and old-style pipeline).
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1934313002
Review-Url: https://codereview.chromium.org/1934313002
2016-05-04 13:09:39 -07:00
robertphillips
175dd9b5e3
Clean up test drawContext usage
...
The general idea is to provide access to SkGpuDevice's drawContext rather than its GrRenderTarget. That is usually what the testing framework actually wants.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1930623003
Review-Url: https://codereview.chromium.org/1930623003
2016-04-28 14:32:04 -07:00
robertphillips
6c7e325236
Bring sk_sp to GrDrawContext
...
This is split out of: https://codereview.chromium.org/1914883002/ (Refactor drawContext/RenderTarget creation)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1918003003
Review-Url: https://codereview.chromium.org/1918003003
2016-04-27 10:47:51 -07:00
bungeman
b4bb7d8255
Add oblique as a slant.
...
Some fonts have italic and oblique in the same family, see
http://lucidafonts.com/fonts/family/lucida-sans
http://www.gust.org.pl/projects/e-foundry/latin-modern
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1921903002
Chromium side change at https://crrev.com/1921503006/ .
Review-Url: https://codereview.chromium.org/1921903002
2016-04-27 10:21:05 -07:00
brianosman
5529b7dccc
Remove unmatched restore call in gamma GM
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1917303002
Review URL: https://codereview.chromium.org/1917303002
2016-04-26 14:37:27 -07:00
robertphillips
7715e06b68
Retract SkDevice a bit more
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1905383002
Review URL: https://codereview.chromium.org/1905383002
2016-04-22 10:57:16 -07:00
robertphillips
5e3815b4d0
Rein in the use of SkDevice.h
...
Nothing interesting.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1904673003
Review URL: https://codereview.chromium.org/1904673003
2016-04-20 05:29:51 -07:00
reed
51dece33e8
add gm to exercise rotated imagefiltesr w/ and w/o antialiasing
...
BUG=skia:3288
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1902253003
Review URL: https://codereview.chromium.org/1902253003
2016-04-19 14:02:52 -07:00
robertphillips
534c270465
Update TileImageFilter to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1882113002
Review URL: https://codereview.chromium.org/1882113002
2016-04-15 07:57:40 -07:00
robertphillips
bfe11fc9a6
Update DisplacementMapEffect to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877783003
Committed: https://skia.googlesource.com/skia/+/a53011ef44705a091a8e24f7ea289a3f9ad759f2
Review URL: https://codereview.chromium.org/1877783003
2016-04-15 07:17:36 -07:00
robertphillips
47db5fe443
Revert of Update DisplacementMapEffect to sk_sp (patchset #3 id:40001 of https://codereview.chromium.org/1877783003/ )
...
Reason for revert:
unexpected image diffs in imagefilterscropexpand GM
Original issue's description:
> Update DisplacementMapEffect to sk_sp
>
> TBR=reed@google.com
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877783003
>
> Committed: https://skia.googlesource.com/skia/+/a53011ef44705a091a8e24f7ea289a3f9ad759f2
TBR=fmalita@chromium.org ,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/1884253004
2016-04-15 05:09:32 -07:00
robertphillips
a53011ef44
Update DisplacementMapEffect to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877783003
Review URL: https://codereview.chromium.org/1877783003
2016-04-15 04:37:07 -07:00
robertphillips
b2a4dc6a35
Switch SkMagnifierImageFilter over to new onFilterImage interface
...
Additionally, this CL:
adds crop handling to the CPU path (the GPU path handled it but with a bug)
adds a cropRect (to better justify the applyCropRect)
adds a GM to exercise the cropRect
Note: I believe the handling of cropRects and clipping is deeply flawed but, at least, the two paths are consistently flawed now.
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1882943002
Review URL: https://codereview.chromium.org/1882943002
2016-04-14 07:54:04 -07:00
brianosman
0e3c55431b
Tweak distance field path renderer behavior in gamma-correct mode to match
...
recent changes to text rendering.
Uses linear coverage falloff. Produces results that are perceptually more
similar to L32 (raster and gpu). Smoothstep + sRGB was too soft.
Plumb the gamma-correctness via DrawPathArgs, which also paves the way for
other path rendering implementations to easily make decisions about rendering
technique based on that flag.
Fix a few typos and formatting issues from my most recent change.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1889453002
Review URL: https://codereview.chromium.org/1889453002
2016-04-13 13:56:21 -07:00
brianosman
b461d34575
Rename lots of things from 'sRGB' to 'GammaCorrect', where appropriate
...
Trying to be much more explicit about where we really mean sRGB as a format,
and where we mean gamma-correct, as in: "not legacy behavior". Most of the
changes to rendering behavior are dependent on the latter, so let's be precise.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1884873006
Review URL: https://codereview.chromium.org/1884873006
2016-04-13 13:10:14 -07:00
robertphillips
54ef1a7c95
Add GM to prevent mis-drawing of LCD text in SkPictureImageFilters
...
BUG=602555
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1878373003
Review URL: https://codereview.chromium.org/1878373003
2016-04-13 10:55:07 -07:00
bungeman
ed2edabd07
Remove SK_VERY_LEGACY_CREATE_TYPEFACE.
...
The flag and code it guards are no longer used.
TBR=reed
This just removes dead code.
Review URL: https://codereview.chromium.org/1882803002
2016-04-13 05:23:35 -07:00
bungeman
11a77c6e06
Begin switch to SkFontStyle for legacy calls.
...
This adds SK_VERY_LEGACY_CREATE_TYPEFACE which, when defined, provides
only the old interface.
Ideally, everyone would switch directly to SkFontMgr and use one of the
newer calls, but there is currently no path for current users to get
there. This updates all the internals to use SkFontStyle, after
switching these over the higher level APIs can be switched.
The Chromium follow on patch can be seen at https://crrev.com/1877673002
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1873923002
TBR=reed
This doesn't really change API, just modernizes it.
Review URL: https://codereview.chromium.org/1873923002
2016-04-12 13:45:06 -07:00
robertphillips
134ff5c9cf
Remove SimpleOffsetFilter
...
SimpleOffsetFilter & SkOffsetImageFilter seem equivalent nowadays.
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1884733002
Review URL: https://codereview.chromium.org/1884733002
2016-04-12 12:41:00 -07:00
robertphillips
af9b8c8046
Switch AlphaThresholdFilter over to new onFilterImage interface
...
This CL also alters the raster path in two ways:
it now respects the sRGB/linear distinction of its input
it now respects the clip
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1879643003
Review URL: https://codereview.chromium.org/1879643003
2016-04-12 11:02:25 -07:00
mtklein
ad6a1901d1
nullptr -> "sans-serif" fixes bold in gm/colorwheel
...
This was an odd case where 8888 drew wrong and serialize-8888 was correct.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1880653002
Review URL: https://codereview.chromium.org/1880653002
2016-04-11 13:20:11 -07:00
reed
6dc14aab5e
adjust gm bounds for better content fit
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1876753003
TBR=djsollen
Review URL: https://codereview.chromium.org/1876753003
2016-04-11 07:46:38 -07:00
robertphillips
12fa47d33f
Update LightingImageFilter to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1869763002
Review URL: https://codereview.chromium.org/1869763002
2016-04-08 16:28:09 -07:00
herb
42da45d399
Fix context size for benchmakr.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1871173002
Review URL: https://codereview.chromium.org/1871173002
2016-04-08 14:24:37 -07:00
robertphillips
23d2c18cb1
Fix scaledstrokes GM
...
Small fix to https://codereview.chromium.org/1873733003 (More cleanup in the Vulkan viewer)
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1875793002
Review URL: https://codereview.chromium.org/1875793002
2016-04-08 14:03:00 -07:00
robertphillips
651bb5fafe
Make some GMs animate
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1870133003
Review URL: https://codereview.chromium.org/1870133003
2016-04-08 13:35:14 -07:00
herb
9e0efe57ac
Add clone to Stage. Rename place to mix and PolymorphicUnion to Stage. Cleanup.
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1877483002
Review URL: https://codereview.chromium.org/1877483002
2016-04-08 13:25:28 -07:00
jvanverth
c265a92741
More cleanup in the Vulkan viewer
...
* add animation support for GMs
* don't load all SkPictures at start, only as needed
* don't update constantly, only for animation or stats
* hide/show stats
* scale slides up/down
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1873733003
Review URL: https://codereview.chromium.org/1873733003
2016-04-08 12:51:45 -07:00
robertphillips
ef6a47b4af
Update MatrixConvolutionImageFilter to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1869833002
Review URL: https://codereview.chromium.org/1869833002
2016-04-08 08:01:20 -07:00
robertphillips
11171f3b66
Update MagnifierImageFilter to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1864843002
Review URL: https://codereview.chromium.org/1864843002
2016-04-07 07:34:15 -07:00
mtklein
11064dfeb4
Fix lazy coding in ViaSingletonPictures.
...
I was using SkRect::MakeLargest() as bounds, which is sort of nutso,
as that clearly is way out of bounds for how big a picture can feasibly
be, i.e. something closer to SkIRect::MakeLargest().
This was causing spurious quick rejects in drawPatch(). I didn't really
look much deeper to figure out why. It's easy enough to just feed it the
proper bounds of the entire content.
This means patch_primitive draws correctly in sp-8888 mode.
I also noticed the GM was too small... it clipped off most of its content.
So I've made it larger.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1865143002
Review URL: https://codereview.chromium.org/1865143002
2016-04-06 15:01:57 -07:00
mtklein
48156ed412
path_stroke_with_zero_length: turn off drawFat() by default.
...
The replay modes cannot readback, and so cannot draw the fat parts, which
means we've had to exempt them from checking that they draw identically.
I don't mind if we leave it alone, but I thought I'd check to see your opinion.
BUG=skia:4095
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1862113004
Review URL: https://codereview.chromium.org/1862113004
2016-04-06 14:25:35 -07:00
mtklein
9e65f9399e
alternate textblobgeometrychange fix... just make our own surface if needed
...
This should decopple fixing the replay modes from revising the API.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1868553005
Review URL: https://codereview.chromium.org/1868553005
2016-04-06 13:57:38 -07:00
mtklein
3d72c099c7
Remove conditional flavor text on blend GM.
...
This was breaking replay modes for no good reason.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1864253002
Review URL: https://codereview.chromium.org/1864253002
2016-04-06 12:42:49 -07:00
caryclark
4693a1748f
cubic stroke fix
...
Normally parallel tangents means that the stroke can
be represented with a line. But looping cubics can
have parallel tangents if the loop is 180 degrees.
Check to see if the tangents direction is opposite
to subdivide further.
R=reed@google.com
BUG=skia:5099
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1862753002
Review URL: https://codereview.chromium.org/1862753002
2016-04-06 08:54:06 -07:00
robertphillips
c416912da4
Update DropShadowImageFilter to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1861843002
Review URL: https://codereview.chromium.org/1861843002
2016-04-06 08:40:59 -07:00
robertphillips
fc0f44a5f0
Update DownSampleImageFilter to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1864583005
Review URL: https://codereview.chromium.org/1864583005
2016-04-06 07:44:01 -07:00
brianosman
898235c486
SkSurfaceProps now has a gamma-correct ("AllowSRGBInputs") flag. That's propagated in a few places so that the backend can do the right thing for L32 vs S32 mode.
...
Also added SkSurfaceProps to SkSpecialImage, so that Image -> Surface conversion can preserve the desired behavior during filtering.
Many small changes, including a bunch of comments about places where we may be losing information right now. My approach was to ensure that if anything fails, it will always fall back to "legacy" mode - gamma-correctness is opt-in, so I'll just have to feed things through as missing cases are exposed.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1838953007
Review URL: https://codereview.chromium.org/1845283003
2016-04-06 07:38:23 -07:00
robertphillips
ae8c933ca8
Update SkMatrixImageFilter to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1858353002
Review URL: https://codereview.chromium.org/1858353002
2016-04-05 15:09:00 -07:00
robertphillips
8c0326df5f
Update SkXfermodeImageFilter to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852123002
Committed: https://skia.googlesource.com/skia/+/3bc969264d4720d67f0b137552b3777a03b431a8
Review URL: https://codereview.chromium.org/1852123002
2016-04-05 12:48:34 -07:00
robertphillips
5605b56afa
Update SkColorFilterImageFilter to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1858813002
Review URL: https://codereview.chromium.org/1858813002
2016-04-05 11:50:42 -07:00
robertphillips
fc11b0afe0
Update SkMorphology ImageFilters to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1860573002
Review URL: https://codereview.chromium.org/1860573002
2016-04-05 09:09:37 -07:00
reed
59dc542424
remove avoid and pixelxor xfermodes
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1853103005
Review URL: https://codereview.chromium.org/1853103005
2016-04-05 06:25:14 -07:00
mtklein
3b37545bc5
Revert of Delete SkFlattenable::Type (patchset #2 id:20001 of https://codereview.chromium.org/1834303003/ )
...
Reason for revert:
Used by Chrome.
c:\b\build\slave\workdir\build\src\cc\playback\compositing_display_item.cc(53): error C2039: 'GetFlattenableType': is not a member of 'SkColorFilter'
c:\b\build\slave\workdir\build\src\third_party\skia\include\core\skshader.h(19): note: see declaration of 'SkColorFilter'
c:\b\build\slave\workdir\build\src\cc\playback\compositing_display_item.cc(53): error C3861: 'GetFlattenableType': identifier not found
Original issue's description:
> Delete SkFlattenable::Type
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834303003
>
> Committed: https://skia.googlesource.com/skia/+/99d9231f6a4cb6b85b8637e9d8ae32f8bd7c466f
TBR=reed@google.com ,msarett@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/1853383002
2016-04-04 14:57:19 -07:00
msarett
99d9231f6a
Delete SkFlattenable::Type
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834303003
Review URL: https://codereview.chromium.org/1834303003
2016-04-04 13:53:02 -07:00
robertphillips
4ba94e2610
Switch internal testing ImageFilters over to new onFilterImage interface
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1854133002
Review URL: https://codereview.chromium.org/1854133002
2016-04-04 12:07:47 -07:00
reed
efdfd51b68
switch maskfilters to sk_sp
...
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852113003
Review URL: https://codereview.chromium.org/1852113003
2016-04-04 10:02:58 -07:00
robertphillips
b591c77c37
Revert of Update SkXfermodeImageFilter to sk_sp (patchset #4 id:60001 of https://codereview.chromium.org/1852123002/ )
...
Reason for revert:
Chrome-land compilation failure.
Original issue's description:
> Update SkXfermodeImageFilter to sk_sp
>
> TBR=reed@google.com
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852123002
>
> Committed: https://skia.googlesource.com/skia/+/3bc969264d4720d67f0b137552b3777a03b431a8
TBR=fmalita@chromium.org ,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/1852273002
2016-04-04 08:06:17 -07:00
robertphillips
3bc969264d
Update SkXfermodeImageFilter to sk_sp
...
TBR=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1852123002
Review URL: https://codereview.chromium.org/1852123002
2016-04-04 07:13:49 -07:00
robertphillips
43c2ad4e8f
Update internal testing ImageFilters to sk_sp
...
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1854023003
Review URL: https://codereview.chromium.org/1854023003
2016-04-04 05:05:11 -07:00