platform/upstream/libSkiaSharp.git
7 years agoRevert of Make SkSmallAllocator obey the RAII invariants and be expandable (patchset...
mtklein [Sun, 13 Nov 2016 17:55:05 +0000 (09:55 -0800)]
Revert of Make SkSmallAllocator obey the RAII invariants and be expandable (patchset #15 id:280001 of https://codereview.chromium.org/2488523003/ )

Reason for revert:
bots crashing / asserting

Original issue's description:
> Make SkSmallAllocator obey the RAII invariants and move to heap structures when needed.
>
> The biggest change is to the API which allowed code to bypass the
> destruction invariants. This destruction bypass feature was needed in
> only one use, and is totally encapsulated using createWithIniterT.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2488523003
>
> Committed: https://skia.googlesource.com/skia/+/d5dc657b8c3ac916f98005dafdedafe02f023449
> Committed: https://skia.googlesource.com/skia/+/c18b5f8f57a4efc5d5d1e399ed8bd3bd02c592ab

TBR=bungeman@google.com,herb@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/2494353002

7 years agoMake SkSmallAllocator obey the RAII invariants and move to heap structures when needed.
herb [Sun, 13 Nov 2016 17:34:18 +0000 (09:34 -0800)]
Make SkSmallAllocator obey the RAII invariants and move to heap structures when needed.

The biggest change is to the API which allowed code to bypass the
destruction invariants. This destruction bypass feature was needed in
only one use, and is totally encapsulated using createWithIniterT.

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

Committed: https://skia.googlesource.com/skia/+/d5dc657b8c3ac916f98005dafdedafe02f023449
Review-Url: https://codereview.chromium.org/2488523003

7 years ago[gn] Disable use of dng SDK in Fuchsia
James Robinson [Sun, 13 Nov 2016 02:29:39 +0000 (18:29 -0800)]
[gn] Disable use of dng SDK in Fuchsia

These libraries aren't configured in Fuchsia and would need some GN
reworking to enable. We can wire this up in Fuchsia if/when this
capability when needed.

Change-Id: Iec2d339da07f44516592d6114563a8a4fb59d952
Reviewed-on: https://skia-review.googlesource.com/4744
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoSkPath::fIsVolatile does not need to be mutable.
Mike Klein [Fri, 11 Nov 2016 15:43:44 +0000 (10:43 -0500)]
SkPath::fIsVolatile does not need to be mutable.

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

Change-Id: I48b438ab1d99033ab2a422fb28e976cdf9188365
Reviewed-on: https://skia-review.googlesource.com/4696
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoFix SkModeColorFilter in 565
Mike Klein [Fri, 11 Nov 2016 17:51:36 +0000 (12:51 -0500)]
Fix SkModeColorFilter in 565

It has been incorrectly interpreting its SkColor as sRGB all the time.  Now, we plumb through the destintation color space and some scratch space, letting it decide how to interpret its SkColor later when it knows about the dst color space.  The scratch space is blitter scoped, which lets this be thread safe (this is much like SkShader::Context).

This only corrects the gamma transformation for now.  I've kept my previous TODO about gamut transformation.  Everything assumes sRGB gamut for now.

Shaders will get the same treatement in this pipeline.

BUG=skia:

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

Change-Id: I55b0c7d5db9ad8d7dcdd6295c9dac61d10aeaed4
Reviewed-on: https://skia-review.googlesource.com/4725
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRevert "Annotate benign race on SkPath::fConvexity."
Mike Klein [Sat, 12 Nov 2016 12:04:05 +0000 (12:04 +0000)]
Revert "Annotate benign race on SkPath::fConvexity."

This reverts commit c51a3a4e3c81a1d4100d5d29d31bf3a02eda2a7c.

Reason for revert: had to revert this in the copy constructor.  Might as well revert here too for consistency.

Original change's description:
> Annotate benign race on SkPath::fConvexity.
>
> We're tired of this making our TSAN bot flaky, and equally tired of trying to fix it.
>
> BUG=skia:5776
>
> CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4691
>
> Change-Id: Ib6005282c514a6d785fd4fffe5387cbb1caccbe1
> Reviewed-on: https://skia-review.googlesource.com/4691
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Ben Wagner <bungeman@google.com>
>

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

Change-Id: I906b1e017471d9e00fc58402136497459d881f72
Reviewed-on: https://skia-review.googlesource.com/4740
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRevert "Annotate SkPath::fCovexity benign race in the other constructor too."
Mike Klein [Sat, 12 Nov 2016 12:00:44 +0000 (12:00 +0000)]
Revert "Annotate SkPath::fCovexity benign race in the other constructor too."

This reverts commit f978f12af553f899cfed7078ab63d3a71c6fbcb1.

Reason for revert: slowing the TSAN bot down to the point of timeouts.

Original change's description:
> Annotate SkPath::fCovexity benign race in the other constructor too.
>
> I overlooked the copy constructor last time.
>
> BUG=skia:5776
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4730
>
> Change-Id: I30bc89e1472dd48badf57664cfae8899f44bca9e
> Reviewed-on: https://skia-review.googlesource.com/4730
> Reviewed-by: Mike Klein <mtklein@chromium.org>
> Commit-Queue: Mike Klein <mtklein@chromium.org>
>

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

Change-Id: I6e34b1fc80fd98387d79521ce24f4545b990eb25
Reviewed-on: https://skia-review.googlesource.com/4739
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoInitial implementation of a SkColorSpace_A2B xform
raftias [Fri, 11 Nov 2016 23:27:39 +0000 (15:27 -0800)]
Initial implementation of a SkColorSpace_A2B xform

There is support for all features of SkColorSpace_A2B.

Tests for these functionality were adapted from
the XYZ xform, plus a CLUT-specific test was added.

Shared functions used by both SkColorSpaceXform_XYZ and SkColorSpaceXform_A2B
have been moved into a shared header.

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2449243003
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

7 years agoClean up glyph id handling.
Ben Wagner [Fri, 11 Nov 2016 19:31:06 +0000 (14:31 -0500)]
Clean up glyph id handling.

Extract SkPackedID and its strongly typed subclasses SkPackedGlyphID and
SkPackedUnicharID out of SkGlyph. This simplifies the code handling
these types, as well as making it clearer that we wouuld eventually like
to get away from this scheme.

Changes SkScalerContext::getPath to take SkPackedGlyphID.
Changes SkScalerContext::generatePath to take SkGlyphID.

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

Change-Id: I365c0c618b7ae0d348272155fac7761a69faa920
Reviewed-on: https://skia-review.googlesource.com/4722
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoRevert "Revert "Add integer texture support.""
Brian Salomon [Fri, 11 Nov 2016 21:08:03 +0000 (16:08 -0500)]
Revert "Revert "Add integer texture support.""

This reverts commit 9c7edb8311409a141b0dc1d5e480c68c629f1997.

Fixes ASAN errors

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

Change-Id: I1b1dae754d357b01da7169c8e7c59d7d8d8a10f6
Reviewed-on: https://skia-review.googlesource.com/4736
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoRevert of Set analytic AA as default. (patchset #8 id:140001 of https://codereview...
liyuqian [Fri, 11 Nov 2016 21:30:48 +0000 (13:30 -0800)]
Revert of Set analytic AA as default. (patchset #8 id:140001 of https://codereview.chromium.org/2471133002/ )

Reason for revert:
SkASSERT triggered in some perf tests. Roll back.

Original issue's description:
> Set analytic AA as default.
>
> We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using
> analytic AA until we fix all the Chrome tests.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2471133002
>
> Committed: https://skia.googlesource.com/skia/+/dca4f6530013cf43a2557ccb07f5cb4fd916b8e8

TBR=fmalita@chromium.org,msarett@google.com,mtklein@google.com,reed@google.com,mtklein@chromium.org
# 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/2499723002

7 years agore-re-land of skslc now uses standard Skia caps
Ethan Nicholas [Fri, 11 Nov 2016 20:16:46 +0000 (15:16 -0500)]
re-re-land of skslc now uses standard Skia caps

BUG=skia:

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

Change-Id: I144110bf66f67a28da7ad333173db43bddf9e8d0
Reviewed-on: https://skia-review.googlesource.com/4732
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agoSet analytic AA as default.
liyuqian [Fri, 11 Nov 2016 21:07:16 +0000 (13:07 -0800)]
Set analytic AA as default.

We'll use https://codereview.chromium.org/2471123002/ to keep Chrome from using
analytic AA until we fix all the Chrome tests.

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

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

7 years agoAnnotate SkPath::fCovexity benign race in the other constructor too.
Mike Klein [Fri, 11 Nov 2016 19:36:17 +0000 (14:36 -0500)]
Annotate SkPath::fCovexity benign race in the other constructor too.

I overlooked the copy constructor last time.

BUG=skia:5776

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

Change-Id: I30bc89e1472dd48badf57664cfae8899f44bca9e
Reviewed-on: https://skia-review.googlesource.com/4730
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoClean up validation layers
Jim Van Verth [Fri, 11 Nov 2016 17:41:04 +0000 (09:41 -0800)]
Clean up validation layers

BUG=skia:

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

Change-Id: I92cef6fd23cd629a7a68e6ecb9e048674556517b
Reviewed-on: https://skia-review.googlesource.com/4727
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Jim Van Verth <jvanverth@google.com>

7 years agoSnap y when updating cubic
Yuqian Li [Fri, 11 Nov 2016 17:37:45 +0000 (12:37 -0500)]
Snap y when updating cubic

If we don't snap, we could have end up with many tiny line segments
wihtin a single row of pixels. That combined with our partial alpha
rounding code (https://codereview.chromium.org/2483523002/) could
accumlate so much error that violates our alpha <= 256 assert.

BUG=skia:

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

Change-Id: I58b02cffc8a4dc9f541e194d61a2f6fef7b85c97
Reviewed-on: https://skia-review.googlesource.com/4724
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>

7 years agoRe-purpose color space tool
Matt Sarett [Fri, 11 Nov 2016 18:59:14 +0000 (13:59 -0500)]
Re-purpose color space tool

(1) Compile tool with GN.
(2) Rename tool to colorspaceinfo.
(3) Support both images and icc profiles as input.
(4) Print out information on transfer fn in addition to gamut.

TODO: Output graphs of the three transfer fn curves.

BUG=skia:

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

Change-Id: I2e75139685ea41446d3ae6f9803c8068ea05661a
Reviewed-on: https://skia-review.googlesource.com/4721
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoRevert "re-land of skslc now uses standard Skia caps"
Leon Scroggins [Fri, 11 Nov 2016 18:44:37 +0000 (18:44 +0000)]
Revert "re-land of skslc now uses standard Skia caps"

This reverts commit 498d403f7703cb2157bf3c877b84906db5a06cd4.

Reason for revert: Breaking compile bot:
https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-x86_64-Release-NoGPU/builds/10116/steps/compile_skia%20on%20Ubuntu/logs/stdio

undefined reference to `GrGLSLCaps::GrGLSLCaps(GrContextOptions const&)

Original change's description:
> re-land of skslc now uses standard Skia caps
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4726
>
> Change-Id: Ib1ea5d4269396e6c57ee1f0d7209aa9a9f2798e8
> Reviewed-on: https://skia-review.googlesource.com/4726
> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
>

TBR=bsalomon@google.com,benjaminwagner@google.com,kjlubick@google.com,ethannicholas@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I7ee96d6c658be6b7b79027c147b8950c78c79a70
Reviewed-on: https://skia-review.googlesource.com/4729
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoAdd explicit UniqueID classes for GrGpuResource & GrSurfaceProxy
Robert Phillips [Fri, 11 Nov 2016 17:38:40 +0000 (12:38 -0500)]
Add explicit UniqueID classes for GrGpuResource & GrSurfaceProxy

This sets the stage for using the Proxy's/RenderTargetContext's ID above the flush and the RenderTarget's/GrGpuResource's below the flush.

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

Change-Id: I9f1e6b00c02a0691d90b58c49e1d8c60684884c1
Reviewed-on: https://skia-review.googlesource.com/4650
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agore-land of skslc now uses standard Skia caps
Ethan Nicholas [Fri, 11 Nov 2016 17:38:50 +0000 (12:38 -0500)]
re-land of skslc now uses standard Skia caps

BUG=skia:

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

Change-Id: Ib1ea5d4269396e6c57ee1f0d7209aa9a9f2798e8
Reviewed-on: https://skia-review.googlesource.com/4726
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agoTighten SkAAClip Bounds by Path Bounds
liyuqian [Fri, 11 Nov 2016 17:59:51 +0000 (09:59 -0800)]
Tighten SkAAClip Bounds by Path Bounds

This bug chromium:662780 exists after our original fix (https://codereview.chromium.org/2477393002/) because this path (added in unit test) is calling blitAntiRect rather than blitAntiH when the path is drifted across the boundary. (The quadratic edge drifts across the boundary after an update and sets a dX=0 line segment which triggers blitAntiRect.)

Note that I didn't assert for the dLeft = dRite = 0 case because the left/right there won't drift after the SkTMin/SkTMax in line 964/966.

Theoretically we can revert the relaxation in https://codereview.chromium.org/2477393002/ (that's only a relaxation for analytic AA, not supersampled AA). However, consider that the initial landing of analytic AA is so painful, I decide to revert that relaxation only after our successful landing...

BUG=chromium:662780, chromium:662862
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2482193004

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

7 years agoGN: build Lua tools when skia_use_lua.
Mike Klein [Fri, 11 Nov 2016 16:39:44 +0000 (11:39 -0500)]
GN: build Lua tools when skia_use_lua.

When we opt into Lua, this builds SampleLua into SampleApp, and the lua_app and lua_pictures tools.

I've tested this builds with and without skia_use_system_lua on my Mac laptop and Linux desktop.

I've made lua_pictures.cpp's flags static to avoid conflicts with flags in SkCommonFlags.cpp.

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

DOCS_PREVIEW= https://skia.org/?cl=4699

Change-Id: I8176fd51d8a38746e7d730cfcce66da42b9a015a
Reviewed-on: https://skia-review.googlesource.com/4699
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoDocumentation: more gn, less gyp
Hal Canary [Fri, 11 Nov 2016 16:40:04 +0000 (11:40 -0500)]
Documentation: more gn, less gyp

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

Change-Id: I03100542752a769060a7f0c9671cc44acbea2e48
Reviewed-on: https://skia-review.googlesource.com/4698
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoSkFixedAlloc
Mike Klein [Fri, 11 Nov 2016 15:38:49 +0000 (10:38 -0500)]
SkFixedAlloc

Looking at SkSmallAlloc hasn't left me terribly impressed.  I think we can replace it with something a lot simpler to work with.

That simpler thing's core would be something like SkFixedAlloc, which allocates objects out of a fixed sized buffer, and cleans them up when done.

If needed, we can wrap that with logic to try to allocate out of an SkFixedAlloc, falling back on mallc() when exhausted.

BUG=skia:

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

Change-Id: I8d94156ddf98802e42ec0890cff0f06b21f073b0
Reviewed-on: https://skia-review.googlesource.com/4658
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoSkip left/right if alpha = 0 in SkRectClipCheckBlitter::blitAntiRect
Yuqian Li [Fri, 11 Nov 2016 14:40:34 +0000 (09:40 -0500)]
Skip left/right if alpha = 0 in SkRectClipCheckBlitter::blitAntiRect

BUG=skia:

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

Change-Id: I8c5e5f460dba76f9d74718f7ea104cb1f3cea993
Reviewed-on: https://skia-review.googlesource.com/4684
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
7 years agoCatch width overflow
Yuqian Li [Fri, 11 Nov 2016 14:36:53 +0000 (09:36 -0500)]
Catch width overflow

BUG=chromium:662730

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

Change-Id: Iaf3a30d39fda3166a6f8fc62a30580629418dc88
Reviewed-on: https://skia-review.googlesource.com/4628
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Yuqian Li <liyuqian@google.com>

7 years agoRevert "skslc now uses standard Skia caps"
Leon Scroggins [Fri, 11 Nov 2016 15:50:45 +0000 (15:50 +0000)]
Revert "skslc now uses standard Skia caps"

This reverts commit 8af38a96475ac5ce83b20c16d9cf82bf1006b8c4.

Reason for revert: Breaking compile bots, e.g. from https://uberchromegw.corp.google.com/i/client.skia.compile/builders/Build-Ubuntu-GCC-x86_64-Debug-NoGPU/builds/10029/steps/compile_skia%20on%20Ubuntu/logs/stdio :

In function `sk_make_sp<GrGLSLCaps, GrContextOptions>'
undefined reference to `GrGLSLCaps::GrGLSLCaps(GrContextOptions const&)

In function `_Z10sk_make_spI10GrGLSLCapsI16GrContextOptionsEE5sk_spIT_EDpOT0_':
undefined reference to `GrGLSLCaps::GrGLSLCaps(GrContextOptions const&)

Original change's description:
> skslc now uses standard Skia caps
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4660
>
> Change-Id: Idaedae3f81426b97f5052bb872cdf0610e47a84f
> Reviewed-on: https://skia-review.googlesource.com/4660
> Reviewed-by: Ben Wagner <benjaminwagner@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
> Commit-Queue: Ethan Nicholas <ethannicholas@google.com>
>

TBR=bsalomon@google.com,benjaminwagner@google.com,ethannicholas@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ic7f987f5c050ac2e333f5a0f16c8de85c1047a74
Reviewed-on: https://skia-review.googlesource.com/4697
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoskslc now uses standard Skia caps
Ethan Nicholas [Thu, 10 Nov 2016 21:42:58 +0000 (16:42 -0500)]
skslc now uses standard Skia caps

BUG=skia:

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

Change-Id: Idaedae3f81426b97f5052bb872cdf0610e47a84f
Reviewed-on: https://skia-review.googlesource.com/4660
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ethan Nicholas <ethannicholas@google.com>

7 years agoAnnotate benign race on SkPath::fConvexity.
Mike Klein [Thu, 10 Nov 2016 23:09:51 +0000 (18:09 -0500)]
Annotate benign race on SkPath::fConvexity.

We're tired of this making our TSAN bot flaky, and equally tired of trying to fix it.

BUG=skia:5776

CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Release-TSAN-Trybot

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

Change-Id: Ib6005282c514a6d785fd4fffe5387cbb1caccbe1
Reviewed-on: https://skia-review.googlesource.com/4691
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ben Wagner <bungeman@google.com>
7 years agoAvoid platform-dependent function params in Fuzzer
Kevin Lubick [Thu, 10 Nov 2016 21:17:49 +0000 (16:17 -0500)]
Avoid platform-dependent function params in Fuzzer

We use this approach instead of T next() because different compilers
evaluate function parameters in different orders. If fuzz->next()
returned 5 and then 7, foo(fuzz->next(), fuzz->next()) would be
foo(5, 7) when compiled on GCC and foo(7, 5) when compiled on Clang.
By requiring params to be passed in, we avoid the temptation to call
next() in a way that does not consume fuzzed bytes in a single
platform-independent order.

BUG=skia:

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

Change-Id: I35de849f82e8be45378f662a48100eb732fa8895
Reviewed-on: https://skia-review.googlesource.com/4392
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years agoCheck and report FreeType error.
Ben Wagner [Thu, 10 Nov 2016 21:14:52 +0000 (16:14 -0500)]
Check and report FreeType error.

BUG=chromium:648959

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

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

7 years agoRevert "Change SkCanvas to *not* inherit from SkRefCnt"
Heather Miller [Thu, 10 Nov 2016 21:25:30 +0000 (21:25 +0000)]
Revert "Change SkCanvas to *not* inherit from SkRefCnt"

This reverts commit 824075071885b6b741c141cbe2134d8345d34589.

Reason for revert: Breaking WebView (chromium:663959)

Original change's description:
> Change SkCanvas to *not* inherit from SkRefCnt
>
> Definitely tricky for classes like SkNWayCanvas, where the caller (today)
> need not pay attention to ownership of the canvases it gave the NWay
> (after this CL, the caller *must* managed ownership)
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4441
>
> DOCS_PREVIEW= https://skia.org/?cl=4441
>
> Change-Id: Ib1ac07a3cdf0686d78e7aaa4735d45cc90bea081
> Reviewed-on: https://skia-review.googlesource.com/4441
> Commit-Queue: Mike Reed <reed@google.com>
> Reviewed-by: Florin Malita <fmalita@chromium.org>
> Reviewed-by: Robert Phillips <robertphillips@google.com>
>

TBR=djsollen@google.com,mtklein@google.com,halcanary@google.com,robertphillips@google.com,fmalita@chromium.org,fmalita@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I5e3b3e876b7d2c09833cf841801321033b6b968b
Reviewed-on: https://skia-review.googlesource.com/4687
Commit-Queue: Heather Miller <hcm@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
7 years agoRevert "Fix BUG=chromium:664036"
Heather Miller [Thu, 10 Nov 2016 21:21:55 +0000 (21:21 +0000)]
Revert "Fix BUG=chromium:664036"

This reverts commit 805eb6c7779eb855a26d0f1e821d58ce2bf5ffd2.

Reason for revert: Backing up to original change causing issues w/ WebView (chromium:663959)

Original change's description:
> Fix BUG=chromium:664036
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4659
>
> Change-Id: Idac00fef9cac023649a50d9c70d107f988fd2510
> Reviewed-on: https://skia-review.googlesource.com/4659
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Hal Canary <halcanary@google.com>
>

TBR=halcanary@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I1c3258a3d46a713e9fa60fef829b8b6c6d73b2c4
Reviewed-on: https://skia-review.googlesource.com/4686
Commit-Queue: Heather Miller <hcm@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
7 years agoskpbench: add utility to format results for Skia Perf
Kevin Lubick [Thu, 10 Nov 2016 19:19:00 +0000 (14:19 -0500)]
skpbench: add utility to format results for Skia Perf

Adds skiaperf.py for formatting skpbench.py outputs for Skia Perf.
Also renames parseskpbench.py to sheet.py.

BUG=skia:

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

Change-Id: I758678e1c589b15ec2d07c43e4921663e919b47b
Reviewed-on: https://skia-review.googlesource.com/4657
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Kevin Lubick <kjlubick@google.com>
7 years agoFix BUG=skia:5662
Hal Canary [Thu, 10 Nov 2016 18:03:21 +0000 (13:03 -0500)]
Fix BUG=skia:5662

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

Change-Id: I5f5b10387be5d538347a3626c165cc17af154212
Reviewed-on: https://skia-review.googlesource.com/4661
Reviewed-by: Hal Canary <halcanary@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoRevert "Add integer texture support."
Leon Scroggins [Thu, 10 Nov 2016 18:31:58 +0000 (18:31 +0000)]
Revert "Add integer texture support."

This reverts commit 434c534bd0ec08cb355fecfb6d2110197b523e74.

Reason for revert: Undefined behavior. From

https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Ubuntu-Clang-Golo-GPU-GT610-x86_64-Debug-ASAN/builds/1272/steps/test_skia%20on%20Ubuntu/logs/stdio

../../../tests/IntTextureTest.cpp:51:44: runtime error: left shift of negative value -1
    #0 0x2257480 in test_IntTexture(skiatest::Reporter*, sk_gpu_test::ContextInfo const&) (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x2257480)
    #1 0x1ca1066 in skiatest::RunWithGPUTestContexts(void (*)(skiatest::Reporter*, sk_gpu_test::ContextInfo const&), bool (*)(sk_gpu_test::GrContextFactory::ContextType), skiatest::Reporter*, sk_gpu_test::GrContextFactory*) (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x1ca1066)
    #2 0x1ca080d in run_test(skiatest::Test) (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x1ca080d)
    #3 0x1c9e5e9 in dm_main() (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x1c9e5e9)
    #4 0x7f2d2ba8df44 in __libc_start_main /build/eglibc-oGUzwX/eglibc-2.19/csu/libc-start.c:287
    #5 0x1bb3028 in _start (/b/swarm_slave/w/ir0aO1sa/out/Debug/dm+0x1bb3028)

SUMMARY: AddressSanitizer: undefined-behavior ../../../tests/IntTextureTest.cpp:51:44 in
step returned non-zero exit code: 1

Original change's description:
> Add integer texture support.
>
> This allows us to create integer textures and sample them from a GrProcessor's code.
>
> Filtering is limited to NEAREST.
>
> Adds tests for reading/writing pixels, copying, and drawing. These operations are not allowed to convert to fixed/float configs.
>
> Vulkan support is TBD.
>
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4348
>
> Change-Id: If38d89a03285d4bd98d1f14f9638b0320977e43d
> Reviewed-on: https://skia-review.googlesource.com/4348
> Commit-Queue: Brian Salomon <bsalomon@google.com>
> Reviewed-by: Chris Dalton <csmartdalton@google.com>
>

TBR=bsalomon@google.com,csmartdalton@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I39f1a0a0dd3e6cde1143c8cc1217d2e3d5977b21
Reviewed-on: https://skia-review.googlesource.com/4663
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoFix BUG=chromium:664036
Hal Canary [Thu, 10 Nov 2016 17:24:16 +0000 (12:24 -0500)]
Fix BUG=chromium:664036

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

Change-Id: Idac00fef9cac023649a50d9c70d107f988fd2510
Reviewed-on: https://skia-review.googlesource.com/4659
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoSkPDF: paths as rects when possible
Hal Canary [Thu, 10 Nov 2016 16:46:21 +0000 (11:46 -0500)]
SkPDF: paths as rects when possible

http://crrev.com/2269593003

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

Change-Id: I12e238e8f00ac1c54a1b8dcf82a5502240563288
Reviewed-on: https://skia-review.googlesource.com/4652
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Ben Wagner <bungeman@google.com>
7 years agoAdd integer texture support.
Brian Salomon [Thu, 10 Nov 2016 16:19:51 +0000 (11:19 -0500)]
Add integer texture support.

This allows us to create integer textures and sample them from a GrProcessor's code.

Filtering is limited to NEAREST.

Adds tests for reading/writing pixels, copying, and drawing. These operations are not allowed to convert to fixed/float configs.

Vulkan support is TBD.

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

Change-Id: If38d89a03285d4bd98d1f14f9638b0320977e43d
Reviewed-on: https://skia-review.googlesource.com/4348
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Chris Dalton <csmartdalton@google.com>
7 years agoSimplify SkBitmapProvider
Florin Malita [Thu, 10 Nov 2016 16:10:30 +0000 (11:10 -0500)]
Simplify SkBitmapProvider

We're no longer using SkBitmap sources for SkBitmapProvider, so we can
restrict it to SkImage only.

At this point we could also remove it, but I think it'll come in handy
when we add shader subset support.

BUG=skia:5806
R=reed@google.com

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

Change-Id: I298da253cc8f7c1205b543521e62060a202a9f78
Reviewed-on: https://skia-review.googlesource.com/4655
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoUpdate skia.org docs to reference Gerrit instead of Rietveld
Ravi Mistry [Thu, 10 Nov 2016 15:07:29 +0000 (10:07 -0500)]
Update skia.org docs to reference Gerrit instead of Rietveld

BUG=skia:5958

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

Change-Id: I6a57b7f9b92f6b769ba2b78f8e0ab9f4ae7bb24e
Reviewed-on: https://skia-review.googlesource.com/4648
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Heather Miller <hcm@google.com>
7 years agoskpbench: add "resultsfile" option
csmartdalton [Thu, 10 Nov 2016 15:36:28 +0000 (10:36 -0500)]
skpbench: add "resultsfile" option

BUG=skia:

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

Change-Id: I1a26eddb40de1398cad5348d3fe0ba397a87dbb0
Reviewed-on: https://skia-review.googlesource.com/4654
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>

7 years agoSnug the clip with path bounds inside SkAAClip
Yuqian Li [Thu, 10 Nov 2016 14:44:55 +0000 (09:44 -0500)]
Snug the clip with path bounds inside SkAAClip

https://codereview.chromium.org/2482193004/ is related with this patch.

BUG=skia:

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

Change-Id: Ibd6d64578e08c75a3cfcef45489afc9b59ad40be
Reviewed-on: https://skia-review.googlesource.com/4636
Commit-Queue: Yuqian Li <liyuqian@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoMake SSE2/Neon convolution functions not to read extra bytes
xiangze.zhang [Thu, 10 Nov 2016 13:44:32 +0000 (05:44 -0800)]
Make SSE2/Neon convolution functions not to read extra bytes

This change makes SSE2/Neon horizontal convolution functions do not read
extra pixels past the end of the buffer. So we can remove all the SIMD
specific logic in SkConvolver to deal with last couple of rows and also
avoid applying padding to convolution filters.

Performance impact is small. Nanobench time change:
                              SSE2    NEON
bitmap_scale_filter_64_256     1%     -2%
bitmap_scale_filter_256_64     1%      2%
bitmap_scale_filter_90_10      1%     -1%
bitmap_scale_filter_90_30      1%      0%
bitmap_scale_filter_90_80      1%      0%
bitmap_scale_filter_90_90      1%      1%
bitmap_scale_filter_80_90      0%      0%
bitmap_scale_filter_30_90      3%      6%
bitmap_scale_filter_10_90      0%      2%

BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481733003
CQ_INCLUDE_TRYBOTS=master.client.skia:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD-Trybot

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

7 years agoClamp parametric gamma values to 0-1 range
Matt Sarett [Wed, 9 Nov 2016 23:14:47 +0000 (18:14 -0500)]
Clamp parametric gamma values to 0-1 range

BUG=skia:

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

Change-Id: I1c6963da956500deea559d5ece31529add89980a
Reviewed-on: https://skia-review.googlesource.com/4641
Reviewed-by: Robert Aftias <raftias@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoskpbench: remove --path flag
csmartdalton [Wed, 9 Nov 2016 21:34:53 +0000 (16:34 -0500)]
skpbench: remove --path flag

Replaces the confusing --path flag with a positional argument that
gives the path to the skpbench binary.

BUG=skia:

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

Change-Id: I2b5eeca61ec85e7fe45fd3370625eddf34a2fd0e
Reviewed-on: https://skia-review.googlesource.com/4635
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>

7 years ago[nobuildbot] Copy timeouts from swarm_trigger
Eric Boren [Wed, 9 Nov 2016 23:35:15 +0000 (18:35 -0500)]
[nobuildbot] Copy timeouts from swarm_trigger

BUG=skia:

TBR=benjaminwagner
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4642

Change-Id: Ia81609af8ae11c0171c99c459e8711fa786c1e20
Reviewed-on: https://skia-review.googlesource.com/4642
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
7 years agoRemove call to getMetrics from GlyphGenerator.
Ben Wagner [Wed, 9 Nov 2016 18:44:00 +0000 (13:44 -0500)]
Remove call to getMetrics from GlyphGenerator.

GlyphGenerator::generatePath does not need to call getMetrics before
calling getPath. This is wasted effort, especially since the
SkScalerContext is being used directly instead of going through a glyph
cache (which would require this ordering).

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

Change-Id: I140a6715a1d1692b161ee3dae48e5482b6004b63
Reviewed-on: https://skia-review.googlesource.com/4620
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoRevert of Make SkSmallAllocator obey the RAII invariants and be expandable (patchset...
mtklein [Wed, 9 Nov 2016 22:50:31 +0000 (14:50 -0800)]
Revert of Make SkSmallAllocator obey the RAII invariants and be expandable (patchset #6 id:100001 of https://codereview.chromium.org/2488523003/ )

Reason for revert:
Crashing Mac Perf and Test bots.

This is a flaky but extremely likely crash.  I've only seen one Mac Perf or Test bot that had this patch that didn't crash.

This should be easy to reproduce like this:
  $ gn gen out --args=is_debug=false
  $ ninja -C out dm
  $ out/dm -m xfermodes3 --config gpu

This is crashing every time I run it on my laptop, and never when I revert this CL.

Building in release and running --config gpu probably don't matter.

Original issue's description:
> Make SkSmallAllocator obey the RAII invariants and move to heap structures when needed.
>
> The biggest change is to the API which allowed code to bypass the
> destruction invariants. This destruction bypass feature was needed in
> only one use, and is totally encapsulated using createWithIniterT.
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2488523003
>
> Committed: https://skia.googlesource.com/skia/+/d5dc657b8c3ac916f98005dafdedafe02f023449

TBR=bungeman@google.com,herb@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/2485853005

7 years agoAndroid builders do not need host toolchains.
Mike Klein [Wed, 9 Nov 2016 21:31:42 +0000 (16:31 -0500)]
Android builders do not need host toolchains.

This trims a few packages.  We do the same in buildbot.

BUG=skia:

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

Change-Id: I4c76d744917cb244ca3390d55d9ea602cda2dd58
Reviewed-on: https://skia-review.googlesource.com/4634
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoauto-add Build jobs
Mike Klein [Wed, 9 Nov 2016 22:25:02 +0000 (17:25 -0500)]
auto-add Build jobs

BUG=skia:

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

Change-Id: I61acce39abf08c4307e5a7ec990ec8857539f943
Reviewed-on: https://skia-review.googlesource.com/4639
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoskpbench: call adb wait-for-device after root
csmartdalton [Wed, 9 Nov 2016 20:37:48 +0000 (15:37 -0500)]
skpbench: call adb wait-for-device after root

BUG=skia:

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

Change-Id: I310600e79141d2eafd668c76b97a017b151ac0fd
Reviewed-on: https://skia-review.googlesource.com/4632
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Chris Dalton <csmartdalton@google.com>

7 years agoadded constant folding & branch elimination to skslc
ethannicholas [Wed, 9 Nov 2016 21:26:45 +0000 (13:26 -0800)]
added constant folding & branch elimination to skslc

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

Committed: https://skia.googlesource.com/skia/+/6136310ee8f43247548bcefcaeca6d43023c10aa
Review-Url: https://codereview.chromium.org/2489673002

7 years agoskpbench: filter out junk spewed by Pixel C driver
csmartdalton [Wed, 9 Nov 2016 21:25:23 +0000 (13:25 -0800)]
skpbench: filter out junk spewed by Pixel C driver

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

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

7 years agoFix implicit nullability cast of [NSScreen mainScreen].
Mike Klein [Wed, 9 Nov 2016 20:34:18 +0000 (15:34 -0500)]
Fix implicit nullability cast of [NSScreen mainScreen].

Without this patch I get this warning-as-error with XCode 8.1 (8B62):

../src/views/mac/SkOSWindow_Mac.mm:88:43: error: implicit conversion from nullable pointer 'NSScreen * _Nullable' to non-nullable pointer type 'NSScreen * _Nonnull' [-Werror,-Wnullable-to-nonnull-conversion]
    [(SkNSView*)fHWND enterFullScreenMode:[NSScreen mainScreen] withOptions:nil];

Seems like the thing to do is explicitly null check [NSScreen mainScreen] before calling enterFullScreenMode?

(google.com/images?q=i+have+no+idea+what+i+am+doing)

BUG=skia:

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

Change-Id: I20c4a2b559a347a6a128479b81cb515692832e72
Reviewed-on: https://skia-review.googlesource.com/4631
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Jim Van Verth <jvanverth@google.com>
7 years agoRevert "add alias for xfermode::getproc to allow legacy g client to bulid"
Mike Reed [Wed, 9 Nov 2016 20:33:57 +0000 (15:33 -0500)]
Revert "add alias for xfermode::getproc to allow legacy g client to bulid"

Alias no longer needed

This reverts commit 40c07dc797ada471ba89cb81acc4b7b93f7374d7.

BUG=skia:

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

Change-Id: Ia3d13d6b1055ecb4b569c99f6047e4ab3d21f107
Reviewed-on: https://skia-review.googlesource.com/4630
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years ago[nobuildbot] AndroidOne bots
Eric Boren [Wed, 9 Nov 2016 20:04:02 +0000 (15:04 -0500)]
[nobuildbot] AndroidOne bots

BUG=skia:

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

Change-Id: I9479ba49cc75f658b0cf0ac724c6462cb06598ea
Reviewed-on: https://skia-review.googlesource.com/4627
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoMake SkSmallAllocator obey the RAII invariants and move to heap structures when needed.
herb [Wed, 9 Nov 2016 21:01:46 +0000 (13:01 -0800)]
Make SkSmallAllocator obey the RAII invariants and move to heap structures when needed.

The biggest change is to the API which allowed code to bypass the
destruction invariants. This destruction bypass feature was needed in
only one use, and is totally encapsulated using createWithIniterT.

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

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

7 years agoadd debugging wrapper blitter to ensure unclipped scan-conversion is safe
Mike Reed [Wed, 9 Nov 2016 20:23:26 +0000 (15:23 -0500)]
add debugging wrapper blitter to ensure unclipped scan-conversion is safe

BUG=skia:

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

Change-Id: Ie6c35b28a6e8e87bf230e50f9940d3924d12969a
Reviewed-on: https://skia-review.googlesource.com/4629
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Yuqian Li <liyuqian@google.com>
7 years agoInclude what you use with signbit.
Ben Wagner [Wed, 9 Nov 2016 20:00:49 +0000 (15:00 -0500)]
Include what you use with signbit.

Include cmath in a few source files which use signbit and a relying on
magic to happen to use it.

Also Fix nuttiness in SampleClip. No need to #define single character
identifiers.

Change-Id: Iae3352d0cab9aaa6c37d6424f064b3d86fa2e011
Reviewed-on: https://skia-review.googlesource.com/4626
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>
Commit-Queue: Herb Derby <herb@google.com>

7 years agoskpbench: use 3 cores instead of 4 on Pixel C
csmartdalton [Wed, 9 Nov 2016 20:26:31 +0000 (12:26 -0800)]
skpbench: use 3 cores instead of 4 on Pixel C

Hopefully with less cores running we will produce less heat. 3 cores
should be enough to run Ganesh, the graphics driver, and the OS.

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

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

7 years agoRevert of added constant folding & branch elimination to skslc (patchset #3 id:40001...
scroggo [Wed, 9 Nov 2016 20:03:17 +0000 (12:03 -0800)]
Revert of added constant folding & branch elimination to skslc (patchset #3 id:40001 of https://codereview.chromium.org/2489673002/ )

Reason for revert:
Breaking the DEPS roll:

../../third_party/skia/src/sksl/SkSLIRGenerator.cpp:257:70: error: chosen constructor is explicit in copy-initialization
            return std::unique_ptr<Statement>(new Block(s.fPosition, { }, fSymbolTable));
                                                                     ^~~
../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/debug/vector:77:7: note: constructor declared here
      vector(const _Allocator& __a = _Allocator())
      ^
../../third_party/skia/src/sksl/ir/SkSLBlock.h:20:70: note: passing argument to parameter 'statements' here
    Block(Position position, std::vector<std::unique_ptr<Statement>> statements,
                                                                     ^

Original issue's description:
> added constant folding & branch elimination to skslc
>
> BUG=skia:
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2489673002
>
> Committed: https://skia.googlesource.com/skia/+/6136310ee8f43247548bcefcaeca6d43023c10aa

TBR=benjaminwagner@google.com,bsalomon@google.com,ethannicholas@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/2494523002

7 years agoFix fuzzer assert in GradientShaderBase4fContext::TSampler
fmalita [Wed, 9 Nov 2016 19:58:10 +0000 (11:58 -0800)]
Fix fuzzer assert in GradientShaderBase4fContext::TSampler

The arithmetic in tileProc<kMirror> may cause the result to snap to the
open interval value - which violates invariants down the line.

We need to clamp the result to nextafterf(2, 0) to ensure it stays less
than two.

BUG=skia:5913
R=reed@google.com,herb@google.com
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2472763002

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

7 years agoChange iOS bots to new-style, no-buildbot bots
Eric Boren [Wed, 9 Nov 2016 19:03:20 +0000 (14:03 -0500)]
Change iOS bots to new-style, no-buildbot bots

BUG=skia:

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

Change-Id: Ied11c727a491382fce113b6e02831a67d944ca2f
Reviewed-on: https://skia-review.googlesource.com/4582
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Reviewed-by: Stephan Altmueller <stephana@google.com>
7 years agoChange SkCanvas to *not* inherit from SkRefCnt
Mike Reed [Wed, 9 Nov 2016 18:59:58 +0000 (13:59 -0500)]
Change SkCanvas to *not* inherit from SkRefCnt

Definitely tricky for classes like SkNWayCanvas, where the caller (today)
need not pay attention to ownership of the canvases it gave the NWay
(after this CL, the caller *must* managed ownership)

BUG=skia:

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

DOCS_PREVIEW= https://skia.org/?cl=4441

Change-Id: Ib1ac07a3cdf0686d78e7aaa4735d45cc90bea081
Reviewed-on: https://skia-review.googlesource.com/4441
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoDo not call blitV with 0 height
liyuqian [Wed, 9 Nov 2016 19:18:30 +0000 (11:18 -0800)]
Do not call blitV with 0 height

This is causing SkAAClipBlitter to crash.

BUG=chromium:662952
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2485243002

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

7 years agoadd alias for xfermode::getproc to allow legacy g client to bulid
Mike Reed [Wed, 9 Nov 2016 19:05:26 +0000 (14:05 -0500)]
add alias for xfermode::getproc to allow legacy g client to bulid

BUG=skia:
NOTRY=True

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

Change-Id: Ib8108c6e2f2ca4592428711c2ae8a0bd1fa7963d
Reviewed-on: https://skia-review.googlesource.com/4623
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoMake uploading to Gerrit the default for Skia
Ravi Mistry [Wed, 9 Nov 2016 18:55:23 +0000 (13:55 -0500)]
Make uploading to Gerrit the default for Skia

BUG=skia:5612

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4621
# Does not get tested with CQ.
NOTRY=true

Change-Id: I8d3fbfc6e557948cff7722f0b42ea09dc9be68e1
Reviewed-on: https://skia-review.googlesource.com/4621
Commit-Queue: Ravi Mistry <rmistry@google.com>
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoMissing SkOSPath include in lua_pictures.cpp
fmalita [Wed, 9 Nov 2016 17:15:05 +0000 (09:15 -0800)]
Missing SkOSPath include in lua_pictures.cpp

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

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

7 years agoadded constant folding & branch elimination to skslc
ethannicholas [Wed, 9 Nov 2016 17:09:26 +0000 (09:09 -0800)]
added constant folding & branch elimination to skslc

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

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

7 years agoremove use of xfermode* in procs
Mike Reed [Wed, 9 Nov 2016 15:38:09 +0000 (10:38 -0500)]
remove use of xfermode* in procs

BUG=skia:

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

Change-Id: I99f35924ff5325dfac527bb573a86d2d0366e0b3
Reviewed-on: https://skia-review.googlesource.com/4592
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoEnable SkImage_pinAsTexture to signal if the operation succeeded.
Derek Sollenberger [Wed, 9 Nov 2016 16:25:13 +0000 (11:25 -0500)]
Enable SkImage_pinAsTexture to signal if the operation succeeded.

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

Change-Id: Id667f385b172e4a56faa9324066f57295af30ef3
Reviewed-on: https://skia-review.googlesource.com/4488
Commit-Queue: Derek Sollenberger <djsollen@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoFix the meaning of stop_y
liyuqian [Wed, 9 Nov 2016 16:53:39 +0000 (08:53 -0800)]
Fix the meaning of stop_y

stop_y means that we should stop exactly at stop_y, so the last row should be
[stop_y - 1, stop_y], not [stop_y, stop_y + 1].

Somehow this misunderstanding didn't trigger any issue until Chrome exercises
SkAAClip with some websites (e.g.,
http://www.lemonde.fr/elections-americaines/article/2016/11/07/deux-programmes-deux-visions-de-l-amerique_5026444_829254.html).
When we blitter the extra row [stop_y, stop_y + 1], the SkAAClip will return
nullptr by findRow. Later when that nullptr row is used to findX, the crash
happened.

BUG=chromium:662925, chromium:662776
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2481703004

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

7 years agoskpbench: simplify adb and reduce number of invocations
csmartdalton [Wed, 9 Nov 2016 16:41:23 +0000 (08:41 -0800)]
skpbench: simplify adb and reduce number of invocations

This change reduces a bit of startup overhead by condensing more bash
into fewer invocations of 'adb shell'.

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

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

7 years agoCheck negative overflow of quickSkFDot6Div
liyuqian [Wed, 9 Nov 2016 15:24:21 +0000 (07:24 -0800)]
Check negative overflow of quickSkFDot6Div

The following fuzz html reveals the bug in chromium content_shell

===html=begins===
<style>
*{min-width:4%;-webkit-border-radius:+256%;}
.CLASS11{text-decoration:rgba(128%,16129%,1%,0.0000000004656612317904879831274006762300773920593144339363789186) dotted blink;vertical-align:124px;-webkit-column-count:2147483655 !important;</style>
<h1 class="CLASS11 CLASS1">
>
B
<button>
<h4 class="CLASS11 CLASS12">
</h4>
<p>
c C
<table>
<caption class="CLASS11">
>
<ruby class="CLASS11 CLASS12">
</ruby>
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA x
===html===ends===

BUG=chromium:662905
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2482863004

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

7 years agoFix assets.py args
Eric Boren [Wed, 9 Nov 2016 14:56:37 +0000 (09:56 -0500)]
Fix assets.py args

BUG=skia:

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

Change-Id: Id2ddbabf8920e59341555f7f4c65a9b1ccabf4d6
Reviewed-on: https://skia-review.googlesource.com/4588
Reviewed-by: Kevin Lubick <kjlubick@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoMove GrRenderTargetPriv::maxWindowRectangles to GrRenderTargetContextPriv & GrRenderT...
Robert Phillips [Wed, 9 Nov 2016 13:54:35 +0000 (08:54 -0500)]
Move GrRenderTargetPriv::maxWindowRectangles to GrRenderTargetContextPriv & GrRenderTargetProxy

This removes a reason to call accessRenderTarget on the GrRenderTargetContext

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

Change-Id: I6e8a53ffd5c1fea80f542b70e05744e2991f70f8
Reviewed-on: https://skia-review.googlesource.com/4583
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoFix fuzzer bug
Robert Phillips [Wed, 9 Nov 2016 13:03:21 +0000 (08:03 -0500)]
Fix fuzzer bug

BUG=663687

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

Change-Id: I9e914a1134b8049cf62bb36d4a6145eb8487d4e6
Reviewed-on: https://skia-review.googlesource.com/4580
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoConsolidate GrSurfaceProxy Make methods
Robert Phillips [Wed, 9 Nov 2016 11:50:43 +0000 (06:50 -0500)]
Consolidate GrSurfaceProxy Make methods

I think GrSurfaceDesc is still the most compact way to communicate the deferred GrSurface's settings to the Proxy but this CL, at least, reduces where it is used.

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

Change-Id: Ica599c28a5aef1ed4094f47a4ac119e2d204d652
Reviewed-on: https://skia-review.googlesource.com/4559
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoRename SkSourceGammaTreatment to SkDestinationSurfaceColorMode
Brian Osman [Tue, 8 Nov 2016 22:08:54 +0000 (17:08 -0500)]
Rename SkSourceGammaTreatment to SkDestinationSurfaceColorMode

This is much more explicit about what that type represents (are we in
legacy mode or not), which also makes it suitable for other (upcoming)
usage.

BUG=skia:

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

Change-Id: Iacb397c34e7765f1ca86c0195bc622b2be4d9acf
Reviewed-on: https://skia-review.googlesource.com/4529
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoskpbench: fix typo in 6P bash script
csmartdalton [Wed, 9 Nov 2016 00:50:13 +0000 (16:50 -0800)]
skpbench: fix typo in 6P bash script

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

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

7 years agoRefactor RGBA/BGRA xform logic in SkCodecs
Matt Sarett [Tue, 8 Nov 2016 21:13:43 +0000 (16:13 -0500)]
Refactor RGBA/BGRA xform logic in SkCodecs

BUG=skia:

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

Change-Id: Ic9105a2806b915fc56b6810a80dd444561d0d959
Reviewed-on: https://skia-review.googlesource.com/4554
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoRelax the extra span's alpha
liyuqian [Tue, 8 Nov 2016 21:55:15 +0000 (13:55 -0800)]
Relax the extra span's alpha

BUG=chrome:662862
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2477393002

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

7 years agoDo not call blitAntiRect for empty rect
liyuqian [Tue, 8 Nov 2016 21:42:59 +0000 (13:42 -0800)]
Do not call blitAntiRect for empty rect

BUG=chromium:662800
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2490673002

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

7 years agoFail jpeg decodes on too many progressive scans
Matt Sarett [Tue, 8 Nov 2016 20:26:56 +0000 (15:26 -0500)]
Fail jpeg decodes on too many progressive scans

BUG:642462

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

Change-Id: I22891ce1e0b3a1bedefc34dadd5cf34dfc301b79
Reviewed-on: https://skia-review.googlesource.com/4560
Reviewed-by: Leon Scroggins <scroggo@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoFix query for GR_GL_IMPLEMENTATION_COLOR_READ_FORMAT for GrPixelConfigs that aren...
bsalomon [Tue, 8 Nov 2016 21:26:24 +0000 (13:26 -0800)]
Fix query for GR_GL_IMPLEMENTATION_COLOR_READ_FORMAT for GrPixelConfigs that aren't renderable

We recently separated renderabibilty by Skia from FBO-bindable ( https://skia-review.googlesource.com/4345). Overlooked in that change was the necessity to be able to query GR_GL_IMPLEMENTATION_COLOR_READ_FORMAT and _TYPE for formats that we don't support rendering to Skia but are legal color attachment formats.

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

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

7 years agoMove SkOSPath out of include/core.
Ben Wagner [Mon, 7 Nov 2016 23:05:29 +0000 (18:05 -0500)]
Move SkOSPath out of include/core.

It is moved to src/utils. It is almost a tool, but has two uses in
src/ports.

The existing SkOSFile.cpp is left empty for the time being since it is
mentioned in Chromium's BUILD.gn for Skia.

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

7 years agoMake the infra tests part of the CQ
Eric Boren [Tue, 8 Nov 2016 18:45:01 +0000 (13:45 -0500)]
Make the infra tests part of the CQ

BUG=skia:

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

Change-Id: I3ed720e5608282cd9fa14365e6f4fa4338c81ef0
Reviewed-on: https://skia-review.googlesource.com/4550
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoSmart pointers for GrBatchAtlas.
Ben Wagner [Tue, 8 Nov 2016 19:13:39 +0000 (14:13 -0500)]
Smart pointers for GrBatchAtlas.

While navigating this code the ownership rules were found to not be
entirely clear. This updates GrBatchAtlas:: fPlotArray and fTexture to
be smart pointers and propagates some clarifying changes.

Change-Id: I6ca67247575c2d7c4e7986c10b948201fe0080f1
Reviewed-on: https://skia-review.googlesource.com/4549
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Ben Wagner <bungeman@google.com>

7 years agoAdd -j as alias for --threads.
Mike Klein [Tue, 8 Nov 2016 19:16:01 +0000 (14:16 -0500)]
Add -j as alias for --threads.

I keep typing this...

BUG=skia:

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

Change-Id: Ib3e387054810cebae468addc001a1e148e5af155
Reviewed-on: https://skia-review.googlesource.com/4553
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agogen_tasks.go: Implement TODOs, bring up to speed with swarm_trigger
Eric Boren [Tue, 8 Nov 2016 17:55:32 +0000 (12:55 -0500)]
gen_tasks.go: Implement TODOs, bring up to speed with swarm_trigger

BUG=skia:

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

Change-Id: Ia22a4836732dd33f30f4f6e4e49f5b39294ec53f
Reviewed-on: https://skia-review.googlesource.com/4547
Reviewed-by: Ben Wagner <benjaminwagner@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoCopy over all build properties starting with patch_ to avoid missing something we...
Ravi Mistry [Tue, 8 Nov 2016 16:09:50 +0000 (11:09 -0500)]
Copy over all build properties starting with patch_ to avoid missing something we need

BUG=skia:5946

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

Change-Id: I2c16ac84ceff598084263deb91795aa5b53cc42f
Reviewed-on: https://skia-review.googlesource.com/4542
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Ravi Mistry <rmistry@google.com>

7 years agoChange code to not store Sk4* in data structures.
herb [Tue, 8 Nov 2016 16:19:07 +0000 (08:19 -0800)]
Change code to not store Sk4* in data structures.

This allows the SkLinearBitmapPipeline system to avoid problems with alignment. This allows it to naturally fit with the rest of the system, and simplifies surrounding code.

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

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

7 years agoRevert "Revert "GN: define SK_XML to indicate :xml is enabled.""
Florin Malita [Tue, 8 Nov 2016 16:07:52 +0000 (16:07 +0000)]
Revert "Revert "GN: define SK_XML to indicate :xml is enabled.""

This reverts commit 7e8f80a08444f534376a25d45194c92f948c9594.

Reason for revert: the SVG DM flakiness should be fixed by now.

Original change's description:
> Revert "GN: define SK_XML to indicate :xml is enabled."
>
> This reverts commit 7234448c11b0493a072723acd185dae986103df6.
>
> Reason for revert: this enabled tests which are making the bots flaky.
>
> Original change's description:
> > GN: define SK_XML to indicate :xml is enabled.
> >
> > Without this, nothing ever defines SK_XML for dm/DM.cpp, dm/DMSrcSink.cpp, tests/SkDOMTest.cpp or tests/SkPEGTest.cpp.
> >
> > GYP does something similiar in gyp/xml.gyp.
> >
> > BUG=skia:
> >
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4500
> >
> > Change-Id: I93322722d6d86f5802495d7a2edad2f82ba36f69
> > Reviewed-on: https://skia-review.googlesource.com/4500
> > Reviewed-by: Hal Canary <halcanary@google.com>
> > Commit-Queue: Eric Boren <borenet@google.com>
> > Commit-Queue: Mike Klein <mtklein@chromium.org>
> >
>
> TBR=mtklein@chromium.org,borenet@google.com,halcanary@google.com
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I46c198f4985f6e7f96c07b3100a3877ba46fdb18
> Reviewed-on: https://skia-review.googlesource.com/4526
> Commit-Queue: Mike Klein <mtklein@chromium.org>
> Reviewed-by: Mike Klein <mtklein@chromium.org>
>

TBR=mtklein@chromium.org,borenet@google.com,halcanary@google.com,fmalita@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ic3225f119dff3c6949a3b559ac60707d36bc3792
Reviewed-on: https://skia-review.googlesource.com/4544
Commit-Queue: Florin Malita <fmalita@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoFix DM race in SVGSrc
fmalita [Tue, 8 Nov 2016 15:13:45 +0000 (07:13 -0800)]
Fix DM race in SVGSrc

The SVG source currently attempts to build the DOM lazily, in response
to draw() or size() calls.  But apprently DM may call these
concurrently.

Build the DOM in the constructor instead, to avoid races (and the need
for synchronization).

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

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

7 years agoRemove SkAutoTUnref from public API
Hal Canary [Tue, 8 Nov 2016 14:03:48 +0000 (09:03 -0500)]
Remove SkAutoTUnref from public API

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

Change-Id: I1ba33edc5ca44332ff4f296e6b9997a133a08a87
Reviewed-on: https://skia-review.googlesource.com/4530
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "Delete SkImage::encode(Type)"
Leon Scroggins [Tue, 8 Nov 2016 14:29:46 +0000 (14:29 +0000)]
Revert "Delete SkImage::encode(Type)"

This reverts commit e48b4c550de60f3c2316f31125ee305c8df280ba.

Reason for revert: This method is used in Google3. See
https://test.corp.google.com/ui#id=OCL:138505330:BASE:138505351:1478611655214:39a02f0d

Original change's description:
> Delete SkImage::encode(Type)
>
> This doesn't appear to be used (fingers crossed).
>
> We're not ready to support color correct encodes (and tagging with
> color spaces) for all of the formats included in SkImageEncoder::Type.
>
> I think it's good to restrict this for now.
>
> BUG=skia:
>
> GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4535
>
> Change-Id: I73000f3d7bff1af153786d766531a2cbc8c5b77a
> Reviewed-on: https://skia-review.googlesource.com/4535
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>

TBR=msarett@google.com,brianosman@google.com,reed@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I6fb880f10dcba7837647e9b5cabbc8cc2b8366f6
Reviewed-on: https://skia-review.googlesource.com/4538
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoRevert "Revert "Add GrRenderTargetContext instantiate & asTextureProxy""
Robert Phillips [Tue, 8 Nov 2016 13:49:39 +0000 (13:49 +0000)]
Revert "Revert "Add GrRenderTargetContext instantiate & asTextureProxy""

This reverts commit 7d7d7d19462b75f5470492dc4820a02c1eba4af2.

Reason for revert: Reverting this to see if it really was crashing on SVGs or if that was cross talk.

Original change's description:
> Revert "Add GrRenderTargetContext instantiate & asTextureProxy"
>
> This reverts commit 9113edfff89e657dabc0ba095c54f7720550196c.
>
> Reason for revert: Looks to be causing EXCEPTION_ACCESS_VIOLATION:
>
> https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-NUC-GPU-IntelIris6100-x86_64-Debug/builds/121/steps/test_skia%20on%20Windows/logs/stdio
> https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-GCE-CPU-AVX2-x86-Debug/builds/2384/steps/test_skia%20on%20Windows-2008ServerR2-SP1/logs/stdio
> https://uberchromegw.corp.google.com/i/client.skia/builders/Test-Win-MSVC-ShuttleC-GPU-iHD530-x86_64-Debug/builds/785/steps/test_skia%20on%20Windows/logs/stdio
>
> Original change's description:
> > Add GrRenderTargetContext instantiate & asTextureProxy
> >
> > This CL also centralizes the instantiation code in GrSurfaceProxy and adds a test.
> >
> > GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4494
> >
> > Change-Id: I0081d9a216dc0af293179f23bcb88acf6a822324
> > Reviewed-on: https://skia-review.googlesource.com/4494
> > Reviewed-by: Brian Salomon <bsalomon@google.com>
> > Commit-Queue: Robert Phillips <robertphillips@google.com>
> >
>
> TBR=bsalomon@google.com,robertphillips@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I225ce7867ebd445067e5ea55ebbfd587f7fe782a
> Reviewed-on: https://skia-review.googlesource.com/4528
> Commit-Queue: Leon Scroggins <scroggo@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>
>

TBR=bsalomon@google.com,robertphillips@google.com,scroggo@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: Ifc3b9ac343009a3808f5f47500eef50df438e3d9
Reviewed-on: https://skia-review.googlesource.com/4537
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoFix trybot results upload for new-style bots
Eric Boren [Mon, 7 Nov 2016 22:16:05 +0000 (17:16 -0500)]
Fix trybot results upload for new-style bots

BUG=skia:

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

Change-Id: I83a4c52e18d087e3f662399387bc3aaf76fd5cba
Reviewed-on: https://skia-review.googlesource.com/4532
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoDelete SkImage::encode(Type)
Matt Sarett [Mon, 7 Nov 2016 23:06:06 +0000 (18:06 -0500)]
Delete SkImage::encode(Type)

This doesn't appear to be used (fingers crossed).

We're not ready to support color correct encodes (and tagging with
color spaces) for all of the formats included in SkImageEncoder::Type.

I think it's good to restrict this for now.

BUG=skia:

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

Change-Id: I73000f3d7bff1af153786d766531a2cbc8c5b77a
Reviewed-on: https://skia-review.googlesource.com/4535
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>