platform/upstream/libSkiaSharp.git
7 years agoMove undefined-func-template to wont-fix warnings.
Mike Klein [Mon, 26 Sep 2016 19:49:04 +0000 (15:49 -0400)]
Move undefined-func-template to wont-fix warnings.

The warning looks to helpfully pre-warn about possible link failures, but it's warning exclusively in places where we're doing things right.

The worst that happens ignoring this warning is a missing-symbol linker error.

I've taken the opportunity to batch in a few other de-escalations:
  - Wconditional-uninitialized is done better by MSAN
  - It'll take some work to dig Wformat-literal out of our shader compiler, but nothing looks unsafe
  - Most of Wshift-sign-overflow is 0xff << 24.  Don't want to ban that.
  - Wdeprecated is mostly warning about features C++11 technically deprecated that might be removed in later releases.  Punt!
  - Wcovered-switch-default is pretty much the opposite of what we want.
  - Wshadow is triggering too often to fix quickly.  Probably mostly false positives.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2620

Change-Id: I20a85a77d2e19ed05a536b23037bd988350f821e
Reviewed-on: https://skia-review.googlesource.com/2620
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoreplace Arithmetic xfermode with imagefilter
Mike Reed [Mon, 26 Sep 2016 19:33:00 +0000 (15:33 -0400)]
replace Arithmetic xfermode with imagefilter

chrome pre-cl: https://codereview.chromium.org/2369023002/

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2595

Change-Id: Ia3f3b721854c516f3b7f8c44f71f40a8a2eeb9b4
Reviewed-on: https://skia-review.googlesource.com/2595
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoFix typo
liyuqian [Mon, 26 Sep 2016 19:49:06 +0000 (12:49 -0700)]
Fix typo

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2370003002
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2370003002

Review-Url: https://codereview.chromium.org/2370003002

7 years agoRevert of Fix bufferIndex check in VulkanWindowContext (patchset #1 id:1 of https...
egdaniel [Mon, 26 Sep 2016 19:30:46 +0000 (12:30 -0700)]
Revert of Fix bufferIndex check in VulkanWindowContext (patchset #1 id:1 of https://codereview.chromium.org/2363353003/ )

Reason for revert:
Fix not correct.

Original issue's description:
> Fix bufferIndex check in VulkanWindowContext
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2363353003
>
> Committed: https://skia.googlesource.com/skia/+/e6bd20e62b827a1f26fa491fc628f015d208350f

TBR=jvanverth@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/2370953002

7 years agoFix bufferIndex check in VulkanWindowContext
egdaniel [Mon, 26 Sep 2016 19:20:56 +0000 (12:20 -0700)]
Fix bufferIndex check in VulkanWindowContext

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2363353003

Review-Url: https://codereview.chromium.org/2363353003

7 years agoTurned on SkSL->GLSL compiler
ethannicholas [Mon, 26 Sep 2016 18:58:52 +0000 (11:58 -0700)]
Turned on SkSL->GLSL compiler
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2288033003

Committed: https://skia.googlesource.com/skia/+/9b0fe3d125f237d9884732a48414fa85fc71b4e3
Review-Url: https://codereview.chromium.org/2288033003

7 years agoMinor clean up of GrAAConvexTessellator
Robert Phillips [Mon, 26 Sep 2016 18:07:48 +0000 (14:07 -0400)]
Minor clean up of GrAAConvexTessellator

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2604

Change-Id: Ie94361256675cded9ca241ddad6443e695a596e9
Reviewed-on: https://skia-review.googlesource.com/2604
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoRoll recipes
borenet [Mon, 26 Sep 2016 18:13:11 +0000 (11:13 -0700)]
Roll recipes

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2366323002

Review-Url: https://codereview.chromium.org/2366323002

7 years agoallow conic chop to fail
caryclark [Mon, 26 Sep 2016 18:03:54 +0000 (11:03 -0700)]
allow conic chop to fail

Fuzzy values may cause the conic chop to fail.

Check to see if the values are all finite, and
require the caller to do the same.

R=reed@google.com
BUG=650178
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368993002

Review-Url: https://codereview.chromium.org/2368993002

7 years agoTurn on -Wundefined-reinterpret-cast.
Mike Klein [Mon, 26 Sep 2016 17:19:12 +0000 (13:19 -0400)]
Turn on -Wundefined-reinterpret-cast.

It was not a fan of this (blatant) aliasing.
I suspect this best_non_simd_srcover_srgb_srgb() function has several
other aliasing issues that use undefined behavior, but this is all it's
complaining about for now.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2606

Change-Id: I25a8800e810bccf5068c8a10e9c8c8f565e57304
Reviewed-on: https://skia-review.googlesource.com/2606
Commit-Queue: Mike Klein <mtklein@chromium.org>
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoTag checkerboard bitmaps as sRGB
brianosman [Mon, 26 Sep 2016 17:43:21 +0000 (10:43 -0700)]
Tag checkerboard bitmaps as sRGB

Significantly reduces the diff between legacy and sRGB/F16 on about 25
GMs. This is just the biggest piece of low-hanging fruit. Many GMs create
N32 raster surfaces to procedurally generate source textures, and I'd like
to fix all of them. It's much easier to reason about the GMs (is sRGB
doing the right thing) when everything is tagged like this - the only
expected differences are due to filtering and blending.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368933003

Review-Url: https://codereview.chromium.org/2368933003

7 years ago-Wcomma may be good to go now.
Mike Klein [Mon, 26 Sep 2016 17:02:35 +0000 (13:02 -0400)]
-Wcomma may be good to go now.

This cleans up 3 remaining sites using , that probably meant ;

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2605

Change-Id: I5e48bcd85d72a205d2b0c860461dab1ec793dd18
Reviewed-on: https://skia-review.googlesource.com/2605
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoMy take on SkAlign changes.
mtklein [Mon, 26 Sep 2016 17:31:12 +0000 (10:31 -0700)]
My take on SkAlign changes.

Like the other change, it makes SkAlignN(x) macros work for pointers, and makes the macros themselves just syntax sugar for SkAlign<N>(x).  We can still decide if we want to sed away the macros independently.

This just does it in a somewhat less repetitive way, and adds some tests.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368293002

No public API changes.
TBR=reed@google.com

Review-Url: https://codereview.chromium.org/2368293002

7 years agobin/coverage: a GN version of the coverage script
halcanary [Mon, 26 Sep 2016 17:30:39 +0000 (10:30 -0700)]
bin/coverage: a GN version of the coverage script

intended to replace tools/coverage when GYP is gone.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2343243002

Review-Url: https://codereview.chromium.org/2343243002

7 years agoInclude timestamp in nanobench JSON file name
borenet [Mon, 26 Sep 2016 17:25:32 +0000 (10:25 -0700)]
Include timestamp in nanobench JSON file name

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2366623003
TBR=jcgregorio

Review-Url: https://codereview.chromium.org/2366623003

7 years agoadd tiger tests
caryclark [Mon, 26 Sep 2016 17:25:26 +0000 (10:25 -0700)]
add tiger tests

Add the tiger test suite.

In extended mode (-x) this
adds 700K new pathop tests.

Normally, it adds about 3500
tests.

TBR=reed@google.com
BUG=skia:5131
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2373533002

Review-Url: https://codereview.chromium.org/2373533002

7 years agoTypo?
mtklein [Mon, 26 Sep 2016 15:44:47 +0000 (08:44 -0700)]
Typo?

This can't be what you intended...

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368273002

NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2368273002

7 years agoGN: detect is_clang, use it to switch Clang to warning blacklist.
mtklein [Mon, 26 Sep 2016 15:40:12 +0000 (08:40 -0700)]
GN: detect is_clang, use it to switch Clang to warning blacklist.

Same as the last CL, now with -Wno-over-aligned.

CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-Clang-x86-Debug-GN_Android-Trybot

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369033002

TBR=bungeman@google.com

NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2369033002

7 years agoQuiet a -Wcomma warning.
mtklein [Mon, 26 Sep 2016 15:39:43 +0000 (08:39 -0700)]
Quiet a -Wcomma warning.

Clang's got a warning -Wcomma that warns about possible unintentional uses of
the comma operator, usually where a semicolon looks itended.

I don't think there's a bug here, but a semicolon does work just as well
and reads a bit more conventionally.  Though, I'm not actually sure how this
parses, as fp = ...; glslFP = ...; or fp = (..., glsl = ...).  The second
would most definitely be a bug.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2365403002

NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2365403002

7 years agobeziers: I missed an unsequenced moveTo() pair.
mtklein [Mon, 26 Sep 2016 15:18:43 +0000 (08:18 -0700)]
beziers: I missed an unsequenced moveTo() pair.

TBR=brianosman@google.com
BUG=skia:
NOTREECHECKS=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369933002

Review-Url: https://codereview.chromium.org/2369933002

7 years agoFix some fuzzer complaints
Robert Phillips [Mon, 26 Sep 2016 13:00:36 +0000 (09:00 -0400)]
Fix some fuzzer complaints

In one case the fuzzer was switching the picture's op code to an invalid value

In the other two the fuzzer was maxing out the number of points passed to drawPoints and the number of characters passed to drawTextRSXform. In these cases the validation would fail but still return a pointer into the data stream.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2593

Change-Id: Id6d4e6b7bcbae38ace7ad1d92ffcfa5c02f9fb61
Reviewed-on: https://skia-review.googlesource.com/2593
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "GN: detect is_clang, use it to switch Clang to warning blacklist."
Mike Klein [Mon, 26 Sep 2016 14:34:14 +0000 (14:34 +0000)]
Revert "GN: detect is_clang, use it to switch Clang to warning blacklist."

This reverts commit I09c3487adfeb26a6fb07e1939cb927c5d7de3107.

Reason for revert: -Wover-aligned on x86 Android bots

Original issue's description:
> GN: detect is_clang, use it to switch Clang to warning blacklist.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2599
>
> Change-Id: I09c3487adfeb26a6fb07e1939cb927c5d7de3107
> Reviewed-on: https://skia-review.googlesource.com/2599
> Reviewed-by: Ben Wagner <bungeman@google.com>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,bungeman@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ic07bf7896a305be6c377f14a573cb10836f1a6f8
Reviewed-on: https://skia-review.googlesource.com/2601
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Mike Klein <mtklein@google.com>

7 years agoDocumentation: fix links
halcanary [Mon, 26 Sep 2016 14:27:04 +0000 (07:27 -0700)]
Documentation: fix links

TBR=
NOTRY=true

Review-Url: https://codereview.chromium.org/2366403002

7 years agoGN: detect is_clang, use it to switch Clang to warning blacklist.
Mike Klein [Mon, 26 Sep 2016 13:14:59 +0000 (09:14 -0400)]
GN: detect is_clang, use it to switch Clang to warning blacklist.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2599

Change-Id: I09c3487adfeb26a6fb07e1939cb927c5d7de3107
Reviewed-on: https://skia-review.googlesource.com/2599
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoStop aggregating texture/buffer access objects in GrFragmentProcessor parents.
bsalomon [Mon, 26 Sep 2016 13:55:02 +0000 (06:55 -0700)]
Stop aggregating texture/buffer access objects in GrFragmentProcessor parents.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2349243002

Review-Url: https://codereview.chromium.org/2365943003

7 years agoIn makeLinearGamma, return the original CS if it's already linear
Brian Osman [Fri, 23 Sep 2016 15:41:14 +0000 (11:41 -0400)]
In makeLinearGamma, return the original CS if it's already linear

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2589

Change-Id: I51d8f8f64bc5f73a0b7cbf5f01f3d23b56c1895e
Reviewed-on: https://skia-review.googlesource.com/2589
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agoThese calls to SkRandom are not sequenced.
mtklein [Mon, 26 Sep 2016 13:29:18 +0000 (06:29 -0700)]
These calls to SkRandom are not sequenced.

This is why we see two versions of this GM: some compilers evaluate the
rand.nextRangeScalar() calls left to right, others right to left.

Remember this bug?
BUG=skia:3241
(https://codereview.chromium.org/1157943006 fixed hittestpath last year.)

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368263002

Review-Url: https://codereview.chromium.org/2368263002

7 years agofix tiger b
caryclark [Mon, 26 Sep 2016 12:36:58 +0000 (05:36 -0700)]
fix tiger b

The tiger tests have uncovered numerous bugs.
This CL fixes the last of them.

If a pair of curves do not intersect, but
have one or both ends very close to the opposite
curve, consider that an intersection.

TBR=reed@google.com
BUG=skia:5131
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356363003

Review-Url: https://codereview.chromium.org/2356363003

7 years agoDash to use SkIsAlign2
cblume [Mon, 26 Sep 2016 11:22:59 +0000 (04:22 -0700)]
Dash to use SkIsAlign2

Dash checks for alignment by actively aligning.
It should really just check for alignment.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2366283002

Review-Url: https://codereview.chromium.org/2366283002

7 years agoAdd SkColor4f serialization
brianosman [Sun, 25 Sep 2016 20:15:58 +0000 (13:15 -0700)]
Add SkColor4f serialization

Adjusted usage in color shader, and will also be using this
in gradients, soon.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2334123003

Review-Url: https://codereview.chromium.org/2334123003

7 years agoUpdate SKP version
update-skps [Sun, 25 Sep 2016 09:15:17 +0000 (02:15 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=
NO_MERGE_BUILDS
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2368053002

Review-Url: https://codereview.chromium.org/2368053002

7 years agoDisable msaa on iHD530 bot.
benjaminwagner [Sat, 24 Sep 2016 00:45:45 +0000 (17:45 -0700)]
Disable msaa on iHD530 bot.

BUG=skia:5792
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356213005

Review-Url: https://codereview.chromium.org/2356213005

7 years agoGN: ANGLE
mtklein [Fri, 23 Sep 2016 20:18:41 +0000 (13:18 -0700)]
GN: ANGLE

Angle's existing GN files only work in Chrome, so I've written a new one.

This won't work on Windows, but our GN build doesn't work on Windows anyway.  So this CL is an attempt to get a ahead of that curve on ANGLE.  It looks large but fairly straightforward.

Now working on Linux:
  $ gn gen angle --args=skia_use_angle=true
  $ ninja -C angle
  $ angle/dm --config angle-gl --src gm -w dm-out

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2361983002

Review-Url: https://codereview.chromium.org/2361983002

7 years agoChange SkSpecialImage::makeSurface and makeTightSurface to take output
brianosman [Fri, 23 Sep 2016 20:04:05 +0000 (13:04 -0700)]
Change SkSpecialImage::makeSurface and makeTightSurface to take output
properties (color space), bounds, and (optional) alphaType.

We were being pretty inconsistent before. Raster was honoring all
components of the info. GPU was using the supplied color type, but
propagating the source's color space. All call sites were saying N32.

What we want to do is propagate the original device's color space, and
pick a good format from that. Rather than force all the clients to
jump through hoops constructing an SkImageInfo that meets our criteria,
just have them supply the few bits we care about, and do everything else
internally.

This also lets us always use RGBA on GPU, but N32 on raster.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2349373004

Committed: https://skia.googlesource.com/skia/+/53c38087949252d27cde668368a3eeb59cc2eb00
Review-Url: https://codereview.chromium.org/2349373004

7 years agoAdd validation of RRects to SkValidatingReadBuffer
Robert Phillips [Fri, 23 Sep 2016 18:23:22 +0000 (14:23 -0400)]
Add validation of RRects to SkValidatingReadBuffer

This comes from the Skia fuzzer where it is inverting the RRect's rect which causes trouble down the line.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2591

Change-Id: I5c34105a47369492d2df99d39a4e29116060ad37
Reviewed-on: https://skia-review.googlesource.com/2591
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoDon't compute path keys for volatile paths in GrShape.
bsalomon [Fri, 23 Sep 2016 19:09:16 +0000 (12:09 -0700)]
Don't compute path keys for volatile paths in GrShape.

Otherwise, we will compute cache keys for internally transformed paths that don't repeat (e.g. clip paths transformed into device space with a changing view matrix).

BUG=chromium:649562
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369513002

Review-Url: https://codereview.chromium.org/2369513002

7 years agoAdd Pixel C knobs to skpbench
csmartdalton [Fri, 23 Sep 2016 18:36:11 +0000 (11:36 -0700)]
Add Pixel C knobs to skpbench

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2369533002

Review-Url: https://codereview.chromium.org/2369533002

7 years agoSome Vulkan memory fixes and cleanup
jvanverth [Fri, 23 Sep 2016 17:30:04 +0000 (10:30 -0700)]
Some Vulkan memory fixes and cleanup

* Switch back to not setting transfer_dst on all buffers
* Add some missing unit tests
* Add tracking of heap usage for debugging purposes
* Fall back to non-device-local memory if device-local allocation fails

BUG=skia:5031
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356343003

Committed: https://skia.googlesource.com/skia/+/c5850e9fdb62cc4ae5ed2b6af51aea92cac07455
Review-Url: https://codereview.chromium.org/2356343003

7 years agochange SkXfermodeImageFilter to carry no impl information
Mike Reed [Fri, 23 Sep 2016 15:43:54 +0000 (11:43 -0400)]
change SkXfermodeImageFilter to carry no impl information

BUG=skia:

NOTREECHECKS=True

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2584

Change-Id: Ibf2dfa7722348ae71a99f1c895de0d2996350e58
Reviewed-on: https://skia-review.googlesource.com/2584
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agofix msan bug in pathops
caryclark [Fri, 23 Sep 2016 16:32:26 +0000 (09:32 -0700)]
fix msan bug in pathops

Msan and Valgrind found an uninitialized memory mistake in
pathops. This also fixes similar bugs where not all parts
of the geometry were covered in the loop iteration.

R=borenet@google.com
NOTREECHECKS=true
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2366893003

Review-Url: https://codereview.chromium.org/2366893003

7 years agoInclude GLTestContext_command_buffer.cpp in G3 build.
Mike Klein [Fri, 23 Sep 2016 15:10:08 +0000 (11:10 -0400)]
Include GLTestContext_command_buffer.cpp in G3 build.

This is now required to build our GPU testing tools.

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2587
NOTREECHECKS=true

Change-Id: I219665fbe50e9bbea9abb88a6d63c34b76ca92e6
Reviewed-on: https://skia-review.googlesource.com/2587
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoRevert of Create special surfaces according to original device (not always in N32...
brianosman [Fri, 23 Sep 2016 15:49:50 +0000 (08:49 -0700)]
Revert of Create special surfaces according to original device (not always in N32) (patchset #9 id:160001 of https://codereview.chromium.org/2349373004/ )

Reason for revert:
DM crash and/or TSAN failure

Original issue's description:
> Change SkSpecialImage::makeSurface and makeTightSurface to take output
> properties (color space), bounds, and (optional) alphaType.
>
> We were being pretty inconsistent before. Raster was honoring all
> components of the info. GPU was using the supplied color type, but
> propagating the source's color space. All call sites were saying N32.
>
> What we want to do is propagate the original device's color space, and
> pick a good format from that. Rather than force all the clients to
> jump through hoops constructing an SkImageInfo that meets our criteria,
> just have them supply the few bits we care about, and do everything else
> internally.
>
> This also lets us always use RGBA on GPU, but N32 on raster.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2349373004
>
> Committed: https://skia.googlesource.com/skia/+/53c38087949252d27cde668368a3eeb59cc2eb00

TBR=robertphillips@google.com,reed@google.com,bsalomon@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/2366723004

7 years agouse SkCanvas::ClipOp
Mike Reed [Fri, 23 Sep 2016 14:05:05 +0000 (10:05 -0400)]
use SkCanvas::ClipOp

BUG=skia:

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2583

Change-Id: I651e2c278bb4d2df08b6e134c734c5403c7e7ff7
Reviewed-on: https://skia-review.googlesource.com/2583
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoJson ide script for gn to output cmake.
bungeman [Fri, 23 Sep 2016 15:16:04 +0000 (08:16 -0700)]
Json ide script for gn to output cmake.

Can be run like

gn gen out/debug --ide=json --json-ide-script=../../gn/gn_to_cmake.py

or

gn gen out/debug --ide=json
python gn/gn_to_cmake.py out/debug/project.json

This first pass creates CMakeLists.txt with just enough information for an
ide. Each target is just a static library with sources, include
directories, and defines.

NOTRY=true
This isn't automatically tested.

Review-Url: https://codereview.chromium.org/2363873002

7 years agoChange SkSpecialImage::makeSurface and makeTightSurface to take output
brianosman [Fri, 23 Sep 2016 15:11:55 +0000 (08:11 -0700)]
Change SkSpecialImage::makeSurface and makeTightSurface to take output
properties (color space), bounds, and (optional) alphaType.

We were being pretty inconsistent before. Raster was honoring all
components of the info. GPU was using the supplied color type, but
propagating the source's color space. All call sites were saying N32.

What we want to do is propagate the original device's color space, and
pick a good format from that. Rather than force all the clients to
jump through hoops constructing an SkImageInfo that meets our criteria,
just have them supply the few bits we care about, and do everything else
internally.

This also lets us always use RGBA on GPU, but N32 on raster.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2349373004

Review-Url: https://codereview.chromium.org/2349373004

7 years agoMake GrRenderableConfigForColorSpace argument const
brianosman [Fri, 23 Sep 2016 14:11:34 +0000 (07:11 -0700)]
Make GrRenderableConfigForColorSpace argument const

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2367813002

Review-Url: https://codereview.chromium.org/2367813002

7 years agoAdd swarming task for nanobench upload
borenet [Fri, 23 Sep 2016 13:37:57 +0000 (06:37 -0700)]
Add swarming task for nanobench upload

BUG=skia:5719
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2364693003

Review-Url: https://codereview.chromium.org/2364693003

7 years agosplit tight quads and conics
caryclark [Fri, 23 Sep 2016 12:47:20 +0000 (05:47 -0700)]
split tight quads and conics

Tight quads and conics may nearly fold over on themselves, confusing
coincidence against other curves. Split them at their max curvature
early on to avoid complicating later logic.

TBR=reed@google.com
BUG=skia:5131
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357353002

Review-Url: https://codereview.chromium.org/2357353002

7 years agosRGB cleanup in image filters. Ensure we configure paints correctly.
brianosman [Thu, 22 Sep 2016 21:50:58 +0000 (14:50 -0700)]
sRGB cleanup in image filters. Ensure we configure paints correctly.

Net effect of the two calls is (basically) the same, but given that we're
propagating from isGammaCorrect on the DC, I figured it makes sense to use
the same-named API.

More importantly, a couple places had slipped through, so those draws would
ignore sRGB-ness of inputs entirely.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357413004

Review-Url: https://codereview.chromium.org/2357413004

7 years agoIt is possible to try and draw to an unsupported format. Let this go.
brianosman [Thu, 22 Sep 2016 21:27:34 +0000 (14:27 -0700)]
It is possible to try and draw to an unsupported format. Let this go.

Squelches assert firing in gradient code on low-end Android bots.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2365703002

Review-Url: https://codereview.chromium.org/2365703002

7 years agoSkPDF: do not assert when openStream return nullptr
halcanary [Thu, 22 Sep 2016 21:13:16 +0000 (14:13 -0700)]
SkPDF: do not assert when openStream return nullptr

BUG=163892
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2332813002

Review-Url: https://codereview.chromium.org/2332813002

7 years agodocument.close from bool to void
reed [Thu, 22 Sep 2016 21:12:46 +0000 (14:12 -0700)]
document.close from bool to void

Nothing meaningful is returned, it is inconsistent with the bulk of the rest of skia's api. The C api is waiting on this change as well.

Required chrome CL: https://codereview.chromium.org/2355343003/

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2354403002

Review-Url: https://codereview.chromium.org/2354403002

7 years agoRevert of Some Vulkan memory fixes and cleanup (patchset #2 id:20001 of https://coder...
jvanverth [Thu, 22 Sep 2016 20:45:24 +0000 (13:45 -0700)]
Revert of Some Vulkan memory fixes and cleanup (patchset #2 id:20001 of https://codereview.chromium.org/2356343003/ )

Reason for revert:
fHeapIndex is not used in release, need to hide behind SK_DEBUG. Failing on Perf-Android-Clang-NVIDIA_Shield-GPU-TegraX1-arm64-Release-GN_Android_Vulkan.

Original issue's description:
> Some Vulkan memory fixes and cleanup
>
> * Switch back to not setting transfer_dst on all buffers
> * Add some missing unit tests
> * Add tracking of heap usage for debugging purposes
> * Fall back to non-device-local memory if device-local allocation fails
>
> BUG=skia:5031
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356343003
>
> Committed: https://skia.googlesource.com/skia/+/c5850e9fdb62cc4ae5ed2b6af51aea92cac07455

TBR=egdaniel@google.com,brianosman@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:5031

Review-Url: https://codereview.chromium.org/2358123004

7 years agoG instead of R, thanks Gold
msarett [Thu, 22 Sep 2016 20:23:56 +0000 (13:23 -0700)]
G instead of R, thanks Gold

NOTRY=true
TBR=mtklein@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2362863002

Review-Url: https://codereview.chromium.org/2362863002

7 years agodon't close a contour with a line if nothing's there
caryclark [Thu, 22 Sep 2016 19:52:20 +0000 (12:52 -0700)]
don't close a contour with a line if nothing's there

R=kjlubick@google.com
BUG=skia:5789
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2360083006

Review-Url: https://codereview.chromium.org/2360083006

7 years agoSome Vulkan memory fixes and cleanup
jvanverth [Thu, 22 Sep 2016 19:47:35 +0000 (12:47 -0700)]
Some Vulkan memory fixes and cleanup

* Switch back to not setting transfer_dst on all buffers
* Add some missing unit tests
* Add tracking of heap usage for debugging purposes
* Fall back to non-device-local memory if device-local allocation fails

BUG=skia:5031
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356343003

Review-Url: https://codereview.chromium.org/2356343003

7 years agoUpdate Chrome section to include Skia roll/sheriff/bug info
hcm [Thu, 22 Sep 2016 19:47:14 +0000 (12:47 -0700)]
Update Chrome section to include Skia roll/sheriff/bug info

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2351593003
NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=2351593003

Review-Url: https://codereview.chromium.org/2351593003

7 years agoMake AALinearizingConvexPathRenderer able to handle stroke and fill
robertphillips [Thu, 22 Sep 2016 19:42:30 +0000 (12:42 -0700)]
Make AALinearizingConvexPathRenderer able to handle stroke and fill

This is intended to catch stroke-and-fill convex paths with potentially small stroke widths (e.g., .1).

It does have the disconcerting side effect of changing bevel-joined stroke-and-filled degenerate-single-line-rects into plain rects (w/o triangular end-caps).

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2301353004

Committed: https://skia.googlesource.com/skia/+/522bcd99fa65a8abd130880f59b500cf367d0845
Review-Url: https://codereview.chromium.org/2301353004

7 years agoChange implementation of flush-count based GrGpuResource purging
bsalomon [Thu, 22 Sep 2016 19:42:11 +0000 (12:42 -0700)]
Change implementation of flush-count based GrGpuResource purging

Change default to approx 30seconds (given some API usage assumptions)
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2361093002

Review-Url: https://codereview.chromium.org/2361093002

7 years agoskpbench fixes for linux
csmartdalton [Thu, 22 Sep 2016 19:37:21 +0000 (12:37 -0700)]
skpbench fixes for linux

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2354273004

Review-Url: https://codereview.chromium.org/2354273004

7 years agoAdd BGRA as input format to SkColorSpaceXform
msarett [Thu, 22 Sep 2016 19:37:04 +0000 (12:37 -0700)]
Add BGRA as input format to SkColorSpaceXform

This is immediately useful for webp and I think it's a fair guess
that BGRA src formats are not uncommon.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2353363008

Review-Url: https://codereview.chromium.org/2353363008

7 years agoRemove assert that current color is never used.
bungeman [Thu, 22 Sep 2016 19:32:07 +0000 (12:32 -0700)]
Remove assert that current color is never used.

The COLR table format allows for use of the 'current color'.
Currently the code asserts if this is used, but will use a nearby
luminance grey to this color instead if the assert is ignored.
Remove the assert now that this path is known to be used.

BUG=skia:5788

Review-Url: https://codereview.chromium.org/2359923004

7 years agoSupport for color-spaces with multi-stop (texture) gradients
brianosman [Thu, 22 Sep 2016 19:31:58 +0000 (12:31 -0700)]
Support for color-spaces with multi-stop (texture) gradients

Texture is F16 linear, unless that's not supported. In that
case, we pack down to sRGB.

Added more test patches to the gamut GM with many stops,
to test this case. Now they render correctly.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2343253002

Review-Url: https://codereview.chromium.org/2343253002

7 years agoGN: build skiaserve
mtklein [Thu, 22 Sep 2016 18:51:24 +0000 (11:51 -0700)]
GN: build skiaserve

I trimmed the libmicrohttpd sources and defines down to the minimum needed to build and run.  This builds and runs on Linux and Android for me.

Request.h was missing an include for SkTypes.h, which supplies the default for SK_GPU_SUPPORTED if not otherwise defined.

To build on Android, exit() -> _exit().

build.py was unused.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2367513002

NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2367513002

7 years agoReland of ix for conic fuzz (patchset #1 id:1 of https://codereview.chromium.org...
caryclark [Thu, 22 Sep 2016 17:24:59 +0000 (10:24 -0700)]
Reland of ix for conic fuzz (patchset #1 id:1 of https://codereview.chromium.org/2361473004/ )

Reason for revert:
Landed suppression in Chrome's LayoutTests/TestExpectations

Original issue's description:
> Revert of fix for conic fuzz (patchset #3 id:40001 of https://codereview.chromium.org/2350263003/ )
>
> Reason for revert:
> See if this fixes the layout tests.
>
> Original issue's description:
> > fix for conic fuzz
> >
> > A fuzzer generates a conic that hangs when drawn.
> > The quads that approximate the conics move up and down
> > in y, confusing the renderer.
> >
> > This fix ensures that the split conic maintains the
> > same y direction as the original conic.
> >
> > R=reed@google.com
> > BUG=647922
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2350263003
> >
> > Committed: https://skia.googlesource.com/skia/+/ac78863acdef4b428aaf66985b80c76d1be0fdea
>
> TBR=reed@google.com
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=647922
>
> Committed: https://skia.googlesource.com/skia/+/08b345588414b861af8a55950e7dc21a1bd85a28

TBR=reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=647922

Review-Url: https://codereview.chromium.org/2359253002

7 years agoRevert of fix for conic fuzz (patchset #3 id:40001 of https://codereview.chromium...
caryclark [Thu, 22 Sep 2016 14:42:39 +0000 (07:42 -0700)]
Revert of fix for conic fuzz (patchset #3 id:40001 of https://codereview.chromium.org/2350263003/ )

Reason for revert:
See if this fixes the layout tests.

Original issue's description:
> fix for conic fuzz
>
> A fuzzer generates a conic that hangs when drawn.
> The quads that approximate the conics move up and down
> in y, confusing the renderer.
>
> This fix ensures that the split conic maintains the
> same y direction as the original conic.
>
> R=reed@google.com
> BUG=647922
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2350263003
>
> Committed: https://skia.googlesource.com/skia/+/ac78863acdef4b428aaf66985b80c76d1be0fdea

TBR=reed@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=647922

Review-Url: https://codereview.chromium.org/2361473004

7 years agoAdd output format properties to SkImageFilter::Context
brianosman [Thu, 22 Sep 2016 14:15:37 +0000 (07:15 -0700)]
Add output format properties to SkImageFilter::Context

For now, this is just the color space (of the original
requesting device). This is used when constructing
intermediate rendering surfaces, so that we ensure we
land in a surface that's similar/compatible to the
final consumer of the DAG's output.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357273002

Review-Url: https://codereview.chromium.org/2357273002

7 years agoMake SkColorSpaceXform::New() take bare ptrs
msarett [Thu, 22 Sep 2016 14:02:24 +0000 (07:02 -0700)]
Make SkColorSpaceXform::New() take bare ptrs

There's no need to take sk_sp if we're not going to
ref the ptr.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2360863003

Review-Url: https://codereview.chromium.org/2360863003

7 years agoRun commandbuffer config on CommandBuffer Perf bots.
mtklein [Thu, 22 Sep 2016 13:50:24 +0000 (06:50 -0700)]
Run commandbuffer config on CommandBuffer Perf bots.

Uh, so hey, I just noticed that while the CommandBuffer Test bot runs
with --config commandbuffer, the Perf bot just runs as a vanilla GPU bot.
Shouldn't we pass --config commandbuffer?

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2364483002

CQ_INCLUDE_TRYBOTS=master.client.skia:Perf-Mac-Clang-MacMini6.2-GPU-HD4000-x86_64-Debug-CommandBuffer-Trybot

Review-Url: https://codereview.chromium.org/2364483002

7 years agoClean up dead code.
mtklein [Thu, 22 Sep 2016 13:01:17 +0000 (06:01 -0700)]
Clean up dead code.

SkOSEnvironment was used to set --enable-gl-path-rendering, and is now unused.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2365483002

Review-Url: https://codereview.chromium.org/2365483002

7 years agoIs char* or uintptr_t easier to read?
cblume [Thu, 22 Sep 2016 12:25:26 +0000 (05:25 -0700)]
Is char* or uintptr_t easier to read?

Using a char* instead of uintptr_t allows us to use fewer
reinterpret_casts which may make the code easier to read.

BUG=648512
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356703002

Review-Url: https://codereview.chromium.org/2356703002

7 years agoAdd recipe support for Intel HD Graphics 530.
benjaminwagner [Thu, 22 Sep 2016 12:25:12 +0000 (05:25 -0700)]
Add recipe support for Intel HD Graphics 530.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2358183002

Review-Url: https://codereview.chromium.org/2358183002

7 years agoDo not quickReject until virtual drawPatch
msarett [Thu, 22 Sep 2016 12:20:21 +0000 (05:20 -0700)]
Do not quickReject until virtual drawPatch

TBR=reed@google.com
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2358873003

Review-Url: https://codereview.chromium.org/2358873003

7 years agofix next kevin fuzz
caryclark [Thu, 22 Sep 2016 12:20:07 +0000 (05:20 -0700)]
fix next kevin fuzz

Fix one more fuzzer crash.

R=kjlubick@google.com
BUG=skia:5775
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357373002

Review-Url: https://codereview.chromium.org/2357373002

7 years agofix for conic fuzz
caryclark [Thu, 22 Sep 2016 12:15:14 +0000 (05:15 -0700)]
fix for conic fuzz

A fuzzer generates a conic that hangs when drawn.
The quads that approximate the conics move up and down
in y, confusing the renderer.

This fix ensures that the split conic maintains the
same y direction as the original conic.

R=reed@google.com
BUG=647922
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2350263003

Review-Url: https://codereview.chromium.org/2350263003

7 years agospeed up debug dm
caryclark [Thu, 22 Sep 2016 12:15:04 +0000 (05:15 -0700)]
speed up debug dm

SkPathMeasure can take minutes with pathological cases.
Limit the debug check to a reasonable number.

R=reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356343004

Review-Url: https://codereview.chromium.org/2356343004

7 years agoAdd hardware monitoring to skpbench
csmartdalton [Thu, 22 Sep 2016 12:10:02 +0000 (05:10 -0700)]
Add hardware monitoring to skpbench

Adds a Hardware class with hooks for entering and exiting
"benchmarking" mode (e.g. locking clocks, etc.) as well as periodic
polling of hardware to verify the environment is stable.

Adds a partial implementation for generic Android hardware, but
ultimately we will need to write specific classes tailored to each
unique platform we need to test.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2360473002

Review-Url: https://codereview.chromium.org/2360473002

7 years agoAdd Jobs to tasks.json
borenet [Thu, 22 Sep 2016 12:09:56 +0000 (05:09 -0700)]
Add Jobs to tasks.json

BUG=skia:5723
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2363443002

Review-Url: https://codereview.chromium.org/2363443002

7 years agoGN: take over CommandBuffer bot
mtklein [Wed, 21 Sep 2016 21:01:32 +0000 (14:01 -0700)]
GN: take over CommandBuffer bot

As you suspected, I see nothing preventing us from building our side of things unconditionally.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2358173002
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2358173002

7 years agoUse sk_careful_memcpy when writing optional conic weights for GrShape path data key.
bsalomon [Wed, 21 Sep 2016 18:23:46 +0000 (11:23 -0700)]
Use sk_careful_memcpy when writing optional conic weights for GrShape path data key.

TBR=robertphillips@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2359933002

NO_DEPENDENCY_CHECKS=true

Review-Url: https://codereview.chromium.org/2359933002

7 years agoAdd optional sw generated path coverage mask caching
bsalomon [Wed, 21 Sep 2016 18:16:05 +0000 (11:16 -0700)]
Add optional sw generated path coverage mask caching

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2335343008

All the bots except the painfully slow windows compiler have finished so,
NOTRY=true

Review-Url: https://codereview.chromium.org/2335343008

7 years agoallow clip calls w/o op param, remove unnecessary kReplace ops
reed [Wed, 21 Sep 2016 18:15:07 +0000 (11:15 -0700)]
allow clip calls w/o op param, remove unnecessary kReplace ops

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357333002

Review-Url: https://codereview.chromium.org/2357333002

7 years agoRemove unused SkImage_Base and SkImage_Gpu onNewSurface methods
robertphillips [Wed, 21 Sep 2016 18:00:23 +0000 (11:00 -0700)]
Remove unused SkImage_Base and SkImage_Gpu onNewSurface methods
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2353403002

Review-Url: https://codereview.chromium.org/2353403002

7 years agoConditionally insert gl_PointSize into shaders.
bsalomon [Wed, 21 Sep 2016 17:53:24 +0000 (10:53 -0700)]
Conditionally insert gl_PointSize into shaders.

BUG=chromium:648816
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2358843002

Review-Url: https://codereview.chromium.org/2358843002

7 years agoAlways use transfer_dst for buffers.
jvanverth [Wed, 21 Sep 2016 17:20:23 +0000 (10:20 -0700)]
Always use transfer_dst for buffers.

This will allow Adreno to use non-coherent buffers.

BUG=skia:5034
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2361473002

Review-Url: https://codereview.chromium.org/2361473002

7 years agoBuild tools on NoGPU bots.
mtklein [Wed, 21 Sep 2016 17:11:25 +0000 (10:11 -0700)]
Build tools on NoGPU bots.

I was just lazy disabling this before.  It turns out to not be difficult.

This gets us slightly better testing out of the NoGPU bot, as we now know
not only that Skia compiles, but also that DM and nanobench can link (and
thus that Skia's got enough compiled in it to be a coherent library).

skpbench requires GPU support.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356283002

Review-Url: https://codereview.chromium.org/2356283002

7 years agoAdd a transient image filter cache to SkImage::makeWithFilter & PDF
brianosman [Wed, 21 Sep 2016 16:46:57 +0000 (09:46 -0700)]
Add a transient image filter cache to SkImage::makeWithFilter & PDF

Added a bench for makeWithFilter (~23 ms -> ~6 ms median locally).

Also fixed indentation.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2360663002

Review-Url: https://codereview.chromium.org/2360663002

7 years agoGN: is_skia_standalone
mtklein [Wed, 21 Sep 2016 16:14:19 +0000 (09:14 -0700)]
GN: is_skia_standalone

is_skia_standalone will be defined and set to true iff we're using our
standalone BUILDCONFIG.gn.  Any other build (Fuchsia, Chrome, Pdfium)
will have their own BUILDCONFIG.gn, which presumably does not define
is_skia_standalone.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357963002

Review-Url: https://codereview.chromium.org/2357963002

7 years agofix skia pathops fuzzers
caryclark [Wed, 21 Sep 2016 15:46:56 +0000 (08:46 -0700)]
fix skia pathops fuzzers

Add isolated tests.

R=kjlubick@google.com
BUG=skia:5775
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2358043002

Review-Url: https://codereview.chromium.org/2358043002

7 years agoMake GrShape compute keys for short paths from path data instead of using the gen id.
bsalomon [Wed, 21 Sep 2016 15:26:57 +0000 (08:26 -0700)]
Make GrShape compute keys for short paths from path data instead of using the gen id.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357643002

Review-Url: https://codereview.chromium.org/2357643002

7 years agoStop closing filled paths in GrShape
bsalomon [Wed, 21 Sep 2016 14:47:34 +0000 (07:47 -0700)]
Stop closing filled paths in GrShape

This can force a copy of the path data and isn't really being taken advantage of. It complicates a forthcoming change to key small paths based on their data rather than gen id.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2355833002

Committed: https://skia.googlesource.com/skia/+/ad001fdc77b2dfe32c1723cb58636728dfb776d8
Review-Url: https://codereview.chromium.org/2355833002

7 years agoAdd define of SK_ENABLE_VK_LAYERS to gn build
egdaniel [Wed, 21 Sep 2016 14:36:14 +0000 (07:36 -0700)]
Add define of SK_ENABLE_VK_LAYERS to gn build

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2357953002

Review-Url: https://codereview.chromium.org/2357953002

7 years agoAdd setBounds to SkLiteDL for Android
liyuqian [Wed, 21 Sep 2016 14:11:08 +0000 (07:11 -0700)]
Add setBounds to SkLiteDL for Android

The RootRenderNode in Android is changing bounds dynamically. This is a
temporary fix to accomodate that behaviour. (See also b/31304115)

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2358793002

Review-Url: https://codereview.chromium.org/2358793002

7 years agoFix memory leaks reported by clang static analyzer.
sdefresne [Wed, 21 Sep 2016 13:51:33 +0000 (06:51 -0700)]
Fix memory leaks reported by clang static analyzer.

The CFURLCopyFileSystemPath & CFURLCopyFileSystemPath methods
respect the "Create Rule" [1] regarding the ownership of the
returned reference. This means that the objects need to be
deallocated explicitly by calling CFRelease.

[1]: https://developer.apple.com/library/content/documentation/CoreFoundation/Conceptual/CFMemoryMgmt/Concepts/Ownership.html#//apple_ref/doc/uid/20001148-103029

BUG=648210
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2360573002

Review-Url: https://codereview.chromium.org/2360573002

7 years agoFix some GPU image filter code to preserve precision and color space
brianosman [Wed, 21 Sep 2016 13:45:09 +0000 (06:45 -0700)]
Fix some GPU image filter code to preserve precision and color space

On the pure-GPU path, we just have an SkSpecialImage (that's definitely
texture backed), and we need a renderable config for the draw context we
make. Added a helper function to pick - this is basically the high
precision analog of what we were doing before (always using 8888).

The assert that I added catches many other problems in image filter code,
but those fixes are coming in subsequent CLs.

12 GMs render correctly (or more correctly) in gpusrgb and gpuf16
configs. In most cases, they were drawing previously nothing.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2359443003

Review-Url: https://codereview.chromium.org/2359443003

7 years agoRemove SK_ADDING_src_ports_SkFontConfigInterface_cpp
bungeman [Tue, 20 Sep 2016 22:46:36 +0000 (15:46 -0700)]
Remove SK_ADDING_src_ports_SkFontConfigInterface_cpp

This flag is no longer defined anywhere, so remove it and the code it
was guarding.

TBR=reed
This is just removing dead transitional code.

Review-Url: https://codereview.chromium.org/2352163002

7 years ago[SVGDom] Opacity optimization
fmalita [Tue, 20 Sep 2016 22:45:57 +0000 (15:45 -0700)]
[SVGDom] Opacity optimization

Apply opacity as fill/stroke paint alpha instead of saveLayer, when
possible.

R=robertphillips@google.com,stephana@google.com,reed@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2353503005

Committed: https://skia.googlesource.com/skia/+/3dbb7b9f196d793fbd16243157ee67638891f5dc
Review-Url: https://codereview.chromium.org/2353503005

7 years agoBlacklist serialize-8888 typefacerendering_pfaMac
mtklein [Tue, 20 Sep 2016 22:41:29 +0000 (15:41 -0700)]
Blacklist serialize-8888 typefacerendering_pfaMac

BUG=skia:5778
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2356753003

TBR=halcanary@google.com
NOTREECHECKS=true
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Mac-Clang-MacMini6.2-CPU-AVX-x86_64-Debug-GN-Trybot

Review-Url: https://codereview.chromium.org/2356753003

7 years agoGN: fold :vulkan into :gpu.
mtklein [Tue, 20 Sep 2016 22:11:46 +0000 (15:11 -0700)]
GN: fold :vulkan into :gpu.

Obviously, :vulkan can't be used without :gpu, but more subtly,
:gpu needs to see SK_VULKAN defined if we're using Vulkan.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2352923003
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2352923003

7 years agoRevert of Stop closing filled paths in GrShape (patchset #1 id:1 of https://coderevie...
fmalita [Tue, 20 Sep 2016 21:06:57 +0000 (14:06 -0700)]
Revert of Stop closing filled paths in GrShape (patchset #1 id:1 of https://codereview.chromium.org/2355833002/ )

Reason for revert:
Triggers msaa16 asserts: https://build.chromium.org/p/client.skia/builders/Test-Win10-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug/builds/4236/steps/test_skia%20on%20Windows/logs/stdio

c:\b\work\skia\src\gpu\grmesh.h:76: fatal error: "assert(indexCount)"

Caught exception 2147483651 EXCEPTION_BREAKPOINT, was running:
msaa16 svg  cartman.svg
Likely culprit:
msaa16 svg  cartman.svg

Original issue's description:
> Stop closing filled paths in GrShape
>
> This can force a copy of the path data and isn't really being taken advantage of. It complicates a forthcoming change to key small paths based on their data rather than gen id.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2355833002
>
> Committed: https://skia.googlesource.com/skia/+/ad001fdc77b2dfe32c1723cb58636728dfb776d8

TBR=robertphillips@google.com,bsalomon@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/2357713002