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

8 years agoBlacklist incomplete pngs on CG
msarett [Tue, 20 Sep 2016 12:50:16 +0000 (05:50 -0700)]
Blacklist incomplete pngs on CG

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

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

8 years agoSkASSERT firing because pointer wraps negative.
cblume [Tue, 20 Sep 2016 04:05:18 +0000 (21:05 -0700)]
SkASSERT firing because pointer wraps negative.

Some pointers are being cast to intptr_t so they can be used with
SkAlign8(). However, a large pointer value might become a negative
integer since intptr_t is signed.

When comparing these intptr_ts, we expect the larger pointer value to be
greater. But it might be so large that it becomes negative, causing it
to be less than.

A SkASSERT is firing for this exact reason.

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

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

8 years agoAdd ability to pick a different gamut in GPU f16 or sRGB configs
brianosman [Mon, 19 Sep 2016 21:42:04 +0000 (14:42 -0700)]
Add ability to pick a different gamut in GPU f16 or sRGB configs

For now, the only options are sRGB or WideGamutRGB

Basically, the color option to the gpu config is now of
the form: 8888|srgb[_gamut]|f16[_gamut]

color=8888 still implies legacy behavior
srgb implies 8-bit gamma-correct rendering (via sRGB format)
f16 implies 16-bit gamma-correct rendering (via F16 format)

Either of the last two options can then optionally include
a gamut specifier, either _srgb or _wide.
_srgb selects the (default) sRGB gamut
_wide selects the Adobe Wide Gamut RGB gamut, which is nice
for testing, in that it's significantly wider than sRGB,
so rendering differences are obvious.

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

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

8 years agoReland of Run SVGs through nanobench on all Perf bots (patchset #1 id:1 of https...
rmistry [Mon, 19 Sep 2016 20:44:25 +0000 (13:44 -0700)]
Reland of Run SVGs through nanobench on all Perf bots (patchset #1 id:1 of https://codereview.chromium.org/2348563003/ )

Reason for revert:
skbug/5770 has been fixed.
Trying out trybots to see if this can be relanded.

Original issue's description:
> Revert of Run SVGs through nanobench on all Perf bots (patchset #5 id:120001 of https://codereview.chromium.org/2343903002/ )
>
> Reason for revert:
> Causing failures:
> https://uberchromegw.corp.google.com/i/client.skia/builders/Perf-Mac-Clang-MacMini4.1-GPU-GeForce320M-x86_64-Debug-GN/builds/812
>
> Original issue's description:
> > Run SVGs through nanobench on all Perf bots.
> >
> > Tested with:
> > python infra/bots/recipes.py run --workdir=../ swarm_trigger path_config=kitchen buildername=Perf-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release-GN-Trybot mastername=client.skia slavename=skiabot-linux-swarm-010 buildnumber=1 revision=d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c issue=2343903002 rietveld=https://codereview.chromium.org patchset=80001
> >
> > Example output is here:
> > https://luci-milo.appspot.com/swarming/task/3147c9789b2d0410
> > Nanobench did run on SVGs.
> >
> > BUG=skia:5757
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2343903002
> >
> > Committed: https://skia.googlesource.com/skia/+/1c58dcb909642454d91ba36f71e55597511b5d52
>
> TBR=jcgregorio@google.com,fmalita@chromium.org,mtklein@google.com
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=skia:5757
>
> Committed: https://skia.googlesource.com/skia/+/be7e3c0db3caa7a86ae233a6bd26281817b83882

TBR=jcgregorio@google.com,fmalita@chromium.org,mtklein@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=skia:5757
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2350233002

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

8 years agoCreate GrVkCopyPipeline class
egdaniel [Mon, 19 Sep 2016 20:39:34 +0000 (13:39 -0700)]
Create GrVkCopyPipeline class

This creates a special subclass of GrVkPipeline that we can use for doing
copies on draws. Currently this is not hooked into the system.

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

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

8 years agoremove dead code around SK_ENABLE_CLIP_QUICKREJECT
reed [Mon, 19 Sep 2016 20:33:43 +0000 (13:33 -0700)]
remove dead code around SK_ENABLE_CLIP_QUICKREJECT

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

TBR=

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

8 years agoAdd FrameworkDefs bot to the CQ.
mtklein [Mon, 19 Sep 2016 19:34:14 +0000 (12:34 -0700)]
Add FrameworkDefs bot to the CQ.

Word is that this bot only exists so it can be on the CQ...
but we forgot to actually put it on the CQ until last week.

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

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

8 years agoSkia recipe: Use [depot_tools]/gsutil.py instead of [depot_tools]/third_party/gsutil...
hinoka [Mon, 19 Sep 2016 19:18:55 +0000 (12:18 -0700)]
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

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

8 years agoSplit SkFontConfigInterface globals and factory.
bungeman [Mon, 19 Sep 2016 19:13:16 +0000 (12:13 -0700)]
Split SkFontConfigInterface globals and factory.

Chromium needs to be able to set up their build such that the globals
continue existing but the SkFontMgr::Factory can be defined separately.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2346333002
CQ_INCLUDE_TRYBOTS=master.client.skia.compile:Build-Ubuntu-GCC-x86_64-Release-CMake-Trybot,Build-Mac-Clang-x86_64-Release-CMake-Trybot

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

8 years agoAdd adb support to skpbench
csmartdalton [Mon, 19 Sep 2016 19:04:56 +0000 (12:04 -0700)]
Add adb support to skpbench

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

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

8 years agoRemove unnecessary assert in GrBatchAtlas.
jvanverth [Mon, 19 Sep 2016 18:25:57 +0000 (11:25 -0700)]
Remove unnecessary assert in GrBatchAtlas.

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

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

8 years agoskpbench
csmartdalton [Mon, 19 Sep 2016 18:03:58 +0000 (11:03 -0700)]
skpbench

skpbench is a benchmarking suite for skps that aims to generate 100%
repeatable results. The initial commit consists of three parts:

skpbench

A minimalist program whose sole purpose is to open an skp file,
benchmark it on a single config, and exit. No tiling, looping, or
other fanciness is used; it just draws the skp whole into a size-
matched render target and syncs the GPU after each draw.

Limiting the entire process to a single config/skp pair helps to keep
the results repeatable.

skpbench.py

A wrapper to execute the skpbench binary with various configs and skps.
It also monitors the output in order to filter out and re-run results
with an unacceptable stddev.

In the future this script will lock down and monitor clocks and
temperatures.

parseskpbench.py

A utility for parsing skpbench output into a spreadsheet.

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

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

8 years agoSkPDF: SkBitSet gets reset() to make drop() better.
halcanary [Mon, 19 Sep 2016 17:27:03 +0000 (10:27 -0700)]
SkPDF: SkBitSet gets reset() to make drop() better.

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

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

8 years agoMove vulkan spir-v compile call to GrVkUtil
egdaniel [Mon, 19 Sep 2016 17:17:34 +0000 (10:17 -0700)]
Move vulkan spir-v compile call to GrVkUtil

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

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

8 years agoRefactor vulkan buffer mapping and unmapping
egdaniel [Mon, 19 Sep 2016 16:32:09 +0000 (09:32 -0700)]
Refactor vulkan buffer mapping and unmapping

A lot of this is so we don't have duplicated code in both the map/unmap and
updateData functions of GrVkBuffer. Also there were slightly differences in
how we handled various things in the two cases that this now unifies.

Also I added a barrier after the vkUpdateBuffer call which I believe was
missing.

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

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

8 years agoRevert of Stop flattening GrCoordTransforms in parent GrFragmentProcessors. (patchset...
bsalomon [Mon, 19 Sep 2016 16:26:40 +0000 (09:26 -0700)]
Revert of Stop flattening GrCoordTransforms in parent GrFragmentProcessors. (patchset #3 id:40001 of https://codereview.chromium.org/2339203002/ )

Reason for revert:
Crashing blink
 https://codereview.chromium.org/2351743002/

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

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

8 years agoTo prep for removing CMake bots, take them off the CQ and presubmit.
mtklein [Mon, 19 Sep 2016 16:08:07 +0000 (09:08 -0700)]
To prep for removing CMake bots, take them off the CQ and presubmit.

GN is now far more capable than our CMake builds.
Time to officially end that experiment.

Reminder how this lands:
  1) this CL
  2) remove the bots from the masters
  3) remove the CMake recipe files
  4) remove the CMake files

I'm willing to wait on 4) until we can do GN -> CMake generation, but I don't want the bots to hold us back.

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

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

8 years agoStop flattening GrCoordTransforms in parent GrFragmentProcessors.
bsalomon [Mon, 19 Sep 2016 15:36:58 +0000 (08:36 -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

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

8 years agoGN: remove old Android recipe code.
mtklein [Mon, 19 Sep 2016 14:26:41 +0000 (07:26 -0700)]
GN: remove old Android recipe code.

All the Android builders, testers, and perfers are on gn_android_flavor now.

Not as scary as it looks... all the big line count changes are deletes.

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

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

8 years agoadd 'g' to fatbits
reed [Mon, 19 Sep 2016 14:10:36 +0000 (07:10 -0700)]
add 'g' to fatbits

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

TBR=

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

8 years agoDelete unused coverage recipe code.
mtklein [Mon, 19 Sep 2016 14:04:37 +0000 (07:04 -0700)]
Delete unused coverage recipe code.

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

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

8 years agoAdd F16 to the list of allowed formats in GaussianBlur
brianosman [Mon, 19 Sep 2016 13:59:28 +0000 (06:59 -0700)]
Add F16 to the list of allowed formats in GaussianBlur

Fixes asserts that fire in some GMs for gpuf16 config

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

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

8 years ago[SVGDom] Only apply opacity when needed
fmalita [Mon, 19 Sep 2016 13:42:39 +0000 (06:42 -0700)]
[SVGDom] Only apply opacity when needed

Opacity: 1 is a no-op, but it shows up quite a bit in existing documents.

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

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

8 years agoRemove release asserts.
cblume [Mon, 19 Sep 2016 13:18:03 +0000 (06:18 -0700)]
Remove release asserts.

A handful of changes were added to investigate a bug occurring rarely.
The bug has been found and those changes can be reverted.

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

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

8 years agofix fuzzer bugs
caryclark [Mon, 19 Sep 2016 13:00:35 +0000 (06:00 -0700)]
fix fuzzer bugs

Add a couple more cases where Op() fails and
returns false when the out of range input
values make the internal numeric unstable.

TBR=reed@google.com
BUG=647834, 648068
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2348263002

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

8 years agoWhitespace change
rmistry [Sun, 18 Sep 2016 18:37:26 +0000 (11:37 -0700)]
Whitespace change

TBR=
NOTRY=true
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2347393002

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

8 years agoUpdate SKP version
update-skps [Sun, 18 Sep 2016 09:34:52 +0000 (02:34 -0700)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

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

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

8 years ago[SVGDom] Improved DM sizing
fmalita [Sat, 17 Sep 2016 14:26:26 +0000 (07:26 -0700)]
[SVGDom] Improved DM sizing

Rather than always using a 1000x1000 canvas, observe the SVG intrinsic
size when available.

If the intrinsic size is < 128x128, scale uniformly.

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

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

8 years agoRemove SK_DECLARE_LEGACY_CREATE_FROM_FONTDATA.
bungeman [Fri, 16 Sep 2016 21:54:16 +0000 (14:54 -0700)]
Remove SK_DECLARE_LEGACY_CREATE_FROM_FONTDATA.

This is no longer defined by any users, so remove it.

TBR=reed
This just removes no longer used API.

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

8 years agoFix filling of incomplete images in SkSampledCodec
msarett [Fri, 16 Sep 2016 21:52:07 +0000 (14:52 -0700)]
Fix filling of incomplete images in SkSampledCodec

The bug occurs when filling after an incomplete sampled/subset
incremental decode.

I'm also adding many truncated test pngs.

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

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

8 years agoSkPDF: Implement /ActualText to make text extraction correct.
halcanary [Fri, 16 Sep 2016 21:44:57 +0000 (14:44 -0700)]
SkPDF:  Implement /ActualText to make text extraction correct.

For old API: no change.

For new API: LTR text is perfectly extracted, RTL needs better testing.

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-ASAN-Trybot,Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN-Trybot

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

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

8 years agoformat GN files, and invert if->config to config->if
mtklein [Fri, 16 Sep 2016 21:44:18 +0000 (14:44 -0700)]
format GN files, and invert if->config to config->if

Both if (...) { config ... } else { config ... } and config { if (...) { ...}
else { ... } } work.  We just happen to do the if inside the config more often
than the other way around.

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

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

8 years agoImprove ColorStopOptimizer safety
tomhudson [Fri, 16 Sep 2016 21:22:49 +0000 (14:22 -0700)]
Improve ColorStopOptimizer safety

Could potentially access uninitialized memory.

BUG=647481
R=brianosman@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2345343002

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

8 years agoCompile the skia library for windows using gn.
herb [Fri, 16 Sep 2016 20:29:57 +0000 (13:29 -0700)]
Compile the skia library for windows using gn.

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

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

8 years agoRevert of SkPDF: Implement /ActualText to make text extraction correct. (patchset...
halcanary [Fri, 16 Sep 2016 20:21:08 +0000 (13:21 -0700)]
Revert of SkPDF:  Implement /ActualText to make text extraction correct. (patchset #11 id:220001 of https://codereview.chromium.org/2322403002/ )

Reason for revert:
MSAN, ASAN errors

Original issue's description:
> SkPDF:  Implement /ActualText to make text extraction correct.
>
> For old API: no change.
>
> For new API: LTR text is perfectly extracted, RTL needs better testing.
>
> BUG=skia:5434
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2322403002
>
> Committed: https://skia.googlesource.com/skia/+/dbd16345a5b2b824f2696af791bb0f01304cf549

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

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

8 years agoSane use of FcPatternGetXXX in SkFontConfigInterface.
bungeman [Fri, 16 Sep 2016 20:19:49 +0000 (13:19 -0700)]
Sane use of FcPatternGetXXX in SkFontConfigInterface.

This renames get_name to get_string to better reflect what it does, uses
get_int where appropriate, and removes the no longer used code that uses
FcPatternGetBool.

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

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

8 years agoFlesh out GN/Android run docs.
mtklein [Fri, 16 Sep 2016 19:40:17 +0000 (12:40 -0700)]
Flesh out GN/Android run docs.

The process is simple enough that it's clearer to see all the steps laid out.

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

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

8 years agoSkPDF: Implement /ActualText to make text extraction correct.
halcanary [Fri, 16 Sep 2016 19:09:01 +0000 (12:09 -0700)]
SkPDF:  Implement /ActualText to make text extraction correct.

For old API: no change.

For new API: LTR text is perfectly extracted, RTL needs better testing.

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

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

8 years agoRevert of Run SVGs through nanobench on all Perf bots (patchset #5 id:120001 of https...
rmistry [Fri, 16 Sep 2016 19:06:55 +0000 (12:06 -0700)]
Revert of Run SVGs through nanobench on all Perf bots (patchset #5 id:120001 of https://codereview.chromium.org/2343903002/ )

Reason for revert:
Causing failures:
https://uberchromegw.corp.google.com/i/client.skia/builders/Perf-Mac-Clang-MacMini4.1-GPU-GeForce320M-x86_64-Debug-GN/builds/812

Original issue's description:
> Run SVGs through nanobench on all Perf bots.
>
> Tested with:
> python infra/bots/recipes.py run --workdir=../ swarm_trigger path_config=kitchen buildername=Perf-Ubuntu-GCC-ShuttleA-GPU-GTX660-x86_64-Release-GN-Trybot mastername=client.skia slavename=skiabot-linux-swarm-010 buildnumber=1 revision=d8c2476a8b1e1e1a1771b17e8dd4db8645914f8c issue=2343903002 rietveld=https://codereview.chromium.org patchset=80001
>
> Example output is here:
> https://luci-milo.appspot.com/swarming/task/3147c9789b2d0410
> Nanobench did run on SVGs.
>
> BUG=skia:5757
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2343903002
>
> Committed: https://skia.googlesource.com/skia/+/1c58dcb909642454d91ba36f71e55597511b5d52

TBR=jcgregorio@google.com,fmalita@chromium.org,mtklein@google.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=skia:5757

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