platform/upstream/libSkiaSharp.git
7 years agoFix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix
Matt Sarett [Wed, 12 Apr 2017 14:21:30 +0000 (10:21 -0400)]
Fix SkLocalMatrixShader::isAImage() to respect local matrix and image local matrix

Fixes cts tests.

b/37161109
b/37237678

Bug: skia:
Change-Id: Ida9ac5e4261e8a6b22e8cdc0e585e0e7929dbbfd
Reviewed-on: https://skia-review.googlesource.com/13249
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoSkColorSpaceXformer: Preserve local matrix on shaders
Matt Sarett [Wed, 12 Apr 2017 13:19:15 +0000 (09:19 -0400)]
SkColorSpaceXformer: Preserve local matrix on shaders

Also, do not drop unknown shaders.

Fixes cts tests.

b/37161109
b/37237678

Bug: skia:
Change-Id: I0fd817a4d6461ede0ccdcb8f3cccb255b646b864
Reviewed-on: https://skia-review.googlesource.com/13246
Commit-Queue: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoOverride setDrawFilter() in SkColorSpaceXformCanvas
Matt Sarett [Wed, 12 Apr 2017 13:13:39 +0000 (09:13 -0400)]
Override setDrawFilter() in SkColorSpaceXformCanvas

Fixes cts tests.

b/37161109
b/37237678

Bug: skia:
Change-Id: I12d78b631b4056a78cbbb2962144e8cc62eb931a
Reviewed-on: https://skia-review.googlesource.com/13244
Commit-Queue: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRe-align tests in recipes with the names of reality
Kevin Lubick [Wed, 12 Apr 2017 12:31:48 +0000 (08:31 -0400)]
Re-align tests in recipes with the names of reality

For example, renaming GN_Android to Android

Bug: skia:
Change-Id: Ib71001b3cbecc3d5a0f3bb1bf0cf1f48dc23cfe4
Reviewed-on: https://skia-review.googlesource.com/13182
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoAdd docs for downloading prebuilt binaries from CIPD
Kevin Lubick [Mon, 10 Apr 2017 19:08:59 +0000 (15:08 -0400)]
Add docs for downloading prebuilt binaries from CIPD

NOTRY=true
DOCS_PREVIEW= https://skia.org/?cl=13101
Bug: skia:
Change-Id: Iefa8070c65881ff8c05a3b88aa8385fcc1a427ff

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

7 years agoremove pixelref flag from google3
Mike Reed [Wed, 12 Apr 2017 11:40:04 +0000 (07:40 -0400)]
remove pixelref flag from google3

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

7 years agoDisable deferred proxies for Chrome branch
Robert Phillips [Tue, 11 Apr 2017 13:09:24 +0000 (09:09 -0400)]
Disable deferred proxies for Chrome branch

Chrome is branching again and Proxy instantiation is still occurring at a bad spot in Skia.

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

7 years agoRevert "Revert "remove unused SkBitmap::copyPixelsTo""
Mike Reed [Wed, 12 Apr 2017 11:07:35 +0000 (11:07 +0000)]
Revert "Revert "remove unused SkBitmap::copyPixelsTo""

This reverts commit 7bfdfda809e7273d7c962cc62ef9390b5007fb5a.

Reason for revert: google3 has been updated

Original change's description:
> Revert "remove unused SkBitmap::copyPixelsTo"
>
> This reverts commit 0f3fdfacf32261f943dcac5cdfd14475011f40db.
>
> Reason for revert: Blink-headless in Google3 needs an update too.
>
> Original change's description:
> > remove unused SkBitmap::copyPixelsTo
> >
> > Needs https://codereview.chromium.org/2812853002/ to land first
> >
> > Bug: skia:6465
> > Change-Id: I531e33b2848cd995f20844786ed1a8d34d63fb64
> > Reviewed-on: https://skia-review.googlesource.com/13171
> > Reviewed-by: Mike Reed <reed@google.com>
> > Commit-Queue: Mike Reed <reed@google.com>
> >
>
> TBR=reed@google.com,reviews@skia.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Change-Id: I5e7c4b0d05772e4948cb1dffdcc40e095fbdba41
> Reviewed-on: https://skia-review.googlesource.com/13185
> Reviewed-by: Mike Klein <mtklein@google.com>
> Commit-Queue: Mike Klein <mtklein@google.com>
>

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

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

7 years agoswitch over to no lockPixels in pixelref
Mike Reed [Tue, 11 Apr 2017 19:50:02 +0000 (15:50 -0400)]
switch over to no lockPixels in pixelref

Bug: skia:6481
Change-Id: I7c32d2e6dcd4c9cd8aa761ac5c4794c916eb650a
Reviewed-on: https://skia-review.googlesource.com/13193
Reviewed-by: Florin Malita <fmalita@chromium.org>
Reviewed-by: Leon Scroggins <scroggo@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoclean ups in SkPixelRef
Mike Reed [Tue, 11 Apr 2017 19:56:23 +0000 (15:56 -0400)]
clean ups in SkPixelRef
- isLazyGenerated no longer needed
- requestLock does not need a virtual

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

7 years agoAdd perspective shadows
Jim Van Verth [Tue, 11 Apr 2017 19:29:14 +0000 (15:29 -0400)]
Add perspective shadows

Bug: skia:
Change-Id: I1972f85f593828c982ea08143e1ed7eb70345eaa
Reviewed-on: https://skia-review.googlesource.com/10296
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
7 years agoRemove discard from GrRenderTarget & force it to always go through a RenderTargetContext
Robert Phillips [Tue, 11 Apr 2017 16:54:57 +0000 (12:54 -0400)]
Remove discard from GrRenderTarget & force it to always go through a RenderTargetContext

This is a bit sloppy in that it ignores some instances where discards were being issued before.

The creation of the temp RTContext in the RenderTarget's discard method was causing an extra split in the opLists.

This is split out of: https://skia-review.googlesource.com/c/10284/ (Omnibus: Remove GrSurface-derived classes from ops)

Change-Id: Ic366d303280635763b0fae238c4df37c04fb8503
Reviewed-on: https://skia-review.googlesource.com/11125
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agoSkSize can be aggregate-initialized
Hal Canary [Tue, 11 Apr 2017 16:12:02 +0000 (12:12 -0400)]
SkSize can be aggregate-initialized

Previosly, SkSize had a base class, which prevented it.

Also removes unused SkISize::clampNegToZero() and
SkSize::clampNegToZero().

Change-Id: I7b93b42f6f6381c66e294bbedee99ad53c6c3436
Reviewed-on: https://skia-review.googlesource.com/13187
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agoReland: Finish up mip opts: 2x3 and 3x2
Matt Sarett [Tue, 11 Apr 2017 15:53:24 +0000 (11:53 -0400)]
Reland: Finish up mip opts: 2x3 and 3x2

Original CL:
https://skia-review.googlesource.com/c/10028

mipmap_build_2048x2047 (2x3):
sRGB Float Impl (old): 82.9ms (reference)
8888                 : 12.3ms (reference)
sRGB Before          : 61.9ms
sRGB After           : 53.1ms

mipmap_build_2047x2048 (3x2):
sRGB Float Impl (old): 65.9ms (reference)
8888 Before          : 10.3ms
8888 After           : 8.81ms
sRGB Before          : 47.8ms
sRGB After           : 43.5ms

BUG=skia:

Change-Id: Icf58a857a66102e843ae2585fda8d70c31a2b34d
Reviewed-on: https://skia-review.googlesource.com/13186
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoremove inline allocation in SkRecord
Mike Klein [Tue, 11 Apr 2017 14:36:48 +0000 (10:36 -0400)]
remove inline allocation in SkRecord

This is part one of many to making SkPicture simpler.

SkMiniPicture covers the really small allocations,
so there's really no reason for us to have these inline allocations.

BUG=skia:6484

Change-Id: I0e27ac747a6b15cf178db9639128fef757bc137b
Reviewed-on: https://skia-review.googlesource.com/13137
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoChange bitmapcache to not rely on lockpixels.
Mike Reed [Tue, 11 Apr 2017 16:03:44 +0000 (12:03 -0400)]
Change bitmapcache to not rely on lockpixels.

The Rec in the cache is the owner of the pixel memory
- discardable or
- malloc

Each external client has a pixelref that just points to those pixels,
and whose destructor will notify the rec.

This eliminates the dependency on lockPixels in pixelref, freeing us
to remove that entirely from pixelref.

Bug: skia:
Change-Id: If45ed0ae202a1211336626364235215253e8aa7c
Reviewed-on: https://skia-review.googlesource.com/10300
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
7 years agoBlacklist DeferredTextureImage on Win Vulkan IntelIris540
Matt Sarett [Tue, 11 Apr 2017 15:25:37 +0000 (11:25 -0400)]
Blacklist DeferredTextureImage on Win Vulkan IntelIris540

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Win10-MSVC-NUC6i5SYK-GPU-IntelIris540-x86_64-Release-Vulkan

Bug: skia:
Change-Id: I2e465a4668956d4337ecde4f65081bf22b3b0e7a
Reviewed-on: https://skia-review.googlesource.com/13183
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Mike Klein <mtklein@google.com>
7 years agoMake SkLiteDL::draw() const.
Mike Klein [Tue, 11 Apr 2017 15:32:33 +0000 (11:32 -0400)]
Make SkLiteDL::draw() const.

Nothing interesting here.  Just slapping const all over the place.

BUG=skia:6484

Change-Id: I639001754aca6d129c40e9acddc9b2d3730fed0c
Reviewed-on: https://skia-review.googlesource.com/13184
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agomake SkRecord normally SkRefCnt'd
Mike Klein [Tue, 11 Apr 2017 14:50:27 +0000 (10:50 -0400)]
make SkRecord normally SkRefCnt'd

SkRecord used SkNVRefCnt to avoid adding a vptr.

SkMiniPicture covers the really small allocations,
so there's really no reason to fret over an extra pointer here.

BUG=skia:6484

Change-Id: Ifa43be8eb352b2d59851c75e6b4f164bb38b5ef6
Reviewed-on: https://skia-review.googlesource.com/13139
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRevert "remove unused SkBitmap::copyPixelsTo"
Mike Klein [Tue, 11 Apr 2017 15:37:50 +0000 (15:37 +0000)]
Revert "remove unused SkBitmap::copyPixelsTo"

This reverts commit 0f3fdfacf32261f943dcac5cdfd14475011f40db.

Reason for revert: Blink-headless in Google3 needs an update too.

Original change's description:
> remove unused SkBitmap::copyPixelsTo
>
> Needs https://codereview.chromium.org/2812853002/ to land first
>
> Bug: skia:6465
> Change-Id: I531e33b2848cd995f20844786ed1a8d34d63fb64
> Reviewed-on: https://skia-review.googlesource.com/13171
> Reviewed-by: Mike Reed <reed@google.com>
> Commit-Queue: Mike Reed <reed@google.com>
>

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

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

7 years agoCorrect GIF frame dependencies and track alpha
Leon Scroggins III [Tue, 11 Apr 2017 14:32:02 +0000 (10:32 -0400)]
Correct GIF frame dependencies and track alpha

Add SkCodec::FrameInfo::fAlphaType. The SkImageInfo for the SkCodec
specifies the SkAlphaType for the first frame, but the opacity can vary
from frame to frame.

When determining the required frame, also compute whether a frame has
alpha. Update how we determine the required frame, which had bugs.
(Update a test that had an incorrect required frame as a result.)

Add new test images covering cases that have been fixed:
- randPixelsAnim2.gif
It has the following frames:
A (keep)
B (keep) (subset)
C (disposePrevious) (covers B)
D (any) (does *not* cover B)

B and C depend on A, but D depends on B, since after disposing C, B
should be visible again.

- alphabetAnim.gif
Includes frames which fill the image size, with different disposal
methods and transparencies.

Change-Id: Ie086167711c4cac4931ed8c4ddaeb9c9b0b91fdb
Reviewed-on: https://skia-review.googlesource.com/9810
Commit-Queue: Leon Scroggins <scroggo@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoremove unused SkBitmap::copyPixelsTo
Mike Reed [Tue, 11 Apr 2017 03:31:23 +0000 (23:31 -0400)]
remove unused SkBitmap::copyPixelsTo

Needs https://codereview.chromium.org/2812853002/ to land first

Bug: skia:6465
Change-Id: I531e33b2848cd995f20844786ed1a8d34d63fb64
Reviewed-on: https://skia-review.googlesource.com/13171
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Reed <reed@google.com>

7 years agoremove SkNx AVX code
Mike Klein [Mon, 10 Apr 2017 18:44:47 +0000 (14:44 -0400)]
remove SkNx AVX code

We can't realistically use AVX and SkNx together because of ODR
problems, so remove the code that may tempt us to try.

Remaining code paths using AVX:
  - one intrinsics-only routine in SkOpts_hsw.cpp
  - SkJumper

Change-Id: I0d2d03b47ea4a0eec27f2de2b28a4c3d1ff8376f
Reviewed-on: https://skia-review.googlesource.com/13121
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoFix symbolization of ASAN crashes
Kevin Lubick [Tue, 11 Apr 2017 12:51:33 +0000 (08:51 -0400)]
Fix symbolization of ASAN crashes

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

7 years agoAllow BF and BRD clients to request an output color space
Matt Sarett [Tue, 11 Apr 2017 13:51:32 +0000 (09:51 -0400)]
Allow BF and BRD clients to request an output color space

Bug: skia:
Change-Id: I0f0d3bfdd5c47544ab71167fd7984ee8e8ac5903
Reviewed-on: https://skia-review.googlesource.com/11601
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Leon Scroggins <scroggo@google.com>
7 years agoMake sure NaNs clamp to 0 in color look up tables
Matt Sarett [Tue, 11 Apr 2017 13:26:24 +0000 (09:26 -0400)]
Make sure NaNs clamp to 0 in color look up tables

This operation assumes 0-1 input and guarantees 0-1 output.
The old clamp was poorly written, causing the possibility
for NaNs to not be set to 0.

BUG=709941
Change-Id: I691f0494a562a329967f5b0149a1ba04cbeb8464
Reviewed-on: https://skia-review.googlesource.com/13134
Commit-Queue: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoSkCanvas constructor with legacy flag for Android framework
Matt Sarett [Tue, 11 Apr 2017 12:46:01 +0000 (08:46 -0400)]
SkCanvas constructor with legacy flag for Android framework

Bug: skia:
Change-Id: I5b268ad03dde075f2710196d5ad2bd19249557f7
Reviewed-on: https://skia-review.googlesource.com/11788
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Reed <reed@google.com>
7 years agoRevert "Rm makeRenderTargetContext in favor of deferred version"
Robert Phillips [Tue, 11 Apr 2017 12:23:17 +0000 (12:23 +0000)]
Revert "Rm makeRenderTargetContext in favor of deferred version"

This reverts commit d83ec0441279b79551b4ecb4598696249ea55145.

Reason for revert: various bot failures

Original change's description:
> Rm makeRenderTargetContext in favor of deferred version
>
> Change-Id: Ifdf67453607256ba7cdb0837263377bd83907212
> Reviewed-on: https://skia-review.googlesource.com/13001
> 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: I4e67a20cbe658b24725dcf386ac8bfdd127647ea
Reviewed-on: https://skia-review.googlesource.com/13131
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>

7 years agoRm makeRenderTargetContext in favor of deferred version
Robert Phillips [Mon, 10 Apr 2017 15:10:22 +0000 (11:10 -0400)]
Rm makeRenderTargetContext in favor of deferred version

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

7 years agoremove kReturnNullForEmpty_FinishFlag feature
Mike Klein [Mon, 10 Apr 2017 14:07:46 +0000 (10:07 -0400)]
remove kReturnNullForEmpty_FinishFlag feature

It's unused, and doesn't appear to be correct, returning nullptr too
early when we should return a non-empty SkMiniPicture.

The mini-recorder path will return a zero-allocation SkEmptyPicture anyway.

Change-Id: I1be538049e731acfc2b0f8b4f30cafee434a91dc
Reviewed-on: https://skia-review.googlesource.com/12626
Reviewed-by: Mike Reed <reed@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoSkImageFilter::onMakeColorSpace() - more overrides
Matt Sarett [Mon, 10 Apr 2017 20:35:33 +0000 (16:35 -0400)]
SkImageFilter::onMakeColorSpace() - more overrides

Fills out most of the simple implementations.
Improves 22 gms in gbr-8888.

Bug: skia:
Change-Id: I881ade140993568263de75be51aed240d2de8cc6
Reviewed-on: https://skia-review.googlesource.com/13126
Commit-Queue: Matt Sarett <msarett@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoAdd Galaxy S6 to CQ as an experimental bot.
Ben Wagner [Mon, 10 Apr 2017 19:09:02 +0000 (15:09 -0400)]
Add Galaxy S6 to CQ as an experimental bot.

BUG=skia:

Change-Id: I8455d5595c0d0700d23fde6171c578fcf3be9270
Reviewed-on: https://skia-review.googlesource.com/13100
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Ben Wagner <benjaminwagner@google.com>

7 years agogetDeferredTextureImageData(): preserve color space in legacy mode
Matt Sarett [Mon, 10 Apr 2017 15:03:27 +0000 (11:03 -0400)]
getDeferredTextureImageData(): preserve color space in legacy mode

Bug: skia:
Change-Id: Ib205f6104827b734635df6932d6dcfdc2248d091
Reviewed-on: https://skia-review.googlesource.com/12103
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoSkImageCacherator: Remove unneeded heuristic
Matt Sarett [Mon, 10 Apr 2017 15:13:00 +0000 (11:13 -0400)]
SkImageCacherator: Remove unneeded heuristic

This was the old way of handling color spaces.

This is now handled by chooseCacheFormat() / buildCacheInfo().

Bug: skia:
Change-Id: Ifab1ab25d547a00296af237578dd8befec9c86c6
Reviewed-on: https://skia-review.googlesource.com/13004
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoPM/UPM conversion improvements
Brian Osman [Mon, 10 Apr 2017 17:42:48 +0000 (13:42 -0400)]
PM/UPM conversion improvements

Snap input values to N / 255 before doing PM/UPM conversions, and add
a new round-to-nearest conversion pair. With the pre-snapping, that
pair is chosen by (almost?) every GPU we have. This now lets us round
trip perfectly on Mali GPUs (which were falling back to SW before).

Bug: skia:
Change-Id: I0cebf1382e1c829aedfef4ec1614d7fa980057b5
Reviewed-on: https://skia-review.googlesource.com/11520
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>

7 years agofix too-dark 565 (really, all legacy) gradients
Mike Klein [Mon, 10 Apr 2017 16:51:43 +0000 (12:51 -0400)]
fix too-dark 565 (really, all legacy) gradients

This CL reverts legacy destinations back to lerping bytes.
Lerping linear is only the correct behavior for gradients
drawing into colorspace-aware destinations.

As written we're lerping between de-sRGB'd colors but never
transforming the outputs back.  That leaves us in a weird
halfway-right-is-worse-than-wrong spot for legacy.

Change-Id: I79b85552b6913649afd2414205cf57108a8b93c6
Reviewed-on: https://skia-review.googlesource.com/13064
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoremove unused lockPixelsAreWritable
Mike Reed [Mon, 10 Apr 2017 17:22:41 +0000 (13:22 -0400)]
remove unused lockPixelsAreWritable

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

7 years agoAdd MIPS Ci20 jobs
Kevin Lubick [Mon, 10 Apr 2017 17:05:49 +0000 (13:05 -0400)]
Add MIPS Ci20 jobs

Bug: skia:6423
NOTRY=true
Change-Id: I2193c49151359a174ffa071650e1dbd366c91b28
Reviewed-on: https://skia-review.googlesource.com/11783
Commit-Queue: Kevin Lubick <kjlubick@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoRemove GeForce 320M bots
Eric Boren [Mon, 10 Apr 2017 16:57:37 +0000 (12:57 -0400)]
Remove GeForce 320M bots

Bug: skia:
Change-Id: I3ae75d4edde1b3c8cc44413db74e5ab9789a9020
Reviewed-on: https://skia-review.googlesource.com/13065
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agofix -Fast bot
Mike Klein [Mon, 10 Apr 2017 16:23:21 +0000 (12:23 -0400)]
fix -Fast bot

N=8 on that bot.

CQ_INCLUDE_TRYBOTS=skia.primary:Build-Ubuntu-Clang-x86_64-Release-Fast

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

7 years agoconstexprify GrBlend.h and GrPorterDuffXferProcessor.cpp
Brian Salomon [Mon, 10 Apr 2017 15:17:14 +0000 (11:17 -0400)]
constexprify GrBlend.h and GrPorterDuffXferProcessor.cpp

Also remove some unused functions from GrBlend.h and related unit test.

Bug: skia:
Change-Id: Id8ad0057a02f65a9e19dc75e4b88709a762f4139
Reviewed-on: https://skia-review.googlesource.com/12623
Reviewed-by: Chris Dalton <csmartdalton@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoRemove Index_8 handling in cacherator heuristic code
Brian Osman [Mon, 10 Apr 2017 15:47:17 +0000 (11:47 -0400)]
Remove Index_8 handling in cacherator heuristic code

Constructor changes the color type to N32 now, so this
code is never needed.

Bug: skia:
Change-Id: If464440fed799122fed810d870f5d6d9a932bf12
Reviewed-on: https://skia-review.googlesource.com/13000
Commit-Queue: Brian Osman <brianosman@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoRecipes: Remove depot_tools path hack
Eric Boren [Mon, 10 Apr 2017 15:23:04 +0000 (11:23 -0400)]
Recipes: Remove depot_tools path hack

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

7 years agoFix BundleRecipes depending on Release-Shared build
Eric Boren [Mon, 10 Apr 2017 15:00:09 +0000 (11:00 -0400)]
Fix BundleRecipes depending on Release-Shared build

It doesn't create an actual dependency, but it does cause the
Release-Shared build to be added to the tasks DAG, where it would be
orphaned if not for the other housekeeper.

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

7 years agoAdd multi-stop SkJumper stage.
Herb Derby [Mon, 10 Apr 2017 14:52:34 +0000 (10:52 -0400)]
Add multi-stop SkJumper stage.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-GCC-GCE-CPU-AVX2-x86_64-Release-SKNX_NO_SIMD

Change-Id: I954d02638a785bec284d2fdf8f46abfccd474e7a
Reviewed-on: https://skia-review.googlesource.com/10211
Commit-Queue: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Florin Malita <fmalita@chromium.org>
7 years agoMove ref counting out of GrProcessor and into subclasses.
Brian Salomon [Mon, 10 Apr 2017 14:54:25 +0000 (10:54 -0400)]
Move ref counting out of GrProcessor and into subclasses.

This will allow different subclasses to use different models for lifetime management.

GrXferProcessor moves to simple ref counting since they don't own GrGpuResources.

This also constifies GrXferProcessor factories.

Change-Id: I6bea0ea8de718874063224232f9da50887868b16
Reviewed-on: https://skia-review.googlesource.com/11792
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoClean up no-longer-used recipes stuff
Eric Boren [Mon, 10 Apr 2017 13:56:10 +0000 (09:56 -0400)]
Clean up no-longer-used recipes stuff

- Remove buildbot logic
- Remove non-Gerrit logic
- Remove master, slave, and build number properties

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

7 years agoAdd SkImageFilter::makeColorSpace(SkColorSpaceXformer*)
Matt Sarett [Fri, 7 Apr 2017 20:54:04 +0000 (16:54 -0400)]
Add SkImageFilter::makeColorSpace(SkColorSpaceXformer*)

Plus two sample implementations.  Will fill out the
rest if the model looks ok.

Bug: skia:
Change-Id: Ie24ecd0cbc36263220cb1e506f7812c582554e50
Reviewed-on: https://skia-review.googlesource.com/12100
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agoFix infinite loop in SkRTree::insert()
Mike Klein [Fri, 7 Apr 2017 14:46:39 +0000 (10:46 -0400)]
Fix infinite loop in SkRTree::insert()

When aspectRatio is not finite, insert() can fall into an infinite loop.
This happens if you pass SkRect::MakeLargest() to the factory as bounds.

BUG=skia:5974

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

7 years agoMove recipe content from modules back into recipes
Eric Boren [Mon, 10 Apr 2017 12:19:10 +0000 (08:19 -0400)]
Move recipe content from modules back into recipes

At one point I moved the contents of the recipes into modules so that
they could be shared between repos. It turns out that we don't need
that, and it adds complexity.

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

7 years agoconsolidate read/writePixels in GrSurfaceContext
Robert Phillips [Mon, 10 Apr 2017 12:19:26 +0000 (08:19 -0400)]
consolidate read/writePixels in GrSurfaceContext

Change-Id: I118fcd49990597d4dfea92efd3f9d99e52fdbfab
Reviewed-on: https://skia-review.googlesource.com/11481
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
7 years agoRename recipes: swarm_[name] -> [name]
Eric Boren [Mon, 10 Apr 2017 12:14:33 +0000 (08:14 -0400)]
Rename recipes: swarm_[name] -> [name]

Bug: skia:6473
Change-Id: Id78f0b5cb50ae2243b9a5aed8e552f7ed8202228
Reviewed-on: https://skia-review.googlesource.com/12060
Commit-Queue: Eric Boren <borenet@google.com>
Reviewed-by: Ravi Mistry <rmistry@google.com>
7 years agoUpdate SKP version
UpdateSKPs [Sun, 9 Apr 2017 07:42:36 +0000 (07:42 +0000)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: Ia2240c06c3d778874de32cb1feba672f6e557aa2
Reviewed-on: https://skia-review.googlesource.com/12952
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>

7 years agoUpdate SKP version
UpdateSKPs [Sun, 9 Apr 2017 06:54:35 +0000 (06:54 +0000)]
Update SKP version

Automatic commit by the RecreateSKPs bot.

TBR=update-skps@skia.org
NO_MERGE_BUILDS

Change-Id: Ib8926f5626f9d99aafc305b7172179f3d0bc573f
Reviewed-on: https://skia-review.googlesource.com/12950
Reviewed-by: update-skps <update-skps@skia.org>
Commit-Queue: update-skps <update-skps@skia.org>

7 years agoFix GrGLSync definition
Brian Salomon [Sat, 8 Apr 2017 13:31:29 +0000 (09:31 -0400)]
Fix GrGLSync definition

By fixing this some ugly casts are avoided in setting up Chrome's GrGLInterface

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

7 years agoRevert "Revert "Create GrXferProcessor while doing GrProcessorSet analysis.""
Brian Salomon [Sat, 8 Apr 2017 11:38:53 +0000 (07:38 -0400)]
Revert "Revert "Create GrXferProcessor while doing GrProcessorSet analysis.""

This reverts commit 5dac9b3b5bf7e9c06c207cb92e257535c7d9ec95.

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

7 years agoRevert "Create GrXferProcessor while doing GrProcessorSet analysis."
Brian Salomon [Sat, 8 Apr 2017 02:53:30 +0000 (02:53 +0000)]
Revert "Create GrXferProcessor while doing GrProcessorSet analysis."

This reverts commit 0ae0e23696f2ef08503040f8c02765eb58b26ddf.

Reason for revert: static assert failure on ios build

Original change's description:
> Create GrXferProcessor while doing GrProcessorSet analysis.
>
>
> Bug: skia:
> Change-Id: I62a628f9c0536ffb05c8f9d0c9ded5657f93b48e
> Reviewed-on: https://skia-review.googlesource.com/11482
> Reviewed-by: Greg Daniel <egdaniel@google.com>
> Commit-Queue: Brian Salomon <bsalomon@google.com>
>

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

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

7 years agoCreate GrXferProcessor while doing GrProcessorSet analysis.
Brian Salomon [Fri, 7 Apr 2017 19:37:58 +0000 (15:37 -0400)]
Create GrXferProcessor while doing GrProcessorSet analysis.

Bug: skia:
Change-Id: I62a628f9c0536ffb05c8f9d0c9ded5657f93b48e
Reviewed-on: https://skia-review.googlesource.com/11482
Reviewed-by: Greg Daniel <egdaniel@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>

7 years agoremove obsolete SK_SUPPORT_LEGACY_SCALARMUL code
Mike Reed [Fri, 7 Apr 2017 23:57:30 +0000 (19:57 -0400)]
remove obsolete SK_SUPPORT_LEGACY_SCALARMUL code

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

7 years agoSet the kMultiMaster_FontFlag in DirectWrite.
Ben Wagner [Fri, 7 Apr 2017 20:07:46 +0000 (16:07 -0400)]
Set the kMultiMaster_FontFlag in DirectWrite.

DirectWrite can now produce system font typefaces which are variations,
so mark these as multiple masters so printing knows what to do.

BUG=chromium:697916

Change-Id: Idf09ebba3c7002a09ff2e4a2dbae13dbce4e79d4
Reviewed-on: https://skia-review.googlesource.com/12101
Commit-Queue: Ben Wagner <bungeman@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
7 years agoMake SkColorSetA() a constexpr function.
Lei Zhang [Fri, 7 Apr 2017 19:28:21 +0000 (12:28 -0700)]
Make SkColorSetA() a constexpr function.

This gives compilers a strong hint that SkColor constants to be computed
at compile time.

Change-Id: I09c8a7fd23e4488f8b101f53d67a155f64d5d423
Reviewed-on: https://skia-review.googlesource.com/12056
Commit-Queue: Lei Zhang <thestig@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
7 years agoConvert Sk4fGradientInterval to (bias, factor) format
Florin Malita [Fri, 7 Apr 2017 18:56:14 +0000 (14:56 -0400)]
Convert Sk4fGradientInterval to (bias, factor) format

And rename some fileds:

 * p0, p1   -> t0, t1
 * fC0, fDc -> fCb, fCg

Change-Id: I94b520f83d8f21d62c9c24740b6d3e2dbc3a9ff7
Reviewed-on: https://skia-review.googlesource.com/11799
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Florin Malita <fmalita@chromium.org>

7 years agoAllow Vulkan to upload to main mip level without uploading to all levels.
Greg Daniel [Fri, 7 Apr 2017 18:42:23 +0000 (14:42 -0400)]
Allow Vulkan to upload to main mip level without uploading to all levels.

It should be allowed for the client to upload original data to a texture via
writePixels and then we just regenerate the mipmaps. I think it also resonable
to limit this to either writting to all levels or just the top level.

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

7 years agomake SkAutoTMalloc self-move safe
Mike Klein [Fri, 7 Apr 2017 18:18:29 +0000 (14:18 -0400)]
make SkAutoTMalloc self-move safe

We were just combing through possible changes that might have affected
the attached bug, this popped out as pretty obviously unsafe.

This doesn't explain the Chrome bug...
SkAutoTMalloc and SKAutoSTMalloc are separate types.  :(

The new test fails and crashes before, passes after.

Change-Id: I033f488a7f644b7a70e612c8535fedfac35c76db
Reviewed-on: https://skia-review.googlesource.com/11797
Commit-Queue: Mike Klein <mtklein@chromium.org>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoSkTypeface:: populate_glyph_to_unicode uniformly across platforms
Hal Canary [Fri, 7 Apr 2017 15:49:20 +0000 (11:49 -0400)]
SkTypeface:: populate_glyph_to_unicode uniformly across platforms

Change-Id: I7edce3c38b4dc0261d425c26a443df9a1f25b32e
Reviewed-on: https://skia-review.googlesource.com/11786
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agojumper, byte_tables + byte_tables_rgb
Mike Klein [Fri, 7 Apr 2017 17:09:29 +0000 (13:09 -0400)]
jumper, byte_tables + byte_tables_rgb

Factors out a function F from_byte(U8) too.

Change-Id: Ib739ccbd509ddf25d2bfb7751ba6eaf51b16c12f
Reviewed-on: https://skia-review.googlesource.com/11791
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agocacherator upscales colortables to unify caching
Mike Reed [Fri, 7 Apr 2017 16:04:23 +0000 (12:04 -0400)]
cacherator upscales colortables to unify caching

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

7 years agoSkMultiPictureDocument : clean up MultiPictureDocumentReader interface
Hal Canary [Mon, 3 Apr 2017 20:06:42 +0000 (16:06 -0400)]
SkMultiPictureDocument : clean up MultiPictureDocumentReader interface

Motivation:  We may want to make SkMultiPictureDocument.h public in the
future.

Change-Id: Ie97b88d51a179c2283155d65bcadee32178115ca
Reviewed-on: https://skia-review.googlesource.com/11402
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Herb Derby <herb@google.com>
7 years agoMake GrCopySurfaceOp friendlier to GrSurfaceProxy (take 2)
Robert Phillips [Fri, 7 Apr 2017 14:08:53 +0000 (10:08 -0400)]
Make GrCopySurfaceOp friendlier to GrSurfaceProxy (take 2)

Reland of: https://skia-review.googlesource.com/c/11325/ (Make GrCopySurfaceOp friendlier to GrSurfaceProxy)

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

7 years agoSimplify subset computation in SkGifImageReader
Leon Scroggins III [Fri, 7 Apr 2017 14:20:53 +0000 (10:20 -0400)]
Simplify subset computation in SkGifImageReader

If xOffset or yOffset was not zero, these computations would not
be evaluated anyway, so no need to add zero for these comparisons.

(Split off from CL 9810)

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

7 years agostop disabling threadsafe statics
Mike Klein [Fri, 7 Apr 2017 03:04:42 +0000 (23:04 -0400)]
stop disabling threadsafe statics

Chrome's got threadsafe statics, Android too, Flutter too, and heck, we even have them on all our Windows builds.  No one responded to my mail about them.  Let's stop turning them off on not-Windows!

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

7 years agoFix missing valgrind.supp in recipe-bundled tasks
Eric Boren [Fri, 7 Apr 2017 14:06:20 +0000 (10:06 -0400)]
Fix missing valgrind.supp in recipe-bundled tasks

Bug: skia:5813
Change-Id: I734c716d953091e84d30ad36c55a6c74727f376c
Reviewed-on: https://skia-review.googlesource.com/11781
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoAdd ChromeOS Test/Perf jobs and recipe changes
Kevin Lubick [Fri, 7 Apr 2017 14:04:08 +0000 (10:04 -0400)]
Add ChromeOS Test/Perf jobs and recipe changes

Minor cleanup of left over Tab3 tests.

Bug: skia:6442
Change-Id: I03bb4a034101a2773619abd2be7a300a70f6ac3d
Reviewed-on: https://skia-review.googlesource.com/11414
Reviewed-by: Eric Boren <borenet@google.com>
7 years agoSkTypeface_win_dw: populate_glyph_to_unicode uses lowest unichar
Hal Canary [Fri, 7 Apr 2017 02:26:56 +0000 (22:26 -0400)]
SkTypeface_win_dw: populate_glyph_to_unicode uses lowest unichar

BUG=chromium:538133
BUG=chromium:359065
Change-Id: I8208efc63579e0f1ebb77680beae2cd08cdba547
Reviewed-on: https://skia-review.googlesource.com/11681
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Hal Canary <halcanary@google.com>

7 years agosimplify SkRRect serialization
Mike Klein [Fri, 7 Apr 2017 02:34:59 +0000 (22:34 -0400)]
simplify SkRRect serialization

I think this happens to fix the particular issue in the attached bug.
memcpy() is kind of the swiss army knife as far as strict aliasing is
concerned... you're always allowed to use it.

The generated code for writeToMemory() is unchanged, and
readFromMemory() gets a bit better looking.

BUG=skia:5105

Change-Id: Ib5bf96600f1138650c004ced2d696e9a4ba83ca7
Reviewed-on: https://skia-review.googlesource.com/11682
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoTry disabling MSAN workarounds in SkJpegCodec
Mike Klein [Fri, 7 Apr 2017 01:48:16 +0000 (21:48 -0400)]
Try disabling MSAN workarounds in SkJpegCodec

I don't think we've tried this since switching to GN,
where we decided to just go with jsimd_none.c on all x86 bots.

CQ_INCLUDE_TRYBOTS=skia.primary:Test-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN,Perf-Ubuntu-Clang-GCE-CPU-AVX2-x86_64-Debug-MSAN

BUG=skia:4550

Change-Id: Iff4be3b640fb77d1094565a5db4d32778e7f2b4f
Reviewed-on: https://skia-review.googlesource.com/11680
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoReland: Use bundled recipes for all test/perf tasks
Eric Boren [Fri, 7 Apr 2017 12:31:22 +0000 (08:31 -0400)]
Reland: Use bundled recipes for all test/perf tasks

It won't save as much time for faster machines, but it should still
shave a few seconds, and it'll be nice to be consistent.

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

7 years agojumper, gather_f16
Mike Klein [Fri, 7 Apr 2017 00:02:11 +0000 (20:02 -0400)]
jumper, gather_f16

Here we use 64-bit gather instructions for HSW,
which I think we haven't done before.

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

7 years agojumper, gather_i8
Mike Klein [Thu, 6 Apr 2017 21:53:18 +0000 (17:53 -0400)]
jumper, gather_i8

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

7 years agoUpdate stencil ops to have a parallel proxyID
Robert Phillips [Thu, 6 Apr 2017 15:08:40 +0000 (11:08 -0400)]
Update stencil ops to have a parallel proxyID

Change-Id: I842c7f2011c8b9d4487cec4349de8b77f326a381
Reviewed-on: https://skia-review.googlesource.com/11360
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agojumper, more gathers
Mike Klein [Thu, 6 Apr 2017 20:32:29 +0000 (16:32 -0400)]
jumper, more gathers

This is all the gathers except index 8 and f16, which aren't conceptually hard
but I want to land separately.

Change-Id: I525f2496e55451041bd6ea07985858fda7b56a40
Reviewed-on: https://skia-review.googlesource.com/11524
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRevert "Make GrCopySurfaceOp friendlier to GrSurfaceProxy"
Robert Phillips [Thu, 6 Apr 2017 21:17:15 +0000 (21:17 +0000)]
Revert "Make GrCopySurfaceOp friendlier to GrSurfaceProxy"

This reverts commit d7cda9a6f050c30e65b0744b3cfb45cecdc40834.

Reason for revert: Tegra3!!!!

Original change's description:
> Make GrCopySurfaceOp friendlier to GrSurfaceProxy
>
> Change-Id: Iba8c068bd96ab154d466e485a9db31dd552138de
> Reviewed-on: https://skia-review.googlesource.com/11325
> Commit-Queue: Robert Phillips <robertphillips@google.com>
> Reviewed-by: Brian Salomon <bsalomon@google.com>
>

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

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

7 years agoSpecialize boxBlur(Interp) based on 'transpose' parameter
Hans Wennborg [Wed, 5 Apr 2017 22:06:30 +0000 (15:06 -0700)]
Specialize boxBlur(Interp) based on 'transpose' parameter

boxBlurInterp showed up hot when running Speedometer. I noticed that
BoxBlur calls boxBlurInterp repeatedly, the call does not get inlined,
and the function could be simplified a bit if 'transpose' is a
compile-time constant.

In particular, dst_x_stride or dst_y_stride now become a constant 1,
which simplifies the dptr updates.

Bug: skia:none
Change-Id: I8782e5b133a2195328e13878aca8a749af150b86
Reviewed-on: https://skia-review.googlesource.com/11362
Reviewed-by: Stephen White <senorblanco@chromium.org>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoRevert "Manual revert: Add support for writing ICC profiles to webp encoder"
Matt Sarett [Thu, 6 Apr 2017 20:34:38 +0000 (20:34 +0000)]
Revert "Manual revert: Add support for writing ICC profiles to webp encoder"

This reverts commit 4293a1e5f259cf12560d6e794c1a05ad4dbc0b32.

Reason for revert: Relanding, libwebp updated in Android master

Original change's description:
> Manual revert: Add support for writing ICC profiles to webp encoder
>
> Bug: skia:
> Change-Id: I4e70bee8c2ea8dbd5ae1e84aa097f5a7e2e62721
> Reviewed-on: https://skia-review.googlesource.com/11444
> Reviewed-by: Matt Sarett <msarett@google.com>
> Reviewed-by: Leon Scroggins <scroggo@google.com>
> Commit-Queue: Matt Sarett <msarett@google.com>
>

TBR=msarett@google.com,scroggo@google.com,reviews@skia.org,jzern@google.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I73aa9e8183241ada4ec6451567bce3d3d18995cc
Reviewed-on: https://skia-review.googlesource.com/11523
Reviewed-by: Matt Sarett <msarett@google.com>
Commit-Queue: Matt Sarett <msarett@google.com>

7 years agojumper, gather_8888
Mike Klein [Thu, 6 Apr 2017 19:04:05 +0000 (15:04 -0400)]
jumper, gather_8888

Change-Id: I70bd64d114a2460534bcb51d356e13d9bc3b8603
Reviewed-on: https://skia-review.googlesource.com/11491
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agoMake GrCopySurfaceOp friendlier to GrSurfaceProxy
Robert Phillips [Thu, 6 Apr 2017 15:18:49 +0000 (11:18 -0400)]
Make GrCopySurfaceOp friendlier to GrSurfaceProxy

Change-Id: Iba8c068bd96ab154d466e485a9db31dd552138de
Reviewed-on: https://skia-review.googlesource.com/11325
Commit-Queue: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
7 years agotweaks to make gather_* easier in SkJumper
Mike Klein [Thu, 6 Apr 2017 19:14:58 +0000 (15:14 -0400)]
tweaks to make gather_* easier in SkJumper

This moves all the values that gather_8888, gather_a8, etc. need to
the front of SkImageShaderContext, and dereferences the color table.

This should be a no-op, but will make these stages easier to write
in SkJumper.

Change-Id: I0dff97d5113d14e941e7b717cd85f0036764eb88
Reviewed-on: https://skia-review.googlesource.com/11492
Reviewed-by: Herb Derby <herb@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agojumper, turn off a few fancy features
Mike Klein [Thu, 6 Apr 2017 17:44:03 +0000 (13:44 -0400)]
jumper, turn off a few fancy features

This doesn't change any of the generated .S files, but it does cut a few
misc. sections from the intermediate .o files.  It's nice to get those
sections out of the way, and one day we might be able to find ways to
cut everything but .text... that'd allow us to switch the supicious
section sniffing code from a blacklist (no .const, no .literal, etc.) to
a more foolproof whitelist (.text or bust).

The remaining sections are only in ELF objects (aarch64.o, vfp4.o):
   .comment         (notes the version of Clang/LLVM that compiled it)
   .note.GNU-stack  (we manually add this back in build_stages.py)
and vfp4.o has two more sections that I don't understand yet:
   .ARM.exidx       (I'd have thought -fno-unwind-tables would cut this)
   .ARM.attributes

While doing this, I've tried to make the ARM flags a bit more compact.

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

7 years agomake copyTo_with_allocator android only
Mike Reed [Thu, 6 Apr 2017 18:03:25 +0000 (14:03 -0400)]
make copyTo_with_allocator android only

Bug: skia:6464

Change-Id: I3d95daae2ae854671e6231e62f200913ce3586d0
Reviewed-on: https://skia-review.googlesource.com/11486
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Matt Sarett <msarett@google.com>
7 years agoCommit the patch before bundling recipes
Eric Boren [Thu, 6 Apr 2017 17:28:16 +0000 (13:28 -0400)]
Commit the patch before bundling recipes

This was part of https://skia-review.googlesource.com/c/11340/ but split
out before relanding.

Bug: skia:5813
Change-Id: I5cc97a588300a8656989a8d73e1231bdd606ef39
Reviewed-on: https://skia-review.googlesource.com/11483
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoFactor out common work in readSurfacePixels and writeSurfacePixels
Brian Osman [Thu, 6 Apr 2017 14:19:06 +0000 (10:19 -0400)]
Factor out common work in readSurfacePixels and writeSurfacePixels

Use more consistent structure between the two functions.

BUG=skia:5853

Change-Id: I82465bee30025574d0d6fad9e287b187d75fff8d
Reviewed-on: https://skia-review.googlesource.com/10042
Reviewed-by: Robert Phillips <robertphillips@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agohandle odd-index-count in encode/decode
Mike Reed [Wed, 5 Apr 2017 21:05:16 +0000 (17:05 -0400)]
handle odd-index-count in encode/decode

Bug: skia:
Change-Id: Iffb123001a77049c6581f63bbc69c62f241a87f8
Reviewed-on: https://skia-review.googlesource.com/11405
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agofix 36605271
Cary Clark [Thu, 6 Apr 2017 15:55:16 +0000 (11:55 -0400)]
fix 36605271

typo in function header makes it appear
that a buffer overflow may occur

R=djsollen@google.com

Bug: b/36605271
Change-Id: Iab6d08ae71f49c46736dc025791faefdeb74df5e
Reviewed-on: https://skia-review.googlesource.com/11454
Reviewed-by: Derek Sollenberger <djsollen@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoRevert "Remove CPU dimension for Win GCE bots"
Eric Boren [Thu, 6 Apr 2017 17:32:44 +0000 (17:32 +0000)]
Revert "Remove CPU dimension for Win GCE bots"

This reverts commit 25bf350d1096622e10cb9d244705c91ed309f8e6.

Reason for revert: Speculatively reverting to see if this unsticks try jobs.

Original change's description:
> Remove CPU dimension for Win GCE bots
>
> This is mainly to collapse the two groups on the capacity stats page.
>
> Bug: skia:
> Change-Id: Icc125f6fa773ebf11909b0606bc7958146da5983
> Reviewed-on: https://skia-review.googlesource.com/11417
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Commit-Queue: Eric Boren <borenet@google.com>
>

TBR=borenet@google.com,kjlubick@google.com,reviews@skia.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I52f01f6a915fa0ac4446bd492b9e455a07841ee9
Reviewed-on: https://skia-review.googlesource.com/11484
Reviewed-by: Eric Boren <borenet@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agojumper, add load_f32()
Mike Klein [Thu, 6 Apr 2017 14:22:26 +0000 (10:22 -0400)]
jumper, add load_f32()

Change-Id: I71d85ffe29bc11678ff1e696fa4a2c93d0b4fcbe
Reviewed-on: https://skia-review.googlesource.com/11446
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agojumper, kill off F4
Mike Klein [Wed, 5 Apr 2017 21:29:26 +0000 (17:29 -0400)]
jumper, kill off F4

Its alignment (sometimes 4, sometimes 16) has proven to be error-prone.

This also means we don't really need LazyCtx::load().

I think I only had it there to make sure we were doing unaligned loads
of F4; the better way is to just never declare the data as aligned...

The generated code isn't quite as good, but I can live with it.

Change-Id: I5d57a580ca12c94ca84a5e8b72a66cf8d0c829eb
Reviewed-on: https://skia-review.googlesource.com/11406
Reviewed-by: Herb Derby <herb@google.com>
Commit-Queue: Mike Klein <mtklein@chromium.org>

7 years agojumper, only print non-zero counts
Mike Klein [Thu, 6 Apr 2017 14:17:11 +0000 (10:17 -0400)]
jumper, only print non-zero counts

This makes it easier for me to read.

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

7 years agoManual revert: Add support for writing ICC profiles to webp encoder
Matt Sarett [Thu, 6 Apr 2017 13:50:47 +0000 (09:50 -0400)]
Manual revert: Add support for writing ICC profiles to webp encoder

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

7 years agoAdd Windows tester to the CQ
Eric Boren [Thu, 6 Apr 2017 13:42:29 +0000 (09:42 -0400)]
Add Windows tester to the CQ

This will likely be followed up by an increase in number
of Win VMs.

Bug: skia:6462
Change-Id: If22d934c43c57d4ad3a20730e91caed0d4848cd4
Reviewed-on: https://skia-review.googlesource.com/11440
Reviewed-by: Mike Klein <mtklein@chromium.org>
Reviewed-by: Ravi Mistry <rmistry@google.com>
Commit-Queue: Eric Boren <borenet@google.com>

7 years agoRemove CPU dimension for Win GCE bots
Eric Boren [Thu, 6 Apr 2017 13:07:04 +0000 (09:07 -0400)]
Remove CPU dimension for Win GCE bots

This is mainly to collapse the two groups on the capacity stats page.

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