platform/upstream/libSkiaSharp.git
8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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>

8 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

8 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

8 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

8 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>
8 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

8 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>
8 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

8 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>

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 years agoRevert of [SVGDom] Opacity optimization (patchset #4 id:60001 of https://codereview...
borenet [Tue, 20 Sep 2016 20:39:46 +0000 (13:39 -0700)]
Revert of [SVGDom] Opacity optimization (patchset #4 id:60001 of https://codereview.chromium.org/2353503005/ )

Reason for revert:
Failing assertion

Original issue's description:
> [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

TBR=reed@google.com,robertphillips@google.com,stephana@google.com,fmalita@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

8 years agoGN: add skia_use_mesa for OSMesa in tools.
mtklein [Tue, 20 Sep 2016 20:36:47 +0000 (13:36 -0700)]
GN: add skia_use_mesa for OSMesa in tools.

I tested by running
  $ out/dm --src gm --config mesa
  $ out/nanobench --config mesa --match Xfermode
... but I ran out of patience waiting for nanobench to finish.  Probably works.

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

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

8 years agoAttempt to fix nanobench upload
borenet [Tue, 20 Sep 2016 20:32:37 +0000 (13:32 -0700)]
Attempt to fix nanobench upload

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

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

8 years agoRevert of Clear stencil buffer before using it for drawing (patchset #2 id:20001...
stani [Tue, 20 Sep 2016 20:24:49 +0000 (13:24 -0700)]
Revert of Clear stencil buffer before using it for drawing (patchset #2 id:20001 of https://codereview.chromium.org/2342873004/ )

Reason for revert:
performance regression in Android macrobench tests

Original issue's description:
> Clear stencil buffer before using it for drawing
>
> Clear stencil buffer before using it for drawing. This is
> resolving an issue with a failing android CTS test in drawArc.
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2342873004
>
> Committed: https://skia.googlesource.com/skia/+/c326a383e1069497884905f9dd3e720e17d8fcb5

TBR=bsalomon@google.com,reed@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.

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

8 years agoFix VkWrapTests
jvanverth [Tue, 20 Sep 2016 20:18:00 +0000 (13:18 -0700)]
Fix VkWrapTests

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

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

8 years agoGM: add test for type1 font
halcanary [Tue, 20 Sep 2016 20:11:01 +0000 (13:11 -0700)]
GM: add test for type1 font

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

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

8 years agoDisable framebuffer fetch on the Adreno5xx devices.
egdaniel [Tue, 20 Sep 2016 20:00:26 +0000 (13:00 -0700)]
Disable framebuffer fetch on the Adreno5xx devices.

This should help with some of the rendering bugs currently in GL for the
S7.

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

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

8 years agoFix possible divide by zero in vulkan granularity adjustments
egdaniel [Tue, 20 Sep 2016 19:57:45 +0000 (12:57 -0700)]
Fix possible divide by zero in vulkan granularity adjustments

This should fix the divide by zero crash on the nexus player bots

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

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

8 years agoStop closing filled paths in GrShape
bsalomon [Tue, 20 Sep 2016 19:44:36 +0000 (12:44 -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

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

8 years ago[SVGDom] Opacity optimization
fmalita [Tue, 20 Sep 2016 19:44:31 +0000 (12:44 -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

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

8 years agoDisable failing unit tests on adreno vulkan
egdaniel [Tue, 20 Sep 2016 19:39:29 +0000 (12:39 -0700)]
Disable failing unit tests on adreno vulkan

As mentioned in the attached bug, these failures all seem to be caused
by driver issues that have no workarounds at this time.

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

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

8 years agoUse STDArray to for tracked resources in vulkan command buffer
egdaniel [Tue, 20 Sep 2016 19:39:25 +0000 (12:39 -0700)]
Use STDArray to for tracked resources in vulkan command buffer

This is a minor speed improvement to help with the number of times we
are freeing and re-allocating the tracked resource arrays

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

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

8 years agoRevert of Skia recipe: Use [depot_tools]/gsutil.py instead of [depot_tools]/third_par...
borenet [Tue, 20 Sep 2016 19:34:05 +0000 (12:34 -0700)]
Revert of Skia recipe: Use [depot_tools]/gsutil.py instead of [depot_tools]/third_party/gsutil/gsutil (patchset #1 id:1 of https://codereview.chromium.org/2298293002/ )

Reason for revert:
Broke all nanobench uploads, eg. https://uberchromegw.corp.google.com/i/client.skia.android/builders/Perf-Android-Clang-Nexus6p-CPU-Snapdragon810-arm64-Release-GN_Android/builds/154/steps/Upload%20perf%20results/logs/stdio

Original issue's description:
> Skia recipe: Use [depot_tools]/gsutil.py instead of [depot_tools]/third_party/gsutil/gsutil
>
> The latter is being removed in https://codereview.chromium.org/2280023003/
> Is also pinned to 3.25, whereas the former is updated more often.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2298293002
>
> Committed: https://skia.googlesource.com/skia/+/f15590f803596f51d0950994b2aeb623d2d1fc24

TBR=hinoka@google.com
NOTREECHECKS=true
NOTRY=true
BUG=skia:

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

8 years agoGN: add skia_enable_gpu (default true)
mtklein [Tue, 20 Sep 2016 19:28:12 +0000 (12:28 -0700)]
GN: add skia_enable_gpu (default true)

This lets us replace the NoGPU bot.

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

NOTREECHECKS=true

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

8 years agoGN: compiler_prefix -> cc_wrapper
mtklein [Tue, 20 Sep 2016 19:09:12 +0000 (12:09 -0700)]
GN: compiler_prefix -> cc_wrapper

I was a bit mixed up thinking Chrome called this feature compiler_prefix.
They actually call it cc_wrapper.  So let's switch to their name before we
get too used to this.

No bots are affected.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2355003002
DOCS_PREVIEW= https://skia.org/?cl=2355003002

NOTREECHECKS=true

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

8 years agoSnazzier dump log step on Android bots.
mtklein [Tue, 20 Sep 2016 18:45:11 +0000 (11:45 -0700)]
Snazzier dump log step on Android bots.

(The failing NexusPlayer bot is a demo.)

This should make stack traces more useful, turning this sort of thing

    09-20 11:29:39.536  2978  2978 F DEBUG   :     #00 pc 00970fd0  /data/local/tmp/dm

into something like this

    09-20 11:29:39.536  2978  2978 F DEBUG   :     #00 pc 00970fd0 adjust_bounds_to_granularity(SkIRect*, SkIRect const&, VkExtent2D const&, int, int) at /b/work/skia/out/Build-Ubuntu-Clang-x86-Debug-GN_Android_Vulkan/Debug/../../../src/gpu/vk/GrVkGpu.cpp:1803  /data/local/tmp/dm

Some bots like the S7 already have good enough stack traces, e.g.

09-20 11:35:12.567   936   936 F DEBUG   :     #00 pc 00000000000bed6c  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN13QglManagedBuf14ConfirmEntriesEv+108)
09-20 11:35:12.567   936   936 F DEBUG   :     #01 pc 00000000000b098c  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN9QglBltLib6FillHwEPK10QglBltFillPK15QglBltColorFillPK15QglBltDepthFillPjP12QglBltStatusSB_+588)
09-20 11:35:12.567   936   936 F DEBUG   :     #02 pc 00000000000b23bc  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN9QglBltLib9FillImageEPK10QglBltFillPK15QglBltColorFillPK15QglBltDepthFillPjP12QglBltStatusSB_+348)
09-20 11:35:12.567   936   936 F DEBUG   :     #03 pc 000000000009bb00  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN16A5xCommandBuffer22PerformConditionalFillEiiP10QglBltFillPK15QglBltColorFillP15QglBltDepthFillP12QglBltStatusS8_+256)
09-20 11:35:12.567   936   936 F DEBUG   :     #04 pc 000000000009c0c0  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN16A5xCommandBuffer23HwWriteSubpassInitClearEP10QglBltFillPK15QglBltColorFillP15QglBltDepthFillP12QglBltStatusS8_+224)
09-20 11:35:12.567   936   936 F DEBUG   :     #05 pc 0000000000072610  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN16QglCommandBuffer18WriteSubpassClearsEv+464)
09-20 11:35:12.567   936   936 F DEBUG   :     #06 pc 0000000000073ae0  /system/vendor/lib64/hw/vulkan.msm8996.so (_ZN16QglCommandBuffer12BeginSubpassEv+32)
09-20 11:35:12.567   936   936 F DEBUG   :     #07 pc 0000000000063120  /system/vendor/lib64/hw/vulkan.msm8996.so (vkCmdBeginRenderPass+224)
09-20 11:35:12.567   936   936 F DEBUG   :     #08 pc 0000000000635f60  /data/local/tmp/nanobench (_ZN24GrVkPrimaryCommandBuffer15beginRenderPassEPK7GrVkGpuPK14GrVkRenderPassjPK12VkClearValueRK16GrVkRenderTargetRK7SkIRectb+132)

or

09-20 11:42:24.557   937   937 F DEBUG   : backtrace:
09-20 11:42:24.557   937   937 F DEBUG   :     #00 pc 0000000000069404  /system/lib64/libc.so (tgkill+8)
09-20 11:42:24.557   937   937 F DEBUG   :     #01 pc 0000000000066b94  /system/lib64/libc.so (pthread_kill+68)
09-20 11:42:24.557   937   937 F DEBUG   :     #02 pc 0000000000023a28  /system/lib64/libc.so (raise+28)
09-20 11:42:24.557   937   937 F DEBUG   :     #03 pc 000000000001e358  /system/lib64/libc.so (abort+60)
09-20 11:42:24.557   937   937 F DEBUG   :     #04 pc 000000000076430c  /data/local/tmp/dm (_Z17sk_abort_no_printv+8)

These won't be affected.

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

NOTREECHECKS=true

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

8 years agoCleanup some sRGB TODOs, mostly around setting GrPaint flags correctly
brianosman [Tue, 20 Sep 2016 16:56:23 +0000 (09:56 -0700)]
Cleanup some sRGB TODOs, mostly around setting GrPaint flags correctly

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

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

8 years agoSupport use of non-coherent memory allocations in Vulkan.
jvanverth [Tue, 20 Sep 2016 16:20:03 +0000 (09:20 -0700)]
Support use of non-coherent memory allocations in Vulkan.

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

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

8 years agoStop flattening GrCoordTransforms in parent GrFragmentProcessors.
bsalomon [Tue, 20 Sep 2016 16:12:47 +0000 (09:12 -0700)]
Stop flattening GrCoordTransforms in parent GrFragmentProcessors.

This changes moves to a model that iterates over GrCTs in a GrFP hierarchy when inserting transformations by GrGLSLPrimitiveProcessors.
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2339203002

Committed: https://skia.googlesource.com/skia/+/d91237ee051523f439238042674ade99207fe4a6
Review-Url: https://codereview.chromium.org/2339203002

8 years agoWorkaround for Adreno INITIALIZATION_FAILED bug
egdaniel [Tue, 20 Sep 2016 15:54:23 +0000 (08:54 -0700)]
Workaround for Adreno INITIALIZATION_FAILED bug

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

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

8 years agoFix a memory leak reported by clang static analyzer.
sdefresne [Tue, 20 Sep 2016 15:53:14 +0000 (08:53 -0700)]
Fix a memory leak reported by clang static analyzer.

The CFStringCreateWithCString method respect the "Create Rule" [1]
regarding the ownership of the returned reference. This means that
the object needs 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=2354963002

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

8 years agoabstract name of clipping ops, to transtion to a more restricted set
reed [Tue, 20 Sep 2016 15:42:38 +0000 (08:42 -0700)]
abstract name of clipping ops, to transtion to a more restricted set

SkRegion::Op --> SkCanvas::ClipOp (alias) --> SkClipOp

pre-CL needed in chrome : https://codereview.chromium.org/2355583002/

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

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

8 years agoskia_enable_android_framework_defines in all code, public and private, optional and...
mtklein [Tue, 20 Sep 2016 15:24:34 +0000 (08:24 -0700)]
skia_enable_android_framework_defines in all code, public and private, optional and required.

The bug fixed here can be demonstrated by
  $ ninja -C out pdf -v
before and after this CL.  Before you won't see the Android defines, afterwards you do.  Previously the defines applied only privately to Skia, and only to its non-optional components.

TBR=reed@google.com

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

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

8 years agoAuto-generate much of the help text for --config to reduce maintenance
brianosman [Tue, 20 Sep 2016 15:06:30 +0000 (08:06 -0700)]
Auto-generate much of the help text for --config to reduce maintenance

The list of configs, and the details about all predefined configs are now
built directly from the gPredefinedConfigs array.

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

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

8 years agoFix Win toolchain asset, fix script
borenet [Tue, 20 Sep 2016 14:01:23 +0000 (07:01 -0700)]
Fix Win toolchain asset, fix script

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

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

8 years agoHarden LinearGradient4fContext
fmalita [Tue, 20 Sep 2016 13:55:16 +0000 (06:55 -0700)]
Harden LinearGradient4fContext

Three distinct issues exposed by Fuzzer:

1) truncating the flags to 8 bits may trip the assert in SkToU8

Since clients can pass in any garbage, we cannot assume it fits in 8
bits.  Just static_cast<> instead.

2) vertical gradients with dx == -0.0 don't trigger interval inversion.

For dx < 0 we want reversed intervals.  But, alas, -0.0 < 0 == false
(thanks, Ob^WIEEE 754!).  Use signbit() instead.

3) half closed range checking needs to be inverted for reversed
intervals.

Normally we check for [p0, p1), but for reversed intervals (p1 < p0) we
want to check for [p1, p0), and not (p1, p0].  Adjust the logic
accordingly.

BUG=skia:5647
R=reed@google.com,kjlubick@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2349153004

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